From ed22d7a4ca7cb23d92029acca7b34e5aba373626 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?annexwu=28=E5=90=B4=E6=B4=81=E6=B4=AA=29?= Date: Tue, 29 Nov 2022 20:46:54 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=9B=9E=E8=B0=83=E5=9C=B0?= =?UTF-8?q?=E5=9D=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Nodejs12.16-COSUnzipFile/config.json | 2 +- Nodejs12.16-COSUnzipFile/src/index.js | 10 + .../src/node_modules/async/CHANGELOG.md | 7 + .../src/node_modules/async/README.md | 3 +- .../src/node_modules/async/all.js | 6 +- .../src/node_modules/async/allLimit.js | 6 +- .../src/node_modules/async/allSeries.js | 6 +- .../src/node_modules/async/any.js | 6 +- .../src/node_modules/async/anyLimit.js | 6 +- .../src/node_modules/async/anySeries.js | 6 +- .../src/node_modules/async/applyEach.js | 4 +- .../src/node_modules/async/applyEachSeries.js | 4 +- .../src/node_modules/async/asyncify.js | 6 +- .../src/node_modules/async/auto.js | 8 +- .../src/node_modules/async/autoInject.js | 34 +- .../src/node_modules/async/cargo.js | 2 +- .../src/node_modules/async/cargoQueue.js | 2 +- .../src/node_modules/async/compose.js | 2 +- .../src/node_modules/async/concat.js | 4 +- .../src/node_modules/async/concatLimit.js | 6 +- .../src/node_modules/async/concatSeries.js | 4 +- .../src/node_modules/async/detect.js | 8 +- .../src/node_modules/async/detectLimit.js | 8 +- .../src/node_modules/async/detectSeries.js | 8 +- .../src/node_modules/async/dir.js | 2 +- .../src/node_modules/async/dist/async.js | 132 +- .../src/node_modules/async/dist/async.min.js | 2 +- .../src/node_modules/async/dist/async.mjs | 132 +- .../src/node_modules/async/doDuring.js | 6 +- .../src/node_modules/async/doUntil.js | 4 +- .../src/node_modules/async/doWhilst.js | 6 +- .../src/node_modules/async/during.js | 6 +- .../src/node_modules/async/each.js | 8 +- .../src/node_modules/async/eachLimit.js | 8 +- .../src/node_modules/async/eachOf.js | 14 +- .../src/node_modules/async/eachOfLimit.js | 6 +- .../src/node_modules/async/eachOfSeries.js | 4 +- .../src/node_modules/async/eachSeries.js | 4 +- .../src/node_modules/async/ensureAsync.js | 4 +- .../src/node_modules/async/every.js | 6 +- .../src/node_modules/async/everyLimit.js | 6 +- .../src/node_modules/async/everySeries.js | 6 +- .../src/node_modules/async/filter.js | 6 +- .../src/node_modules/async/filterLimit.js | 6 +- .../src/node_modules/async/filterSeries.js | 6 +- .../src/node_modules/async/find.js | 8 +- .../src/node_modules/async/findLimit.js | 8 +- .../src/node_modules/async/findSeries.js | 8 +- .../src/node_modules/async/flatMap.js | 4 +- .../src/node_modules/async/flatMapLimit.js | 6 +- .../src/node_modules/async/flatMapSeries.js | 4 +- .../src/node_modules/async/foldl.js | 8 +- .../src/node_modules/async/foldr.js | 2 +- .../src/node_modules/async/forEach.js | 8 +- .../src/node_modules/async/forEachLimit.js | 8 +- .../src/node_modules/async/forEachOf.js | 14 +- .../src/node_modules/async/forEachOfLimit.js | 6 +- .../src/node_modules/async/forEachOfSeries.js | 4 +- .../src/node_modules/async/forEachSeries.js | 4 +- .../src/node_modules/async/forever.js | 8 +- .../src/node_modules/async/groupBy.js | 2 +- .../src/node_modules/async/groupByLimit.js | 6 +- .../src/node_modules/async/groupBySeries.js | 2 +- .../src/node_modules/async/inject.js | 8 +- .../node_modules/async/internal/applyEach.js | 4 +- .../async/internal/asyncEachOfLimit.js | 2 +- .../async/internal/consoleFunc.js | 2 +- .../async/internal/createTester.js | 4 +- .../async/internal/eachOfLimit.js | 12 +- .../src/node_modules/async/internal/filter.js | 4 +- .../node_modules/async/internal/iterator.js | 4 +- .../src/node_modules/async/internal/map.js | 2 +- .../node_modules/async/internal/parallel.js | 6 +- .../src/node_modules/async/internal/queue.js | 19 +- .../src/node_modules/async/internal/reject.js | 4 +- .../async/internal/setImmediate.js | 3 +- .../node_modules/async/internal/wrapAsync.js | 2 +- .../src/node_modules/async/log.js | 2 +- .../src/node_modules/async/map.js | 6 +- .../src/node_modules/async/mapLimit.js | 6 +- .../src/node_modules/async/mapSeries.js | 6 +- .../src/node_modules/async/mapValues.js | 2 +- .../src/node_modules/async/mapValuesLimit.js | 8 +- .../src/node_modules/async/mapValuesSeries.js | 2 +- .../src/node_modules/async/memoize.js | 6 +- .../src/node_modules/async/nextTick.js | 6 +- .../src/node_modules/async/package.json | 57 +- .../src/node_modules/async/parallel.js | 4 +- .../src/node_modules/async/parallelLimit.js | 4 +- .../src/node_modules/async/priorityQueue.js | 71 +- .../src/node_modules/async/queue.js | 4 +- .../src/node_modules/async/race.js | 8 +- .../src/node_modules/async/reduce.js | 8 +- .../src/node_modules/async/reduceRight.js | 2 +- .../src/node_modules/async/reflect.js | 4 +- .../src/node_modules/async/reflectAll.js | 2 +- .../src/node_modules/async/reject.js | 6 +- .../src/node_modules/async/rejectLimit.js | 6 +- .../src/node_modules/async/rejectSeries.js | 6 +- .../src/node_modules/async/retry.js | 4 +- .../src/node_modules/async/retryable.js | 8 +- .../src/node_modules/async/select.js | 6 +- .../src/node_modules/async/selectLimit.js | 6 +- .../src/node_modules/async/selectSeries.js | 6 +- .../src/node_modules/async/seq.js | 8 +- .../src/node_modules/async/series.js | 4 +- .../src/node_modules/async/setImmediate.js | 2 +- .../src/node_modules/async/some.js | 6 +- .../src/node_modules/async/someLimit.js | 6 +- .../src/node_modules/async/someSeries.js | 6 +- .../src/node_modules/async/sortBy.js | 6 +- .../src/node_modules/async/timeout.js | 4 +- .../src/node_modules/async/times.js | 2 +- .../src/node_modules/async/timesLimit.js | 6 +- .../src/node_modules/async/timesSeries.js | 2 +- .../src/node_modules/async/transform.js | 8 +- .../src/node_modules/async/tryEach.js | 6 +- .../src/node_modules/async/until.js | 4 +- .../src/node_modules/async/waterfall.js | 10 +- .../src/node_modules/async/whilst.js | 6 +- .../src/node_modules/async/wrapSync.js | 6 +- .../cos-nodejs-sdk-v5/CHANGELOG.md | 198 +- .../node_modules/cos-nodejs-sdk-v5/README.md | 13 +- .../cos-nodejs-sdk-v5/demo/demo.js | 168 +- .../cos-nodejs-sdk-v5/demo/util.js | 1 - .../node_modules/cos-nodejs-sdk-v5/index.d.ts | 70 +- .../cos-nodejs-sdk-v5/package.json | 12 +- .../cos-nodejs-sdk-v5/sdk/advance.js | 177 +- .../cos-nodejs-sdk-v5/sdk/base.js | 105 +- .../node_modules/cos-nodejs-sdk-v5/sdk/cos.js | 20 +- .../cos-nodejs-sdk-v5/sdk/session.js | 14 +- .../cos-nodejs-sdk-v5/sdk/util.js | 108 +- .../cos-nodejs-sdk-v5/test/test.js | 6 + .../src/node_modules/json-schema/LICENSE | 195 + .../src/node_modules/json-schema/README.md | 6 +- .../src/node_modules/json-schema/lib/links.js | 3 +- .../node_modules/json-schema/lib/validate.js | 16 +- .../src/node_modules/json-schema/package.json | 36 +- .../src/node_modules/jsprim/CHANGES.md | 4 + .../src/node_modules/jsprim/package.json | 18 +- .../src/node_modules/mime-db/HISTORY.md | 8 + .../src/node_modules/mime-db/LICENSE | 37 +- .../src/node_modules/mime-db/README.md | 2 +- .../src/node_modules/mime-db/db.json | 60 +- .../src/node_modules/mime-db/index.js | 1 + .../src/node_modules/mime-db/package.json | 27 +- .../src/node_modules/mime-types/HISTORY.md | 9 + .../src/node_modules/mime-types/README.md | 2 +- .../src/node_modules/mime-types/package.json | 18 +- .../node_modules/node-fetch/lib/index.es.js | 30 +- .../src/node_modules/node-fetch/lib/index.js | 30 +- .../src/node_modules/node-fetch/lib/index.mjs | 30 +- .../src/node_modules/node-fetch/package.json | 18 +- .../src/node_modules/psl/README.md | 6 +- .../src/node_modules/psl/data/rules.json | 894 +- .../src/node_modules/psl/dist/psl.js | 898 +- .../src/node_modules/psl/dist/psl.min.js | 2 +- .../src/node_modules/psl/package.json | 39 +- .../src/node_modules/qs/.editorconfig | 15 +- .../src/node_modules/qs/.eslintrc | 24 +- .../src/node_modules/qs/.github/FUNDING.yml | 12 + .../src/node_modules/qs/.nycrc | 13 + .../src/node_modules/qs/CHANGELOG.md | 24 + .../src/node_modules/qs/LICENSE.md | 29 + .../src/node_modules/qs/README.md | 73 +- .../src/node_modules/qs/bower.json | 21 + .../src/node_modules/qs/component.json | 15 + .../src/node_modules/qs/dist/qs.js | 60 +- .../src/node_modules/qs/lib/formats.js | 2 +- .../src/node_modules/qs/lib/parse.js | 11 +- .../src/node_modules/qs/lib/stringify.js | 35 +- .../src/node_modules/qs/lib/utils.js | 12 +- .../src/node_modules/qs/package.json | 42 +- .../src/node_modules/qs/test/parse.js | 83 +- .../src/node_modules/qs/test/stringify.js | 45 + .../src/node_modules/qs/test/utils.js | 31 + .../src/node_modules/semver/README.md | 4 +- .../src/node_modules/semver/bin/semver.js | 28 +- .../node_modules/semver/classes/comparator.js | 5 +- .../src/node_modules/semver/classes/index.js | 2 +- .../src/node_modules/semver/classes/range.js | 56 +- .../src/node_modules/semver/classes/semver.js | 2 +- .../src/node_modules/semver/functions/cmp.js | 12 +- .../node_modules/semver/functions/coerce.js | 5 +- .../src/node_modules/semver/functions/inc.js | 5 +- .../node_modules/semver/functions/parse.js | 2 +- .../src/node_modules/semver/index.js | 122 +- .../node_modules/semver/internal/constants.js | 4 +- .../semver/internal/identifiers.js | 2 +- .../semver/internal/parse-options.js | 6 +- .../src/node_modules/semver/internal/re.js | 6 +- .../src/node_modules/semver/package.json | 78 +- .../node_modules/semver/ranges/min-version.js | 3 +- .../src/node_modules/semver/ranges/outside.js | 2 +- .../node_modules/semver/ranges/simplify.js | 27 +- .../src/node_modules/semver/ranges/subset.js | 84 +- .../src/node_modules/sshpk/Jenkinsfile | 86 + .../node_modules/sshpk/lib/formats/putty.js | 103 +- .../src/node_modules/sshpk/lib/private-key.js | 1 + .../src/node_modules/sshpk/package.json | 10 +- .../tencentcloud-sdk-nodejs/package.json | 10 +- .../tencentcloud/aa/v20200224/models.js | 17 +- .../tencentcloud/advisor/index.js | 3 + .../advisor/v20200721/advisor_client.js | 63 + .../tencentcloud/advisor/v20200721/index.js | 4 + .../tencentcloud/advisor/v20200721/models.js | 455 + .../tencentcloud/af/v20200226/af_client.js | 40 +- .../tencentcloud/af/v20200226/models.js | 1161 +- .../tencentcloud/afc/v20200226/afc_client.js | 22 +- .../tencentcloud/afc/v20200226/models.js | 632 +- .../tencentcloud/ame/v20190916/ame_client.js | 389 +- .../tencentcloud/ame/v20190916/models.js | 4797 +- .../tencentcloud/ams/v20201229/ams_client.js | 54 +- .../tencentcloud/ams/v20201229/models.js | 611 +- .../tencentcloud/antiddos/index.js | 3 + .../antiddos/v20200309/antiddos_client.js | 1256 + .../tencentcloud/antiddos/v20200309/index.js | 4 + .../tencentcloud/antiddos/v20200309/models.js | 12542 +++++ .../tencentcloud/api/v20201106/api_client.js | 18 +- .../tencentcloud/api/v20201106/models.js | 120 +- .../apigateway/v20180808/apigateway_client.js | 1182 +- .../apigateway/v20180808/models.js | 13838 ++++-- .../tencentcloud/apm/index.js | 3 + .../tencentcloud/apm/v20210622/apm_client.js | 123 + .../tencentcloud/apm/v20210622/index.js | 4 + .../tencentcloud/apm/v20210622/models.js | 1459 + .../tencentcloud/as/v20180419/as_client.js | 187 +- .../tencentcloud/as/v20180419/models.js | 2414 +- .../tencentcloud/asr/v20190614/asr_client.js | 31 +- .../tencentcloud/asr/v20190614/models.js | 77 +- .../tencentcloud/asw/v20200722/models.js | 2 +- .../tencentcloud/ba/v20200720/ba_client.js | 27 + .../tencentcloud/ba/v20200720/models.js | 158 + .../batch/v20170312/batch_client.js | 1 + .../tencentcloud/batch/v20170312/models.js | 95 +- .../tencentcloud/bda/v20200324/bda_client.js | 51 +- .../tencentcloud/bda/v20200324/models.js | 122 +- .../tencentcloud/bi/index.js | 3 + .../tencentcloud/bi/v20220105/bi_client.js | 61 + .../tencentcloud/bi/v20220105/index.js | 4 + .../tencentcloud/bi/v20220105/models.js | 391 + .../billing/v20180709/billing_client.js | 34 +- .../tencentcloud/billing/v20180709/models.js | 1004 +- .../tencentcloud/bm/v20180423/bm_client.js | 6 +- .../tencentcloud/bm/v20180423/models.js | 34 +- .../tencentcloud/bsca/index.js | 3 + .../bsca/v20210811/bsca_client.js | 99 + .../tencentcloud/bsca/v20210811/index.js | 4 + .../tencentcloud/bsca/v20210811/models.js | 1310 + .../tencentcloud/btoe/index.js | 2 +- .../btoe/v20210303/btoe_client.js | 48 +- .../btoe/v20210514/btoe_client.js | 203 + .../tencentcloud/btoe/v20210514/index.js | 4 + .../tencentcloud/btoe/v20210514/models.js | 1219 + .../tencentcloud/cam/v20190116/cam_client.js | 406 +- .../tencentcloud/cam/v20190116/models.js | 5689 ++- .../captcha/v20190722/captcha_client.js | 4 +- .../tencentcloud/captcha/v20190722/models.js | 43 +- .../tencentcloud/car/index.js | 3 + .../tencentcloud/car/v20220110/car_client.js | 72 + .../tencentcloud/car/v20220110/index.js | 4 + .../tencentcloud/car/v20220110/models.js | 237 + .../tencentcloud/casb/index.js | 3 + .../casb/v20200507/casb_client.js | 54 + .../tencentcloud/casb/v20200507/index.js | 4 + .../tencentcloud/casb/v20200507/models.js | 158 + .../tencentcloud/cat/v20180409/cat_client.js | 236 +- .../tencentcloud/cat/v20180409/models.js | 5176 ++- .../tencentcloud/cbs/v20170312/cbs_client.js | 195 +- .../tencentcloud/cbs/v20170312/models.js | 4084 +- .../tencentcloud/ccc/v20200210/ccc_client.js | 291 +- .../tencentcloud/ccc/v20200210/models.js | 3503 +- .../tencentcloud/cdb/v20170320/cdb_client.js | 885 +- .../tencentcloud/cdb/v20170320/models.js | 17448 ++++--- .../tencentcloud/cdc/index.js | 3 + .../tencentcloud/cdc/v20201214/cdc_client.js | 308 + .../tencentcloud/cdc/v20201214/index.js | 4 + .../tencentcloud/cdc/v20201214/models.js | 3232 ++ .../tencentcloud/cdn/v20180606/cdn_client.js | 392 +- .../tencentcloud/cdn/v20180606/models.js | 9322 +++- .../tencentcloud/cfg/index.js | 3 + .../tencentcloud/cfg/v20210820/cfg_client.js | 181 + .../tencentcloud/cfg/v20210820/index.js | 4 + .../tencentcloud/cfg/v20210820/models.js | 2423 + .../tencentcloud/cfs/v20190719/models.js | 71 +- .../tencentcloud/cfw/v20190904/cfw_client.js | 772 +- .../tencentcloud/cfw/v20190904/models.js | 8607 +++- .../tencentcloud/chdfs/v20201112/models.js | 87 +- .../tencentcloud/cii/v20210408/cii_client.js | 169 +- .../tencentcloud/cii/v20210408/models.js | 2075 +- .../ckafka/v20190819/ckafka_client.js | 295 +- .../tencentcloud/ckafka/v20190819/models.js | 4121 +- .../tencentcloud/clb/v20180317/clb_client.js | 258 +- .../tencentcloud/clb/v20180317/models.js | 2581 +- .../cloudaudit/v20190319/cloudaudit_client.js | 66 +- .../cloudaudit/v20190319/models.js | 395 +- .../tencentcloud/cls/index.js | 3 + .../tencentcloud/cls/v20201016/cls_client.js | 1073 + .../tencentcloud/cls/v20201016/index.js | 4 + .../tencentcloud/cls/v20201016/models.js | 10053 +++++ .../tencentcloud/cme/v20191029/cme_client.js | 267 +- .../tencentcloud/cme/v20191029/models.js | 3261 +- .../tencentcloud/cmq/v20190304/models.js | 302 +- .../tencentcloud/common/sdk_version.js | 2 +- .../cpdp/v20190820/cpdp_client.js | 2692 +- .../tencentcloud/cpdp/v20190820/models.js | 37629 ++++++++++++---- .../tencentcloud/cvm/v20170312/cvm_client.js | 356 +- .../tencentcloud/cvm/v20170312/models.js | 3931 +- .../tencentcloud/cwp/v20180228/cwp_client.js | 2403 +- .../tencentcloud/cwp/v20180228/models.js | 28233 +++++++++--- .../cynosdb/v20190107/cynosdb_client.js | 329 +- .../tencentcloud/cynosdb/v20190107/models.js | 5690 ++- .../tencentcloud/dasb/index.js | 3 + .../dasb/v20191018/dasb_client.js | 351 + .../tencentcloud/dasb/v20191018/index.js | 4 + .../tencentcloud/dasb/v20191018/models.js | 3161 ++ .../dbbrain/v20210527/dbbrain_client.js | 376 +- .../tencentcloud/dbbrain/v20210527/models.js | 5974 ++- .../tencentcloud/dbdc/index.js | 3 + .../dbdc/v20201029/dbdc_client.js | 104 + .../tencentcloud/dbdc/v20201029/index.js | 4 + .../tencentcloud/dbdc/v20201029/models.js | 1441 + .../tencentcloud/dc/v20180410/models.js | 48 +- .../dcdb/v20180411/dcdb_client.js | 262 +- .../tencentcloud/dcdb/v20180411/models.js | 2204 +- .../tencentcloud/dlc/v20210125/dlc_client.js | 551 +- .../tencentcloud/dlc/v20210125/models.js | 6233 ++- .../dnspod/v20210323/dnspod_client.js | 161 +- .../tencentcloud/dnspod/v20210323/models.js | 4123 +- .../domain/v20180808/domain_client.js | 253 +- .../tencentcloud/domain/v20180808/models.js | 892 +- .../tencentcloud/dtf/index.js | 3 + .../tencentcloud/dtf/v20200506/dtf_client.js | 48 + .../tencentcloud/dtf/v20200506/index.js | 4 + .../tencentcloud/dtf/v20200506/models.js | 327 + .../tencentcloud/dts/v20180330/dts_client.js | 138 +- .../tencentcloud/dts/v20180330/models.js | 2954 +- .../tencentcloud/eb/index.js | 3 + .../tencentcloud/eb/v20210416/eb_client.js | 393 + .../tencentcloud/eb/v20210416/index.js | 4 + .../tencentcloud/eb/v20210416/models.js | 3400 ++ .../ecdn/v20191012/ecdn_client.js | 40 +- .../tencentcloud/ecdn/v20191012/models.js | 403 +- .../tencentcloud/ecm/v20190719/ecm_client.js | 784 +- .../tencentcloud/ecm/v20190719/models.js | 17126 ++++--- .../tencentcloud/eiam/index.js | 3 + .../eiam/v20210420/eiam_client.js | 604 + .../tencentcloud/eiam/v20210420/index.js | 4 + .../tencentcloud/eiam/v20210420/models.js | 5565 +++ .../tencentcloud/eis/index.js | 2 +- .../tencentcloud/eis/v20200715/models.js | 230 +- .../tencentcloud/eis/v20210601/eis_client.js | 102 + .../tencentcloud/eis/v20210601/index.js | 4 + .../tencentcloud/eis/v20210601/models.js | 788 + .../tencentcloud/emr/v20190103/emr_client.js | 350 +- .../tencentcloud/emr/v20190103/models.js | 7268 +-- .../tencentcloud/es/v20180416/es_client.js | 293 +- .../tencentcloud/es/v20180416/models.js | 4574 +- .../tencentcloud/ess/index.js | 3 + .../tencentcloud/ess/v20201111/ess_client.js | 197 + .../tencentcloud/ess/v20201111/index.js | 4 + .../tencentcloud/ess/v20201111/models.js | 2537 ++ .../tencentcloud/essbasic/index.js | 3 + .../essbasic/v20201222/essbasic_client.js | 791 + .../tencentcloud/essbasic/v20201222/index.js | 4 + .../tencentcloud/essbasic/v20201222/models.js | 7555 ++++ .../essbasic/v20210526/essbasic_client.js | 260 + .../tencentcloud/essbasic/v20210526/index.js | 4 + .../tencentcloud/essbasic/v20210526/models.js | 3332 ++ .../facefusion/v20181201/models.js | 23 +- .../faceid/v20180301/faceid_client.js | 128 +- .../tencentcloud/faceid/v20180301/models.js | 1826 +- .../tencentcloud/ft/v20200304/models.js | 8 + .../gaap/v20180529/gaap_client.js | 1173 +- .../tencentcloud/gaap/v20180529/models.js | 1845 +- .../tencentcloud/gme/v20180711/gme_client.js | 180 +- .../tencentcloud/gme/v20180711/models.js | 1266 +- .../tencentcloud/gs/v20191118/gs_client.js | 26 + .../tencentcloud/gs/v20191118/models.js | 146 +- .../tencentcloud/gse/v20191112/gse_client.js | 25 +- .../tencentcloud/gse/v20191112/models.js | 72 + .../tencentcloud/iai/v20180301/iai_client.js | 97 +- .../tencentcloud/iai/v20180301/models.js | 567 +- .../tencentcloud/iai/v20200303/iai_client.js | 129 +- .../tencentcloud/iai/v20200303/models.js | 557 +- .../tencentcloud/ic/v20190307/models.js | 8 + .../tencentcloud/icr/index.js | 3 + .../tencentcloud/icr/v20211014/icr_client.js | 57 + .../tencentcloud/icr/v20211014/index.js | 4 + .../tencentcloud/icr/v20211014/models.js | 753 + .../tencentcloud/ie/v20200304/ie_client.js | 3 + .../tencentcloud/ie/v20200304/models.js | 217 +- .../tencentcloud/iecp/index.js | 3 + .../iecp/v20210914/iecp_client.js | 1425 + .../tencentcloud/iecp/v20210914/index.js | 4 + .../tencentcloud/iecp/v20210914/models.js | 14297 ++++++ .../tencentcloud/ims/v20201229/ims_client.js | 35 +- .../tencentcloud/ims/v20201229/models.js | 520 +- .../tencentcloud/index.js | 32 + .../tencentcloud/iotcloud/index.js | 2 +- .../iotcloud/v20180614/iotcloud_client.js | 138 +- .../tencentcloud/iotcloud/v20180614/models.js | 1218 +- .../tencentcloud/iotcloud/v20210408/index.js | 4 + .../iotcloud/v20210408/iotcloud_client.js | 981 + .../tencentcloud/iotcloud/v20210408/models.js | 8165 ++++ .../v20190423/iotexplorer_client.js | 1122 +- .../iotexplorer/v20190423/models.js | 8632 +++- .../tencentcloud/iotvideo/v20191126/models.js | 7 + .../iotvideo/v20201215/iotvideo_client.js | 428 +- .../tencentcloud/iotvideo/v20201215/models.js | 3914 +- .../v20201201/iotvideoindustry_client.js | 1378 +- .../iotvideoindustry/v20201201/models.js | 10190 ++++- .../tencentcloud/ivld/index.js | 3 + .../tencentcloud/ivld/v20210903/index.js | 4 + .../ivld/v20210903/ivld_client.js | 471 + .../tencentcloud/ivld/v20210903/models.js | 3686 ++ .../tencentcloud/kms/v20190118/kms_client.js | 6 +- .../tencentcloud/kms/v20190118/models.js | 93 +- .../lighthouse/v20200324/lighthouse_client.js | 443 +- .../lighthouse/v20200324/models.js | 3647 +- .../live/v20180801/live_client.js | 193 +- .../tencentcloud/live/v20180801/models.js | 1839 +- .../tencentcloud/lowcode/index.js | 3 + .../tencentcloud/lowcode/v20210108/index.js | 4 + .../lowcode/v20210108/lowcode_client.js | 51 + .../tencentcloud/lowcode/v20210108/models.js | 626 + .../mariadb/v20170312/mariadb_client.js | 248 +- .../tencentcloud/mariadb/v20170312/models.js | 2996 +- .../tencentcloud/market/index.js | 3 + .../tencentcloud/market/v20191010/index.js | 4 + .../market/v20191010/market_client.js | 60 + .../tencentcloud/market/v20191010/models.js | 215 + .../memcached/v20190318/models.js | 207 +- .../tencentcloud/mna/v20210119/mna_client.js | 18 +- .../tencentcloud/mna/v20210119/models.js | 325 +- .../tencentcloud/mongodb/v20190725/models.js | 4498 +- .../mongodb/v20190725/mongodb_client.js | 162 +- .../tencentcloud/monitor/v20180724/models.js | 2328 +- .../monitor/v20180724/monitor_client.js | 88 +- .../tencentcloud/mps/v20190612/models.js | 802 +- .../tencentcloud/mps/v20190612/mps_client.js | 18 +- .../tencentcloud/mrs/v20200910/models.js | 2564 +- .../tencentcloud/mrs/v20200910/mrs_client.js | 29 +- .../tencentcloud/nlp/v20190408/models.js | 730 +- .../tencentcloud/nlp/v20190408/nlp_client.js | 94 +- .../tencentcloud/oceanus/v20190422/models.js | 631 +- .../oceanus/v20190422/oceanus_client.js | 39 +- .../tencentcloud/ocr/v20181119/models.js | 2534 +- .../tencentcloud/ocr/v20181119/ocr_client.js | 155 +- .../tencentcloud/organization/index.js | 2 +- .../organization/v20210331/index.js | 4 + .../organization/v20210331/models.js | 821 + .../v20210331/organization_client.js | 101 + .../tencentcloud/partners/v20180321/models.js | 436 +- .../partners/v20180321/partners_client.js | 68 +- .../tencentcloud/pds/index.js | 3 + .../tencentcloud/pds/v20210701/index.js | 4 + .../tencentcloud/pds/v20210701/models.js | 271 + .../tencentcloud/pds/v20210701/pds_client.js | 61 + .../tencentcloud/postgres/v20170312/models.js | 4922 +- .../postgres/v20170312/postgres_client.js | 344 +- .../privatedns/v20201028/models.js | 924 +- .../privatedns/v20201028/privatedns_client.js | 94 +- .../tencentcloud/rce/v20201103/models.js | 1266 +- .../tencentcloud/rce/v20201103/rce_client.js | 59 +- .../tencentcloud/redis/v20180412/models.js | 2859 +- .../redis/v20180412/redis_client.js | 314 +- .../tencentcloud/rum/index.js | 3 + .../tencentcloud/rum/v20210622/index.js | 4 + .../tencentcloud/rum/v20210622/models.js | 7436 +++ .../tencentcloud/rum/v20210622/rum_client.js | 760 + .../tencentcloud/scf/v20180416/models.js | 987 +- .../tencentcloud/scf/v20180416/scf_client.js | 78 +- .../tencentcloud/ses/v20201002/models.js | 1377 +- .../tencentcloud/ses/v20201002/ses_client.js | 295 +- .../tencentcloud/smh/index.js | 3 + .../tencentcloud/smh/v20210712/index.js | 4 + .../tencentcloud/smh/v20210712/models.js | 1370 + .../tencentcloud/smh/v20210712/smh_client.js | 167 + .../tencentcloud/sms/v20190711/models.js | 36 +- .../tencentcloud/sms/v20190711/sms_client.js | 17 +- .../tencentcloud/sms/v20210111/models.js | 279 +- .../tencentcloud/sms/v20210111/sms_client.js | 31 +- .../tencentcloud/soe/v20180724/models.js | 115 +- .../tencentcloud/soe/v20180724/soe_client.js | 4 +- .../sqlserver/v20180328/models.js | 1936 +- .../sqlserver/v20180328/sqlserver_client.js | 202 +- .../tencentcloud/ssa/v20180608/models.js | 3245 +- .../tencentcloud/ssa/v20180608/ssa_client.js | 109 +- .../tencentcloud/ssl/v20191205/models.js | 1064 +- .../tencentcloud/ssl/v20191205/ssl_client.js | 38 +- .../tencentcloud/sslpod/v20190605/models.js | 85 +- .../tencentcloud/ssm/v20190923/models.js | 1469 +- .../tencentcloud/ssm/v20190923/ssm_client.js | 270 +- .../tencentcloud/sts/v20180813/models.js | 272 +- .../tencentcloud/sts/v20180813/sts_client.js | 52 +- .../tencentcloud/taf/v20200210/models.js | 217 +- .../tencentcloud/taf/v20200210/taf_client.js | 8 +- .../tencentcloud/tag/v20180813/models.js | 1132 +- .../tencentcloud/tag/v20180813/tag_client.js | 320 +- .../tencentcloud/tat/v20201028/models.js | 1375 +- .../tencentcloud/tat/v20201028/tat_client.js | 132 +- .../tencentcloud/tbaas/v20180416/models.js | 720 +- .../tbaas/v20180416/tbaas_client.js | 60 +- .../tcaplusdb/v20190823/models.js | 349 +- .../tcaplusdb/v20190823/tcaplusdb_client.js | 27 + .../tencentcloud/tcb/v20180608/models.js | 10031 ++-- .../tencentcloud/tcb/v20180608/tcb_client.js | 539 +- .../tencentcloud/tcm/index.js | 3 + .../tencentcloud/tcm/v20210413/index.js | 4 + .../tencentcloud/tcm/v20210413/models.js | 2237 + .../tencentcloud/tcm/v20210413/tcm_client.js | 95 + .../tencentcloud/tcr/v20190924/models.js | 1678 +- .../tencentcloud/tcr/v20190924/tcr_client.js | 1149 +- .../tencentcloud/tcss/index.js | 3 + .../tencentcloud/tcss/v20201101/index.js | 4 + .../tencentcloud/tcss/v20201101/models.js | 24927 ++++++++++ .../tcss/v20201101/tcss_client.js | 2276 + .../tencentcloud/tdcpg/index.js | 3 + .../tencentcloud/tdcpg/v20211118/index.js | 4 + .../tencentcloud/tdcpg/v20211118/models.js | 2777 ++ .../tdcpg/v20211118/tdcpg_client.js | 372 + .../tencentcloud/tdid/index.js | 3 + .../tencentcloud/tdid/v20210519/index.js | 4 + .../tencentcloud/tdid/v20210519/models.js | 978 + .../tdid/v20210519/tdid_client.js | 143 + .../tencentcloud/tdmq/v20200217/models.js | 11961 +++-- .../tdmq/v20200217/tdmq_client.js | 1208 +- .../tencentcloud/tem/index.js | 2 +- .../tencentcloud/tem/v20201221/models.js | 1066 +- .../tencentcloud/tem/v20201221/tem_client.js | 65 +- .../tencentcloud/tem/v20210701/index.js | 4 + .../tencentcloud/tem/v20210701/models.js | 4613 ++ .../tencentcloud/tem/v20210701/tem_client.js | 377 + .../tencentcloud/teo/index.js | 3 + .../tencentcloud/teo/v20220106/index.js | 4 + .../tencentcloud/teo/v20220106/models.js | 8307 ++++ .../tencentcloud/teo/v20220106/teo_client.js | 728 + .../tencentcloud/thpc/index.js | 3 + .../tencentcloud/thpc/v20211109/index.js | 4 + .../tencentcloud/thpc/v20211109/models.js | 1491 + .../thpc/v20211109/thpc_client.js | 103 + .../tencentcloud/thpc/v20220401/index.js | 4 + .../tencentcloud/thpc/v20220401/models.js | 1775 + .../thpc/v20220401/thpc_client.js | 129 + .../tencentcloud/tiia/v20190529/models.js | 2673 +- .../tiia/v20190529/tiia_client.js | 147 +- .../tencentcloud/tiw/v20190919/models.js | 804 +- .../tencentcloud/tiw/v20190919/tiw_client.js | 66 +- .../tencentcloud/tke/v20180525/models.js | 20680 +++++++-- .../tencentcloud/tke/v20180525/tke_client.js | 2277 +- .../tencentcloud/tms/v20200713/models.js | 26 +- .../tencentcloud/tms/v20201229/models.js | 125 +- .../tencentcloud/tms/v20201229/tms_client.js | 19 +- .../tencentcloud/tmt/v20180321/models.js | 646 +- .../tencentcloud/tmt/v20180321/tmt_client.js | 96 +- .../tencentcloud/trtc/v20190722/models.js | 2283 +- .../trtc/v20190722/trtc_client.js | 174 +- .../tencentcloud/tse/v20201207/models.js | 646 +- .../tencentcloud/tse/v20201207/tse_client.js | 46 +- .../tencentcloud/tsf/v20180326/models.js | 14459 ++++-- .../tencentcloud/tsf/v20180326/tsf_client.js | 524 +- .../tencentcloud/tts/v20190823/models.js | 315 +- .../tencentcloud/tts/v20190823/tts_client.js | 38 + .../tencentcloud/vm/v20201229/models.js | 389 +- .../tencentcloud/vm/v20201229/vm_client.js | 51 +- .../tencentcloud/vod/v20180717/models.js | 4302 +- .../tencentcloud/vod/v20180717/vod_client.js | 357 +- .../tencentcloud/vpc/v20170312/models.js | 4352 +- .../tencentcloud/vpc/v20170312/vpc_client.js | 692 +- .../tencentcloud/waf/v20180125/models.js | 4313 +- .../tencentcloud/waf/v20180125/waf_client.js | 438 +- .../tencentcloud/wav/index.js | 3 + .../tencentcloud/wav/v20210129/index.js | 4 + .../tencentcloud/wav/v20210129/models.js | 4170 ++ .../tencentcloud/wav/v20210129/wav_client.js | 345 + Nodejs12.16-COSUnzipFile/src/package.json | 2 +- 577 files changed, 476997 insertions(+), 105865 deletions(-) create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/json-schema/LICENSE create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/qs/.github/FUNDING.yml create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/qs/.nycrc create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/qs/LICENSE.md create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/qs/bower.json create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/qs/component.json create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/sshpk/Jenkinsfile create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/advisor/index.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/advisor/v20200721/advisor_client.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/advisor/v20200721/index.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/advisor/v20200721/models.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/antiddos/index.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/antiddos/v20200309/antiddos_client.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/antiddos/v20200309/index.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/antiddos/v20200309/models.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/apm/index.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/apm/v20210622/apm_client.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/apm/v20210622/index.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/apm/v20210622/models.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/bi/index.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/bi/v20220105/bi_client.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/bi/v20220105/index.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/bi/v20220105/models.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/bsca/index.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/bsca/v20210811/bsca_client.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/bsca/v20210811/index.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/bsca/v20210811/models.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/btoe/v20210514/btoe_client.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/btoe/v20210514/index.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/btoe/v20210514/models.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/car/index.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/car/v20220110/car_client.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/car/v20220110/index.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/car/v20220110/models.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/casb/index.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/casb/v20200507/casb_client.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/casb/v20200507/index.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/casb/v20200507/models.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/cdc/index.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/cdc/v20201214/cdc_client.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/cdc/v20201214/index.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/cdc/v20201214/models.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/cfg/index.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/cfg/v20210820/cfg_client.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/cfg/v20210820/index.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/cfg/v20210820/models.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/cls/index.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/cls/v20201016/cls_client.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/cls/v20201016/index.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/cls/v20201016/models.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/dasb/index.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/dasb/v20191018/dasb_client.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/dasb/v20191018/index.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/dasb/v20191018/models.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/dbdc/index.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/dbdc/v20201029/dbdc_client.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/dbdc/v20201029/index.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/dbdc/v20201029/models.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/dtf/index.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/dtf/v20200506/dtf_client.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/dtf/v20200506/index.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/dtf/v20200506/models.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/eb/index.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/eb/v20210416/eb_client.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/eb/v20210416/index.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/eb/v20210416/models.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/eiam/index.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/eiam/v20210420/eiam_client.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/eiam/v20210420/index.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/eiam/v20210420/models.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/eis/v20210601/eis_client.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/eis/v20210601/index.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/eis/v20210601/models.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/ess/index.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/ess/v20201111/ess_client.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/ess/v20201111/index.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/ess/v20201111/models.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/essbasic/index.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/essbasic/v20201222/essbasic_client.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/essbasic/v20201222/index.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/essbasic/v20201222/models.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/essbasic/v20210526/essbasic_client.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/essbasic/v20210526/index.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/essbasic/v20210526/models.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/icr/index.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/icr/v20211014/icr_client.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/icr/v20211014/index.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/icr/v20211014/models.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/iecp/index.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/iecp/v20210914/iecp_client.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/iecp/v20210914/index.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/iecp/v20210914/models.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/iotcloud/v20210408/index.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/iotcloud/v20210408/iotcloud_client.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/iotcloud/v20210408/models.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/ivld/index.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/ivld/v20210903/index.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/ivld/v20210903/ivld_client.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/ivld/v20210903/models.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/lowcode/index.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/lowcode/v20210108/index.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/lowcode/v20210108/lowcode_client.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/lowcode/v20210108/models.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/market/index.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/market/v20191010/index.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/market/v20191010/market_client.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/market/v20191010/models.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/organization/v20210331/index.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/organization/v20210331/models.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/organization/v20210331/organization_client.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/pds/index.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/pds/v20210701/index.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/pds/v20210701/models.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/pds/v20210701/pds_client.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/rum/index.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/rum/v20210622/index.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/rum/v20210622/models.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/rum/v20210622/rum_client.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/smh/index.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/smh/v20210712/index.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/smh/v20210712/models.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/smh/v20210712/smh_client.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/tcm/index.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/tcm/v20210413/index.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/tcm/v20210413/models.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/tcm/v20210413/tcm_client.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/tcss/index.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/tcss/v20201101/index.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/tcss/v20201101/models.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/tcss/v20201101/tcss_client.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/tdcpg/index.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/tdcpg/v20211118/index.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/tdcpg/v20211118/models.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/tdcpg/v20211118/tdcpg_client.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/tdid/index.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/tdid/v20210519/index.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/tdid/v20210519/models.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/tdid/v20210519/tdid_client.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/tem/v20210701/index.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/tem/v20210701/models.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/tem/v20210701/tem_client.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/teo/index.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/teo/v20220106/index.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/teo/v20220106/models.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/teo/v20220106/teo_client.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/thpc/index.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/thpc/v20211109/index.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/thpc/v20211109/models.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/thpc/v20211109/thpc_client.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/thpc/v20220401/index.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/thpc/v20220401/models.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/thpc/v20220401/thpc_client.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/wav/index.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/wav/v20210129/index.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/wav/v20210129/models.js create mode 100644 Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/wav/v20210129/wav_client.js diff --git a/Nodejs12.16-COSUnzipFile/config.json b/Nodejs12.16-COSUnzipFile/config.json index 3392735ff9..94dc4c48fa 100644 --- a/Nodejs12.16-COSUnzipFile/config.json +++ b/Nodejs12.16-COSUnzipFile/config.json @@ -18,7 +18,7 @@ }, "runtime": "Nodejs12.16", "readme": "https://github.com/tencentyun/serverless-demo/tree/master/Nodejs12.16-COSUnzipFile", - "version": "1.0.38", + "version": "1.0.39", "tags": ["Nodejs12.16", "Unzip", "unzip file"] } } diff --git a/Nodejs12.16-COSUnzipFile/src/index.js b/Nodejs12.16-COSUnzipFile/src/index.js index b2b76dc95b..aef424b44a 100644 --- a/Nodejs12.16-COSUnzipFile/src/index.js +++ b/Nodejs12.16-COSUnzipFile/src/index.js @@ -197,9 +197,19 @@ exports.main_handler = async (event, context) => { }; } } + const hostName = new URL(callbackUrl).host.split(':')[0]; + const headers = {}; + if ( + !/^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$/.test(hostName) + ) { + Object.assign(headers, { + Host: hostName, + }); + } await requestPromiseRetry({ uri: callbackUrl, method: 'POST', + headers, json: { code: status === 'success' ? 0 : -1, message: `cos unzip file ${status}`, diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/async/CHANGELOG.md b/Nodejs12.16-COSUnzipFile/src/node_modules/async/CHANGELOG.md index 8401a8a3e0..8a9a1bfdca 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/async/CHANGELOG.md +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/async/CHANGELOG.md @@ -1,3 +1,10 @@ +# v3.2.4 +- Fix a bug in `priorityQueue` where it didn't wait for the result. (#1725) +- Fix a bug where `unshiftAsync` was included in `priorityQueue`. (#1790) + +# v3.2.3 +- Fix bugs in comment parsing in `autoInject`. (#1767, #1780) + # v3.2.2 - Fix potential prototype pollution exploit diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/async/README.md b/Nodejs12.16-COSUnzipFile/src/node_modules/async/README.md index c679263b70..77f645e2fb 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/async/README.md +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/async/README.md @@ -1,7 +1,6 @@ ![Async Logo](https://raw.githubusercontent.com/caolan/async/master/logo/async-logo_readme.jpg) -[![Build Status via Travis CI](https://travis-ci.org/caolan/async.svg?branch=master)](https://travis-ci.org/caolan/async) -[![Build Status via Azure Pipelines](https://dev.azure.com/caolanmcmahon/async/_apis/build/status/caolan.async?branchName=master)](https://dev.azure.com/caolanmcmahon/async/_build/latest?definitionId=1&branchName=master) +![Github Actions CI status](https://github.com/caolan/async/actions/workflows/ci.yml/badge.svg) [![NPM version](https://img.shields.io/npm/v/async.svg)](https://www.npmjs.com/package/async) [![Coverage Status](https://coveralls.io/repos/caolan/async/badge.svg?branch=master)](https://coveralls.io/r/caolan/async?branch=master) [![Join the chat at https://gitter.im/caolan/async](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/caolan/async?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/async/all.js b/Nodejs12.16-COSUnzipFile/src/node_modules/async/all.js index 27d7575614..148db6836d 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/async/all.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/async/all.js @@ -4,15 +4,15 @@ Object.defineProperty(exports, "__esModule", { value: true }); -var _createTester = require('./internal/createTester'); +var _createTester = require('./internal/createTester.js'); var _createTester2 = _interopRequireDefault(_createTester); -var _eachOf = require('./eachOf'); +var _eachOf = require('./eachOf.js'); var _eachOf2 = _interopRequireDefault(_eachOf); -var _awaitify = require('./internal/awaitify'); +var _awaitify = require('./internal/awaitify.js'); var _awaitify2 = _interopRequireDefault(_awaitify); diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/async/allLimit.js b/Nodejs12.16-COSUnzipFile/src/node_modules/async/allLimit.js index bb78378d66..25b2c089cf 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/async/allLimit.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/async/allLimit.js @@ -4,15 +4,15 @@ Object.defineProperty(exports, "__esModule", { value: true }); -var _createTester = require('./internal/createTester'); +var _createTester = require('./internal/createTester.js'); var _createTester2 = _interopRequireDefault(_createTester); -var _eachOfLimit = require('./internal/eachOfLimit'); +var _eachOfLimit = require('./internal/eachOfLimit.js'); var _eachOfLimit2 = _interopRequireDefault(_eachOfLimit); -var _awaitify = require('./internal/awaitify'); +var _awaitify = require('./internal/awaitify.js'); var _awaitify2 = _interopRequireDefault(_awaitify); diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/async/allSeries.js b/Nodejs12.16-COSUnzipFile/src/node_modules/async/allSeries.js index 76eeaf7e54..147c3dc56f 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/async/allSeries.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/async/allSeries.js @@ -4,15 +4,15 @@ Object.defineProperty(exports, "__esModule", { value: true }); -var _createTester = require('./internal/createTester'); +var _createTester = require('./internal/createTester.js'); var _createTester2 = _interopRequireDefault(_createTester); -var _eachOfSeries = require('./eachOfSeries'); +var _eachOfSeries = require('./eachOfSeries.js'); var _eachOfSeries2 = _interopRequireDefault(_eachOfSeries); -var _awaitify = require('./internal/awaitify'); +var _awaitify = require('./internal/awaitify.js'); var _awaitify2 = _interopRequireDefault(_awaitify); diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/async/any.js b/Nodejs12.16-COSUnzipFile/src/node_modules/async/any.js index b7a7ee2402..2046cf6402 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/async/any.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/async/any.js @@ -4,15 +4,15 @@ Object.defineProperty(exports, "__esModule", { value: true }); -var _createTester = require('./internal/createTester'); +var _createTester = require('./internal/createTester.js'); var _createTester2 = _interopRequireDefault(_createTester); -var _eachOf = require('./eachOf'); +var _eachOf = require('./eachOf.js'); var _eachOf2 = _interopRequireDefault(_eachOf); -var _awaitify = require('./internal/awaitify'); +var _awaitify = require('./internal/awaitify.js'); var _awaitify2 = _interopRequireDefault(_awaitify); diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/async/anyLimit.js b/Nodejs12.16-COSUnzipFile/src/node_modules/async/anyLimit.js index 22b60dbb42..c8a295a8b4 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/async/anyLimit.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/async/anyLimit.js @@ -4,15 +4,15 @@ Object.defineProperty(exports, "__esModule", { value: true }); -var _createTester = require('./internal/createTester'); +var _createTester = require('./internal/createTester.js'); var _createTester2 = _interopRequireDefault(_createTester); -var _eachOfLimit = require('./internal/eachOfLimit'); +var _eachOfLimit = require('./internal/eachOfLimit.js'); var _eachOfLimit2 = _interopRequireDefault(_eachOfLimit); -var _awaitify = require('./internal/awaitify'); +var _awaitify = require('./internal/awaitify.js'); var _awaitify2 = _interopRequireDefault(_awaitify); diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/async/anySeries.js b/Nodejs12.16-COSUnzipFile/src/node_modules/async/anySeries.js index 7f7f801f94..ee0654ba69 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/async/anySeries.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/async/anySeries.js @@ -4,15 +4,15 @@ Object.defineProperty(exports, "__esModule", { value: true }); -var _createTester = require('./internal/createTester'); +var _createTester = require('./internal/createTester.js'); var _createTester2 = _interopRequireDefault(_createTester); -var _eachOfSeries = require('./eachOfSeries'); +var _eachOfSeries = require('./eachOfSeries.js'); var _eachOfSeries2 = _interopRequireDefault(_eachOfSeries); -var _awaitify = require('./internal/awaitify'); +var _awaitify = require('./internal/awaitify.js'); var _awaitify2 = _interopRequireDefault(_awaitify); diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/async/applyEach.js b/Nodejs12.16-COSUnzipFile/src/node_modules/async/applyEach.js index 2ecefc18d4..b08c670131 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/async/applyEach.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/async/applyEach.js @@ -4,11 +4,11 @@ Object.defineProperty(exports, "__esModule", { value: true }); -var _applyEach = require('./internal/applyEach'); +var _applyEach = require('./internal/applyEach.js'); var _applyEach2 = _interopRequireDefault(_applyEach); -var _map = require('./map'); +var _map = require('./map.js'); var _map2 = _interopRequireDefault(_map); diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/async/applyEachSeries.js b/Nodejs12.16-COSUnzipFile/src/node_modules/async/applyEachSeries.js index c9d56464f2..6a19ca3f7b 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/async/applyEachSeries.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/async/applyEachSeries.js @@ -4,11 +4,11 @@ Object.defineProperty(exports, "__esModule", { value: true }); -var _applyEach = require('./internal/applyEach'); +var _applyEach = require('./internal/applyEach.js'); var _applyEach2 = _interopRequireDefault(_applyEach); -var _mapSeries = require('./mapSeries'); +var _mapSeries = require('./mapSeries.js'); var _mapSeries2 = _interopRequireDefault(_mapSeries); diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/async/asyncify.js b/Nodejs12.16-COSUnzipFile/src/node_modules/async/asyncify.js index 2362317502..3c3bf886b2 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/async/asyncify.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/async/asyncify.js @@ -5,15 +5,15 @@ Object.defineProperty(exports, "__esModule", { }); exports.default = asyncify; -var _initialParams = require('./internal/initialParams'); +var _initialParams = require('./internal/initialParams.js'); var _initialParams2 = _interopRequireDefault(_initialParams); -var _setImmediate = require('./internal/setImmediate'); +var _setImmediate = require('./internal/setImmediate.js'); var _setImmediate2 = _interopRequireDefault(_setImmediate); -var _wrapAsync = require('./internal/wrapAsync'); +var _wrapAsync = require('./internal/wrapAsync.js'); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/async/auto.js b/Nodejs12.16-COSUnzipFile/src/node_modules/async/auto.js index 4b20ff5a86..c4a85d432b 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/async/auto.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/async/auto.js @@ -5,19 +5,19 @@ Object.defineProperty(exports, "__esModule", { }); exports.default = auto; -var _once = require('./internal/once'); +var _once = require('./internal/once.js'); var _once2 = _interopRequireDefault(_once); -var _onlyOnce = require('./internal/onlyOnce'); +var _onlyOnce = require('./internal/onlyOnce.js'); var _onlyOnce2 = _interopRequireDefault(_onlyOnce); -var _wrapAsync = require('./internal/wrapAsync'); +var _wrapAsync = require('./internal/wrapAsync.js'); var _wrapAsync2 = _interopRequireDefault(_wrapAsync); -var _promiseCallback = require('./internal/promiseCallback'); +var _promiseCallback = require('./internal/promiseCallback.js'); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/async/autoInject.js b/Nodejs12.16-COSUnzipFile/src/node_modules/async/autoInject.js index 80125ab8ca..393baad6d9 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/async/autoInject.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/async/autoInject.js @@ -5,11 +5,11 @@ Object.defineProperty(exports, "__esModule", { }); exports.default = autoInject; -var _auto = require('./auto'); +var _auto = require('./auto.js'); var _auto2 = _interopRequireDefault(_auto); -var _wrapAsync = require('./internal/wrapAsync'); +var _wrapAsync = require('./internal/wrapAsync.js'); var _wrapAsync2 = _interopRequireDefault(_wrapAsync); @@ -19,10 +19,36 @@ var FN_ARGS = /^(?:async\s+)?(?:function)?\s*\w*\s*\(\s*([^)]+)\s*\)(?:\s*{)/; var ARROW_FN_ARGS = /^(?:async\s+)?\(?\s*([^)=]+)\s*\)?(?:\s*=>)/; var FN_ARG_SPLIT = /,/; var FN_ARG = /(=.+)?(\s*)$/; -var STRIP_COMMENTS = /((\/\/.*$)|(\/\*[\s\S]*?\*\/))/mg; + +function stripComments(string) { + let stripped = ''; + let index = 0; + let endBlockComment = string.indexOf('*/'); + while (index < string.length) { + if (string[index] === '/' && string[index + 1] === '/') { + // inline comment + let endIndex = string.indexOf('\n', index); + index = endIndex === -1 ? string.length : endIndex; + } else if (endBlockComment !== -1 && string[index] === '/' && string[index + 1] === '*') { + // block comment + let endIndex = string.indexOf('*/', index); + if (endIndex !== -1) { + index = endIndex + 2; + endBlockComment = string.indexOf('*/', index); + } else { + stripped += string[index]; + index++; + } + } else { + stripped += string[index]; + index++; + } + } + return stripped; +} function parseParams(func) { - const src = func.toString().replace(STRIP_COMMENTS, ''); + const src = stripComments(func.toString()); let match = src.match(FN_ARGS); if (!match) { match = src.match(ARROW_FN_ARGS); diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/async/cargo.js b/Nodejs12.16-COSUnzipFile/src/node_modules/async/cargo.js index bfb1757939..aa385f8a8a 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/async/cargo.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/async/cargo.js @@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", { }); exports.default = cargo; -var _queue = require('./internal/queue'); +var _queue = require('./internal/queue.js'); var _queue2 = _interopRequireDefault(_queue); diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/async/cargoQueue.js b/Nodejs12.16-COSUnzipFile/src/node_modules/async/cargoQueue.js index adeacea05f..823a63144f 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/async/cargoQueue.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/async/cargoQueue.js @@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", { }); exports.default = cargo; -var _queue = require('./internal/queue'); +var _queue = require('./internal/queue.js'); var _queue2 = _interopRequireDefault(_queue); diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/async/compose.js b/Nodejs12.16-COSUnzipFile/src/node_modules/async/compose.js index eb9abe576d..d4ce989328 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/async/compose.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/async/compose.js @@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", { }); exports.default = compose; -var _seq = require('./seq'); +var _seq = require('./seq.js'); var _seq2 = _interopRequireDefault(_seq); diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/async/concat.js b/Nodejs12.16-COSUnzipFile/src/node_modules/async/concat.js index b812bec65d..8eed1ac899 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/async/concat.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/async/concat.js @@ -4,11 +4,11 @@ Object.defineProperty(exports, "__esModule", { value: true }); -var _concatLimit = require('./concatLimit'); +var _concatLimit = require('./concatLimit.js'); var _concatLimit2 = _interopRequireDefault(_concatLimit); -var _awaitify = require('./internal/awaitify'); +var _awaitify = require('./internal/awaitify.js'); var _awaitify2 = _interopRequireDefault(_awaitify); diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/async/concatLimit.js b/Nodejs12.16-COSUnzipFile/src/node_modules/async/concatLimit.js index 3ef4b5fd73..3d170f1770 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/async/concatLimit.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/async/concatLimit.js @@ -4,15 +4,15 @@ Object.defineProperty(exports, "__esModule", { value: true }); -var _wrapAsync = require('./internal/wrapAsync'); +var _wrapAsync = require('./internal/wrapAsync.js'); var _wrapAsync2 = _interopRequireDefault(_wrapAsync); -var _mapLimit = require('./mapLimit'); +var _mapLimit = require('./mapLimit.js'); var _mapLimit2 = _interopRequireDefault(_mapLimit); -var _awaitify = require('./internal/awaitify'); +var _awaitify = require('./internal/awaitify.js'); var _awaitify2 = _interopRequireDefault(_awaitify); diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/async/concatSeries.js b/Nodejs12.16-COSUnzipFile/src/node_modules/async/concatSeries.js index fbc105b994..84add3b065 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/async/concatSeries.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/async/concatSeries.js @@ -4,11 +4,11 @@ Object.defineProperty(exports, "__esModule", { value: true }); -var _concatLimit = require('./concatLimit'); +var _concatLimit = require('./concatLimit.js'); var _concatLimit2 = _interopRequireDefault(_concatLimit); -var _awaitify = require('./internal/awaitify'); +var _awaitify = require('./internal/awaitify.js'); var _awaitify2 = _interopRequireDefault(_awaitify); diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/async/detect.js b/Nodejs12.16-COSUnzipFile/src/node_modules/async/detect.js index 8798cb7774..05b2e5c60f 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/async/detect.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/async/detect.js @@ -4,15 +4,15 @@ Object.defineProperty(exports, "__esModule", { value: true }); -var _createTester = require('./internal/createTester'); +var _createTester = require('./internal/createTester.js'); var _createTester2 = _interopRequireDefault(_createTester); -var _eachOf = require('./eachOf'); +var _eachOf = require('./eachOf.js'); var _eachOf2 = _interopRequireDefault(_eachOf); -var _awaitify = require('./internal/awaitify'); +var _awaitify = require('./internal/awaitify.js'); var _awaitify2 = _interopRequireDefault(_awaitify); @@ -43,7 +43,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de * Result will be the first item in the array that passes the truth test * (iteratee) or the value `undefined` if none passed. Invoked with * (err, result). - * @returns A Promise, if no callback is passed + * @returns {Promise} a promise, if a callback is omitted * @example * * // dir1 is a directory that contains file1.txt, file2.txt diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/async/detectLimit.js b/Nodejs12.16-COSUnzipFile/src/node_modules/async/detectLimit.js index 9e2d3a0ddf..db6961ec5e 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/async/detectLimit.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/async/detectLimit.js @@ -4,15 +4,15 @@ Object.defineProperty(exports, "__esModule", { value: true }); -var _createTester = require('./internal/createTester'); +var _createTester = require('./internal/createTester.js'); var _createTester2 = _interopRequireDefault(_createTester); -var _eachOfLimit = require('./internal/eachOfLimit'); +var _eachOfLimit = require('./internal/eachOfLimit.js'); var _eachOfLimit2 = _interopRequireDefault(_eachOfLimit); -var _awaitify = require('./internal/awaitify'); +var _awaitify = require('./internal/awaitify.js'); var _awaitify2 = _interopRequireDefault(_awaitify); @@ -39,7 +39,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de * Result will be the first item in the array that passes the truth test * (iteratee) or the value `undefined` if none passed. Invoked with * (err, result). - * @returns a Promise if no callback is passed + * @returns {Promise} a promise, if a callback is omitted */ function detectLimit(coll, limit, iteratee, callback) { return (0, _createTester2.default)(bool => bool, (res, item) => item)((0, _eachOfLimit2.default)(limit), coll, iteratee, callback); diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/async/detectSeries.js b/Nodejs12.16-COSUnzipFile/src/node_modules/async/detectSeries.js index cdf38b1def..b9131b4a3c 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/async/detectSeries.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/async/detectSeries.js @@ -4,15 +4,15 @@ Object.defineProperty(exports, "__esModule", { value: true }); -var _createTester = require('./internal/createTester'); +var _createTester = require('./internal/createTester.js'); var _createTester2 = _interopRequireDefault(_createTester); -var _eachOfLimit = require('./internal/eachOfLimit'); +var _eachOfLimit = require('./internal/eachOfLimit.js'); var _eachOfLimit2 = _interopRequireDefault(_eachOfLimit); -var _awaitify = require('./internal/awaitify'); +var _awaitify = require('./internal/awaitify.js'); var _awaitify2 = _interopRequireDefault(_awaitify); @@ -37,7 +37,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de * Result will be the first item in the array that passes the truth test * (iteratee) or the value `undefined` if none passed. Invoked with * (err, result). - * @returns a Promise if no callback is passed + * @returns {Promise} a promise, if a callback is omitted */ function detectSeries(coll, iteratee, callback) { return (0, _createTester2.default)(bool => bool, (res, item) => item)((0, _eachOfLimit2.default)(1), coll, iteratee, callback); diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/async/dir.js b/Nodejs12.16-COSUnzipFile/src/node_modules/async/dir.js index 85fbcced03..950d0a22e6 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/async/dir.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/async/dir.js @@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); -var _consoleFunc = require('./internal/consoleFunc'); +var _consoleFunc = require('./internal/consoleFunc.js'); var _consoleFunc2 = _interopRequireDefault(_consoleFunc); diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/async/dist/async.js b/Nodejs12.16-COSUnzipFile/src/node_modules/async/dist/async.js index 67fec621d8..8d5e782564 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/async/dist/async.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/async/dist/async.js @@ -1197,10 +1197,36 @@ var ARROW_FN_ARGS = /^(?:async\s+)?\(?\s*([^)=]+)\s*\)?(?:\s*=>)/; var FN_ARG_SPLIT = /,/; var FN_ARG = /(=.+)?(\s*)$/; - var STRIP_COMMENTS = /((\/\/.*$)|(\/\*[\s\S]*?\*\/))/mg; + + function stripComments(string) { + let stripped = ''; + let index = 0; + let endBlockComment = string.indexOf('*/'); + while (index < string.length) { + if (string[index] === '/' && string[index+1] === '/') { + // inline comment + let endIndex = string.indexOf('\n', index); + index = (endIndex === -1) ? string.length : endIndex; + } else if ((endBlockComment !== -1) && (string[index] === '/') && (string[index+1] === '*')) { + // block comment + let endIndex = string.indexOf('*/', index); + if (endIndex !== -1) { + index = endIndex + 2; + endBlockComment = string.indexOf('*/', index); + } else { + stripped += string[index]; + index++; + } + } else { + stripped += string[index]; + index++; + } + } + return stripped; + } function parseParams(func) { - const src = func.toString().replace(STRIP_COMMENTS, ''); + const src = stripComments(func.toString()); let match = src.match(FN_ARGS); if (!match) { match = src.match(ARROW_FN_ARGS); @@ -1486,12 +1512,11 @@ res(args); } - var item = { + var item = q._createTaskItem( data, - callback: rejectOnError ? - promiseCallback : + rejectOnError ? promiseCallback : (callback || promiseCallback) - }; + ); if (insertAtFront) { q._tasks.unshift(item); @@ -1573,6 +1598,12 @@ var isProcessing = false; var q = { _tasks: new DLL(), + _createTaskItem (data, callback) { + return { + data, + callback + }; + }, *[Symbol.iterator] () { yield* q._tasks[Symbol.iterator](); }, @@ -1957,7 +1988,7 @@ * app.get('/cats', function(request, response) { * var User = request.models.User; * async.seq( - * _.bind(User.get, User), // 'User.get' has signature (id, callback(err, data)) + * User.get.bind(User), // 'User.get' has signature (id, callback(err, data)) * function(user, fn) { * user.getCats(fn); // 'getCats' has signature (callback(err, data)) * } @@ -2322,7 +2353,7 @@ * Result will be the first item in the array that passes the truth test * (iteratee) or the value `undefined` if none passed. Invoked with * (err, result). - * @returns A Promise, if no callback is passed + * @returns {Promise} a promise, if a callback is omitted * @example * * // dir1 is a directory that contains file1.txt, file2.txt @@ -2394,7 +2425,7 @@ * Result will be the first item in the array that passes the truth test * (iteratee) or the value `undefined` if none passed. Invoked with * (err, result). - * @returns a Promise if no callback is passed + * @returns {Promise} a promise, if a callback is omitted */ function detectLimit(coll, limit, iteratee, callback) { return _createTester(bool => bool, (res, item) => item)(eachOfLimit(limit), coll, iteratee, callback) @@ -2420,7 +2451,7 @@ * Result will be the first item in the array that passes the truth test * (iteratee) or the value `undefined` if none passed. Invoked with * (err, result). - * @returns a Promise if no callback is passed + * @returns {Promise} a promise, if a callback is omitted */ function detectSeries(coll, iteratee, callback) { return _createTester(bool => bool, (res, item) => item)(eachOfLimit(1), coll, iteratee, callback) @@ -3591,6 +3622,8 @@ return memoized; } + /* istanbul ignore file */ + /** * Calls `callback` on a later loop around the event loop. In Node.js this just * calls `process.nextTick`. In the browser it will use `setImmediate` if @@ -3634,7 +3667,7 @@ var nextTick = wrap(_defer$1); - var _parallel = awaitify((eachfn, tasks, callback) => { + var parallel = awaitify((eachfn, tasks, callback) => { var results = isArrayLike(tasks) ? [] : {}; eachfn(tasks, (task, key, taskCb) => { @@ -3807,8 +3840,8 @@ * } * */ - function parallel(tasks, callback) { - return _parallel(eachOf$1, tasks, callback); + function parallel$1(tasks, callback) { + return parallel(eachOf$1, tasks, callback); } /** @@ -3832,7 +3865,7 @@ * @returns {Promise} a promise, if a callback is not passed */ function parallelLimit(tasks, limit, callback) { - return _parallel(eachOfLimit(limit), tasks, callback); + return parallel(eachOfLimit(limit), tasks, callback); } /** @@ -4116,54 +4149,51 @@ * @param {number} concurrency - An `integer` for determining how many `worker` * functions should be run in parallel. If omitted, the concurrency defaults to * `1`. If the concurrency is `0`, an error is thrown. - * @returns {module:ControlFlow.QueueObject} A priorityQueue object to manage the tasks. There are two + * @returns {module:ControlFlow.QueueObject} A priorityQueue object to manage the tasks. There are three * differences between `queue` and `priorityQueue` objects: * * `push(task, priority, [callback])` - `priority` should be a number. If an * array of `tasks` is given, all tasks will be assigned the same priority. - * * The `unshift` method was removed. + * * `pushAsync(task, priority, [callback])` - the same as `priorityQueue.push`, + * except this returns a promise that rejects if an error occurs. + * * The `unshift` and `unshiftAsync` methods were removed. */ function priorityQueue(worker, concurrency) { // Start with a normal queue var q = queue$1(worker, concurrency); - var processingScheduled = false; + + var { + push, + pushAsync + } = q; q._tasks = new Heap(); + q._createTaskItem = ({data, priority}, callback) => { + return { + data, + priority, + callback + }; + }; - // Override push to accept second parameter representing priority - q.push = function(data, priority = 0, callback = () => {}) { - if (typeof callback !== 'function') { - throw new Error('task callback must be a function'); - } - q.started = true; - if (!Array.isArray(data)) { - data = [data]; - } - if (data.length === 0 && q.idle()) { - // call drain immediately if there are no tasks - return setImmediate$1(() => q.drain()); + function createDataItems(tasks, priority) { + if (!Array.isArray(tasks)) { + return {data: tasks, priority}; } + return tasks.map(data => { return {data, priority}; }); + } - for (var i = 0, l = data.length; i < l; i++) { - var item = { - data: data[i], - priority, - callback - }; - - q._tasks.push(item); - } + // Override push to accept second parameter representing priority + q.push = function(data, priority = 0, callback) { + return push(createDataItems(data, priority), callback); + }; - if (!processingScheduled) { - processingScheduled = true; - setImmediate$1(() => { - processingScheduled = false; - q.process(); - }); - } + q.pushAsync = function(data, priority = 0, callback) { + return pushAsync(createDataItems(data, priority), callback); }; - // Remove unshift function + // Remove unshift functions delete q.unshift; + delete q.unshiftAsync; return q; } @@ -4184,7 +4214,7 @@ * @param {Function} callback - A callback to run once any of the functions have * completed. This function gets an error or result from the first function that * completed. Invoked with (err, result). - * @returns undefined + * @returns {Promise} a promise, if a callback is omitted * @example * * async.race([ @@ -4877,7 +4907,7 @@ * */ function series(tasks, callback) { - return _parallel(eachOfSeries$1, tasks, callback); + return parallel(eachOfSeries$1, tasks, callback); } /** @@ -5709,7 +5739,7 @@ * @param {Function} [callback] - An optional callback to run once all the * functions have completed. This will be passed the results of the last task's * callback. Invoked with (err, [results]). - * @returns undefined + * @returns {Promise} a promise, if a callback is omitted * @example * * async.waterfall([ @@ -5857,7 +5887,7 @@ mapValuesSeries, memoize, nextTick, - parallel, + parallel: parallel$1, parallelLimit, priorityQueue, queue: queue$1, @@ -5965,7 +5995,7 @@ exports.mapValuesSeries = mapValuesSeries; exports.memoize = memoize; exports.nextTick = nextTick; - exports.parallel = parallel; + exports.parallel = parallel$1; exports.parallelLimit = parallelLimit; exports.priorityQueue = priorityQueue; exports.queue = queue$1; diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/async/dist/async.min.js b/Nodejs12.16-COSUnzipFile/src/node_modules/async/dist/async.min.js index 9401653079..a12963b6c2 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/async/dist/async.min.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/async/dist/async.min.js @@ -1 +1 @@ -(function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t(e.async={})})(this,function(e){'use strict';function t(e,...t){return(...a)=>e(...t,...a)}function a(e){return function(...t){var a=t.pop();return e.call(this,t,a)}}function n(e){setTimeout(e,0)}function i(e){return(t,...a)=>e(()=>t(...a))}function r(e){return u(e)?function(...t){const a=t.pop(),n=e.apply(this,t);return s(n,a)}:a(function(t,a){var n;try{n=e.apply(this,t)}catch(t){return a(t)}return n&&"function"==typeof n.then?s(n,a):void a(null,n)})}function s(e,t){return e.then(e=>{l(t,null,e)},e=>{l(t,e&&e.message?e:new Error(e))})}function l(e,t,a){try{e(t,a)}catch(e){be(t=>{throw t},e)}}function u(e){return"AsyncFunction"===e[Symbol.toStringTag]}function c(e){return"AsyncGenerator"===e[Symbol.toStringTag]}function p(e){return"function"==typeof e[Symbol.asyncIterator]}function d(e){if("function"!=typeof e)throw new Error("expected a function");return u(e)?r(e):e}function o(e,t=e.length){if(!t)throw new Error("arity is undefined");return function(...a){return"function"==typeof a[t-1]?e.apply(this,a):new Promise((n,i)=>{a[t-1]=(e,...t)=>e?i(e):void n(1{d(e).apply(i,a.concat(t))},n)});return n}}function f(e,t,a,n){t=t||[];var i=[],r=0,s=d(a);return e(t,(e,t,a)=>{var n=r++;s(e,(e,t)=>{i[n]=t,a(e)})},e=>{n(e,i)})}function y(e){return e&&"number"==typeof e.length&&0<=e.length&&0==e.length%1}function m(e){function t(...t){if(null!==e){var a=e;e=null,a.apply(this,t)}}return Object.assign(t,e),t}function g(e){return e[Symbol.iterator]&&e[Symbol.iterator]()}function k(e){var t=-1,a=e.length;return function(){return++t=t||c||l||(c=!0,e.next().then(({value:e,done:t})=>{if(!(u||l))return c=!1,t?(l=!0,void(0>=p&&n(null))):void(p++,a(e,d,r),d++,i())}).catch(s))}function r(e,t){return p-=1,u?void 0:e?s(e):!1===e?(l=!0,void(u=!0)):t===Oe||l&&0>=p?(l=!0,n(null)):void i()}function s(e){u||(c=!1,l=!0,n(e))}let l=!1,u=!1,c=!1,p=0,d=0;i()}function b(e,t,a){function n(e,t){!1===e&&(l=!0);!0===l||(e?a(e):(++r===s||t===Oe)&&a(null))}a=m(a);var i=0,r=0,{length:s}=e,l=!1;for(0===s&&a(null);i{t=e,a=n}),e}function M(e,t,a){function n(e,t){g.push(()=>l(e,t))}function i(){if(!h){if(0===g.length&&0===o)return a(null,p);for(;g.length&&oe()),i()}function l(e,t){if(!f){var n=x((t,...n)=>{if(o--,!1===t)return void(h=!0);if(2>n.length&&([n]=n),t){var i={};if(Object.keys(p).forEach(e=>{i[e]=p[e]}),i[e]=n,f=!0,y=Object.create(null),h)return;a(t,i)}else p[e]=n,s(e)});o++;var i=d(t[t.length-1]);1{const i=e[n];Array.isArray(i)&&0<=i.indexOf(t)&&a.push(n)}),a}"number"!=typeof t&&(a=t,t=null),a=m(a||_());var c=Object.keys(e).length;if(!c)return a(null);t||(t=c);var p={},o=0,h=!1,f=!1,y=Object.create(null),g=[],k=[],v={};return Object.keys(e).forEach(t=>{var a=e[t];if(!Array.isArray(a))return n(t,[a]),void k.push(t);var i=a.slice(0,a.length-1),s=i.length;return 0===s?(n(t,a),void k.push(t)):void(v[t]=s,i.forEach(l=>{if(!e[l])throw new Error("async.auto task `"+t+"` has a non-existent dependency `"+l+"` in "+i.join(", "));r(l,()=>{s--,0===s&&n(t,a)})}))}),function(){for(var e,t=0;k.length;)e=k.pop(),t++,u(e).forEach(e=>{0==--v[e]&&k.push(e)});if(t!==c)throw new Error("async.auto cannot execute tasks due to a recursive dependency")}(),i(),a[Te]}function A(e){const t=e.toString().replace(Ne,"");let a=t.match(Ce);if(a||(a=t.match(Pe)),!a)throw new Error("could not parse args in autoInject\nSource:\n"+t);let[,n]=a;return n.replace(/\s/g,"").split(Re).map(e=>e.replace(ze,"").trim())}function I(e,t){var a={};return Object.keys(e).forEach(t=>{function n(e,t){var a=i.map(t=>e[t]);a.push(t),d(r)(...a)}var i,r=e[t],s=u(r),l=!s&&1===r.length||s&&0===r.length;if(Array.isArray(r))i=[...r],r=i.pop(),a[t]=i.concat(0{r(e,a),t(...n)};f[e].push(a)}function r(e,t){return e?t?void(f[e]=f[e].filter(e=>e!==t)):f[e]=[]:Object.keys(f).forEach(e=>f[e]=[])}function s(e,...t){f[e].forEach(e=>e(...t))}function l(e,t,a,n){function i(e,...t){return e?a?s(e):r():1>=t.length?r(t[0]):void r(t)}if(null!=n&&"function"!=typeof n)throw new Error("task callback must be a function");k.started=!0;var r,s,l={data:e,callback:a?i:n||i};if(t?k._tasks.unshift(l):k._tasks.push(l),y||(y=!0,be(()=>{y=!1,k.process()})),a||!n)return new Promise((e,t)=>{r=e,s=t})}function u(e){return function(t,...a){o-=1;for(var n=0,r=e.length;ns("drain")),!0)}if(null==t)t=1;else if(0===t)throw new RangeError("Concurrency must not be zero");var p=d(e),o=0,h=[];const f={error:[],drain:[],saturated:[],unsaturated:[],empty:[]};var y=!1;const m=e=>t=>t?void(r(e),n(e,t)):new Promise((t,a)=>{i(e,(e,n)=>e?a(e):void t(n))});var g=!1,k={_tasks:new Ve,*[Symbol.iterator](){yield*k._tasks[Symbol.iterator]()},concurrency:t,payload:a,buffer:t/4,started:!1,paused:!1,push(e,t){return Array.isArray(e)?c(e)?void 0:e.map(e=>l(e,!1,!1,t)):l(e,!1,!1,t)},pushAsync(e,t){return Array.isArray(e)?c(e)?void 0:e.map(e=>l(e,!1,!0,t)):l(e,!1,!0,t)},kill(){r(),k._tasks.empty()},unshift(e,t){return Array.isArray(e)?c(e)?void 0:e.map(e=>l(e,!0,!1,t)):l(e,!0,!1,t)},unshiftAsync(e,t){return Array.isArray(e)?c(e)?void 0:e.map(e=>l(e,!0,!0,t)):l(e,!0,!0,t)},remove(e){k._tasks.remove(e)},process(){var e=Math.min;if(!g){for(g=!0;!k.paused&&o{t.apply(a,e.concat((e,...t)=>{n(e,t)}))},(e,t)=>n(e,...t)),n[Te]}}function C(...e){return T(...e.reverse())}function P(...e){return function(...t){var a=t.pop();return a(null,...e)}}function R(e,t){return(a,n,i,r)=>{var s,l=!1;const u=d(i);a(n,(a,n,i)=>{u(a,(n,r)=>n||!1===n?i(n):e(r)&&!s?(l=!0,s=t(!0,a),i(null,Oe)):void i())},e=>e?r(e):void r(null,l?s:t(!1)))}}function z(e){return(t,...a)=>d(t)(...a,(t,...a)=>{"object"==typeof console&&(t?console.error&&console.error(t):console[e]&&a.forEach(t=>console[e](t)))})}function N(e,t,a){const n=d(t);return Xe(e,(...e)=>{const t=e.pop();n(...e,(e,a)=>t(e,!a))},a)}function V(e){return(t,a,n)=>e(t,n)}function Y(e){return u(e)?e:function(...t){var a=t.pop(),n=!0;t.push((...e)=>{n?be(()=>a(...e)):a(...e)}),e.apply(this,t),n=!1}}function q(e,t,a,n){var r=Array(t.length);e(t,(e,t,n)=>{a(e,(e,a)=>{r[t]=!!a,n(e)})},e=>{if(e)return n(e);for(var a=[],s=0;s{a(e,(a,r)=>a?n(a):void(r&&i.push({index:t,value:e}),n(a)))},e=>e?n(e):void n(null,i.sort((e,t)=>e.index-t.index).map(e=>e.value)))}function Q(e,t,a,n){var i=y(t)?q:D;return i(e,t,d(a),n)}function U(e,t,a){return ut(e,1/0,t,a)}function G(e,t,a){return ut(e,1,t,a)}function W(e,t,a){return pt(e,1/0,t,a)}function H(e,t,a){return pt(e,1,t,a)}function J(e,t=e=>e){var n=Object.create(null),r=Object.create(null),s=d(e),l=a((e,a)=>{var u=t(...e);u in n?be(()=>a(null,...n[u])):u in r?r[u].push(a):(r[u]=[a],s(...e,(e,...t)=>{e||(n[u]=t);var a=r[u];delete r[u];for(var s=0,c=a.length;s{a(e[0],t)},t,1)}function $(e){return(e<<1)+1}function ee(e){return(e+1>>1)-1}function te(e,t){return e.priority===t.priority?e.pushCount{}){if("function"!=typeof r)throw new Error("task callback must be a function");if(a.started=!0,Array.isArray(e)||(e=[e]),0===e.length&&a.idle())return be(()=>a.drain());for(var s,u=0,c=e.length;u{n=!1,a.process()}))},delete a.unshift,a}function ne(e,t,a,n){var i=[...e].reverse();return qe(i,t,a,n)}function ie(e){var t=d(e);return a(function(e,a){return e.push((e,...t)=>{let n={};if(e&&(n.error=e),0=t.length&&([i]=t),n.value=i}a(null,n)}),t.apply(this,e)})}function re(e){var t;return Array.isArray(e)?t=e.map(ie):(t={},Object.keys(e).forEach(a=>{t[a]=ie.call(this,e[a])})),t}function se(e,t,a,n){const i=d(a);return Q(e,t,(e,t)=>{i(e,(e,a)=>{t(e,!a)})},n)}function le(e){return function(){return e}}function ue(e,t,a){function n(){r((e,...t)=>{!1===e||(e&&s++arguments.length&&"function"==typeof e?(a=t||_(),t=e):(ce(i,e),a=a||_()),"function"!=typeof t)throw new Error("Invalid arguments for async.retry");var r=d(t),s=1;return n(),a[Te]}function ce(e,a){if("object"==typeof a)e.times=+a.times||kt,e.intervalFunc="function"==typeof a.interval?a.interval:le(+a.interval||vt),e.errorFilter=a.errorFilter;else if("number"==typeof a||"string"==typeof a)e.times=+a||kt;else throw new Error("Invalid arguments for async.retry")}function pe(e,t){t||(t=e,e=null);let n=e&&e.arity||t.length;u(t)&&(n+=1);var i=d(t);return a((t,a)=>{function r(e){i(...t,e)}return(t.length{var s,l=!1;a.push((...e)=>{l||(r(...e),clearTimeout(s))}),s=setTimeout(function(){var t=e.name||"anonymous",a=new Error("Callback function \""+t+"\" timed out.");a.code="ETIMEDOUT",n&&(a.info=n),l=!0,r(a)},t),i(...a)})}function he(e){for(var t=Array(e);e--;)t[e]=e;return t}function fe(e,t,a,n){var i=d(a);return De(he(e),t,i,n)}function ye(e,t,a){return fe(e,1/0,t,a)}function me(e,t,a){return fe(e,1,t,a)}function ge(e,t,a,n){3>=arguments.length&&"function"==typeof t&&(n=a,a=t,t=Array.isArray(e)?[]:{}),n=m(n||_());var i=d(a);return Ae(e,(e,a,n)=>{i(t,e,a,n)},e=>n(e,t)),n[Te]}function ke(e){return(...t)=>(e.unmemoized||e)(...t)}function ve(e,t,a){const n=d(e);return Ot(e=>n((t,a)=>e(t,!a)),t,a)}var Se,Le="function"==typeof queueMicrotask&&queueMicrotask,xe="function"==typeof setImmediate&&setImmediate,Ee="object"==typeof process&&"function"==typeof process.nextTick;Se=Le?queueMicrotask:xe?setImmediate:Ee?process.nextTick:n;var be=i(Se);const Oe={};var _e=e=>(t,a,n)=>{function i(e,t){if(!u)if(d-=1,e)l=!0,n(e);else if(!1===e)l=!0,u=!0;else{if(t===Oe||l&&0>=d)return l=!0,n(null);o||r()}}function r(){for(o=!0;d=d&&n(null));d+=1,a(t.value,t.key,x(i))}o=!1}if(n=m(n),0>=e)throw new RangeError("concurrency limit cannot be less than 1");if(!t)return n(null);if(c(t))return E(t,e,a,n);if(p(t))return E(t[Symbol.asyncIterator](),e,a,n);var s=L(t),l=!1,u=!1,d=0,o=!1;r()},Me=o(function(e,t,a,n){return _e(t)(e,d(a),n)},4),Ae=o(function(e,t,a){var n=y(e)?b:O;return n(e,d(t),a)},3),Ie=o(function(e,t,a){return f(Ae,e,t,a)},3),je=h(Ie),we=o(function(e,t,a){return Me(e,1,t,a)},3),Be=o(function(e,t,a){return f(we,e,t,a)},3),Fe=h(Be);const Te=Symbol("promiseCallback");var Ce=/^(?:async\s+)?(?:function)?\s*\w*\s*\(\s*([^)]+)\s*\)(?:\s*{)/,Pe=/^(?:async\s+)?\(?\s*([^)=]+)\s*\)?(?:\s*=>)/,Re=/,/,ze=/(=.+)?(\s*)$/,Ne=/((\/\/.*$)|(\/\*[\s\S]*?\*\/))/mg;class Ve{constructor(){this.head=this.tail=null,this.length=0}removeLink(e){return e.prev?e.prev.next=e.next:this.head=e.next,e.next?e.next.prev=e.prev:this.tail=e.prev,e.prev=e.next=null,this.length-=1,e}empty(){for(;this.head;)this.shift();return this}insertAfter(e,t){t.prev=e,t.next=e.next,e.next?e.next.prev=t:this.tail=t,e.next=t,this.length+=1}insertBefore(e,t){t.prev=e.prev,t.next=e,e.prev?e.prev.next=t:this.head=t,e.prev=t,this.length+=1}unshift(e){this.head?this.insertBefore(this.head,e):j(this,e)}push(e){this.tail?this.insertAfter(this.tail,e):j(this,e)}shift(){return this.head&&this.removeLink(this.head)}pop(){return this.tail&&this.removeLink(this.tail)}toArray(){return[...this]}*[Symbol.iterator](){for(var e=this.head;e;)yield e.data,e=e.next}remove(e){for(var t=this.head;t;){var{next:a}=t;e(t)&&this.removeLink(t),t=a}return this}}var Ye,qe=o(function(e,t,a,n){n=m(n);var r=d(a);return we(e,(e,a,n)=>{r(t,e,(e,a)=>{t=a,n(e)})},e=>n(e,t))},4),De=o(function(e,t,a,n){return f(_e(t),e,a,n)},4),Qe=o(function(e,t,a,n){var i=d(a);return De(e,t,(e,t)=>{i(e,(e,...a)=>e?t(e):t(e,a))},(e,t)=>{for(var a=[],r=0;re,(e,t)=>t)(Ae,e,t,a)},3),He=o(function(e,t,a,n){return R(e=>e,(e,t)=>t)(_e(t),e,a,n)},4),Je=o(function(e,t,a){return R(e=>e,(e,t)=>t)(_e(1),e,t,a)},3),Ke=z("dir"),Xe=o(function(e,t,a){function n(e,...t){return e?a(e):void(!1===e||(r=t,l(...t,i)))}function i(e,t){return e?a(e):!1===e?void 0:t?void s(n):a(null,...r)}a=x(a);var r,s=d(e),l=d(t);return i(null,!0)},3),Ze=o(function(e,t,a){return Ae(e,V(d(t)),a)},3),$e=o(function(e,t,a,n){return _e(t)(e,V(d(a)),n)},4),et=o(function(e,t,a){return $e(e,1,t,a)},3),tt=o(function(e,t,a){return R(e=>!e,e=>!e)(Ae,e,t,a)},3),at=o(function(e,t,a,n){return R(e=>!e,e=>!e)(_e(t),e,a,n)},4),nt=o(function(e,t,a){return R(e=>!e,e=>!e)(we,e,t,a)},3),it=o(function(e,t,a){return Q(Ae,e,t,a)},3),rt=o(function(e,t,a,n){return Q(_e(t),e,a,n)},4),st=o(function(e,t,a){return Q(we,e,t,a)},3),lt=o(function(e,t){function a(e){return e?n(e):void(!1===e||i(a))}var n=x(t),i=d(Y(e));return a()},2),ut=o(function(e,t,a,n){var i=d(a);return De(e,t,(e,t)=>{i(e,(a,n)=>a?t(a):t(a,{key:n,val:e}))},(e,t)=>{for(var a={},{hasOwnProperty:r}=Object.prototype,s=0;s{r(e,t,(e,n)=>e?a(e):void(i[t]=n,a(e)))},e=>n(e,i))},4);Ye=Ee?process.nextTick:xe?setImmediate:n;var dt=i(Ye),ot=o((e,t,a)=>{var n=y(t)?[]:{};e(t,(e,t,a)=>{d(e)((e,...i)=>{2>i.length&&([i]=i),n[t]=i,a(e)})},e=>a(e,n))},3);class ht{constructor(){this.heap=[],this.pushCount=Number.MIN_SAFE_INTEGER}get length(){return this.heap.length}empty(){return this.heap=[],this}percUp(e){for(let a;0e)(Ae,e,t,a)},3),Lt=o(function(e,t,a,n){return R(Boolean,e=>e)(_e(t),e,a,n)},4),xt=o(function(e,t,a){return R(Boolean,e=>e)(we,e,t,a)},3),Et=o(function(e,t,a){function n(e,t){var n=e.criteria,a=t.criteria;return na?1:0}var i=d(t);return Ie(e,(e,t)=>{i(e,(a,n)=>a?t(a):void t(a,{value:e,criteria:n}))},(e,t)=>e?a(e):void a(null,t.sort(n).map(e=>e.value)))},3),bt=o(function(e,t){var a,n=null;return et(e,(e,t)=>{d(e)((e,...i)=>!1===e?t(e):void(2>i.length?[a]=i:a=i,n=e,t(e?null:{})))},()=>t(n,a))}),Ot=o(function(e,t,a){function n(e,...t){if(e)return a(e);l=t;!1===e||s(i)}function i(e,t){return e?a(e):!1===e?void 0:t?void r(n):a(null,...l)}a=x(a);var r=d(t),s=d(e),l=[];return s(i)},3),_t=o(function(e,t){function a(t){var a=d(e[i++]);a(...t,x(n))}function n(n,...r){return!1===n?void 0:n||i===e.length?t(n,...r):void a(r)}if(t=m(t),!Array.isArray(e))return t(new Error("First argument to waterfall must be an array of functions"));if(!e.length)return t();var i=0;a([])});e.default={apply:t,applyEach:je,applyEachSeries:Fe,asyncify:r,auto:M,autoInject:I,cargo:B,cargoQueue:F,compose:C,concat:Ue,concatLimit:Qe,concatSeries:Ge,constant:P,detect:We,detectLimit:He,detectSeries:Je,dir:Ke,doUntil:N,doWhilst:Xe,each:Ze,eachLimit:$e,eachOf:Ae,eachOfLimit:Me,eachOfSeries:we,eachSeries:et,ensureAsync:Y,every:tt,everyLimit:at,everySeries:nt,filter:it,filterLimit:rt,filterSeries:st,forever:lt,groupBy:U,groupByLimit:ut,groupBySeries:G,log:ct,map:Ie,mapLimit:De,mapSeries:Be,mapValues:W,mapValuesLimit:pt,mapValuesSeries:H,memoize:J,nextTick:dt,parallel:K,parallelLimit:X,priorityQueue:ae,queue:Z,race:ft,reduce:qe,reduceRight:ne,reflect:ie,reflectAll:re,reject:yt,rejectLimit:mt,rejectSeries:gt,retry:ue,retryable:pe,seq:T,series:de,setImmediate:be,some:St,someLimit:Lt,someSeries:xt,sortBy:Et,timeout:oe,times:ye,timesLimit:fe,timesSeries:me,transform:ge,tryEach:bt,unmemoize:ke,until:ve,waterfall:_t,whilst:Ot,all:tt,allLimit:at,allSeries:nt,any:St,anyLimit:Lt,anySeries:xt,find:We,findLimit:He,findSeries:Je,flatMap:Ue,flatMapLimit:Qe,flatMapSeries:Ge,forEach:Ze,forEachSeries:et,forEachLimit:$e,forEachOf:Ae,forEachOfSeries:we,forEachOfLimit:Me,inject:qe,foldl:qe,foldr:ne,select:it,selectLimit:rt,selectSeries:st,wrapSync:r,during:Ot,doDuring:Xe},e.apply=t,e.applyEach=je,e.applyEachSeries=Fe,e.asyncify=r,e.auto=M,e.autoInject=I,e.cargo=B,e.cargoQueue=F,e.compose=C,e.concat=Ue,e.concatLimit=Qe,e.concatSeries=Ge,e.constant=P,e.detect=We,e.detectLimit=He,e.detectSeries=Je,e.dir=Ke,e.doUntil=N,e.doWhilst=Xe,e.each=Ze,e.eachLimit=$e,e.eachOf=Ae,e.eachOfLimit=Me,e.eachOfSeries=we,e.eachSeries=et,e.ensureAsync=Y,e.every=tt,e.everyLimit=at,e.everySeries=nt,e.filter=it,e.filterLimit=rt,e.filterSeries=st,e.forever=lt,e.groupBy=U,e.groupByLimit=ut,e.groupBySeries=G,e.log=ct,e.map=Ie,e.mapLimit=De,e.mapSeries=Be,e.mapValues=W,e.mapValuesLimit=pt,e.mapValuesSeries=H,e.memoize=J,e.nextTick=dt,e.parallel=K,e.parallelLimit=X,e.priorityQueue=ae,e.queue=Z,e.race=ft,e.reduce=qe,e.reduceRight=ne,e.reflect=ie,e.reflectAll=re,e.reject=yt,e.rejectLimit=mt,e.rejectSeries=gt,e.retry=ue,e.retryable=pe,e.seq=T,e.series=de,e.setImmediate=be,e.some=St,e.someLimit=Lt,e.someSeries=xt,e.sortBy=Et,e.timeout=oe,e.times=ye,e.timesLimit=fe,e.timesSeries=me,e.transform=ge,e.tryEach=bt,e.unmemoize=ke,e.until=ve,e.waterfall=_t,e.whilst=Ot,e.all=tt,e.allLimit=at,e.allSeries=nt,e.any=St,e.anyLimit=Lt,e.anySeries=xt,e.find=We,e.findLimit=He,e.findSeries=Je,e.flatMap=Ue,e.flatMapLimit=Qe,e.flatMapSeries=Ge,e.forEach=Ze,e.forEachSeries=et,e.forEachLimit=$e,e.forEachOf=Ae,e.forEachOfSeries=we,e.forEachOfLimit=Me,e.inject=qe,e.foldl=qe,e.foldr=ne,e.select=it,e.selectLimit=rt,e.selectSeries=st,e.wrapSync=r,e.during=Ot,e.doDuring=Xe,Object.defineProperty(e,"__esModule",{value:!0})}); \ No newline at end of file +(function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t(e.async={})})(this,function(e){'use strict';function t(e,...t){return(...n)=>e(...t,...n)}function n(e){return function(...t){var n=t.pop();return e.call(this,t,n)}}function a(e){setTimeout(e,0)}function i(e){return(t,...n)=>e(()=>t(...n))}function r(e){return u(e)?function(...t){const n=t.pop(),a=e.apply(this,t);return s(a,n)}:n(function(t,n){var a;try{a=e.apply(this,t)}catch(t){return n(t)}return a&&"function"==typeof a.then?s(a,n):void n(null,a)})}function s(e,t){return e.then(e=>{l(t,null,e)},e=>{l(t,e&&e.message?e:new Error(e))})}function l(e,t,n){try{e(t,n)}catch(e){_e(t=>{throw t},e)}}function u(e){return"AsyncFunction"===e[Symbol.toStringTag]}function d(e){return"AsyncGenerator"===e[Symbol.toStringTag]}function p(e){return"function"==typeof e[Symbol.asyncIterator]}function c(e){if("function"!=typeof e)throw new Error("expected a function");return u(e)?r(e):e}function o(e,t=e.length){if(!t)throw new Error("arity is undefined");return function(...n){return"function"==typeof n[t-1]?e.apply(this,n):new Promise((a,i)=>{n[t-1]=(e,...t)=>e?i(e):void a(1{c(e).apply(i,n.concat(t))},a)});return a}}function f(e,t,n,a){t=t||[];var i=[],r=0,s=c(n);return e(t,(e,t,n)=>{var a=r++;s(e,(e,t)=>{i[a]=t,n(e)})},e=>{a(e,i)})}function y(e){return e&&"number"==typeof e.length&&0<=e.length&&0==e.length%1}function m(e){function t(...t){if(null!==e){var n=e;e=null,n.apply(this,t)}}return Object.assign(t,e),t}function g(e){return e[Symbol.iterator]&&e[Symbol.iterator]()}function k(e){var t=-1,n=e.length;return function(){return++t=t||d||l||(d=!0,e.next().then(({value:e,done:t})=>{if(!(u||l))return d=!1,t?(l=!0,void(0>=p&&a(null))):void(p++,n(e,c,r),c++,i())}).catch(s))}function r(e,t){return p-=1,u?void 0:e?s(e):!1===e?(l=!0,void(u=!0)):t===be||l&&0>=p?(l=!0,a(null)):void i()}function s(e){u||(d=!1,l=!0,a(e))}let l=!1,u=!1,d=!1,p=0,c=0;i()}function O(e,t,n){function a(e,t){!1===e&&(l=!0);!0===l||(e?n(e):(++r===s||t===be)&&n(null))}n=m(n);var i=0,r=0,{length:s}=e,l=!1;for(0===s&&n(null);i{t=e,n=a}),e}function A(e,t,n){function a(e,t){g.push(()=>l(e,t))}function i(){if(!h){if(0===g.length&&0===o)return n(null,p);for(;g.length&&oe()),i()}function l(e,t){if(!f){var a=L((t,...a)=>{if(o--,!1===t)return void(h=!0);if(2>a.length&&([a]=a),t){var i={};if(Object.keys(p).forEach(e=>{i[e]=p[e]}),i[e]=a,f=!0,y=Object.create(null),h)return;n(t,i)}else p[e]=a,s(e)});o++;var i=c(t[t.length-1]);1{const i=e[a];Array.isArray(i)&&0<=i.indexOf(t)&&n.push(a)}),n}"number"!=typeof t&&(n=t,t=null),n=m(n||b());var d=Object.keys(e).length;if(!d)return n(null);t||(t=d);var p={},o=0,h=!1,f=!1,y=Object.create(null),g=[],k=[],v={};return Object.keys(e).forEach(t=>{var n=e[t];if(!Array.isArray(n))return a(t,[n]),void k.push(t);var i=n.slice(0,n.length-1),s=i.length;return 0===s?(a(t,n),void k.push(t)):void(v[t]=s,i.forEach(l=>{if(!e[l])throw new Error("async.auto task `"+t+"` has a non-existent dependency `"+l+"` in "+i.join(", "));r(l,()=>{s--,0===s&&a(t,n)})}))}),function(){for(var e,t=0;k.length;)e=k.pop(),t++,u(e).forEach(e=>{0==--v[e]&&k.push(e)});if(t!==d)throw new Error("async.auto cannot execute tasks due to a recursive dependency")}(),i(),n[Ce]}function I(e){let t="",n=0,a=e.indexOf("*/");for(;ne.replace(Ne,"").trim())}function j(e,t){var n={};return Object.keys(e).forEach(t=>{function a(e,t){var n=i.map(t=>e[t]);n.push(t),c(r)(...n)}var i,r=e[t],s=u(r),l=!s&&1===r.length||s&&0===r.length;if(Array.isArray(r))i=[...r],r=i.pop(),n[t]=i.concat(0{r(e,n),t(...a)};f[e].push(n)}function r(e,t){return e?t?void(f[e]=f[e].filter(e=>e!==t)):f[e]=[]:Object.keys(f).forEach(e=>f[e]=[])}function s(e,...t){f[e].forEach(e=>e(...t))}function l(e,t,n,a){function i(e,...t){return e?n?s(e):r():1>=t.length?r(t[0]):void r(t)}if(null!=a&&"function"!=typeof a)throw new Error("task callback must be a function");k.started=!0;var r,s,l=k._createTaskItem(e,n?i:a||i);if(t?k._tasks.unshift(l):k._tasks.push(l),y||(y=!0,_e(()=>{y=!1,k.process()})),n||!a)return new Promise((e,t)=>{r=e,s=t})}function u(e){return function(t,...n){o-=1;for(var a=0,r=e.length;as("drain")),!0)}if(null==t)t=1;else if(0===t)throw new RangeError("Concurrency must not be zero");var p=c(e),o=0,h=[];const f={error:[],drain:[],saturated:[],unsaturated:[],empty:[]};var y=!1;const m=e=>t=>t?void(r(e),a(e,t)):new Promise((t,n)=>{i(e,(e,a)=>e?n(e):void t(a))});var g=!1,k={_tasks:new Ve,_createTaskItem(e,t){return{data:e,callback:t}},*[Symbol.iterator](){yield*k._tasks[Symbol.iterator]()},concurrency:t,payload:n,buffer:t/4,started:!1,paused:!1,push(e,t){return Array.isArray(e)?d(e)?void 0:e.map(e=>l(e,!1,!1,t)):l(e,!1,!1,t)},pushAsync(e,t){return Array.isArray(e)?d(e)?void 0:e.map(e=>l(e,!1,!0,t)):l(e,!1,!0,t)},kill(){r(),k._tasks.empty()},unshift(e,t){return Array.isArray(e)?d(e)?void 0:e.map(e=>l(e,!0,!1,t)):l(e,!0,!1,t)},unshiftAsync(e,t){return Array.isArray(e)?d(e)?void 0:e.map(e=>l(e,!0,!0,t)):l(e,!0,!0,t)},remove(e){k._tasks.remove(e)},process(){var e=Math.min;if(!g){for(g=!0;!k.paused&&o{t.apply(n,e.concat((e,...t)=>{a(e,t)}))},(e,t)=>a(e,...t)),a[Ce]}}function P(...e){return C(...e.reverse())}function R(...e){return function(...t){var n=t.pop();return n(null,...e)}}function z(e,t){return(n,a,i,r)=>{var s,l=!1;const u=c(i);n(a,(n,a,i)=>{u(n,(a,r)=>a||!1===a?i(a):e(r)&&!s?(l=!0,s=t(!0,n),i(null,be)):void i())},e=>e?r(e):void r(null,l?s:t(!1)))}}function N(e){return(t,...n)=>c(t)(...n,(t,...n)=>{"object"==typeof console&&(t?console.error&&console.error(t):console[e]&&n.forEach(t=>console[e](t)))})}function V(e,t,n){const a=c(t);return Xe(e,(...e)=>{const t=e.pop();a(...e,(e,n)=>t(e,!n))},n)}function Y(e){return(t,n,a)=>e(t,a)}function q(e){return u(e)?e:function(...t){var n=t.pop(),a=!0;t.push((...e)=>{a?_e(()=>n(...e)):n(...e)}),e.apply(this,t),a=!1}}function D(e,t,n,a){var r=Array(t.length);e(t,(e,t,a)=>{n(e,(e,n)=>{r[t]=!!n,a(e)})},e=>{if(e)return a(e);for(var n=[],s=0;s{n(e,(n,r)=>n?a(n):void(r&&i.push({index:t,value:e}),a(n)))},e=>e?a(e):void a(null,i.sort((e,t)=>e.index-t.index).map(e=>e.value)))}function U(e,t,n,a){var i=y(t)?D:Q;return i(e,t,c(n),a)}function G(e,t,n){return ut(e,1/0,t,n)}function W(e,t,n){return ut(e,1,t,n)}function H(e,t,n){return pt(e,1/0,t,n)}function J(e,t,n){return pt(e,1,t,n)}function K(e,t=e=>e){var a=Object.create(null),r=Object.create(null),s=c(e),l=n((e,n)=>{var u=t(...e);u in a?_e(()=>n(null,...a[u])):u in r?r[u].push(n):(r[u]=[n],s(...e,(e,...t)=>{e||(a[u]=t);var n=r[u];delete r[u];for(var s=0,d=n.length;s{n(e[0],t)},t,1)}function ee(e){return(e<<1)+1}function te(e){return(e+1>>1)-1}function ne(e,t){return e.priority===t.priority?e.pushCount({data:e,priority:t})):{data:e,priority:t}}var a=$(e,t),{push:i,pushAsync:r}=a;return a._tasks=new ht,a._createTaskItem=({data:e,priority:t},n)=>({data:e,priority:t,callback:n}),a.push=function(e,t=0,a){return i(n(e,t),a)},a.pushAsync=function(e,t=0,a){return r(n(e,t),a)},delete a.unshift,delete a.unshiftAsync,a}function ie(e,t,n,a){var i=[...e].reverse();return qe(i,t,n,a)}function re(e){var t=c(e);return n(function(e,n){return e.push((e,...t)=>{let a={};if(e&&(a.error=e),0=t.length&&([i]=t),a.value=i}n(null,a)}),t.apply(this,e)})}function se(e){var t;return Array.isArray(e)?t=e.map(re):(t={},Object.keys(e).forEach(n=>{t[n]=re.call(this,e[n])})),t}function le(e,t,n,a){const i=c(n);return U(e,t,(e,t)=>{i(e,(e,n)=>{t(e,!n)})},a)}function ue(e){return function(){return e}}function de(e,t,n){function a(){r((e,...t)=>{!1===e||(e&&s++arguments.length&&"function"==typeof e?(n=t||b(),t=e):(pe(i,e),n=n||b()),"function"!=typeof t)throw new Error("Invalid arguments for async.retry");var r=c(t),s=1;return a(),n[Ce]}function pe(e,n){if("object"==typeof n)e.times=+n.times||kt,e.intervalFunc="function"==typeof n.interval?n.interval:ue(+n.interval||vt),e.errorFilter=n.errorFilter;else if("number"==typeof n||"string"==typeof n)e.times=+n||kt;else throw new Error("Invalid arguments for async.retry")}function ce(e,t){t||(t=e,e=null);let a=e&&e.arity||t.length;u(t)&&(a+=1);var i=c(t);return n((t,n)=>{function r(e){i(...t,e)}return(t.length{var s,l=!1;n.push((...e)=>{l||(r(...e),clearTimeout(s))}),s=setTimeout(function(){var t=e.name||"anonymous",n=new Error("Callback function \""+t+"\" timed out.");n.code="ETIMEDOUT",a&&(n.info=a),l=!0,r(n)},t),i(...n)})}function fe(e){for(var t=Array(e);e--;)t[e]=e;return t}function ye(e,t,n,a){var i=c(n);return De(fe(e),t,i,a)}function me(e,t,n){return ye(e,1/0,t,n)}function ge(e,t,n){return ye(e,1,t,n)}function ke(e,t,n,a){3>=arguments.length&&"function"==typeof t&&(a=n,n=t,t=Array.isArray(e)?[]:{}),a=m(a||b());var i=c(n);return Me(e,(e,n,a)=>{i(t,e,n,a)},e=>a(e,t)),a[Ce]}function ve(e){return(...t)=>(e.unmemoized||e)(...t)}function Se(e,t,n){const a=c(e);return _t(e=>a((t,n)=>e(t,!n)),t,n)}var xe,Le="function"==typeof queueMicrotask&&queueMicrotask,Ee="function"==typeof setImmediate&&setImmediate,Oe="object"==typeof process&&"function"==typeof process.nextTick;xe=Le?queueMicrotask:Ee?setImmediate:Oe?process.nextTick:a;var _e=i(xe);const be={};var Ae=e=>(t,n,a)=>{function i(e,t){if(!u)if(c-=1,e)l=!0,a(e);else if(!1===e)l=!0,u=!0;else{if(t===be||l&&0>=c)return l=!0,a(null);o||r()}}function r(){for(o=!0;c=c&&a(null));c+=1,n(t.value,t.key,L(i))}o=!1}if(a=m(a),0>=e)throw new RangeError("concurrency limit cannot be less than 1");if(!t)return a(null);if(d(t))return E(t,e,n,a);if(p(t))return E(t[Symbol.asyncIterator](),e,n,a);var s=x(t),l=!1,u=!1,c=0,o=!1;r()},Ie=o(function(e,t,n,a){return Ae(t)(e,c(n),a)},4),Me=o(function(e,t,n){var a=y(e)?O:_;return a(e,c(t),n)},3),je=o(function(e,t,n){return f(Me,e,t,n)},3),we=h(je),Be=o(function(e,t,n){return Ie(e,1,t,n)},3),Te=o(function(e,t,n){return f(Be,e,t,n)},3),Fe=h(Te);const Ce=Symbol("promiseCallback");var Pe=/^(?:async\s+)?(?:function)?\s*\w*\s*\(\s*([^)]+)\s*\)(?:\s*{)/,Re=/^(?:async\s+)?\(?\s*([^)=]+)\s*\)?(?:\s*=>)/,ze=/,/,Ne=/(=.+)?(\s*)$/;class Ve{constructor(){this.head=this.tail=null,this.length=0}removeLink(e){return e.prev?e.prev.next=e.next:this.head=e.next,e.next?e.next.prev=e.prev:this.tail=e.prev,e.prev=e.next=null,this.length-=1,e}empty(){for(;this.head;)this.shift();return this}insertAfter(e,t){t.prev=e,t.next=e.next,e.next?e.next.prev=t:this.tail=t,e.next=t,this.length+=1}insertBefore(e,t){t.prev=e.prev,t.next=e,e.prev?e.prev.next=t:this.head=t,e.prev=t,this.length+=1}unshift(e){this.head?this.insertBefore(this.head,e):w(this,e)}push(e){this.tail?this.insertAfter(this.tail,e):w(this,e)}shift(){return this.head&&this.removeLink(this.head)}pop(){return this.tail&&this.removeLink(this.tail)}toArray(){return[...this]}*[Symbol.iterator](){for(var e=this.head;e;)yield e.data,e=e.next}remove(e){for(var t=this.head;t;){var{next:n}=t;e(t)&&this.removeLink(t),t=n}return this}}var Ye,qe=o(function(e,t,n,a){a=m(a);var r=c(n);return Be(e,(e,n,a)=>{r(t,e,(e,n)=>{t=n,a(e)})},e=>a(e,t))},4),De=o(function(e,t,n,a){return f(Ae(t),e,n,a)},4),Qe=o(function(e,t,n,a){var i=c(n);return De(e,t,(e,t)=>{i(e,(e,...n)=>e?t(e):t(e,n))},(e,t)=>{for(var n=[],r=0;re,(e,t)=>t)(Me,e,t,n)},3),He=o(function(e,t,n,a){return z(e=>e,(e,t)=>t)(Ae(t),e,n,a)},4),Je=o(function(e,t,n){return z(e=>e,(e,t)=>t)(Ae(1),e,t,n)},3),Ke=N("dir"),Xe=o(function(e,t,n){function a(e,...t){return e?n(e):void(!1===e||(r=t,l(...t,i)))}function i(e,t){return e?n(e):!1===e?void 0:t?void s(a):n(null,...r)}n=L(n);var r,s=c(e),l=c(t);return i(null,!0)},3),Ze=o(function(e,t,n){return Me(e,Y(c(t)),n)},3),$e=o(function(e,t,n,a){return Ae(t)(e,Y(c(n)),a)},4),et=o(function(e,t,n){return $e(e,1,t,n)},3),tt=o(function(e,t,n){return z(e=>!e,e=>!e)(Me,e,t,n)},3),nt=o(function(e,t,n,a){return z(e=>!e,e=>!e)(Ae(t),e,n,a)},4),at=o(function(e,t,n){return z(e=>!e,e=>!e)(Be,e,t,n)},3),it=o(function(e,t,n){return U(Me,e,t,n)},3),rt=o(function(e,t,n,a){return U(Ae(t),e,n,a)},4),st=o(function(e,t,n){return U(Be,e,t,n)},3),lt=o(function(e,t){function n(e){return e?a(e):void(!1===e||i(n))}var a=L(t),i=c(q(e));return n()},2),ut=o(function(e,t,n,a){var i=c(n);return De(e,t,(e,t)=>{i(e,(n,a)=>n?t(n):t(n,{key:a,val:e}))},(e,t)=>{for(var n={},{hasOwnProperty:r}=Object.prototype,s=0;s{r(e,t,(e,a)=>e?n(e):void(i[t]=a,n(e)))},e=>a(e,i))},4);Ye=Oe?process.nextTick:Ee?setImmediate:a;var ct=i(Ye),ot=o((e,t,n)=>{var a=y(t)?[]:{};e(t,(e,t,n)=>{c(e)((e,...i)=>{2>i.length&&([i]=i),a[t]=i,n(e)})},e=>n(e,a))},3);class ht{constructor(){this.heap=[],this.pushCount=Number.MIN_SAFE_INTEGER}get length(){return this.heap.length}empty(){return this.heap=[],this}percUp(e){for(let n;0e)(Me,e,t,n)},3),xt=o(function(e,t,n,a){return z(Boolean,e=>e)(Ae(t),e,n,a)},4),Lt=o(function(e,t,n){return z(Boolean,e=>e)(Be,e,t,n)},3),Et=o(function(e,t,n){function a(e,t){var n=e.criteria,a=t.criteria;return na?1:0}var i=c(t);return je(e,(e,t)=>{i(e,(n,a)=>n?t(n):void t(n,{value:e,criteria:a}))},(e,t)=>e?n(e):void n(null,t.sort(a).map(e=>e.value)))},3),Ot=o(function(e,t){var n,a=null;return et(e,(e,t)=>{c(e)((e,...i)=>!1===e?t(e):void(2>i.length?[n]=i:n=i,a=e,t(e?null:{})))},()=>t(a,n))}),_t=o(function(e,t,n){function a(e,...t){if(e)return n(e);l=t;!1===e||s(i)}function i(e,t){return e?n(e):!1===e?void 0:t?void r(a):n(null,...l)}n=L(n);var r=c(t),s=c(e),l=[];return s(i)},3),bt=o(function(e,t){function n(t){var n=c(e[i++]);n(...t,L(a))}function a(a,...r){return!1===a?void 0:a||i===e.length?t(a,...r):void n(r)}if(t=m(t),!Array.isArray(e))return t(new Error("First argument to waterfall must be an array of functions"));if(!e.length)return t();var i=0;n([])});e.default={apply:t,applyEach:we,applyEachSeries:Fe,asyncify:r,auto:A,autoInject:j,cargo:T,cargoQueue:F,compose:P,concat:Ue,concatLimit:Qe,concatSeries:Ge,constant:R,detect:We,detectLimit:He,detectSeries:Je,dir:Ke,doUntil:V,doWhilst:Xe,each:Ze,eachLimit:$e,eachOf:Me,eachOfLimit:Ie,eachOfSeries:Be,eachSeries:et,ensureAsync:q,every:tt,everyLimit:nt,everySeries:at,filter:it,filterLimit:rt,filterSeries:st,forever:lt,groupBy:G,groupByLimit:ut,groupBySeries:W,log:dt,map:je,mapLimit:De,mapSeries:Te,mapValues:H,mapValuesLimit:pt,mapValuesSeries:J,memoize:K,nextTick:ct,parallel:X,parallelLimit:Z,priorityQueue:ae,queue:$,race:ft,reduce:qe,reduceRight:ie,reflect:re,reflectAll:se,reject:yt,rejectLimit:mt,rejectSeries:gt,retry:de,retryable:ce,seq:C,series:oe,setImmediate:_e,some:St,someLimit:xt,someSeries:Lt,sortBy:Et,timeout:he,times:me,timesLimit:ye,timesSeries:ge,transform:ke,tryEach:Ot,unmemoize:ve,until:Se,waterfall:bt,whilst:_t,all:tt,allLimit:nt,allSeries:at,any:St,anyLimit:xt,anySeries:Lt,find:We,findLimit:He,findSeries:Je,flatMap:Ue,flatMapLimit:Qe,flatMapSeries:Ge,forEach:Ze,forEachSeries:et,forEachLimit:$e,forEachOf:Me,forEachOfSeries:Be,forEachOfLimit:Ie,inject:qe,foldl:qe,foldr:ie,select:it,selectLimit:rt,selectSeries:st,wrapSync:r,during:_t,doDuring:Xe},e.apply=t,e.applyEach=we,e.applyEachSeries=Fe,e.asyncify=r,e.auto=A,e.autoInject=j,e.cargo=T,e.cargoQueue=F,e.compose=P,e.concat=Ue,e.concatLimit=Qe,e.concatSeries=Ge,e.constant=R,e.detect=We,e.detectLimit=He,e.detectSeries=Je,e.dir=Ke,e.doUntil=V,e.doWhilst=Xe,e.each=Ze,e.eachLimit=$e,e.eachOf=Me,e.eachOfLimit=Ie,e.eachOfSeries=Be,e.eachSeries=et,e.ensureAsync=q,e.every=tt,e.everyLimit=nt,e.everySeries=at,e.filter=it,e.filterLimit=rt,e.filterSeries=st,e.forever=lt,e.groupBy=G,e.groupByLimit=ut,e.groupBySeries=W,e.log=dt,e.map=je,e.mapLimit=De,e.mapSeries=Te,e.mapValues=H,e.mapValuesLimit=pt,e.mapValuesSeries=J,e.memoize=K,e.nextTick=ct,e.parallel=X,e.parallelLimit=Z,e.priorityQueue=ae,e.queue=$,e.race=ft,e.reduce=qe,e.reduceRight=ie,e.reflect=re,e.reflectAll=se,e.reject=yt,e.rejectLimit=mt,e.rejectSeries=gt,e.retry=de,e.retryable=ce,e.seq=C,e.series=oe,e.setImmediate=_e,e.some=St,e.someLimit=xt,e.someSeries=Lt,e.sortBy=Et,e.timeout=he,e.times=me,e.timesLimit=ye,e.timesSeries=ge,e.transform=ke,e.tryEach=Ot,e.unmemoize=ve,e.until=Se,e.waterfall=bt,e.whilst=_t,e.all=tt,e.allLimit=nt,e.allSeries=at,e.any=St,e.anyLimit=xt,e.anySeries=Lt,e.find=We,e.findLimit=He,e.findSeries=Je,e.flatMap=Ue,e.flatMapLimit=Qe,e.flatMapSeries=Ge,e.forEach=Ze,e.forEachSeries=et,e.forEachLimit=$e,e.forEachOf=Me,e.forEachOfSeries=Be,e.forEachOfLimit=Ie,e.inject=qe,e.foldl=qe,e.foldr=ie,e.select=it,e.selectLimit=rt,e.selectSeries=st,e.wrapSync=r,e.during=_t,e.doDuring=Xe,Object.defineProperty(e,"__esModule",{value:!0})}); \ No newline at end of file diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/async/dist/async.mjs b/Nodejs12.16-COSUnzipFile/src/node_modules/async/dist/async.mjs index 169552ce77..d0cd59d969 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/async/dist/async.mjs +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/async/dist/async.mjs @@ -1191,10 +1191,36 @@ var FN_ARGS = /^(?:async\s+)?(?:function)?\s*\w*\s*\(\s*([^)]+)\s*\)(?:\s*{)/; var ARROW_FN_ARGS = /^(?:async\s+)?\(?\s*([^)=]+)\s*\)?(?:\s*=>)/; var FN_ARG_SPLIT = /,/; var FN_ARG = /(=.+)?(\s*)$/; -var STRIP_COMMENTS = /((\/\/.*$)|(\/\*[\s\S]*?\*\/))/mg; + +function stripComments(string) { + let stripped = ''; + let index = 0; + let endBlockComment = string.indexOf('*/'); + while (index < string.length) { + if (string[index] === '/' && string[index+1] === '/') { + // inline comment + let endIndex = string.indexOf('\n', index); + index = (endIndex === -1) ? string.length : endIndex; + } else if ((endBlockComment !== -1) && (string[index] === '/') && (string[index+1] === '*')) { + // block comment + let endIndex = string.indexOf('*/', index); + if (endIndex !== -1) { + index = endIndex + 2; + endBlockComment = string.indexOf('*/', index); + } else { + stripped += string[index]; + index++; + } + } else { + stripped += string[index]; + index++; + } + } + return stripped; +} function parseParams(func) { - const src = func.toString().replace(STRIP_COMMENTS, ''); + const src = stripComments(func.toString()); let match = src.match(FN_ARGS); if (!match) { match = src.match(ARROW_FN_ARGS); @@ -1480,12 +1506,11 @@ function queue(worker, concurrency, payload) { res(args); } - var item = { + var item = q._createTaskItem( data, - callback: rejectOnError ? - promiseCallback : + rejectOnError ? promiseCallback : (callback || promiseCallback) - }; + ); if (insertAtFront) { q._tasks.unshift(item); @@ -1567,6 +1592,12 @@ function queue(worker, concurrency, payload) { var isProcessing = false; var q = { _tasks: new DLL(), + _createTaskItem (data, callback) { + return { + data, + callback + }; + }, *[Symbol.iterator] () { yield* q._tasks[Symbol.iterator](); }, @@ -1951,7 +1982,7 @@ var reduce$1 = awaitify(reduce, 4); * app.get('/cats', function(request, response) { * var User = request.models.User; * async.seq( - * _.bind(User.get, User), // 'User.get' has signature (id, callback(err, data)) + * User.get.bind(User), // 'User.get' has signature (id, callback(err, data)) * function(user, fn) { * user.getCats(fn); // 'getCats' has signature (callback(err, data)) * } @@ -2316,7 +2347,7 @@ function _createTester(check, getResult) { * Result will be the first item in the array that passes the truth test * (iteratee) or the value `undefined` if none passed. Invoked with * (err, result). - * @returns A Promise, if no callback is passed + * @returns {Promise} a promise, if a callback is omitted * @example * * // dir1 is a directory that contains file1.txt, file2.txt @@ -2388,7 +2419,7 @@ var detect$1 = awaitify(detect, 3); * Result will be the first item in the array that passes the truth test * (iteratee) or the value `undefined` if none passed. Invoked with * (err, result). - * @returns a Promise if no callback is passed + * @returns {Promise} a promise, if a callback is omitted */ function detectLimit(coll, limit, iteratee, callback) { return _createTester(bool => bool, (res, item) => item)(eachOfLimit(limit), coll, iteratee, callback) @@ -2414,7 +2445,7 @@ var detectLimit$1 = awaitify(detectLimit, 4); * Result will be the first item in the array that passes the truth test * (iteratee) or the value `undefined` if none passed. Invoked with * (err, result). - * @returns a Promise if no callback is passed + * @returns {Promise} a promise, if a callback is omitted */ function detectSeries(coll, iteratee, callback) { return _createTester(bool => bool, (res, item) => item)(eachOfLimit(1), coll, iteratee, callback) @@ -3585,6 +3616,8 @@ function memoize(fn, hasher = v => v) { return memoized; } +/* istanbul ignore file */ + /** * Calls `callback` on a later loop around the event loop. In Node.js this just * calls `process.nextTick`. In the browser it will use `setImmediate` if @@ -3628,7 +3661,7 @@ if (hasNextTick) { var nextTick = wrap(_defer$1); -var _parallel = awaitify((eachfn, tasks, callback) => { +var parallel = awaitify((eachfn, tasks, callback) => { var results = isArrayLike(tasks) ? [] : {}; eachfn(tasks, (task, key, taskCb) => { @@ -3801,8 +3834,8 @@ var _parallel = awaitify((eachfn, tasks, callback) => { * } * */ -function parallel(tasks, callback) { - return _parallel(eachOf$1, tasks, callback); +function parallel$1(tasks, callback) { + return parallel(eachOf$1, tasks, callback); } /** @@ -3826,7 +3859,7 @@ function parallel(tasks, callback) { * @returns {Promise} a promise, if a callback is not passed */ function parallelLimit(tasks, limit, callback) { - return _parallel(eachOfLimit(limit), tasks, callback); + return parallel(eachOfLimit(limit), tasks, callback); } /** @@ -4110,54 +4143,51 @@ function smaller(x, y) { * @param {number} concurrency - An `integer` for determining how many `worker` * functions should be run in parallel. If omitted, the concurrency defaults to * `1`. If the concurrency is `0`, an error is thrown. - * @returns {module:ControlFlow.QueueObject} A priorityQueue object to manage the tasks. There are two + * @returns {module:ControlFlow.QueueObject} A priorityQueue object to manage the tasks. There are three * differences between `queue` and `priorityQueue` objects: * * `push(task, priority, [callback])` - `priority` should be a number. If an * array of `tasks` is given, all tasks will be assigned the same priority. - * * The `unshift` method was removed. + * * `pushAsync(task, priority, [callback])` - the same as `priorityQueue.push`, + * except this returns a promise that rejects if an error occurs. + * * The `unshift` and `unshiftAsync` methods were removed. */ function priorityQueue(worker, concurrency) { // Start with a normal queue var q = queue$1(worker, concurrency); - var processingScheduled = false; + + var { + push, + pushAsync + } = q; q._tasks = new Heap(); + q._createTaskItem = ({data, priority}, callback) => { + return { + data, + priority, + callback + }; + }; - // Override push to accept second parameter representing priority - q.push = function(data, priority = 0, callback = () => {}) { - if (typeof callback !== 'function') { - throw new Error('task callback must be a function'); - } - q.started = true; - if (!Array.isArray(data)) { - data = [data]; - } - if (data.length === 0 && q.idle()) { - // call drain immediately if there are no tasks - return setImmediate$1(() => q.drain()); + function createDataItems(tasks, priority) { + if (!Array.isArray(tasks)) { + return {data: tasks, priority}; } + return tasks.map(data => { return {data, priority}; }); + } - for (var i = 0, l = data.length; i < l; i++) { - var item = { - data: data[i], - priority, - callback - }; - - q._tasks.push(item); - } + // Override push to accept second parameter representing priority + q.push = function(data, priority = 0, callback) { + return push(createDataItems(data, priority), callback); + }; - if (!processingScheduled) { - processingScheduled = true; - setImmediate$1(() => { - processingScheduled = false; - q.process(); - }); - } + q.pushAsync = function(data, priority = 0, callback) { + return pushAsync(createDataItems(data, priority), callback); }; - // Remove unshift function + // Remove unshift functions delete q.unshift; + delete q.unshiftAsync; return q; } @@ -4178,7 +4208,7 @@ function priorityQueue(worker, concurrency) { * @param {Function} callback - A callback to run once any of the functions have * completed. This function gets an error or result from the first function that * completed. Invoked with (err, result). - * @returns undefined + * @returns {Promise} a promise, if a callback is omitted * @example * * async.race([ @@ -4871,7 +4901,7 @@ function retryable (opts, task) { * */ function series(tasks, callback) { - return _parallel(eachOfSeries$1, tasks, callback); + return parallel(eachOfSeries$1, tasks, callback); } /** @@ -5703,7 +5733,7 @@ function until(test, iteratee, callback) { * @param {Function} [callback] - An optional callback to run once all the * functions have completed. This will be passed the results of the last task's * callback. Invoked with (err, [results]). - * @returns undefined + * @returns {Promise} a promise, if a callback is omitted * @example * * async.waterfall([ @@ -5851,7 +5881,7 @@ var index = { mapValuesSeries, memoize, nextTick, - parallel, + parallel: parallel$1, parallelLimit, priorityQueue, queue: queue$1, @@ -5914,4 +5944,4 @@ var index = { }; export default index; -export { apply, applyEach$1 as applyEach, applyEachSeries, asyncify, auto, autoInject, cargo, cargo$1 as cargoQueue, compose, concat$1 as concat, concatLimit$1 as concatLimit, concatSeries$1 as concatSeries, constant, detect$1 as detect, detectLimit$1 as detectLimit, detectSeries$1 as detectSeries, dir, doUntil, doWhilst$1 as doWhilst, each, eachLimit$2 as eachLimit, eachOf$1 as eachOf, eachOfLimit$2 as eachOfLimit, eachOfSeries$1 as eachOfSeries, eachSeries$1 as eachSeries, ensureAsync, every$1 as every, everyLimit$1 as everyLimit, everySeries$1 as everySeries, filter$1 as filter, filterLimit$1 as filterLimit, filterSeries$1 as filterSeries, forever$1 as forever, groupBy, groupByLimit$1 as groupByLimit, groupBySeries, log, map$1 as map, mapLimit$1 as mapLimit, mapSeries$1 as mapSeries, mapValues, mapValuesLimit$1 as mapValuesLimit, mapValuesSeries, memoize, nextTick, parallel, parallelLimit, priorityQueue, queue$1 as queue, race$1 as race, reduce$1 as reduce, reduceRight, reflect, reflectAll, reject$2 as reject, rejectLimit$1 as rejectLimit, rejectSeries$1 as rejectSeries, retry, retryable, seq, series, setImmediate$1 as setImmediate, some$1 as some, someLimit$1 as someLimit, someSeries$1 as someSeries, sortBy$1 as sortBy, timeout, times, timesLimit, timesSeries, transform, tryEach$1 as tryEach, unmemoize, until, waterfall$1 as waterfall, whilst$1 as whilst, every$1 as all, everyLimit$1 as allLimit, everySeries$1 as allSeries, some$1 as any, someLimit$1 as anyLimit, someSeries$1 as anySeries, detect$1 as find, detectLimit$1 as findLimit, detectSeries$1 as findSeries, concat$1 as flatMap, concatLimit$1 as flatMapLimit, concatSeries$1 as flatMapSeries, each as forEach, eachSeries$1 as forEachSeries, eachLimit$2 as forEachLimit, eachOf$1 as forEachOf, eachOfSeries$1 as forEachOfSeries, eachOfLimit$2 as forEachOfLimit, reduce$1 as inject, reduce$1 as foldl, reduceRight as foldr, filter$1 as select, filterLimit$1 as selectLimit, filterSeries$1 as selectSeries, asyncify as wrapSync, whilst$1 as during, doWhilst$1 as doDuring }; +export { apply, applyEach$1 as applyEach, applyEachSeries, asyncify, auto, autoInject, cargo, cargo$1 as cargoQueue, compose, concat$1 as concat, concatLimit$1 as concatLimit, concatSeries$1 as concatSeries, constant, detect$1 as detect, detectLimit$1 as detectLimit, detectSeries$1 as detectSeries, dir, doUntil, doWhilst$1 as doWhilst, each, eachLimit$2 as eachLimit, eachOf$1 as eachOf, eachOfLimit$2 as eachOfLimit, eachOfSeries$1 as eachOfSeries, eachSeries$1 as eachSeries, ensureAsync, every$1 as every, everyLimit$1 as everyLimit, everySeries$1 as everySeries, filter$1 as filter, filterLimit$1 as filterLimit, filterSeries$1 as filterSeries, forever$1 as forever, groupBy, groupByLimit$1 as groupByLimit, groupBySeries, log, map$1 as map, mapLimit$1 as mapLimit, mapSeries$1 as mapSeries, mapValues, mapValuesLimit$1 as mapValuesLimit, mapValuesSeries, memoize, nextTick, parallel$1 as parallel, parallelLimit, priorityQueue, queue$1 as queue, race$1 as race, reduce$1 as reduce, reduceRight, reflect, reflectAll, reject$2 as reject, rejectLimit$1 as rejectLimit, rejectSeries$1 as rejectSeries, retry, retryable, seq, series, setImmediate$1 as setImmediate, some$1 as some, someLimit$1 as someLimit, someSeries$1 as someSeries, sortBy$1 as sortBy, timeout, times, timesLimit, timesSeries, transform, tryEach$1 as tryEach, unmemoize, until, waterfall$1 as waterfall, whilst$1 as whilst, every$1 as all, everyLimit$1 as allLimit, everySeries$1 as allSeries, some$1 as any, someLimit$1 as anyLimit, someSeries$1 as anySeries, detect$1 as find, detectLimit$1 as findLimit, detectSeries$1 as findSeries, concat$1 as flatMap, concatLimit$1 as flatMapLimit, concatSeries$1 as flatMapSeries, each as forEach, eachSeries$1 as forEachSeries, eachLimit$2 as forEachLimit, eachOf$1 as forEachOf, eachOfSeries$1 as forEachOfSeries, eachOfLimit$2 as forEachOfLimit, reduce$1 as inject, reduce$1 as foldl, reduceRight as foldr, filter$1 as select, filterLimit$1 as selectLimit, filterSeries$1 as selectSeries, asyncify as wrapSync, whilst$1 as during, doWhilst$1 as doDuring }; diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/async/doDuring.js b/Nodejs12.16-COSUnzipFile/src/node_modules/async/doDuring.js index c0def6f18b..4c98e9e1d6 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/async/doDuring.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/async/doDuring.js @@ -4,15 +4,15 @@ Object.defineProperty(exports, "__esModule", { value: true }); -var _onlyOnce = require('./internal/onlyOnce'); +var _onlyOnce = require('./internal/onlyOnce.js'); var _onlyOnce2 = _interopRequireDefault(_onlyOnce); -var _wrapAsync = require('./internal/wrapAsync'); +var _wrapAsync = require('./internal/wrapAsync.js'); var _wrapAsync2 = _interopRequireDefault(_wrapAsync); -var _awaitify = require('./internal/awaitify'); +var _awaitify = require('./internal/awaitify.js'); var _awaitify2 = _interopRequireDefault(_awaitify); diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/async/doUntil.js b/Nodejs12.16-COSUnzipFile/src/node_modules/async/doUntil.js index 644cb37235..8aa0935040 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/async/doUntil.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/async/doUntil.js @@ -5,11 +5,11 @@ Object.defineProperty(exports, "__esModule", { }); exports.default = doUntil; -var _doWhilst = require('./doWhilst'); +var _doWhilst = require('./doWhilst.js'); var _doWhilst2 = _interopRequireDefault(_doWhilst); -var _wrapAsync = require('./internal/wrapAsync'); +var _wrapAsync = require('./internal/wrapAsync.js'); var _wrapAsync2 = _interopRequireDefault(_wrapAsync); diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/async/doWhilst.js b/Nodejs12.16-COSUnzipFile/src/node_modules/async/doWhilst.js index c0def6f18b..4c98e9e1d6 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/async/doWhilst.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/async/doWhilst.js @@ -4,15 +4,15 @@ Object.defineProperty(exports, "__esModule", { value: true }); -var _onlyOnce = require('./internal/onlyOnce'); +var _onlyOnce = require('./internal/onlyOnce.js'); var _onlyOnce2 = _interopRequireDefault(_onlyOnce); -var _wrapAsync = require('./internal/wrapAsync'); +var _wrapAsync = require('./internal/wrapAsync.js'); var _wrapAsync2 = _interopRequireDefault(_wrapAsync); -var _awaitify = require('./internal/awaitify'); +var _awaitify = require('./internal/awaitify.js'); var _awaitify2 = _interopRequireDefault(_awaitify); diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/async/during.js b/Nodejs12.16-COSUnzipFile/src/node_modules/async/during.js index 4f4a39b48e..32a47762a5 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/async/during.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/async/during.js @@ -4,15 +4,15 @@ Object.defineProperty(exports, "__esModule", { value: true }); -var _onlyOnce = require('./internal/onlyOnce'); +var _onlyOnce = require('./internal/onlyOnce.js'); var _onlyOnce2 = _interopRequireDefault(_onlyOnce); -var _wrapAsync = require('./internal/wrapAsync'); +var _wrapAsync = require('./internal/wrapAsync.js'); var _wrapAsync2 = _interopRequireDefault(_wrapAsync); -var _awaitify = require('./internal/awaitify'); +var _awaitify = require('./internal/awaitify.js'); var _awaitify2 = _interopRequireDefault(_awaitify); diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/async/each.js b/Nodejs12.16-COSUnzipFile/src/node_modules/async/each.js index 711158c15b..405d495c95 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/async/each.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/async/each.js @@ -4,19 +4,19 @@ Object.defineProperty(exports, "__esModule", { value: true }); -var _eachOf = require('./eachOf'); +var _eachOf = require('./eachOf.js'); var _eachOf2 = _interopRequireDefault(_eachOf); -var _withoutIndex = require('./internal/withoutIndex'); +var _withoutIndex = require('./internal/withoutIndex.js'); var _withoutIndex2 = _interopRequireDefault(_withoutIndex); -var _wrapAsync = require('./internal/wrapAsync'); +var _wrapAsync = require('./internal/wrapAsync.js'); var _wrapAsync2 = _interopRequireDefault(_wrapAsync); -var _awaitify = require('./internal/awaitify'); +var _awaitify = require('./internal/awaitify.js'); var _awaitify2 = _interopRequireDefault(_awaitify); diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/async/eachLimit.js b/Nodejs12.16-COSUnzipFile/src/node_modules/async/eachLimit.js index 7e9f9ae4aa..5f3d009475 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/async/eachLimit.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/async/eachLimit.js @@ -4,19 +4,19 @@ Object.defineProperty(exports, "__esModule", { value: true }); -var _eachOfLimit = require('./internal/eachOfLimit'); +var _eachOfLimit = require('./internal/eachOfLimit.js'); var _eachOfLimit2 = _interopRequireDefault(_eachOfLimit); -var _withoutIndex = require('./internal/withoutIndex'); +var _withoutIndex = require('./internal/withoutIndex.js'); var _withoutIndex2 = _interopRequireDefault(_withoutIndex); -var _wrapAsync = require('./internal/wrapAsync'); +var _wrapAsync = require('./internal/wrapAsync.js'); var _wrapAsync2 = _interopRequireDefault(_wrapAsync); -var _awaitify = require('./internal/awaitify'); +var _awaitify = require('./internal/awaitify.js'); var _awaitify2 = _interopRequireDefault(_awaitify); diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/async/eachOf.js b/Nodejs12.16-COSUnzipFile/src/node_modules/async/eachOf.js index 9b95033de1..c22614f301 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/async/eachOf.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/async/eachOf.js @@ -4,31 +4,31 @@ Object.defineProperty(exports, "__esModule", { value: true }); -var _isArrayLike = require('./internal/isArrayLike'); +var _isArrayLike = require('./internal/isArrayLike.js'); var _isArrayLike2 = _interopRequireDefault(_isArrayLike); -var _breakLoop = require('./internal/breakLoop'); +var _breakLoop = require('./internal/breakLoop.js'); var _breakLoop2 = _interopRequireDefault(_breakLoop); -var _eachOfLimit = require('./eachOfLimit'); +var _eachOfLimit = require('./eachOfLimit.js'); var _eachOfLimit2 = _interopRequireDefault(_eachOfLimit); -var _once = require('./internal/once'); +var _once = require('./internal/once.js'); var _once2 = _interopRequireDefault(_once); -var _onlyOnce = require('./internal/onlyOnce'); +var _onlyOnce = require('./internal/onlyOnce.js'); var _onlyOnce2 = _interopRequireDefault(_onlyOnce); -var _wrapAsync = require('./internal/wrapAsync'); +var _wrapAsync = require('./internal/wrapAsync.js'); var _wrapAsync2 = _interopRequireDefault(_wrapAsync); -var _awaitify = require('./internal/awaitify'); +var _awaitify = require('./internal/awaitify.js'); var _awaitify2 = _interopRequireDefault(_awaitify); diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/async/eachOfLimit.js b/Nodejs12.16-COSUnzipFile/src/node_modules/async/eachOfLimit.js index 48dc3e561a..e9fc4db8b8 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/async/eachOfLimit.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/async/eachOfLimit.js @@ -4,15 +4,15 @@ Object.defineProperty(exports, "__esModule", { value: true }); -var _eachOfLimit2 = require('./internal/eachOfLimit'); +var _eachOfLimit2 = require('./internal/eachOfLimit.js'); var _eachOfLimit3 = _interopRequireDefault(_eachOfLimit2); -var _wrapAsync = require('./internal/wrapAsync'); +var _wrapAsync = require('./internal/wrapAsync.js'); var _wrapAsync2 = _interopRequireDefault(_wrapAsync); -var _awaitify = require('./internal/awaitify'); +var _awaitify = require('./internal/awaitify.js'); var _awaitify2 = _interopRequireDefault(_awaitify); diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/async/eachOfSeries.js b/Nodejs12.16-COSUnzipFile/src/node_modules/async/eachOfSeries.js index 75de61fe6b..cfb0f33c7e 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/async/eachOfSeries.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/async/eachOfSeries.js @@ -4,11 +4,11 @@ Object.defineProperty(exports, "__esModule", { value: true }); -var _eachOfLimit = require('./eachOfLimit'); +var _eachOfLimit = require('./eachOfLimit.js'); var _eachOfLimit2 = _interopRequireDefault(_eachOfLimit); -var _awaitify = require('./internal/awaitify'); +var _awaitify = require('./internal/awaitify.js'); var _awaitify2 = _interopRequireDefault(_awaitify); diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/async/eachSeries.js b/Nodejs12.16-COSUnzipFile/src/node_modules/async/eachSeries.js index ec18a77715..d674d0c3a8 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/async/eachSeries.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/async/eachSeries.js @@ -4,11 +4,11 @@ Object.defineProperty(exports, "__esModule", { value: true }); -var _eachLimit = require('./eachLimit'); +var _eachLimit = require('./eachLimit.js'); var _eachLimit2 = _interopRequireDefault(_eachLimit); -var _awaitify = require('./internal/awaitify'); +var _awaitify = require('./internal/awaitify.js'); var _awaitify2 = _interopRequireDefault(_awaitify); diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/async/ensureAsync.js b/Nodejs12.16-COSUnzipFile/src/node_modules/async/ensureAsync.js index dee0a55f1c..ad8beb52b2 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/async/ensureAsync.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/async/ensureAsync.js @@ -5,11 +5,11 @@ Object.defineProperty(exports, "__esModule", { }); exports.default = ensureAsync; -var _setImmediate = require('./internal/setImmediate'); +var _setImmediate = require('./internal/setImmediate.js'); var _setImmediate2 = _interopRequireDefault(_setImmediate); -var _wrapAsync = require('./internal/wrapAsync'); +var _wrapAsync = require('./internal/wrapAsync.js'); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/async/every.js b/Nodejs12.16-COSUnzipFile/src/node_modules/async/every.js index 27d7575614..148db6836d 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/async/every.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/async/every.js @@ -4,15 +4,15 @@ Object.defineProperty(exports, "__esModule", { value: true }); -var _createTester = require('./internal/createTester'); +var _createTester = require('./internal/createTester.js'); var _createTester2 = _interopRequireDefault(_createTester); -var _eachOf = require('./eachOf'); +var _eachOf = require('./eachOf.js'); var _eachOf2 = _interopRequireDefault(_eachOf); -var _awaitify = require('./internal/awaitify'); +var _awaitify = require('./internal/awaitify.js'); var _awaitify2 = _interopRequireDefault(_awaitify); diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/async/everyLimit.js b/Nodejs12.16-COSUnzipFile/src/node_modules/async/everyLimit.js index bb78378d66..25b2c089cf 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/async/everyLimit.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/async/everyLimit.js @@ -4,15 +4,15 @@ Object.defineProperty(exports, "__esModule", { value: true }); -var _createTester = require('./internal/createTester'); +var _createTester = require('./internal/createTester.js'); var _createTester2 = _interopRequireDefault(_createTester); -var _eachOfLimit = require('./internal/eachOfLimit'); +var _eachOfLimit = require('./internal/eachOfLimit.js'); var _eachOfLimit2 = _interopRequireDefault(_eachOfLimit); -var _awaitify = require('./internal/awaitify'); +var _awaitify = require('./internal/awaitify.js'); var _awaitify2 = _interopRequireDefault(_awaitify); diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/async/everySeries.js b/Nodejs12.16-COSUnzipFile/src/node_modules/async/everySeries.js index 76eeaf7e54..147c3dc56f 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/async/everySeries.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/async/everySeries.js @@ -4,15 +4,15 @@ Object.defineProperty(exports, "__esModule", { value: true }); -var _createTester = require('./internal/createTester'); +var _createTester = require('./internal/createTester.js'); var _createTester2 = _interopRequireDefault(_createTester); -var _eachOfSeries = require('./eachOfSeries'); +var _eachOfSeries = require('./eachOfSeries.js'); var _eachOfSeries2 = _interopRequireDefault(_eachOfSeries); -var _awaitify = require('./internal/awaitify'); +var _awaitify = require('./internal/awaitify.js'); var _awaitify2 = _interopRequireDefault(_awaitify); diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/async/filter.js b/Nodejs12.16-COSUnzipFile/src/node_modules/async/filter.js index b3aebd577e..303dc1fb92 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/async/filter.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/async/filter.js @@ -4,15 +4,15 @@ Object.defineProperty(exports, "__esModule", { value: true }); -var _filter2 = require('./internal/filter'); +var _filter2 = require('./internal/filter.js'); var _filter3 = _interopRequireDefault(_filter2); -var _eachOf = require('./eachOf'); +var _eachOf = require('./eachOf.js'); var _eachOf2 = _interopRequireDefault(_eachOf); -var _awaitify = require('./internal/awaitify'); +var _awaitify = require('./internal/awaitify.js'); var _awaitify2 = _interopRequireDefault(_awaitify); diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/async/filterLimit.js b/Nodejs12.16-COSUnzipFile/src/node_modules/async/filterLimit.js index 7fdee119b9..89e55f539a 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/async/filterLimit.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/async/filterLimit.js @@ -4,15 +4,15 @@ Object.defineProperty(exports, "__esModule", { value: true }); -var _filter2 = require('./internal/filter'); +var _filter2 = require('./internal/filter.js'); var _filter3 = _interopRequireDefault(_filter2); -var _eachOfLimit = require('./internal/eachOfLimit'); +var _eachOfLimit = require('./internal/eachOfLimit.js'); var _eachOfLimit2 = _interopRequireDefault(_eachOfLimit); -var _awaitify = require('./internal/awaitify'); +var _awaitify = require('./internal/awaitify.js'); var _awaitify2 = _interopRequireDefault(_awaitify); diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/async/filterSeries.js b/Nodejs12.16-COSUnzipFile/src/node_modules/async/filterSeries.js index ee8bde9d22..a045e52c5a 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/async/filterSeries.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/async/filterSeries.js @@ -4,15 +4,15 @@ Object.defineProperty(exports, "__esModule", { value: true }); -var _filter2 = require('./internal/filter'); +var _filter2 = require('./internal/filter.js'); var _filter3 = _interopRequireDefault(_filter2); -var _eachOfSeries = require('./eachOfSeries'); +var _eachOfSeries = require('./eachOfSeries.js'); var _eachOfSeries2 = _interopRequireDefault(_eachOfSeries); -var _awaitify = require('./internal/awaitify'); +var _awaitify = require('./internal/awaitify.js'); var _awaitify2 = _interopRequireDefault(_awaitify); diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/async/find.js b/Nodejs12.16-COSUnzipFile/src/node_modules/async/find.js index 8798cb7774..05b2e5c60f 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/async/find.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/async/find.js @@ -4,15 +4,15 @@ Object.defineProperty(exports, "__esModule", { value: true }); -var _createTester = require('./internal/createTester'); +var _createTester = require('./internal/createTester.js'); var _createTester2 = _interopRequireDefault(_createTester); -var _eachOf = require('./eachOf'); +var _eachOf = require('./eachOf.js'); var _eachOf2 = _interopRequireDefault(_eachOf); -var _awaitify = require('./internal/awaitify'); +var _awaitify = require('./internal/awaitify.js'); var _awaitify2 = _interopRequireDefault(_awaitify); @@ -43,7 +43,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de * Result will be the first item in the array that passes the truth test * (iteratee) or the value `undefined` if none passed. Invoked with * (err, result). - * @returns A Promise, if no callback is passed + * @returns {Promise} a promise, if a callback is omitted * @example * * // dir1 is a directory that contains file1.txt, file2.txt diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/async/findLimit.js b/Nodejs12.16-COSUnzipFile/src/node_modules/async/findLimit.js index 9e2d3a0ddf..db6961ec5e 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/async/findLimit.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/async/findLimit.js @@ -4,15 +4,15 @@ Object.defineProperty(exports, "__esModule", { value: true }); -var _createTester = require('./internal/createTester'); +var _createTester = require('./internal/createTester.js'); var _createTester2 = _interopRequireDefault(_createTester); -var _eachOfLimit = require('./internal/eachOfLimit'); +var _eachOfLimit = require('./internal/eachOfLimit.js'); var _eachOfLimit2 = _interopRequireDefault(_eachOfLimit); -var _awaitify = require('./internal/awaitify'); +var _awaitify = require('./internal/awaitify.js'); var _awaitify2 = _interopRequireDefault(_awaitify); @@ -39,7 +39,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de * Result will be the first item in the array that passes the truth test * (iteratee) or the value `undefined` if none passed. Invoked with * (err, result). - * @returns a Promise if no callback is passed + * @returns {Promise} a promise, if a callback is omitted */ function detectLimit(coll, limit, iteratee, callback) { return (0, _createTester2.default)(bool => bool, (res, item) => item)((0, _eachOfLimit2.default)(limit), coll, iteratee, callback); diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/async/findSeries.js b/Nodejs12.16-COSUnzipFile/src/node_modules/async/findSeries.js index cdf38b1def..b9131b4a3c 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/async/findSeries.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/async/findSeries.js @@ -4,15 +4,15 @@ Object.defineProperty(exports, "__esModule", { value: true }); -var _createTester = require('./internal/createTester'); +var _createTester = require('./internal/createTester.js'); var _createTester2 = _interopRequireDefault(_createTester); -var _eachOfLimit = require('./internal/eachOfLimit'); +var _eachOfLimit = require('./internal/eachOfLimit.js'); var _eachOfLimit2 = _interopRequireDefault(_eachOfLimit); -var _awaitify = require('./internal/awaitify'); +var _awaitify = require('./internal/awaitify.js'); var _awaitify2 = _interopRequireDefault(_awaitify); @@ -37,7 +37,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de * Result will be the first item in the array that passes the truth test * (iteratee) or the value `undefined` if none passed. Invoked with * (err, result). - * @returns a Promise if no callback is passed + * @returns {Promise} a promise, if a callback is omitted */ function detectSeries(coll, iteratee, callback) { return (0, _createTester2.default)(bool => bool, (res, item) => item)((0, _eachOfLimit2.default)(1), coll, iteratee, callback); diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/async/flatMap.js b/Nodejs12.16-COSUnzipFile/src/node_modules/async/flatMap.js index b812bec65d..8eed1ac899 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/async/flatMap.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/async/flatMap.js @@ -4,11 +4,11 @@ Object.defineProperty(exports, "__esModule", { value: true }); -var _concatLimit = require('./concatLimit'); +var _concatLimit = require('./concatLimit.js'); var _concatLimit2 = _interopRequireDefault(_concatLimit); -var _awaitify = require('./internal/awaitify'); +var _awaitify = require('./internal/awaitify.js'); var _awaitify2 = _interopRequireDefault(_awaitify); diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/async/flatMapLimit.js b/Nodejs12.16-COSUnzipFile/src/node_modules/async/flatMapLimit.js index 3ef4b5fd73..3d170f1770 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/async/flatMapLimit.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/async/flatMapLimit.js @@ -4,15 +4,15 @@ Object.defineProperty(exports, "__esModule", { value: true }); -var _wrapAsync = require('./internal/wrapAsync'); +var _wrapAsync = require('./internal/wrapAsync.js'); var _wrapAsync2 = _interopRequireDefault(_wrapAsync); -var _mapLimit = require('./mapLimit'); +var _mapLimit = require('./mapLimit.js'); var _mapLimit2 = _interopRequireDefault(_mapLimit); -var _awaitify = require('./internal/awaitify'); +var _awaitify = require('./internal/awaitify.js'); var _awaitify2 = _interopRequireDefault(_awaitify); diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/async/flatMapSeries.js b/Nodejs12.16-COSUnzipFile/src/node_modules/async/flatMapSeries.js index fbc105b994..84add3b065 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/async/flatMapSeries.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/async/flatMapSeries.js @@ -4,11 +4,11 @@ Object.defineProperty(exports, "__esModule", { value: true }); -var _concatLimit = require('./concatLimit'); +var _concatLimit = require('./concatLimit.js'); var _concatLimit2 = _interopRequireDefault(_concatLimit); -var _awaitify = require('./internal/awaitify'); +var _awaitify = require('./internal/awaitify.js'); var _awaitify2 = _interopRequireDefault(_awaitify); diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/async/foldl.js b/Nodejs12.16-COSUnzipFile/src/node_modules/async/foldl.js index 6436983834..56e2db8139 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/async/foldl.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/async/foldl.js @@ -4,19 +4,19 @@ Object.defineProperty(exports, "__esModule", { value: true }); -var _eachOfSeries = require('./eachOfSeries'); +var _eachOfSeries = require('./eachOfSeries.js'); var _eachOfSeries2 = _interopRequireDefault(_eachOfSeries); -var _once = require('./internal/once'); +var _once = require('./internal/once.js'); var _once2 = _interopRequireDefault(_once); -var _wrapAsync = require('./internal/wrapAsync'); +var _wrapAsync = require('./internal/wrapAsync.js'); var _wrapAsync2 = _interopRequireDefault(_wrapAsync); -var _awaitify = require('./internal/awaitify'); +var _awaitify = require('./internal/awaitify.js'); var _awaitify2 = _interopRequireDefault(_awaitify); diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/async/foldr.js b/Nodejs12.16-COSUnzipFile/src/node_modules/async/foldr.js index 1251f92da8..bee5391d31 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/async/foldr.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/async/foldr.js @@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", { }); exports.default = reduceRight; -var _reduce = require('./reduce'); +var _reduce = require('./reduce.js'); var _reduce2 = _interopRequireDefault(_reduce); diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/async/forEach.js b/Nodejs12.16-COSUnzipFile/src/node_modules/async/forEach.js index 711158c15b..405d495c95 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/async/forEach.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/async/forEach.js @@ -4,19 +4,19 @@ Object.defineProperty(exports, "__esModule", { value: true }); -var _eachOf = require('./eachOf'); +var _eachOf = require('./eachOf.js'); var _eachOf2 = _interopRequireDefault(_eachOf); -var _withoutIndex = require('./internal/withoutIndex'); +var _withoutIndex = require('./internal/withoutIndex.js'); var _withoutIndex2 = _interopRequireDefault(_withoutIndex); -var _wrapAsync = require('./internal/wrapAsync'); +var _wrapAsync = require('./internal/wrapAsync.js'); var _wrapAsync2 = _interopRequireDefault(_wrapAsync); -var _awaitify = require('./internal/awaitify'); +var _awaitify = require('./internal/awaitify.js'); var _awaitify2 = _interopRequireDefault(_awaitify); diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/async/forEachLimit.js b/Nodejs12.16-COSUnzipFile/src/node_modules/async/forEachLimit.js index 7e9f9ae4aa..5f3d009475 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/async/forEachLimit.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/async/forEachLimit.js @@ -4,19 +4,19 @@ Object.defineProperty(exports, "__esModule", { value: true }); -var _eachOfLimit = require('./internal/eachOfLimit'); +var _eachOfLimit = require('./internal/eachOfLimit.js'); var _eachOfLimit2 = _interopRequireDefault(_eachOfLimit); -var _withoutIndex = require('./internal/withoutIndex'); +var _withoutIndex = require('./internal/withoutIndex.js'); var _withoutIndex2 = _interopRequireDefault(_withoutIndex); -var _wrapAsync = require('./internal/wrapAsync'); +var _wrapAsync = require('./internal/wrapAsync.js'); var _wrapAsync2 = _interopRequireDefault(_wrapAsync); -var _awaitify = require('./internal/awaitify'); +var _awaitify = require('./internal/awaitify.js'); var _awaitify2 = _interopRequireDefault(_awaitify); diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/async/forEachOf.js b/Nodejs12.16-COSUnzipFile/src/node_modules/async/forEachOf.js index 9b95033de1..c22614f301 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/async/forEachOf.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/async/forEachOf.js @@ -4,31 +4,31 @@ Object.defineProperty(exports, "__esModule", { value: true }); -var _isArrayLike = require('./internal/isArrayLike'); +var _isArrayLike = require('./internal/isArrayLike.js'); var _isArrayLike2 = _interopRequireDefault(_isArrayLike); -var _breakLoop = require('./internal/breakLoop'); +var _breakLoop = require('./internal/breakLoop.js'); var _breakLoop2 = _interopRequireDefault(_breakLoop); -var _eachOfLimit = require('./eachOfLimit'); +var _eachOfLimit = require('./eachOfLimit.js'); var _eachOfLimit2 = _interopRequireDefault(_eachOfLimit); -var _once = require('./internal/once'); +var _once = require('./internal/once.js'); var _once2 = _interopRequireDefault(_once); -var _onlyOnce = require('./internal/onlyOnce'); +var _onlyOnce = require('./internal/onlyOnce.js'); var _onlyOnce2 = _interopRequireDefault(_onlyOnce); -var _wrapAsync = require('./internal/wrapAsync'); +var _wrapAsync = require('./internal/wrapAsync.js'); var _wrapAsync2 = _interopRequireDefault(_wrapAsync); -var _awaitify = require('./internal/awaitify'); +var _awaitify = require('./internal/awaitify.js'); var _awaitify2 = _interopRequireDefault(_awaitify); diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/async/forEachOfLimit.js b/Nodejs12.16-COSUnzipFile/src/node_modules/async/forEachOfLimit.js index 48dc3e561a..e9fc4db8b8 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/async/forEachOfLimit.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/async/forEachOfLimit.js @@ -4,15 +4,15 @@ Object.defineProperty(exports, "__esModule", { value: true }); -var _eachOfLimit2 = require('./internal/eachOfLimit'); +var _eachOfLimit2 = require('./internal/eachOfLimit.js'); var _eachOfLimit3 = _interopRequireDefault(_eachOfLimit2); -var _wrapAsync = require('./internal/wrapAsync'); +var _wrapAsync = require('./internal/wrapAsync.js'); var _wrapAsync2 = _interopRequireDefault(_wrapAsync); -var _awaitify = require('./internal/awaitify'); +var _awaitify = require('./internal/awaitify.js'); var _awaitify2 = _interopRequireDefault(_awaitify); diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/async/forEachOfSeries.js b/Nodejs12.16-COSUnzipFile/src/node_modules/async/forEachOfSeries.js index 75de61fe6b..cfb0f33c7e 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/async/forEachOfSeries.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/async/forEachOfSeries.js @@ -4,11 +4,11 @@ Object.defineProperty(exports, "__esModule", { value: true }); -var _eachOfLimit = require('./eachOfLimit'); +var _eachOfLimit = require('./eachOfLimit.js'); var _eachOfLimit2 = _interopRequireDefault(_eachOfLimit); -var _awaitify = require('./internal/awaitify'); +var _awaitify = require('./internal/awaitify.js'); var _awaitify2 = _interopRequireDefault(_awaitify); diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/async/forEachSeries.js b/Nodejs12.16-COSUnzipFile/src/node_modules/async/forEachSeries.js index ec18a77715..d674d0c3a8 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/async/forEachSeries.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/async/forEachSeries.js @@ -4,11 +4,11 @@ Object.defineProperty(exports, "__esModule", { value: true }); -var _eachLimit = require('./eachLimit'); +var _eachLimit = require('./eachLimit.js'); var _eachLimit2 = _interopRequireDefault(_eachLimit); -var _awaitify = require('./internal/awaitify'); +var _awaitify = require('./internal/awaitify.js'); var _awaitify2 = _interopRequireDefault(_awaitify); diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/async/forever.js b/Nodejs12.16-COSUnzipFile/src/node_modules/async/forever.js index 0d9a5c716d..2c8d5b8f29 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/async/forever.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/async/forever.js @@ -4,19 +4,19 @@ Object.defineProperty(exports, "__esModule", { value: true }); -var _onlyOnce = require('./internal/onlyOnce'); +var _onlyOnce = require('./internal/onlyOnce.js'); var _onlyOnce2 = _interopRequireDefault(_onlyOnce); -var _ensureAsync = require('./ensureAsync'); +var _ensureAsync = require('./ensureAsync.js'); var _ensureAsync2 = _interopRequireDefault(_ensureAsync); -var _wrapAsync = require('./internal/wrapAsync'); +var _wrapAsync = require('./internal/wrapAsync.js'); var _wrapAsync2 = _interopRequireDefault(_wrapAsync); -var _awaitify = require('./internal/awaitify'); +var _awaitify = require('./internal/awaitify.js'); var _awaitify2 = _interopRequireDefault(_awaitify); diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/async/groupBy.js b/Nodejs12.16-COSUnzipFile/src/node_modules/async/groupBy.js index d537e33efb..6bb52aaa6d 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/async/groupBy.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/async/groupBy.js @@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", { }); exports.default = groupBy; -var _groupByLimit = require('./groupByLimit'); +var _groupByLimit = require('./groupByLimit.js'); var _groupByLimit2 = _interopRequireDefault(_groupByLimit); diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/async/groupByLimit.js b/Nodejs12.16-COSUnzipFile/src/node_modules/async/groupByLimit.js index f7da249a8f..5766d6e0b6 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/async/groupByLimit.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/async/groupByLimit.js @@ -4,15 +4,15 @@ Object.defineProperty(exports, "__esModule", { value: true }); -var _mapLimit = require('./mapLimit'); +var _mapLimit = require('./mapLimit.js'); var _mapLimit2 = _interopRequireDefault(_mapLimit); -var _wrapAsync = require('./internal/wrapAsync'); +var _wrapAsync = require('./internal/wrapAsync.js'); var _wrapAsync2 = _interopRequireDefault(_wrapAsync); -var _awaitify = require('./internal/awaitify'); +var _awaitify = require('./internal/awaitify.js'); var _awaitify2 = _interopRequireDefault(_awaitify); diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/async/groupBySeries.js b/Nodejs12.16-COSUnzipFile/src/node_modules/async/groupBySeries.js index 71fc679958..6056743531 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/async/groupBySeries.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/async/groupBySeries.js @@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", { }); exports.default = groupBySeries; -var _groupByLimit = require('./groupByLimit'); +var _groupByLimit = require('./groupByLimit.js'); var _groupByLimit2 = _interopRequireDefault(_groupByLimit); diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/async/inject.js b/Nodejs12.16-COSUnzipFile/src/node_modules/async/inject.js index 6436983834..56e2db8139 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/async/inject.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/async/inject.js @@ -4,19 +4,19 @@ Object.defineProperty(exports, "__esModule", { value: true }); -var _eachOfSeries = require('./eachOfSeries'); +var _eachOfSeries = require('./eachOfSeries.js'); var _eachOfSeries2 = _interopRequireDefault(_eachOfSeries); -var _once = require('./internal/once'); +var _once = require('./internal/once.js'); var _once2 = _interopRequireDefault(_once); -var _wrapAsync = require('./internal/wrapAsync'); +var _wrapAsync = require('./internal/wrapAsync.js'); var _wrapAsync2 = _interopRequireDefault(_wrapAsync); -var _awaitify = require('./internal/awaitify'); +var _awaitify = require('./internal/awaitify.js'); var _awaitify2 = _interopRequireDefault(_awaitify); diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/async/internal/applyEach.js b/Nodejs12.16-COSUnzipFile/src/node_modules/async/internal/applyEach.js index 3c3c6f6696..a3f4ef1d8c 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/async/internal/applyEach.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/async/internal/applyEach.js @@ -16,11 +16,11 @@ exports.default = function (eachfn) { }; }; -var _wrapAsync = require('./wrapAsync'); +var _wrapAsync = require('./wrapAsync.js'); var _wrapAsync2 = _interopRequireDefault(_wrapAsync); -var _awaitify = require('./awaitify'); +var _awaitify = require('./awaitify.js'); var _awaitify2 = _interopRequireDefault(_awaitify); diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/async/internal/asyncEachOfLimit.js b/Nodejs12.16-COSUnzipFile/src/node_modules/async/internal/asyncEachOfLimit.js index df228c73bd..bba74c7c9b 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/async/internal/asyncEachOfLimit.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/async/internal/asyncEachOfLimit.js @@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", { }); exports.default = asyncEachOfLimit; -var _breakLoop = require('./breakLoop'); +var _breakLoop = require('./breakLoop.js'); var _breakLoop2 = _interopRequireDefault(_breakLoop); diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/async/internal/consoleFunc.js b/Nodejs12.16-COSUnzipFile/src/node_modules/async/internal/consoleFunc.js index ca028f51a5..70347a5d33 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/async/internal/consoleFunc.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/async/internal/consoleFunc.js @@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", { }); exports.default = consoleFunc; -var _wrapAsync = require('./wrapAsync'); +var _wrapAsync = require('./wrapAsync.js'); var _wrapAsync2 = _interopRequireDefault(_wrapAsync); diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/async/internal/createTester.js b/Nodejs12.16-COSUnzipFile/src/node_modules/async/internal/createTester.js index 7df3498728..7b2d734645 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/async/internal/createTester.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/async/internal/createTester.js @@ -5,11 +5,11 @@ Object.defineProperty(exports, "__esModule", { }); exports.default = _createTester; -var _breakLoop = require('./breakLoop'); +var _breakLoop = require('./breakLoop.js'); var _breakLoop2 = _interopRequireDefault(_breakLoop); -var _wrapAsync = require('./wrapAsync'); +var _wrapAsync = require('./wrapAsync.js'); var _wrapAsync2 = _interopRequireDefault(_wrapAsync); diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/async/internal/eachOfLimit.js b/Nodejs12.16-COSUnzipFile/src/node_modules/async/internal/eachOfLimit.js index 69e22a2937..fc26b20fc8 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/async/internal/eachOfLimit.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/async/internal/eachOfLimit.js @@ -4,25 +4,25 @@ Object.defineProperty(exports, "__esModule", { value: true }); -var _once = require('./once'); +var _once = require('./once.js'); var _once2 = _interopRequireDefault(_once); -var _iterator = require('./iterator'); +var _iterator = require('./iterator.js'); var _iterator2 = _interopRequireDefault(_iterator); -var _onlyOnce = require('./onlyOnce'); +var _onlyOnce = require('./onlyOnce.js'); var _onlyOnce2 = _interopRequireDefault(_onlyOnce); -var _wrapAsync = require('./wrapAsync'); +var _wrapAsync = require('./wrapAsync.js'); -var _asyncEachOfLimit = require('./asyncEachOfLimit'); +var _asyncEachOfLimit = require('./asyncEachOfLimit.js'); var _asyncEachOfLimit2 = _interopRequireDefault(_asyncEachOfLimit); -var _breakLoop = require('./breakLoop'); +var _breakLoop = require('./breakLoop.js'); var _breakLoop2 = _interopRequireDefault(_breakLoop); diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/async/internal/filter.js b/Nodejs12.16-COSUnzipFile/src/node_modules/async/internal/filter.js index df68185efd..aef2b9d288 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/async/internal/filter.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/async/internal/filter.js @@ -5,11 +5,11 @@ Object.defineProperty(exports, "__esModule", { }); exports.default = _filter; -var _isArrayLike = require('./isArrayLike'); +var _isArrayLike = require('./isArrayLike.js'); var _isArrayLike2 = _interopRequireDefault(_isArrayLike); -var _wrapAsync = require('./wrapAsync'); +var _wrapAsync = require('./wrapAsync.js'); var _wrapAsync2 = _interopRequireDefault(_wrapAsync); diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/async/internal/iterator.js b/Nodejs12.16-COSUnzipFile/src/node_modules/async/internal/iterator.js index 066e1fa24b..90b0223b07 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/async/internal/iterator.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/async/internal/iterator.js @@ -5,11 +5,11 @@ Object.defineProperty(exports, "__esModule", { }); exports.default = createIterator; -var _isArrayLike = require('./isArrayLike'); +var _isArrayLike = require('./isArrayLike.js'); var _isArrayLike2 = _interopRequireDefault(_isArrayLike); -var _getIterator = require('./getIterator'); +var _getIterator = require('./getIterator.js'); var _getIterator2 = _interopRequireDefault(_getIterator); diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/async/internal/map.js b/Nodejs12.16-COSUnzipFile/src/node_modules/async/internal/map.js index 27a6481e89..af3fd09880 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/async/internal/map.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/async/internal/map.js @@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", { }); exports.default = _asyncMap; -var _wrapAsync = require('./wrapAsync'); +var _wrapAsync = require('./wrapAsync.js'); var _wrapAsync2 = _interopRequireDefault(_wrapAsync); diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/async/internal/parallel.js b/Nodejs12.16-COSUnzipFile/src/node_modules/async/internal/parallel.js index 183c6678c1..75741bba0d 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/async/internal/parallel.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/async/internal/parallel.js @@ -4,15 +4,15 @@ Object.defineProperty(exports, "__esModule", { value: true }); -var _isArrayLike = require('./isArrayLike'); +var _isArrayLike = require('./isArrayLike.js'); var _isArrayLike2 = _interopRequireDefault(_isArrayLike); -var _wrapAsync = require('./wrapAsync'); +var _wrapAsync = require('./wrapAsync.js'); var _wrapAsync2 = _interopRequireDefault(_wrapAsync); -var _awaitify = require('./awaitify'); +var _awaitify = require('./awaitify.js'); var _awaitify2 = _interopRequireDefault(_awaitify); diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/async/internal/queue.js b/Nodejs12.16-COSUnzipFile/src/node_modules/async/internal/queue.js index 8973d98da8..cbc590d0de 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/async/internal/queue.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/async/internal/queue.js @@ -5,19 +5,19 @@ Object.defineProperty(exports, "__esModule", { }); exports.default = queue; -var _onlyOnce = require('./onlyOnce'); +var _onlyOnce = require('./onlyOnce.js'); var _onlyOnce2 = _interopRequireDefault(_onlyOnce); -var _setImmediate = require('./setImmediate'); +var _setImmediate = require('./setImmediate.js'); var _setImmediate2 = _interopRequireDefault(_setImmediate); -var _DoublyLinkedList = require('./DoublyLinkedList'); +var _DoublyLinkedList = require('./DoublyLinkedList.js'); var _DoublyLinkedList2 = _interopRequireDefault(_DoublyLinkedList); -var _wrapAsync = require('./wrapAsync'); +var _wrapAsync = require('./wrapAsync.js'); var _wrapAsync2 = _interopRequireDefault(_wrapAsync); @@ -79,10 +79,7 @@ function queue(worker, concurrency, payload) { res(args); } - var item = { - data, - callback: rejectOnError ? promiseCallback : callback || promiseCallback - }; + var item = q._createTaskItem(data, rejectOnError ? promiseCallback : callback || promiseCallback); if (insertAtFront) { q._tasks.unshift(item); @@ -163,6 +160,12 @@ function queue(worker, concurrency, payload) { var isProcessing = false; var q = { _tasks: new _DoublyLinkedList2.default(), + _createTaskItem(data, callback) { + return { + data, + callback + }; + }, *[Symbol.iterator]() { yield* q._tasks[Symbol.iterator](); }, diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/async/internal/reject.js b/Nodejs12.16-COSUnzipFile/src/node_modules/async/internal/reject.js index ba6cddacd4..7388ef495c 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/async/internal/reject.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/async/internal/reject.js @@ -5,11 +5,11 @@ Object.defineProperty(exports, "__esModule", { }); exports.default = reject; -var _filter = require('./filter'); +var _filter = require('./filter.js'); var _filter2 = _interopRequireDefault(_filter); -var _wrapAsync = require('./wrapAsync'); +var _wrapAsync = require('./wrapAsync.js'); var _wrapAsync2 = _interopRequireDefault(_wrapAsync); diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/async/internal/setImmediate.js b/Nodejs12.16-COSUnzipFile/src/node_modules/async/internal/setImmediate.js index 8ff64d2cc0..513efd13c2 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/async/internal/setImmediate.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/async/internal/setImmediate.js @@ -1,11 +1,12 @@ 'use strict'; -/* istanbul ignore file */ Object.defineProperty(exports, "__esModule", { value: true }); exports.fallback = fallback; exports.wrap = wrap; +/* istanbul ignore file */ + var hasQueueMicrotask = exports.hasQueueMicrotask = typeof queueMicrotask === 'function' && queueMicrotask; var hasSetImmediate = exports.hasSetImmediate = typeof setImmediate === 'function' && setImmediate; var hasNextTick = exports.hasNextTick = typeof process === 'object' && typeof process.nextTick === 'function'; diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/async/internal/wrapAsync.js b/Nodejs12.16-COSUnzipFile/src/node_modules/async/internal/wrapAsync.js index 5719450a8c..ad4d619868 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/async/internal/wrapAsync.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/async/internal/wrapAsync.js @@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", { }); exports.isAsyncIterable = exports.isAsyncGenerator = exports.isAsync = undefined; -var _asyncify = require('../asyncify'); +var _asyncify = require('../asyncify.js'); var _asyncify2 = _interopRequireDefault(_asyncify); diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/async/log.js b/Nodejs12.16-COSUnzipFile/src/node_modules/async/log.js index c643867bcf..8fc1ed511f 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/async/log.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/async/log.js @@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); -var _consoleFunc = require('./internal/consoleFunc'); +var _consoleFunc = require('./internal/consoleFunc.js'); var _consoleFunc2 = _interopRequireDefault(_consoleFunc); diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/async/map.js b/Nodejs12.16-COSUnzipFile/src/node_modules/async/map.js index 18572c99e2..ec4135d138 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/async/map.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/async/map.js @@ -4,15 +4,15 @@ Object.defineProperty(exports, "__esModule", { value: true }); -var _map2 = require('./internal/map'); +var _map2 = require('./internal/map.js'); var _map3 = _interopRequireDefault(_map2); -var _eachOf = require('./eachOf'); +var _eachOf = require('./eachOf.js'); var _eachOf2 = _interopRequireDefault(_eachOf); -var _awaitify = require('./internal/awaitify'); +var _awaitify = require('./internal/awaitify.js'); var _awaitify2 = _interopRequireDefault(_awaitify); diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/async/mapLimit.js b/Nodejs12.16-COSUnzipFile/src/node_modules/async/mapLimit.js index 0f390ab6c6..b5e461c374 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/async/mapLimit.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/async/mapLimit.js @@ -4,15 +4,15 @@ Object.defineProperty(exports, "__esModule", { value: true }); -var _map2 = require('./internal/map'); +var _map2 = require('./internal/map.js'); var _map3 = _interopRequireDefault(_map2); -var _eachOfLimit = require('./internal/eachOfLimit'); +var _eachOfLimit = require('./internal/eachOfLimit.js'); var _eachOfLimit2 = _interopRequireDefault(_eachOfLimit); -var _awaitify = require('./internal/awaitify'); +var _awaitify = require('./internal/awaitify.js'); var _awaitify2 = _interopRequireDefault(_awaitify); diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/async/mapSeries.js b/Nodejs12.16-COSUnzipFile/src/node_modules/async/mapSeries.js index 973033a0ef..91f36bf4f8 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/async/mapSeries.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/async/mapSeries.js @@ -4,15 +4,15 @@ Object.defineProperty(exports, "__esModule", { value: true }); -var _map2 = require('./internal/map'); +var _map2 = require('./internal/map.js'); var _map3 = _interopRequireDefault(_map2); -var _eachOfSeries = require('./eachOfSeries'); +var _eachOfSeries = require('./eachOfSeries.js'); var _eachOfSeries2 = _interopRequireDefault(_eachOfSeries); -var _awaitify = require('./internal/awaitify'); +var _awaitify = require('./internal/awaitify.js'); var _awaitify2 = _interopRequireDefault(_awaitify); diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/async/mapValues.js b/Nodejs12.16-COSUnzipFile/src/node_modules/async/mapValues.js index 1614236e2c..00da9262b5 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/async/mapValues.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/async/mapValues.js @@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", { }); exports.default = mapValues; -var _mapValuesLimit = require('./mapValuesLimit'); +var _mapValuesLimit = require('./mapValuesLimit.js'); var _mapValuesLimit2 = _interopRequireDefault(_mapValuesLimit); diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/async/mapValuesLimit.js b/Nodejs12.16-COSUnzipFile/src/node_modules/async/mapValuesLimit.js index 15cda3466f..93066ee8b5 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/async/mapValuesLimit.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/async/mapValuesLimit.js @@ -4,19 +4,19 @@ Object.defineProperty(exports, "__esModule", { value: true }); -var _eachOfLimit = require('./internal/eachOfLimit'); +var _eachOfLimit = require('./internal/eachOfLimit.js'); var _eachOfLimit2 = _interopRequireDefault(_eachOfLimit); -var _awaitify = require('./internal/awaitify'); +var _awaitify = require('./internal/awaitify.js'); var _awaitify2 = _interopRequireDefault(_awaitify); -var _once = require('./internal/once'); +var _once = require('./internal/once.js'); var _once2 = _interopRequireDefault(_once); -var _wrapAsync = require('./internal/wrapAsync'); +var _wrapAsync = require('./internal/wrapAsync.js'); var _wrapAsync2 = _interopRequireDefault(_wrapAsync); diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/async/mapValuesSeries.js b/Nodejs12.16-COSUnzipFile/src/node_modules/async/mapValuesSeries.js index f0dda6b96f..560058aab4 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/async/mapValuesSeries.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/async/mapValuesSeries.js @@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", { }); exports.default = mapValuesSeries; -var _mapValuesLimit = require('./mapValuesLimit'); +var _mapValuesLimit = require('./mapValuesLimit.js'); var _mapValuesLimit2 = _interopRequireDefault(_mapValuesLimit); diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/async/memoize.js b/Nodejs12.16-COSUnzipFile/src/node_modules/async/memoize.js index 425f93b960..6003e412a7 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/async/memoize.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/async/memoize.js @@ -5,15 +5,15 @@ Object.defineProperty(exports, "__esModule", { }); exports.default = memoize; -var _setImmediate = require('./internal/setImmediate'); +var _setImmediate = require('./internal/setImmediate.js'); var _setImmediate2 = _interopRequireDefault(_setImmediate); -var _initialParams = require('./internal/initialParams'); +var _initialParams = require('./internal/initialParams.js'); var _initialParams2 = _interopRequireDefault(_initialParams); -var _wrapAsync = require('./internal/wrapAsync'); +var _wrapAsync = require('./internal/wrapAsync.js'); var _wrapAsync2 = _interopRequireDefault(_wrapAsync); diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/async/nextTick.js b/Nodejs12.16-COSUnzipFile/src/node_modules/async/nextTick.js index a55b6921ef..e6d321bc63 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/async/nextTick.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/async/nextTick.js @@ -1,11 +1,10 @@ 'use strict'; -/* istanbul ignore file */ Object.defineProperty(exports, "__esModule", { value: true }); -var _setImmediate = require('./internal/setImmediate'); +var _setImmediate = require('./internal/setImmediate.js'); /** * Calls `callback` on a later loop around the event loop. In Node.js this just @@ -38,7 +37,8 @@ var _setImmediate = require('./internal/setImmediate'); * // a, b, and c equal 1, 2, and 3 * }, 1, 2, 3); */ -var _defer; +var _defer; /* istanbul ignore file */ + if (_setImmediate.hasNextTick) { _defer = process.nextTick; diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/async/package.json b/Nodejs12.16-COSUnzipFile/src/node_modules/async/package.json index d320ae0367..059ef184ed 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/async/package.json +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/async/package.json @@ -1,8 +1,8 @@ { "_from": "async@^3.2.0", - "_id": "async@3.2.2", + "_id": "async@3.2.4", "_inBundle": false, - "_integrity": "sha512-H0E+qZaDEfx/FY4t7iLRv1W2fFI6+pyCeTw1uN20AQPiwqwM6ojPxHxdLv4z8hi2DtnW9BOckSspLucW7pIE5g==", + "_integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==", "_location": "/async", "_phantomChildren": {}, "_requested": { @@ -19,8 +19,8 @@ "/", "/@annexwu-packages/cos-upload-utils" ], - "_resolved": "http://r.tnpm.oa.com/async/-/async-3.2.2.tgz", - "_shasum": "2eb7671034bb2194d45d30e31e24ec7e7f9670cd", + "_resolved": "http://r.tnpm.oa.com/async/-/async-3.2.4.tgz", + "_shasum": "2d22e00f8cddeb5fde5dd33522b56d1cf569a81c", "_spec": "async@^3.2.0", "_where": "/data/__qci/root-workspaces/__qci-pipeline-23420-1/scf-cos-unzip-file/src", "author": { @@ -30,51 +30,45 @@ "url": "https://github.com/caolan/async/issues" }, "bundleDependencies": false, - "dependencies": {}, "deprecated": false, "description": "Higher-order functions and common patterns for asynchronous code", "devDependencies": { + "@babel/eslint-parser": "^7.16.5", "babel-core": "^6.26.3", - "babel-eslint": "^8.2.6", "babel-minify": "^0.5.0", - "babel-plugin-add-module-exports": "^0.2.1", - "babel-plugin-istanbul": "^5.1.4", + "babel-plugin-add-module-exports": "^1.0.4", + "babel-plugin-istanbul": "^6.1.1", "babel-plugin-syntax-async-generators": "^6.13.0", "babel-plugin-transform-es2015-modules-commonjs": "^6.26.2", "babel-preset-es2015": "^6.3.13", "babel-preset-es2017": "^6.22.0", "babel-register": "^6.26.0", - "babelify": "^8.0.0", + "babelify": "^10.0.0", "benchmark": "^2.1.1", "bluebird": "^3.4.6", - "browserify": "^16.2.3", + "browserify": "^17.0.0", "chai": "^4.2.0", "cheerio": "^0.22.0", - "coveralls": "^3.0.4", - "es6-promise": "^2.3.0", - "eslint": "^6.0.1", - "eslint-plugin-prefer-arrow": "^1.1.5", - "fs-extra": "^0.26.7", + "es6-promise": "^4.2.8", + "eslint": "^8.6.0", + "eslint-plugin-prefer-arrow": "^1.2.3", + "fs-extra": "^10.0.0", "jsdoc": "^3.6.2", - "karma": "^4.1.0", - "karma-browserify": "^5.3.0", - "karma-edge-launcher": "^0.4.2", - "karma-firefox-launcher": "^1.1.0", - "karma-junit-reporter": "^1.2.0", - "karma-mocha": "^1.2.0", + "karma": "^6.3.12", + "karma-browserify": "^8.1.0", + "karma-firefox-launcher": "^2.1.2", + "karma-mocha": "^2.0.1", "karma-mocha-reporter": "^2.2.0", "karma-safari-launcher": "^1.0.0", "mocha": "^6.1.4", - "mocha-junit-reporter": "^1.18.0", "native-promise-only": "^0.8.0-a", - "nyc": "^14.1.1", - "rimraf": "^2.5.0", - "rollup": "^0.63.4", - "rollup-plugin-node-resolve": "^2.0.0", + "nyc": "^15.1.0", + "rollup": "^2.66.1", + "rollup-plugin-node-resolve": "^5.2.0", "rollup-plugin-npm": "^2.0.0", - "rsvp": "^3.0.18", - "semver": "^5.5.0", - "yargs": "^11.0.0" + "rsvp": "^4.8.5", + "semver": "^7.3.5", + "yargs": "^17.3.1" }, "homepage": "https://caolan.github.io/async/", "keywords": [ @@ -98,13 +92,12 @@ }, "scripts": { "coverage": "nyc npm run mocha-node-test -- --grep @nycinvalid --invert", - "coveralls": "npm run coverage && nyc report --reporter=text-lcov | coveralls", "jsdoc": "jsdoc -c ./support/jsdoc/jsdoc.json && node support/jsdoc/jsdoc-fix-html.js", - "lint": "eslint --fix lib/ test/ perf/memory.js perf/suites.js perf/benchmark.js support/build/ support/*.js karma.conf.js", + "lint": "eslint --fix .", "mocha-browser-test": "karma start", "mocha-node-test": "mocha", "mocha-test": "npm run mocha-node-test && npm run mocha-browser-test", "test": "npm run lint && npm run mocha-node-test" }, - "version": "3.2.2" + "version": "3.2.4" } diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/async/parallel.js b/Nodejs12.16-COSUnzipFile/src/node_modules/async/parallel.js index 55bf963986..76bc62433b 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/async/parallel.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/async/parallel.js @@ -5,11 +5,11 @@ Object.defineProperty(exports, "__esModule", { }); exports.default = parallel; -var _eachOf = require('./eachOf'); +var _eachOf = require('./eachOf.js'); var _eachOf2 = _interopRequireDefault(_eachOf); -var _parallel2 = require('./internal/parallel'); +var _parallel2 = require('./internal/parallel.js'); var _parallel3 = _interopRequireDefault(_parallel2); diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/async/parallelLimit.js b/Nodejs12.16-COSUnzipFile/src/node_modules/async/parallelLimit.js index f01a6188eb..dbe0bb8cc8 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/async/parallelLimit.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/async/parallelLimit.js @@ -5,11 +5,11 @@ Object.defineProperty(exports, "__esModule", { }); exports.default = parallelLimit; -var _eachOfLimit = require('./internal/eachOfLimit'); +var _eachOfLimit = require('./internal/eachOfLimit.js'); var _eachOfLimit2 = _interopRequireDefault(_eachOfLimit); -var _parallel = require('./internal/parallel'); +var _parallel = require('./internal/parallel.js'); var _parallel2 = _interopRequireDefault(_parallel); diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/async/priorityQueue.js b/Nodejs12.16-COSUnzipFile/src/node_modules/async/priorityQueue.js index 6bc0c9df01..6006f669d6 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/async/priorityQueue.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/async/priorityQueue.js @@ -7,58 +7,51 @@ Object.defineProperty(exports, "__esModule", { exports.default = function (worker, concurrency) { // Start with a normal queue var q = (0, _queue2.default)(worker, concurrency); - var processingScheduled = false; + + var { + push, + pushAsync + } = q; q._tasks = new _Heap2.default(); + q._createTaskItem = ({ data, priority }, callback) => { + return { + data, + priority, + callback + }; + }; - // Override push to accept second parameter representing priority - q.push = function (data, priority = 0, callback = () => {}) { - if (typeof callback !== 'function') { - throw new Error('task callback must be a function'); + function createDataItems(tasks, priority) { + if (!Array.isArray(tasks)) { + return { data: tasks, priority }; } - q.started = true; - if (!Array.isArray(data)) { - data = [data]; - } - if (data.length === 0 && q.idle()) { - // call drain immediately if there are no tasks - return (0, _setImmediate2.default)(() => q.drain()); - } - - for (var i = 0, l = data.length; i < l; i++) { - var item = { - data: data[i], - priority, - callback - }; + return tasks.map(data => { + return { data, priority }; + }); + } - q._tasks.push(item); - } + // Override push to accept second parameter representing priority + q.push = function (data, priority = 0, callback) { + return push(createDataItems(data, priority), callback); + }; - if (!processingScheduled) { - processingScheduled = true; - (0, _setImmediate2.default)(() => { - processingScheduled = false; - q.process(); - }); - } + q.pushAsync = function (data, priority = 0, callback) { + return pushAsync(createDataItems(data, priority), callback); }; - // Remove unshift function + // Remove unshift functions delete q.unshift; + delete q.unshiftAsync; return q; }; -var _setImmediate = require('./setImmediate'); - -var _setImmediate2 = _interopRequireDefault(_setImmediate); - -var _queue = require('./queue'); +var _queue = require('./queue.js'); var _queue2 = _interopRequireDefault(_queue); -var _Heap = require('./internal/Heap'); +var _Heap = require('./internal/Heap.js'); var _Heap2 = _interopRequireDefault(_Heap); @@ -83,9 +76,11 @@ module.exports = exports['default']; * @param {number} concurrency - An `integer` for determining how many `worker` * functions should be run in parallel. If omitted, the concurrency defaults to * `1`. If the concurrency is `0`, an error is thrown. - * @returns {module:ControlFlow.QueueObject} A priorityQueue object to manage the tasks. There are two + * @returns {module:ControlFlow.QueueObject} A priorityQueue object to manage the tasks. There are three * differences between `queue` and `priorityQueue` objects: * * `push(task, priority, [callback])` - `priority` should be a number. If an * array of `tasks` is given, all tasks will be assigned the same priority. - * * The `unshift` method was removed. + * * `pushAsync(task, priority, [callback])` - the same as `priorityQueue.push`, + * except this returns a promise that rejects if an error occurs. + * * The `unshift` and `unshiftAsync` methods were removed. */ \ No newline at end of file diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/async/queue.js b/Nodejs12.16-COSUnzipFile/src/node_modules/async/queue.js index f193aa8c44..c69becb8ca 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/async/queue.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/async/queue.js @@ -11,11 +11,11 @@ exports.default = function (worker, concurrency) { }, concurrency, 1); }; -var _queue = require('./internal/queue'); +var _queue = require('./internal/queue.js'); var _queue2 = _interopRequireDefault(_queue); -var _wrapAsync = require('./internal/wrapAsync'); +var _wrapAsync = require('./internal/wrapAsync.js'); var _wrapAsync2 = _interopRequireDefault(_wrapAsync); diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/async/race.js b/Nodejs12.16-COSUnzipFile/src/node_modules/async/race.js index 3003064cb2..9595d88492 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/async/race.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/async/race.js @@ -4,15 +4,15 @@ Object.defineProperty(exports, "__esModule", { value: true }); -var _once = require('./internal/once'); +var _once = require('./internal/once.js'); var _once2 = _interopRequireDefault(_once); -var _wrapAsync = require('./internal/wrapAsync'); +var _wrapAsync = require('./internal/wrapAsync.js'); var _wrapAsync2 = _interopRequireDefault(_wrapAsync); -var _awaitify = require('./internal/awaitify'); +var _awaitify = require('./internal/awaitify.js'); var _awaitify2 = _interopRequireDefault(_awaitify); @@ -34,7 +34,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de * @param {Function} callback - A callback to run once any of the functions have * completed. This function gets an error or result from the first function that * completed. Invoked with (err, result). - * @returns undefined + * @returns {Promise} a promise, if a callback is omitted * @example * * async.race([ diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/async/reduce.js b/Nodejs12.16-COSUnzipFile/src/node_modules/async/reduce.js index 6436983834..56e2db8139 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/async/reduce.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/async/reduce.js @@ -4,19 +4,19 @@ Object.defineProperty(exports, "__esModule", { value: true }); -var _eachOfSeries = require('./eachOfSeries'); +var _eachOfSeries = require('./eachOfSeries.js'); var _eachOfSeries2 = _interopRequireDefault(_eachOfSeries); -var _once = require('./internal/once'); +var _once = require('./internal/once.js'); var _once2 = _interopRequireDefault(_once); -var _wrapAsync = require('./internal/wrapAsync'); +var _wrapAsync = require('./internal/wrapAsync.js'); var _wrapAsync2 = _interopRequireDefault(_wrapAsync); -var _awaitify = require('./internal/awaitify'); +var _awaitify = require('./internal/awaitify.js'); var _awaitify2 = _interopRequireDefault(_awaitify); diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/async/reduceRight.js b/Nodejs12.16-COSUnzipFile/src/node_modules/async/reduceRight.js index 1251f92da8..bee5391d31 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/async/reduceRight.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/async/reduceRight.js @@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", { }); exports.default = reduceRight; -var _reduce = require('./reduce'); +var _reduce = require('./reduce.js'); var _reduce2 = _interopRequireDefault(_reduce); diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/async/reflect.js b/Nodejs12.16-COSUnzipFile/src/node_modules/async/reflect.js index 937937c85b..297ed79717 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/async/reflect.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/async/reflect.js @@ -5,11 +5,11 @@ Object.defineProperty(exports, "__esModule", { }); exports.default = reflect; -var _initialParams = require('./internal/initialParams'); +var _initialParams = require('./internal/initialParams.js'); var _initialParams2 = _interopRequireDefault(_initialParams); -var _wrapAsync = require('./internal/wrapAsync'); +var _wrapAsync = require('./internal/wrapAsync.js'); var _wrapAsync2 = _interopRequireDefault(_wrapAsync); diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/async/reflectAll.js b/Nodejs12.16-COSUnzipFile/src/node_modules/async/reflectAll.js index 112a307c5b..a862ff050f 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/async/reflectAll.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/async/reflectAll.js @@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", { }); exports.default = reflectAll; -var _reflect = require('./reflect'); +var _reflect = require('./reflect.js'); var _reflect2 = _interopRequireDefault(_reflect); diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/async/reject.js b/Nodejs12.16-COSUnzipFile/src/node_modules/async/reject.js index 507740bdfc..cabd96ea08 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/async/reject.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/async/reject.js @@ -4,15 +4,15 @@ Object.defineProperty(exports, "__esModule", { value: true }); -var _reject2 = require('./internal/reject'); +var _reject2 = require('./internal/reject.js'); var _reject3 = _interopRequireDefault(_reject2); -var _eachOf = require('./eachOf'); +var _eachOf = require('./eachOf.js'); var _eachOf2 = _interopRequireDefault(_eachOf); -var _awaitify = require('./internal/awaitify'); +var _awaitify = require('./internal/awaitify.js'); var _awaitify2 = _interopRequireDefault(_awaitify); diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/async/rejectLimit.js b/Nodejs12.16-COSUnzipFile/src/node_modules/async/rejectLimit.js index 9f0bb3fb36..1a899252e1 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/async/rejectLimit.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/async/rejectLimit.js @@ -4,15 +4,15 @@ Object.defineProperty(exports, "__esModule", { value: true }); -var _reject2 = require('./internal/reject'); +var _reject2 = require('./internal/reject.js'); var _reject3 = _interopRequireDefault(_reject2); -var _eachOfLimit = require('./internal/eachOfLimit'); +var _eachOfLimit = require('./internal/eachOfLimit.js'); var _eachOfLimit2 = _interopRequireDefault(_eachOfLimit); -var _awaitify = require('./internal/awaitify'); +var _awaitify = require('./internal/awaitify.js'); var _awaitify2 = _interopRequireDefault(_awaitify); diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/async/rejectSeries.js b/Nodejs12.16-COSUnzipFile/src/node_modules/async/rejectSeries.js index 7803a14b2b..6e1a1c5e3e 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/async/rejectSeries.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/async/rejectSeries.js @@ -4,15 +4,15 @@ Object.defineProperty(exports, "__esModule", { value: true }); -var _reject2 = require('./internal/reject'); +var _reject2 = require('./internal/reject.js'); var _reject3 = _interopRequireDefault(_reject2); -var _eachOfSeries = require('./eachOfSeries'); +var _eachOfSeries = require('./eachOfSeries.js'); var _eachOfSeries2 = _interopRequireDefault(_eachOfSeries); -var _awaitify = require('./internal/awaitify'); +var _awaitify = require('./internal/awaitify.js'); var _awaitify2 = _interopRequireDefault(_awaitify); diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/async/retry.js b/Nodejs12.16-COSUnzipFile/src/node_modules/async/retry.js index a8f67eeaa0..dba3030165 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/async/retry.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/async/retry.js @@ -5,11 +5,11 @@ Object.defineProperty(exports, "__esModule", { }); exports.default = retry; -var _wrapAsync = require('./internal/wrapAsync'); +var _wrapAsync = require('./internal/wrapAsync.js'); var _wrapAsync2 = _interopRequireDefault(_wrapAsync); -var _promiseCallback = require('./internal/promiseCallback'); +var _promiseCallback = require('./internal/promiseCallback.js'); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/async/retryable.js b/Nodejs12.16-COSUnzipFile/src/node_modules/async/retryable.js index cdfa866dd0..1b1147cd6f 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/async/retryable.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/async/retryable.js @@ -5,19 +5,19 @@ Object.defineProperty(exports, "__esModule", { }); exports.default = retryable; -var _retry = require('./retry'); +var _retry = require('./retry.js'); var _retry2 = _interopRequireDefault(_retry); -var _initialParams = require('./internal/initialParams'); +var _initialParams = require('./internal/initialParams.js'); var _initialParams2 = _interopRequireDefault(_initialParams); -var _wrapAsync = require('./internal/wrapAsync'); +var _wrapAsync = require('./internal/wrapAsync.js'); var _wrapAsync2 = _interopRequireDefault(_wrapAsync); -var _promiseCallback = require('./internal/promiseCallback'); +var _promiseCallback = require('./internal/promiseCallback.js'); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/async/select.js b/Nodejs12.16-COSUnzipFile/src/node_modules/async/select.js index b3aebd577e..303dc1fb92 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/async/select.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/async/select.js @@ -4,15 +4,15 @@ Object.defineProperty(exports, "__esModule", { value: true }); -var _filter2 = require('./internal/filter'); +var _filter2 = require('./internal/filter.js'); var _filter3 = _interopRequireDefault(_filter2); -var _eachOf = require('./eachOf'); +var _eachOf = require('./eachOf.js'); var _eachOf2 = _interopRequireDefault(_eachOf); -var _awaitify = require('./internal/awaitify'); +var _awaitify = require('./internal/awaitify.js'); var _awaitify2 = _interopRequireDefault(_awaitify); diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/async/selectLimit.js b/Nodejs12.16-COSUnzipFile/src/node_modules/async/selectLimit.js index 7fdee119b9..89e55f539a 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/async/selectLimit.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/async/selectLimit.js @@ -4,15 +4,15 @@ Object.defineProperty(exports, "__esModule", { value: true }); -var _filter2 = require('./internal/filter'); +var _filter2 = require('./internal/filter.js'); var _filter3 = _interopRequireDefault(_filter2); -var _eachOfLimit = require('./internal/eachOfLimit'); +var _eachOfLimit = require('./internal/eachOfLimit.js'); var _eachOfLimit2 = _interopRequireDefault(_eachOfLimit); -var _awaitify = require('./internal/awaitify'); +var _awaitify = require('./internal/awaitify.js'); var _awaitify2 = _interopRequireDefault(_awaitify); diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/async/selectSeries.js b/Nodejs12.16-COSUnzipFile/src/node_modules/async/selectSeries.js index ee8bde9d22..a045e52c5a 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/async/selectSeries.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/async/selectSeries.js @@ -4,15 +4,15 @@ Object.defineProperty(exports, "__esModule", { value: true }); -var _filter2 = require('./internal/filter'); +var _filter2 = require('./internal/filter.js'); var _filter3 = _interopRequireDefault(_filter2); -var _eachOfSeries = require('./eachOfSeries'); +var _eachOfSeries = require('./eachOfSeries.js'); var _eachOfSeries2 = _interopRequireDefault(_eachOfSeries); -var _awaitify = require('./internal/awaitify'); +var _awaitify = require('./internal/awaitify.js'); var _awaitify2 = _interopRequireDefault(_awaitify); diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/async/seq.js b/Nodejs12.16-COSUnzipFile/src/node_modules/async/seq.js index cd0a0b5da0..28c825f2a7 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/async/seq.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/async/seq.js @@ -5,15 +5,15 @@ Object.defineProperty(exports, "__esModule", { }); exports.default = seq; -var _reduce = require('./reduce'); +var _reduce = require('./reduce.js'); var _reduce2 = _interopRequireDefault(_reduce); -var _wrapAsync = require('./internal/wrapAsync'); +var _wrapAsync = require('./internal/wrapAsync.js'); var _wrapAsync2 = _interopRequireDefault(_wrapAsync); -var _promiseCallback = require('./internal/promiseCallback'); +var _promiseCallback = require('./internal/promiseCallback.js'); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } @@ -41,7 +41,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de * app.get('/cats', function(request, response) { * var User = request.models.User; * async.seq( - * _.bind(User.get, User), // 'User.get' has signature (id, callback(err, data)) + * User.get.bind(User), // 'User.get' has signature (id, callback(err, data)) * function(user, fn) { * user.getCats(fn); // 'getCats' has signature (callback(err, data)) * } diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/async/series.js b/Nodejs12.16-COSUnzipFile/src/node_modules/async/series.js index 27bfcf5bd9..56e78f9fb8 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/async/series.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/async/series.js @@ -5,11 +5,11 @@ Object.defineProperty(exports, "__esModule", { }); exports.default = series; -var _parallel2 = require('./internal/parallel'); +var _parallel2 = require('./internal/parallel.js'); var _parallel3 = _interopRequireDefault(_parallel2); -var _eachOfSeries = require('./eachOfSeries'); +var _eachOfSeries = require('./eachOfSeries.js'); var _eachOfSeries2 = _interopRequireDefault(_eachOfSeries); diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/async/setImmediate.js b/Nodejs12.16-COSUnzipFile/src/node_modules/async/setImmediate.js index e52f7c54bb..c712ec3b49 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/async/setImmediate.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/async/setImmediate.js @@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); -var _setImmediate = require('./internal/setImmediate'); +var _setImmediate = require('./internal/setImmediate.js'); var _setImmediate2 = _interopRequireDefault(_setImmediate); diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/async/some.js b/Nodejs12.16-COSUnzipFile/src/node_modules/async/some.js index b7a7ee2402..2046cf6402 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/async/some.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/async/some.js @@ -4,15 +4,15 @@ Object.defineProperty(exports, "__esModule", { value: true }); -var _createTester = require('./internal/createTester'); +var _createTester = require('./internal/createTester.js'); var _createTester2 = _interopRequireDefault(_createTester); -var _eachOf = require('./eachOf'); +var _eachOf = require('./eachOf.js'); var _eachOf2 = _interopRequireDefault(_eachOf); -var _awaitify = require('./internal/awaitify'); +var _awaitify = require('./internal/awaitify.js'); var _awaitify2 = _interopRequireDefault(_awaitify); diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/async/someLimit.js b/Nodejs12.16-COSUnzipFile/src/node_modules/async/someLimit.js index 22b60dbb42..c8a295a8b4 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/async/someLimit.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/async/someLimit.js @@ -4,15 +4,15 @@ Object.defineProperty(exports, "__esModule", { value: true }); -var _createTester = require('./internal/createTester'); +var _createTester = require('./internal/createTester.js'); var _createTester2 = _interopRequireDefault(_createTester); -var _eachOfLimit = require('./internal/eachOfLimit'); +var _eachOfLimit = require('./internal/eachOfLimit.js'); var _eachOfLimit2 = _interopRequireDefault(_eachOfLimit); -var _awaitify = require('./internal/awaitify'); +var _awaitify = require('./internal/awaitify.js'); var _awaitify2 = _interopRequireDefault(_awaitify); diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/async/someSeries.js b/Nodejs12.16-COSUnzipFile/src/node_modules/async/someSeries.js index 7f7f801f94..ee0654ba69 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/async/someSeries.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/async/someSeries.js @@ -4,15 +4,15 @@ Object.defineProperty(exports, "__esModule", { value: true }); -var _createTester = require('./internal/createTester'); +var _createTester = require('./internal/createTester.js'); var _createTester2 = _interopRequireDefault(_createTester); -var _eachOfSeries = require('./eachOfSeries'); +var _eachOfSeries = require('./eachOfSeries.js'); var _eachOfSeries2 = _interopRequireDefault(_eachOfSeries); -var _awaitify = require('./internal/awaitify'); +var _awaitify = require('./internal/awaitify.js'); var _awaitify2 = _interopRequireDefault(_awaitify); diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/async/sortBy.js b/Nodejs12.16-COSUnzipFile/src/node_modules/async/sortBy.js index 1ef33e2b0e..d17fb6a286 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/async/sortBy.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/async/sortBy.js @@ -4,15 +4,15 @@ Object.defineProperty(exports, "__esModule", { value: true }); -var _map = require('./map'); +var _map = require('./map.js'); var _map2 = _interopRequireDefault(_map); -var _wrapAsync = require('./internal/wrapAsync'); +var _wrapAsync = require('./internal/wrapAsync.js'); var _wrapAsync2 = _interopRequireDefault(_wrapAsync); -var _awaitify = require('./internal/awaitify'); +var _awaitify = require('./internal/awaitify.js'); var _awaitify2 = _interopRequireDefault(_awaitify); diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/async/timeout.js b/Nodejs12.16-COSUnzipFile/src/node_modules/async/timeout.js index 8bbfc3a821..dd58eb38d9 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/async/timeout.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/async/timeout.js @@ -5,11 +5,11 @@ Object.defineProperty(exports, "__esModule", { }); exports.default = timeout; -var _initialParams = require('./internal/initialParams'); +var _initialParams = require('./internal/initialParams.js'); var _initialParams2 = _interopRequireDefault(_initialParams); -var _wrapAsync = require('./internal/wrapAsync'); +var _wrapAsync = require('./internal/wrapAsync.js'); var _wrapAsync2 = _interopRequireDefault(_wrapAsync); diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/async/times.js b/Nodejs12.16-COSUnzipFile/src/node_modules/async/times.js index f294d0256b..4484c73e6b 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/async/times.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/async/times.js @@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", { }); exports.default = times; -var _timesLimit = require('./timesLimit'); +var _timesLimit = require('./timesLimit.js'); var _timesLimit2 = _interopRequireDefault(_timesLimit); diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/async/timesLimit.js b/Nodejs12.16-COSUnzipFile/src/node_modules/async/timesLimit.js index 38d776a322..9fb0ba35fc 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/async/timesLimit.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/async/timesLimit.js @@ -5,15 +5,15 @@ Object.defineProperty(exports, "__esModule", { }); exports.default = timesLimit; -var _mapLimit = require('./mapLimit'); +var _mapLimit = require('./mapLimit.js'); var _mapLimit2 = _interopRequireDefault(_mapLimit); -var _range = require('./internal/range'); +var _range = require('./internal/range.js'); var _range2 = _interopRequireDefault(_range); -var _wrapAsync = require('./internal/wrapAsync'); +var _wrapAsync = require('./internal/wrapAsync.js'); var _wrapAsync2 = _interopRequireDefault(_wrapAsync); diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/async/timesSeries.js b/Nodejs12.16-COSUnzipFile/src/node_modules/async/timesSeries.js index 267a638943..a10f0cbea7 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/async/timesSeries.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/async/timesSeries.js @@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", { }); exports.default = timesSeries; -var _timesLimit = require('./timesLimit'); +var _timesLimit = require('./timesLimit.js'); var _timesLimit2 = _interopRequireDefault(_timesLimit); diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/async/transform.js b/Nodejs12.16-COSUnzipFile/src/node_modules/async/transform.js index d9e5b61196..75b754e9fa 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/async/transform.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/async/transform.js @@ -5,19 +5,19 @@ Object.defineProperty(exports, "__esModule", { }); exports.default = transform; -var _eachOf = require('./eachOf'); +var _eachOf = require('./eachOf.js'); var _eachOf2 = _interopRequireDefault(_eachOf); -var _once = require('./internal/once'); +var _once = require('./internal/once.js'); var _once2 = _interopRequireDefault(_once); -var _wrapAsync = require('./internal/wrapAsync'); +var _wrapAsync = require('./internal/wrapAsync.js'); var _wrapAsync2 = _interopRequireDefault(_wrapAsync); -var _promiseCallback = require('./internal/promiseCallback'); +var _promiseCallback = require('./internal/promiseCallback.js'); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/async/tryEach.js b/Nodejs12.16-COSUnzipFile/src/node_modules/async/tryEach.js index 7544d64b1f..82fe8ec195 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/async/tryEach.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/async/tryEach.js @@ -4,15 +4,15 @@ Object.defineProperty(exports, "__esModule", { value: true }); -var _eachSeries = require('./eachSeries'); +var _eachSeries = require('./eachSeries.js'); var _eachSeries2 = _interopRequireDefault(_eachSeries); -var _wrapAsync = require('./internal/wrapAsync'); +var _wrapAsync = require('./internal/wrapAsync.js'); var _wrapAsync2 = _interopRequireDefault(_wrapAsync); -var _awaitify = require('./internal/awaitify'); +var _awaitify = require('./internal/awaitify.js'); var _awaitify2 = _interopRequireDefault(_awaitify); diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/async/until.js b/Nodejs12.16-COSUnzipFile/src/node_modules/async/until.js index 7e487820a5..3c71e51449 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/async/until.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/async/until.js @@ -5,11 +5,11 @@ Object.defineProperty(exports, "__esModule", { }); exports.default = until; -var _whilst = require('./whilst'); +var _whilst = require('./whilst.js'); var _whilst2 = _interopRequireDefault(_whilst); -var _wrapAsync = require('./internal/wrapAsync'); +var _wrapAsync = require('./internal/wrapAsync.js'); var _wrapAsync2 = _interopRequireDefault(_wrapAsync); diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/async/waterfall.js b/Nodejs12.16-COSUnzipFile/src/node_modules/async/waterfall.js index 9aeb915a17..fcd0dc1c8e 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/async/waterfall.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/async/waterfall.js @@ -4,19 +4,19 @@ Object.defineProperty(exports, "__esModule", { value: true }); -var _once = require('./internal/once'); +var _once = require('./internal/once.js'); var _once2 = _interopRequireDefault(_once); -var _onlyOnce = require('./internal/onlyOnce'); +var _onlyOnce = require('./internal/onlyOnce.js'); var _onlyOnce2 = _interopRequireDefault(_onlyOnce); -var _wrapAsync = require('./internal/wrapAsync'); +var _wrapAsync = require('./internal/wrapAsync.js'); var _wrapAsync2 = _interopRequireDefault(_wrapAsync); -var _awaitify = require('./internal/awaitify'); +var _awaitify = require('./internal/awaitify.js'); var _awaitify2 = _interopRequireDefault(_awaitify); @@ -40,7 +40,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de * @param {Function} [callback] - An optional callback to run once all the * functions have completed. This will be passed the results of the last task's * callback. Invoked with (err, [results]). - * @returns undefined + * @returns {Promise} a promise, if a callback is omitted * @example * * async.waterfall([ diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/async/whilst.js b/Nodejs12.16-COSUnzipFile/src/node_modules/async/whilst.js index 4f4a39b48e..32a47762a5 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/async/whilst.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/async/whilst.js @@ -4,15 +4,15 @@ Object.defineProperty(exports, "__esModule", { value: true }); -var _onlyOnce = require('./internal/onlyOnce'); +var _onlyOnce = require('./internal/onlyOnce.js'); var _onlyOnce2 = _interopRequireDefault(_onlyOnce); -var _wrapAsync = require('./internal/wrapAsync'); +var _wrapAsync = require('./internal/wrapAsync.js'); var _wrapAsync2 = _interopRequireDefault(_wrapAsync); -var _awaitify = require('./internal/awaitify'); +var _awaitify = require('./internal/awaitify.js'); var _awaitify2 = _interopRequireDefault(_awaitify); diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/async/wrapSync.js b/Nodejs12.16-COSUnzipFile/src/node_modules/async/wrapSync.js index 2362317502..3c3bf886b2 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/async/wrapSync.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/async/wrapSync.js @@ -5,15 +5,15 @@ Object.defineProperty(exports, "__esModule", { }); exports.default = asyncify; -var _initialParams = require('./internal/initialParams'); +var _initialParams = require('./internal/initialParams.js'); var _initialParams2 = _interopRequireDefault(_initialParams); -var _setImmediate = require('./internal/setImmediate'); +var _setImmediate = require('./internal/setImmediate.js'); var _setImmediate2 = _interopRequireDefault(_setImmediate); -var _wrapAsync = require('./internal/wrapAsync'); +var _wrapAsync = require('./internal/wrapAsync.js'); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/cos-nodejs-sdk-v5/CHANGELOG.md b/Nodejs12.16-COSUnzipFile/src/node_modules/cos-nodejs-sdk-v5/CHANGELOG.md index 68d6af842a..0021c55599 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/cos-nodejs-sdk-v5/CHANGELOG.md +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/cos-nodejs-sdk-v5/CHANGELOG.md @@ -7,6 +7,147 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog). +## [v2.11.15](https://github.com/tencentyun/cos-nodejs-sdk-v5/compare/v2.11.14...v2.11.15) - 2022-11-02 + +fix +- 修复d.ts + +### Commits + +- Updated CHANGELOG.md [`1141487`](https://github.com/tencentyun/cos-nodejs-sdk-v5/commit/1141487a500990a50275baa0df5e0a5dee7b1e71) +- fix: 修复d.ts [`28da58c`](https://github.com/tencentyun/cos-nodejs-sdk-v5/commit/28da58ca2a870c42d86faadf5c304140604744d0) + +## [v2.11.14](https://github.com/tencentyun/cos-nodejs-sdk-v5/compare/v2.11.13...v2.11.14) - 2022-10-22 + +fix +- getObjectUrl暂时只支持回调写法 + +### Merged + +- fix: getObjectUrl暂时只支持回调写法 [`#154`](https://github.com/tencentyun/cos-nodejs-sdk-v5/pull/154) + +### Commits + +- Updated CHANGELOG.md [`a046c1c`](https://github.com/tencentyun/cos-nodejs-sdk-v5/commit/a046c1ce92bdd38eeae1b0a9b3839bfe40302009) + +## [v2.11.13](https://github.com/tencentyun/cos-nodejs-sdk-v5/compare/v2.11.12...v2.11.13) - 2022-10-19 + +- 分块复制支持续传 +- protocol兼容不带冒号的http、https +- 合法域名校验支持cos内网、cn域名 +- d.ts补充 + +### Merged + +- feat:2.11.13 [`#153`](https://github.com/tencentyun/cos-nodejs-sdk-v5/pull/153) +- upd:完善demo和d.ts [`#149`](https://github.com/tencentyun/cos-nodejs-sdk-v5/pull/149) +- Feat/2.11.12 [`#148`](https://github.com/tencentyun/cos-nodejs-sdk-v5/pull/148) + +## [v2.11.12](https://github.com/tencentyun/cos-nodejs-sdk-v5/compare/v2.11.11...v2.11.12) - 2022-06-23 + +feat +- 提高签名时Expires参数的优先级 +- 补充d.ts + +### Commits + +- Updated CHANGELOG.md [`1ddde9d`](https://github.com/tencentyun/cos-nodejs-sdk-v5/commit/1ddde9d6d87de4556b351fb63c5e041b148cff7e) +- feat 2.11.12 [`3039ba8`](https://github.com/tencentyun/cos-nodejs-sdk-v5/commit/3039ba8c9625f3a4320ca880e2715b649888bf83) +- upd d.ts [`b8777ab`](https://github.com/tencentyun/cos-nodejs-sdk-v5/commit/b8777ab8405a7e5ae8f609e60492ca468db6e143) + +## [v2.11.11](https://github.com/tencentyun/cos-nodejs-sdk-v5/compare/v2.11.8...v2.11.11) - 2022-06-13 + +feat:初始化支持透传request tunnel参数 + +eg.new COS({ Tunnel: true }) + +### Commits + +- nodejs sdk 支持 ResponseVary 字段 [`c434815`](https://github.com/tencentyun/cos-nodejs-sdk-v5/commit/c434815689a350fd8710b140df3ef91220e27d7f) +- 创建桶支持 BucketArchConfig: 'OFS' [`d677ce6`](https://github.com/tencentyun/cos-nodejs-sdk-v5/commit/d677ce6fc454688f7fe2cb80f18a1623a8327876) +- Updated CHANGELOG.md [`35e8c7e`](https://github.com/tencentyun/cos-nodejs-sdk-v5/commit/35e8c7eee1bf81d296961680a603a5b7989da4e0) +- feat:初识化支持透传request tunnel参数 [`8e27859`](https://github.com/tencentyun/cos-nodejs-sdk-v5/commit/8e278590573a1a1ca8f1d6b1820ee6be86a944cb) + +## [v2.11.8](https://github.com/tencentyun/cos-nodejs-sdk-v5/compare/v2.11.7...v2.11.8) - 2022-05-07 + +fix:优化getObjectUrl支持全球加速参数 + +### Merged + +- Feat/get object support use accelerate [`#145`](https://github.com/tencentyun/cos-nodejs-sdk-v5/pull/145) + +### Commits + +- Updated CHANGELOG.md [`213f98b`](https://github.com/tencentyun/cos-nodejs-sdk-v5/commit/213f98b0a373e7cb63e7ed3c9d3b28c9d21b44e0) +- update version 2.11.8 [`3c55477`](https://github.com/tencentyun/cos-nodejs-sdk-v5/commit/3c554775526dfec01044c0e6369e980c38748ccc) + +## [v2.11.7](https://github.com/tencentyun/cos-nodejs-sdk-v5/compare/v2.11.6...v2.11.7) - 2022-04-25 + +feat:getObjectUrl支持全球加速参数 + +fix:请求返回错误类型兼容处理 + +### Merged + +- fix:兼容错误类型 [`#144`](https://github.com/tencentyun/cos-nodejs-sdk-v5/pull/144) +- feat:补充d.ts;支持设置host不参与签名; [`#143`](https://github.com/tencentyun/cos-nodejs-sdk-v5/pull/143) +- fix: 修复错误的将开发环境依赖添加到正式依赖中 [`#138`](https://github.com/tencentyun/cos-nodejs-sdk-v5/pull/138) +- fix: 移除多于的模块引入 [`#129`](https://github.com/tencentyun/cos-nodejs-sdk-v5/pull/129) + +### Commits + +- Updated CHANGELOG.md [`d0f283e`](https://github.com/tencentyun/cos-nodejs-sdk-v5/commit/d0f283eccbac2dc13df6eea1788f106464f7b349) +- upd d.ts [`b5b59f1`](https://github.com/tencentyun/cos-nodejs-sdk-v5/commit/b5b59f117ed239ca3274cb6f4e0177f092afc38f) + +## [v2.11.6](https://github.com/tencentyun/cos-nodejs-sdk-v5/compare/v2.11.5...v2.11.6) - 2021-12-27 + +fix:修复host签名时不兼容全球加速域名 + +### Commits + +- fix:修复host签名时不兼容全球加速域名 [`a813fc6`](https://github.com/tencentyun/cos-nodejs-sdk-v5/commit/a813fc6f12fb98ed2774ce532f7fa64c15972e36) +- fix:修复host签名时不兼容全球加速域名 [`c4a0567`](https://github.com/tencentyun/cos-nodejs-sdk-v5/commit/c4a0567faa89d0f10d89f5ada93558f52cac0798) + +## [v2.11.5](https://github.com/tencentyun/cos-nodejs-sdk-v5/compare/v2.11.4...v2.11.5) - 2021-12-24 + +### Commits + +- 增加内容审核 demo [`49892f6`](https://github.com/tencentyun/cos-nodejs-sdk-v5/commit/49892f66e597432a14bca5b55664b3a0ad9cc869) +- Updated CHANGELOG.md [`5a5f376`](https://github.com/tencentyun/cos-nodejs-sdk-v5/commit/5a5f376f82c15fb8a821afe528832ab5a0861acf) + +## [v2.11.4](https://github.com/tencentyun/cos-nodejs-sdk-v5/compare/v2.11.2...v2.11.4) - 2021-12-01 + +-getObjectUrl签名签入Query +-新增参与签名的headers白名单 + +### Merged + +- Feat/2.11.4 [`#121`](https://github.com/tencentyun/cos-nodejs-sdk-v5/pull/121) +- fix:CIHost兼容处理 [`#120`](https://github.com/tencentyun/cos-nodejs-sdk-v5/pull/120) + +### Commits + +- fix:优化obj2str实现 [`a3f7593`](https://github.com/tencentyun/cos-nodejs-sdk-v5/commit/a3f7593c056e18f8a3cb20cadc8b4ec17c9ffefa) +- upd:删掉重复代码 [`1e18606`](https://github.com/tencentyun/cos-nodejs-sdk-v5/commit/1e18606b8171693ce45dc7239ed66fa0b57b918b) +- upd:getObjectUrl的qUrlParamList encode处理 [`fac0291`](https://github.com/tencentyun/cos-nodejs-sdk-v5/commit/fac0291349a0b3ab88af474af7af097f0316a347) +- Merge https://github.com/livehigh/cos-nodejs-sdk-v5 [`5839594`](https://github.com/tencentyun/cos-nodejs-sdk-v5/commit/583959479ed5927f1afc3048cf970d979716404f) +- merge [`e53fe4a`](https://github.com/tencentyun/cos-nodejs-sdk-v5/commit/e53fe4ae1b0616a5367a2c743120e725fe318879) +- feat: 2.11.3 [`07fa7b2`](https://github.com/tencentyun/cos-nodejs-sdk-v5/commit/07fa7b282dd1eb1626057f05ee706e63bbde7834) +- upd:格式化 [`8f0a600`](https://github.com/tencentyun/cos-nodejs-sdk-v5/commit/8f0a600e586c4efb559aec64d0c05d9fe4c88692) +- upd:2.11.4 [`0fa1586`](https://github.com/tencentyun/cos-nodejs-sdk-v5/commit/0fa158601c7c6b2b248dc31a57312187670ed3f4) +- upd [`46ee17d`](https://github.com/tencentyun/cos-nodejs-sdk-v5/commit/46ee17d7d9325931e363cc932a9df3cd6cb4fe1b) +- v2.11.3 兼容 secretId/secretKey [`5a6af14`](https://github.com/tencentyun/cos-nodejs-sdk-v5/commit/5a6af14ac2b185f3057e5e923e645e04ef3e05a9) +- 更新 d.ts [`be8ad20`](https://github.com/tencentyun/cos-nodejs-sdk-v5/commit/be8ad201934d509c98b631a532f3d771d060e2c7) + +## [v2.11.2](https://github.com/tencentyun/cos-nodejs-sdk-v5/compare/v2.11.1...v2.11.2) - 2021-11-18 + +fix:CIHost兼容处理 + +### Commits + +- Updated CHANGELOG.md [`fa1259a`](https://github.com/tencentyun/cos-nodejs-sdk-v5/commit/fa1259a0fc833ccd5982c2515954726747f2bc49) +- fix:CIHost兼容处理 [`49bd436`](https://github.com/tencentyun/cos-nodejs-sdk-v5/commit/49bd436282136d679f46aac44262ffe64d775cf3) + ## [v2.11.1](https://github.com/tencentyun/cos-nodejs-sdk-v5/compare/v2.11.0...v2.11.1) - 2021-11-17 fix:requestError处理 @@ -516,11 +657,6 @@ fix: clone bug ## [v2.4.13](https://github.com/tencentyun/cos-nodejs-sdk-v5/compare/v2.4.12...v2.4.13) - 2018-11-13 -* 支持初始化传入临时密钥参数 XCosSecurityToken -* putObject 接口支持不传 ContentLength 的流式上传 -* 支持上传校验 Content-MD5,设置参数 UploadCheckContentMd5 -* 修复上传取文件大小出错后,还会第二次回调问题 - ### Commits - 修 bug,支持上传 Content-MD5,支持初始化传入 XCosSecurityToken,支持 UseRawKey [`60d34c0`](https://github.com/tencentyun/cos-nodejs-sdk-v5/commit/60d34c08bcf0fd95159d5c0e67abaa005368e5a8) @@ -573,11 +709,6 @@ fix: clone bug ## [v2.4.0](https://github.com/tencentyun/cos-nodejs-sdk-v5/compare/v2.3.9...v2.4.0) - 2018-05-03 -* 支持 UploadId 缓存到本地,减少 md5 计算过程,加速上传,默认缓存 500 个 UploadId,约占用50KB空间 -* 修复 sliceUploadFile 方法,所有分片都完成只执行 complete 时,没有反馈进度 100% 的问题 -* 修复 putObject 支持传中文字符串上传 -* 修复 putObject、sliceUploadFile 参数对象会被 SDK 污染的问题 - ### Commits - 支持 UploadId 缓存 [`15a2dde`](https://github.com/tencentyun/cos-nodejs-sdk-v5/commit/15a2dde41348083fb7cbb6557eaabfc4f00d44e1) @@ -619,11 +750,6 @@ fix: clone bug ## [v2.3.5](https://github.com/tencentyun/cos-nodejs-sdk-v5/compare/v2.3.4...v2.3.5) - 2018-03-15 -* 添加 Protocol 参数支持 -* 优化返回数据的容错处理 -* 优化 Region 错误格式判断 -* 优化参数对象污染问题 - ### Commits - 容错优化 [`f98fffe`](https://github.com/tencentyun/cos-nodejs-sdk-v5/commit/f98fffebf10c0acb6858a01eb35cd39fdaeb72a2) @@ -657,10 +783,6 @@ fix: clone bug ## [v2.3.0](https://github.com/tencentyun/cos-nodejs-sdk-v5/compare/v2.2.5...v2.3.0) - 2018-03-06 -* 支持多版本,多个接口支持 VersionId 参数 -* 支持自定义 Header 参数 -* 支持 SSE 服务端加密参数 - ### Commits - 支持多版本 [`8d12e9b`](https://github.com/tencentyun/cos-nodejs-sdk-v5/commit/8d12e9b348b8b564062cecdc5f2c450ec0e44634) @@ -682,10 +804,6 @@ fix: clone bug ## [v2.2.4](https://github.com/tencentyun/cos-nodejs-sdk-v5/compare/v2.0.8...v2.2.4) - 2018-01-12 -* 去掉 AppId 概念,Bucket 需要传入这样的格式 test -1250000000 -* 修复多个问题 -* 新增多个接口 - ### Commits - 更新 ACL 接口,支持 READ_ACP 和 WRITE_ACP [`a6fa088`](https://github.com/tencentyun/cos-nodejs-sdk-v5/commit/a6fa08884ab2917791255dd9d9539fa27c230445) @@ -711,9 +829,6 @@ fix: clone bug ## [v2.0.8](https://github.com/tencentyun/cos-nodejs-sdk-v5/compare/v2.0.0...v2.0.8) - 2017-08-13 -* getObject 支持 onProgress -* 修改发请求的代码,修复 getObject 大文件报错问题 - ### Commits - 修复 getObject 大文件报错,添加 onProgress 支持 [`e6c48f3`](https://github.com/tencentyun/cos-nodejs-sdk-v5/commit/e6c48f327b5ebc9572cb38e19d0ff259bf90165c) @@ -736,24 +851,6 @@ fix: clone bug ## [v2.0.0](https://github.com/tencentyun/cos-nodejs-sdk-v5/compare/v1.2.4...v2.0.0) - 2017-07-08 -### 新增功能 -- 新增 on、off、emit 方法,开始支持事件 -- 新增队列管理功能,可以通过 task-list-update 和 task-update 事件获取文件列表和文件更新 -- 新增任务管理功能,可以通过 cancelTask/pauseTask/restartTask 管理上传任务 -- 添加文件上传并发控制,并发数默认3 - -### 修改功能 -- 统一基础接口返回值,base.js 里的接口请求成功都会返回 statusCode 和 headers -- 修改 *ACL 和 *CORS 接口名称,改为 *Acl 和 *Cors,原方法通过 warn 提示警告 -- putObject 接口不再支持在 Body 参数参入文件路径,会返回错误 -- getObject 接口默认直接返回文件内容 -- headObject 和 headBucket 接口更改,返回值移动到 headers -- 修改多个 XML 格式接口,统一整理参数格式和返回格式 -- 修改多个 put* 和 delete* 接口,不再提供 *Success 的返回值,可换成 !err 判断 - -### 问题修复 -- 修复 porgress 的 speed 字段单位计算错误和计算误差 - ### Merged - 捕获流输入,输出的错误 [`#11`](https://github.com/tencentyun/cos-nodejs-sdk-v5/pull/11) @@ -785,9 +882,6 @@ fix: clone bug ## [v1.2.4](https://github.com/tencentyun/cos-nodejs-sdk-v5/compare/v1.2.1...v1.2.4) - 2017-06-17 -* XML API 的 bucket 有改动,所有接口支持 test-12500000 这样格式的 bucket -* **分片上传完成的接口,改成了使用服务器返回的 ETag** (线上 MultipartComplete API 参数的从 sha1 改成 md5) - ### Merged - fix: statusCode maybe 200 204 206 [`#6`](https://github.com/tencentyun/cos-nodejs-sdk-v5/pull/6) @@ -803,11 +897,6 @@ fix: clone bug ## [v1.2.1](https://github.com/tencentyun/cos-nodejs-sdk-v5/compare/v1.1.3...v1.2.1) - 2017-06-15 -* putObject 新增 onProgress 回调 -* 优化分片上传的 onProgress 回调,更细粒度地返回进度,修改回调返回的信息 -* 清除代码里的 console.log -* 添加 mocha 自测代码 - ### Commits - modify onProgress,add test,remove console.log [`92b5613`](https://github.com/tencentyun/cos-nodejs-sdk-v5/commit/92b5613789b078eb119bd1306f5d2140cc821761) @@ -817,11 +906,6 @@ fix: clone bug ## [v1.1.3](https://github.com/tencentyun/cos-nodejs-sdk-v5/compare/v1.1.0...v1.1.3) - 2017-05-31 -- 参数 Appid 改成 AppId,不再兼容传入 Appid,内部变量 appid 改成 appId -- 修复 DeleteMultipleObject 方法的错误,并把方法名改成 deleteMultipleObject -- 前缀为 Multipart 的方法改成首字母小写 multipart -- 修复 sliceUploadFile 方法返回数据为空的问题 - ### Commits - modify sdk [`f5a70f3`](https://github.com/tencentyun/cos-nodejs-sdk-v5/commit/f5a70f32cd4b2bfe7c470ae92ffe454d87dc9959) diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/cos-nodejs-sdk-v5/README.md b/Nodejs12.16-COSUnzipFile/src/node_modules/cos-nodejs-sdk-v5/README.md index 2a59a5cbef..26611bbc0e 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/cos-nodejs-sdk-v5/README.md +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/cos-nodejs-sdk-v5/README.md @@ -22,12 +22,19 @@ var cos = new COS({ SecretId: 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', SecretKey: 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx', }); + +// 存储桶名称,由bucketname-appid 组成,appid必须填入,可以在COS控制台查看存储桶名称。 https://console.cloud.tencent.com/cos5/bucket +var Bucket = 'test-1250000000'; +// 存储桶Region可以在COS控制台指定存储桶的概览页查看 https://console.cloud.tencent.com/cos5/bucket/ +// 关于地域的详情见 https://cloud.tencent.com/document/product/436/6224 +var Region = 'ap-guangzhou'; + // 分片上传 cos.sliceUploadFile({ - Bucket: 'test-1250000000', // Bucket 格式:test-1250000000 - Region: 'ap-guangzhou', + Bucket: Bucket, + Region: Region, Key: '1.zip', - FilePath: './1.zip' + FilePath: './1.zip' // 本地文件地址,需自行替换 }, function (err, data) { console.log(err, data); }); diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/cos-nodejs-sdk-v5/demo/demo.js b/Nodejs12.16-COSUnzipFile/src/node_modules/cos-nodejs-sdk-v5/demo/demo.js index 485371a8fe..1be125aa66 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/cos-nodejs-sdk-v5/demo/demo.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/cos-nodejs-sdk-v5/demo/demo.js @@ -19,7 +19,7 @@ var cos = new COS({ Proxy: '', Protocol: 'https:', FollowRedirect: false, -}); + }); var TaskId; @@ -81,6 +81,7 @@ function putBucket() { Bucket: 'testnew-' + config.Bucket.substr(config.Bucket.lastIndexOf('-') + 1), Region: 'ap-guangzhou', // BucketAZConfig: 'MAZ', + // BucketArchConfig: 'OFS', }, function (err, data) { console.log(err || data); }); @@ -171,6 +172,7 @@ function putBucketCors() { cos.putBucketCors({ Bucket: config.Bucket, Region: config.Region, + ResponseVary: "true", CORSRules: [{ "AllowedOrigin": ["*"], "AllowedMethod": ["GET", "POST", "PUT", "DELETE", "HEAD"], @@ -945,7 +947,8 @@ function getObjectAcl() { cos.getObjectAcl({ Bucket: config.Bucket, Region: config.Region, - Key: '1mb.zip' + Key: '1mb.zip', + VersionId: '1', }, function (err, data) { console.log(err || data); }); @@ -1333,20 +1336,20 @@ function moveObject() { Key: source, Body: 'hello!', }, function (err, data) { - if (err) return logger.log(err); + if (err) return console.log(err); cos.putObjectCopy({ Bucket: config.Bucket, Region: config.Region, Key: target, CopySource: copySource, }, function (err, data) { - if (err) return logger.log(err); + if (err) return console.log(err); cos.deleteObject({ Bucket: config.Bucket, Region: config.Region, Key: source, }, function (err, data) { - logger.log(err || data); + console.log(err || data); }); }); }); @@ -1389,7 +1392,7 @@ function uploadFolder() { /* 创建文件夹 */ function createFolder() { - cos.getBucket({ + cos.putObject({ Bucket: config.Bucket, Region: config.Region, Key: 'folder/', // 对象存储没有实际的文件夹,可以创建一个路径以 / 结尾的空对象表示,能在部分场景中满足文件夹使用需要 @@ -1541,7 +1544,7 @@ function appendObject_continue() { }, function(err, data) { if (err) return console.log(err); // 首先取到要追加的文件当前长度,即需要上送的Position - var position = data.headers['content-length']; + var position = data.headers && data.headers['content-length']; cos.appendObject({ Bucket: config.Bucket, // Bucket 格式:test-1250000000 Region: config.Region, @@ -1551,7 +1554,7 @@ function appendObject_continue() { }, function(err, data) { // 也可以取到下一次上传的position继续追加上传 - var nextPosition = data.headers['x-cos-next-append-position']; + var nextPosition = data.headers && data.headers['x-cos-next-append-position']; console.log(err || data); }) }); @@ -1636,7 +1639,7 @@ function CIExample3(){ Bucket: config.Bucket, Region: config.Region, Key: 'example_photo.png', - QueryString: `imageMogr2/thumbnail/200x/`, + QueryString: 'imageMogr2/thumbnail/200x/', }, function (err, data) { if(data){ @@ -1659,7 +1662,7 @@ function CIExample4(){ Bucket: config.Bucket, Region: config.Region, Key: 'photo.png', - QueryString: `imageMogr2/thumbnail/200x/`, + QueryString: 'imageMogr2/thumbnail/200x/', Expires: 1800, Sign: true, }, @@ -1673,7 +1676,7 @@ function CIExample4(){ Bucket: config.Bucket, Region: config.Region, Key: 'photo.png', - QueryString: `imageMogr2/thumbnail/200x/`, + QueryString: 'imageMogr2/thumbnail/200x/', Sign: false, }, function (err, data) { @@ -2136,7 +2139,7 @@ function CreateMediaJobs() { Bucket: config.Bucket, Object: 'test-output${Number}' } - }, + }, CallBack: 'http://your.task.callkback.address/index.php' } } @@ -2606,6 +2609,25 @@ function TriggerWorkflow() { }); } +// 同步审核存储桶里的图片对象 +function SyncAuditImageObject() { + cos.request({ + Bucket: config.Bucket, // Bucket 格式:test-1250000000 + Region: config.Region, + Key: 'audit/1.jpg', + Method: 'GET', + Query: { + 'ci-process': 'sensitive-content-recognition', + // 'detect-url': '', + // 'biz-type': '', // 审核策略 id + // 'detect-type': 'porn,ads', // 审核类型 porn,ads + // 'interval': 5, // gif截取间隔帧数 + // 'max-frames': 5, // gif最大截帧数 + } + }, function (err, data) { + console.log(err || data); + }); +} /** * 获取私有 M3U8 ts 资源的下载授权 @@ -2625,6 +2647,119 @@ function GetPrivateM3U8() { }); } +// 同步审核任意图片 Url +function SyncAuditImageUrl() { + cos.request({ + Bucket: config.Bucket, // Bucket 格式:test-1250000000 + Region: config.Region, + Method: 'GET', + Query: { + 'ci-process': 'sensitive-content-recognition', + 'detect-url': 'https://ftp.bmp.ovh/imgs/2021/09/ee4e63607465ed8d.jpg', + // 'biz-type': '', // 审核策略 id + // 'detect-type': 'porn,ads', // 审核类型 porn,ads + // 'interval': 5, // gif截取间隔帧数 + // 'max-frames': 5, // gif最大截帧数 + } + }, function (err, data) { + console.log(err || data); + }); +} + +// 批量同步审核任意图片 Url +function SyncAuditImageUrls() { + cos.request({ + Url: `https://${config.Bucket}.ci.${config.Region}.myqcloud.com/image/auditing`, + Method: 'POST', + Headers: { + 'content-type': 'application/xml' + }, + Body: json2xml({ + Request: { + Input: [{ + Object: 'audit/1.jpg', + // DataId: '1', // 审核序号 + // Url: '', + // Interval: 5, + // MaxFrames: 5, + }, { + Object: 'audit/2.jpg', + }], + Conf: { + DetectType: 'Porn,Ads', + // Callback: '', // 回调地址 + // BizType: '', // 审核策略 + }, + }, + }), + }, function (err, data) { + console.log(err || data.Response.JobsDetail); + }); +} + +// 审核文本内容 +function SyncAuditTextContent() { + cos.request({ + Url: `https://${config.Bucket}.ci.${config.Region}.myqcloud.com/text/auditing`, + Method: 'POST', + Headers: { + 'content-type': 'application/xml' + }, + Body: json2xml({ + Request: { + Input: { + Content: Buffer.from('高潮').toString('base64'), + }, + Conf: { + DetectType: 'Porn,Terrorism,Politics,Ads,Illegal,Abuse', + // Callback: '', // 回调地址 + // BizType: '', // 审核策略 + }, + }, + }), + }, function (err, data) { + console.log(err || data.Response.JobsDetail); + }); +} + +// 提交图片审核任务 +function CreateAuditJob() { + var objectKey = 'audit/1.jpg'; + var objectType = 'image'; // image/audio/video/text/document + cos.request({ + Url: `https://${config.Bucket}.ci.${config.Region}.myqcloud.com/${objectType}/auditing`, + Method: 'POST', + Headers: { + 'content-type': 'application/xml' + }, + Body: json2xml({ + Request: { + Input: { + Object: objectKey, + }, + Conf: { + DetectType: 'Porn,Ads', + // Callback: '', // 回调地址 + // BizType: '', // 审核策略 + }, + }, + }), + }, function (err, data) { + console.log(err || data.Response.JobsDetail); + }); +} + +// 查询审核任务结果 +function DescribeAuditJob() { + var jobId = 'st3bb560af647911ec919652540024deb5'; + cos.request({ + Url: `https://${config.Bucket}.ci.${config.Region}.myqcloud.com/text/auditing/${jobId}`, + Method: 'GET', + }, function (err, data) { + console.log(err || data.Response.JobsDetail); + }); +} + // 存储桶操作 // getService(); // getAuth(); @@ -2686,7 +2821,7 @@ function GetPrivateM3U8() { // getObject(); // headObject(); // putObjectAcl(); -// getObjectAcl(); +getObjectAcl(); // deleteObject(); // deleteMultipleObject(); // restoreObject(); @@ -2750,3 +2885,10 @@ function GetPrivateM3U8() { //UpdateWorkflow(); //TriggerWorkflow(); //GetPrivateM3U8(); + +// SyncAuditImageObject() +// SyncAuditImageUrl() +// SyncAuditImageUrls() +// SyncAuditTextContent() +// CreateAuditJob() +// DescribeAuditJob() diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/cos-nodejs-sdk-v5/demo/util.js b/Nodejs12.16-COSUnzipFile/src/node_modules/cos-nodejs-sdk-v5/demo/util.js index b65d1cffac..7ac78a8e1f 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/cos-nodejs-sdk-v5/demo/util.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/cos-nodejs-sdk-v5/demo/util.js @@ -2,7 +2,6 @@ var Async = require('../sdk/async'); var Batch = require('batch'); var fs = require('fs'); var os = require('os'); -var fs = require('fs'); var platform = os.platform(); var createFile = function (filepath, size, callback) { diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/cos-nodejs-sdk-v5/index.d.ts b/Nodejs12.16-COSUnzipFile/src/node_modules/cos-nodejs-sdk-v5/index.d.ts index a859cc1d26..3d1f259bed 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/cos-nodejs-sdk-v5/index.d.ts +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/cos-nodejs-sdk-v5/index.d.ts @@ -146,14 +146,16 @@ declare namespace COS { ProgressInterval?: number, /** 上传队列最长大小,超出的任务如果状态不是 waiting、checking、uploading 会被清理,默认10000 */ UploadQueueSize?: number, - /** 上传队列最长大小,超出的任务如果状态不是 waiting、checking、uploading 会被清理,默认10000 */ + /** 调用操作存储桶和对象的 API 时自定义请求域名。可以使用模板,如"{Bucket}.cos.{Region}.myqcloud.com",即在调用 API 时会使用参数中传入的 Bucket 和 Region 进行替换。 */ Domain?: string, - /** 强制使用后缀式模式发请求。后缀式模式中 Bucket 会放在域名后的 pathname 里,并且 Bucket 会加入签名 pathname 计算,默认 false */ + /** getService方法可以使用的自定义域名 */ ServiceDomain?: string, /** 强制使用后缀式模式发请求。后缀式模式中 Bucket 会放在域名后的 pathname 里,并且 Bucket 会加入签名 pathname 计算,默认 false */ Protocol?: string, /** 设置代理,格式如 http://127.0.0.1:8888 */ Proxy?: string, + /** 透传给request */ + Tunnel?: boolean, /** 开启兼容模式,默认 false 不开启,兼容模式下不校验 Region 是否格式有误,在用于私有化 COS 时使用 */ CompatibilityMode?: boolean, /** 强制使用后缀式模式发请求。后缀式模式中 Bucket 会放在域名后的 pathname 里,并且 Bucket 会加入签名 pathname 计算,默认 false */ @@ -180,6 +182,9 @@ declare namespace COS { UseAccelerate?: boolean, /** 是否开启长链接,默认开启 */ KeepAlive?: boolean, + Ip?: string, + /** 默认将host加入签名计算,关闭后可能导致越权风险,建议保持为true */ + ForceSignHost?: boolean, /** 获取签名的回调方法,如果没有 SecretId、SecretKey 时,必选 */ getAuthorization?: ( options: GetAuthorizationOptions, @@ -262,6 +267,8 @@ declare namespace COS { ExpiredTime: number, /** 该临时密钥是否仅用于相同 Scope 权限范围的请求 */ ScopeLimit?: boolean, + /** 签名 */ + Authorization?: string, } /** 用于发请求的签名字符串,会放在请求 Header 里的 Authorization 字段 */ @@ -348,6 +355,8 @@ declare namespace COS { GrantFullControl?: Grant, /** 要创建存储桶的AZ类型,创建多AZ存储桶,传入 'MAZ' */ BucketAZConfig?: 'MAZ' | string, + /** 如果创建索引多活存储桶,传入 'OFS' */ + BucketArchConfig?: 'OFS' | string, } /** putBucket 接口返回值 */ interface PutBucketResult extends GeneralResult { @@ -554,19 +563,23 @@ declare namespace COS { /** putBucketCors 接口参数 */ interface PutBucketCorsParams extends BucketParams { /** 存储桶跨域资源共享(CORS)访问控制规则 */ - CORSRules: CORSRule[] + CORSRules: CORSRule[], + /** 是否允许同一个 url 有多份缓存,如果设置为 true 浏览器在 img 标签加载和 ajax 加载同一个对象 url 将会使用不同缓存 */ + ResponseVary?: BooleanString, } /** putBucketCors 接口返回值 */ - interface PutBucketCorsResult extends GeneralResult { - /** 存储桶跨域资源共享(CORS)访问控制规则 */ - CORSRules: Record, - } + interface PutBucketCorsResult extends GeneralResult {} // getBucketCors /** getBucketCors 接口参数 */ interface GetBucketCorsParams extends BucketParams {} /** getBucketCors 接口返回值 */ - interface GetBucketCorsResult extends GeneralResult {} + interface GetBucketCorsResult extends GeneralResult { + /** 存储桶跨域资源共享(CORS)访问控制规则 */ + CORSRules: Record, + /** 是否允许同一个 url 有多份缓存,如果设置为 true 浏览器在 img 标签加载和 ajax 加载同一个对象 url 将会使用不同缓存 */ + ResponseVary?: BooleanString, + } // deleteBucketCors /** deleteBucketCors 接口参数 */ @@ -1149,7 +1162,8 @@ declare namespace COS { // getObjectStream /** getObject 接口参数 */ interface GetObjectParams extends ObjectParams { - BodyType?: 'text' | 'blob' | 'arraybuffer', + // nodejs getObject 不支持传参BodyType + // BodyType?: 'text' | 'blob' | 'arraybuffer', /** 写入流,可以传本地文件写入流 */ Output?: Stream, /** 请求里的 Url Query 参数,传入该值中的 key/value 将会被 URLEncode */ @@ -1232,6 +1246,7 @@ declare namespace COS { 'x-cos-meta-*'?: string, /** 任务开始上传的回调方法 */ onTaskReady?: (TaskId: COS.TaskId) => void, + onTaskStart?: (TaskInfo: COS.Task) => void, /** 上传的进度回调方法 */ onProgress?: onProgress, } @@ -1266,7 +1281,9 @@ declare namespace COS { Key: Key, /** 要删除的对象版本 ID */ VersionId?: string - }[] + }[], + /** 是否启动 Quiet 模式 */ + Quiet?: boolean, } /** deleteMultipleObject 接口返回值 */ interface DeleteMultipleObjectResult extends GeneralResult { @@ -1294,7 +1311,9 @@ declare namespace COS { // getObjectAcl /** getObjectAcl 接口参数 */ - interface GetObjectAclParams extends ObjectParams {} + interface GetObjectAclParams extends ObjectParams { + VersionId?: VersionId, + } /** getObjectAcl 接口返回值 */ interface GetObjectAclResult extends GeneralResult { /** 允许用户自定义存储桶权限,有效值:private | public-read | public-read-write */ @@ -1702,6 +1721,7 @@ Bulk:批量模式,恢复时间为24 - 48小时。 */ 'x-cos-meta-*'?: string, /** 任务开始上传的回调方法 */ onTaskReady?: (TaskId: COS.TaskId) => void, + onTaskStart?: (TaskInfo: COS.Task) => void, /** 上传的进度回调方法 */ onProgress?: onProgress, /** 续传校验的进度回调方法 */ @@ -1846,7 +1866,9 @@ Bulk:批量模式,恢复时间为24 - 48小时。 */ // request /** request 接口参数 */ - interface RequestParams extends BucketParams { + interface RequestParams { + Bucket?: Bucket; + Region?: Region; /** 操作方法,如 get,post,delete, head 等 HTTP 方法 */ Method: string, /** 请求的对象键,最前面不带 / */ @@ -1861,10 +1883,14 @@ Bulk:批量模式,恢复时间为24 - 48小时。 */ Url?: string, /** 返回值body是否不需要解析 */ RawBody?: boolean, + ContentType?: string, + /** 请求时带上的 Header 字段 */ + Headers?: Headers, } /** Request 接口返回值 */ interface RequestResult extends GeneralResult { Body?: Buffer, + Response?: any, } // getObjectUrl @@ -1880,6 +1906,8 @@ Bulk:批量模式,恢复时间为24 - 48小时。 */ QueryString?: string, /** 签名几秒后失效,默认为900秒 */ Expires?: number, + /** 是否使用全球加速 */ + UseAccelerate?: boolean, } /** getObjectUrl 接口返回值 */ interface GetObjectUrlResult { @@ -1887,6 +1915,18 @@ Bulk:批量模式,恢复时间为24 - 48小时。 */ Url: string } + interface DownloadFileParams { + Bucket: Bucket, + Region: Region, + Key: Key, + FilePath: string, + ChunkSize?: number, + ParallelLimit?: number, + RetryTimes?: number, + onTaskReady?: (TaskId: COS.TaskId) => void, + onProgress?: onProgress, + } + // getV4Auth interface GetV4AuthParams { /** 计算签名用的密钥 SecretId,如果不传会用实例本身的凭证,可选 */ @@ -1921,6 +1961,8 @@ Bulk:批量模式,恢复时间为24 - 48小时。 */ Query?: Query, /** 请求里的 Header 参数 */ Headers?: Headers, + /** 默认将host加入签名计算,关闭后可能导致越权风险,建议保持为true */ + ForceSignHost?: boolean, } } @@ -2275,6 +2317,10 @@ declare class COS { appendObject(params: COS.AppendObjectParams, callback: (err: COS.CosError, data: COS.GeneralResult) => void): void; appendObject(params: COS.AppendObjectParams): Promise; + /** 分块下载 @see https://cloud.tencent.com/document/product/436/64981#.E5.88.86.E5.9D.97.E4.B8.8B.E8.BD.BD.E5.AF.B9.E8.B1.A1 */ + downloadFile(params: COS.DownloadFileParams, callback: (err: COS.CosError, data: COS.GeneralResult) => void): void; + downloadFile(params: COS.DownloadFileParams): Promise; + /** 获取 COS JSON API (v4) 签名 @see https://cloud.tencent.com/document/product/436/6054 */ getV4Auth(params: COS.GetV4AuthParams): COS.Authorization; diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/cos-nodejs-sdk-v5/package.json b/Nodejs12.16-COSUnzipFile/src/node_modules/cos-nodejs-sdk-v5/package.json index 8e0f2e39d1..9cf072c841 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/cos-nodejs-sdk-v5/package.json +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/cos-nodejs-sdk-v5/package.json @@ -1,8 +1,8 @@ { "_from": "cos-nodejs-sdk-v5@^2.11.2", - "_id": "cos-nodejs-sdk-v5@2.11.2", + "_id": "cos-nodejs-sdk-v5@2.11.16", "_inBundle": false, - "_integrity": "sha512-0/22YmN+yBDyr+wo+t4SzgIysX9n4bvNb941ebtF5YIglWn0fRNXKNQXKP7EvHhAiRssKwMeciVPcJR7pDIEsQ==", + "_integrity": "sha512-cxbd/BBWhtrK8RDeO2Rt3DNnzUNY8Ry+KXR6MCJbCQgObBnLDzeaqrSrje+ekJn6jBQN8W5q6TjWTFUPuQQJLQ==", "_location": "/cos-nodejs-sdk-v5", "_phantomChildren": {}, "_requested": { @@ -19,8 +19,8 @@ "/", "/@annexwu-packages/cos-upload-utils" ], - "_resolved": "http://r.tnpm.oa.com/cos-nodejs-sdk-v5/-/cos-nodejs-sdk-v5-2.11.2.tgz", - "_shasum": "353ce31bdaef406a3e5b30997491198f7aa053a1", + "_resolved": "http://r.tnpm.oa.com/cos-nodejs-sdk-v5/-/cos-nodejs-sdk-v5-2.11.16.tgz", + "_shasum": "e49a1a830c933284e3ba48bc0a31286c72b26062", "_spec": "cos-nodejs-sdk-v5@^2.11.2", "_where": "/data/__qci/root-workspaces/__qci-pipeline-23420-1/scf-cos-unzip-file/src", "author": { @@ -31,7 +31,6 @@ }, "bundleDependencies": false, "dependencies": { - "@types/node": "^14.14.20", "conf": "^9.0.0", "mime-types": "^2.1.24", "request": "^2.88.2", @@ -40,6 +39,7 @@ "deprecated": false, "description": "cos nodejs sdk v5", "devDependencies": { + "@types/node": "^14.14.20", "batch": "^0.6.1", "crc64-ecma182.js": "^1.0.0", "mocha": "^4.0.1", @@ -73,5 +73,5 @@ "test": "mocha test/test.js" }, "types": "index.d.ts", - "version": "2.11.2" + "version": "2.11.16" } diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/cos-nodejs-sdk-v5/sdk/advance.js b/Nodejs12.16-COSUnzipFile/src/node_modules/cos-nodejs-sdk-v5/sdk/advance.js index 696d78509a..bfe129597c 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/cos-nodejs-sdk-v5/sdk/advance.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/cos-nodejs-sdk-v5/sdk/advance.js @@ -949,24 +949,29 @@ function sliceCopyFile(params, callback) { var Region = params.Region; var Key = params.Key; var CopySource = params.CopySource; - var m = CopySource.match(/^([^.]+-\d+)\.cos(v6)?\.([^.]+)\.[^/]+\/(.+)$/); + var m = util.getSourceParams.call(this, CopySource); if (!m) { callback(util.error(new Error('CopySource format error'))); return; } - var SourceBucket = m[1]; - var SourceRegion = m[3]; - var SourceKey = decodeURIComponent(m[4]); + var SourceBucket = m.Bucket; + var SourceRegion = m.Region; + var SourceKey = decodeURIComponent(m.Key); var CopySliceSize = params.CopySliceSize === undefined ? self.options.CopySliceSize : params.CopySliceSize; CopySliceSize = Math.max(0, CopySliceSize); var ChunkSize = params.CopyChunkSize || this.options.CopyChunkSize; var ChunkParallel = this.options.CopyChunkParallelLimit; + var ChunkRetryTimes = this.options.ChunkRetryTimes + 1; + var ChunkCount = 0; var FinishSize = 0; var FileSize; var onProgress; + var SourceResHeaders = {}; + var SourceHeaders = {}; + var TargetHeader = {}; // 分片复制完成,开始 multipartComplete 操作 ep.on('copy_slice_complete', function (UploadData) { @@ -980,54 +985,133 @@ function sliceCopyFile(params, callback) { ETag: item.ETag, }; }); - self.multipartComplete({ - Bucket: Bucket, - Region: Region, - Key: Key, - UploadId: UploadData.UploadId, - Parts: Parts, - },function (err, data) { - if (err) { - onProgress(null, true); - return callback(err); - } - onProgress({loaded: FileSize, total: FileSize}, true); - callback(null, data); - }); + // 完成上传的请求也做重试 + Async.retry(ChunkRetryTimes, function (tryCallback) { + self.multipartComplete({ + Bucket: Bucket, + Region: Region, + Key: Key, + UploadId: UploadData.UploadId, + Parts: Parts, + }, tryCallback); + }, function (err, data) { + session.removeUsing(UploadData.UploadId); // 标记 UploadId 没被使用了,因为复制没提供重试,所以只要出错,就是 UploadId 停用了。 + if (err) { + onProgress(null, true); + return callback(err); + } + session.removeUploadId.call(self, UploadData.UploadId); + onProgress({loaded: FileSize, total: FileSize}, true); + callback(null, data); + }); }); ep.on('get_copy_data_finish',function (UploadData) { - Async.eachLimit(UploadData.PartList, ChunkParallel, function (SliceItem, asyncCallback) { + // 处理 UploadId 缓存 + var uuid = session.getCopyFileId(CopySource, SourceResHeaders, ChunkSize, Bucket, Key); + uuid && session.saveUploadId.call(self, uuid, UploadData.UploadId, self.options.UploadIdCacheLimit); // 缓存 UploadId + session.setUsing(UploadData.UploadId); // 标记 UploadId 为正在使用 + + var needCopySlices = util.filter(UploadData.PartList, function (SliceItem) { + if (SliceItem['Uploaded']) { + FinishSize += SliceItem['PartNumber'] >= ChunkCount ? (FileSize % ChunkSize || ChunkSize) : ChunkSize; + } + return !SliceItem['Uploaded']; + }); + Async.eachLimit(needCopySlices, ChunkParallel, function (SliceItem, asyncCallback) { var PartNumber = SliceItem.PartNumber; var CopySourceRange = SliceItem.CopySourceRange; var currentSize = SliceItem.end - SliceItem.start; - - copySliceItem.call(self, { - Bucket: Bucket, - Region: Region, - Key: Key, - CopySource: CopySource, - UploadId: UploadData.UploadId, - PartNumber: PartNumber, - CopySourceRange: CopySourceRange, - },function (err,data) { - if (err) return asyncCallback(err); - FinishSize += currentSize; - onProgress({loaded: FinishSize, total: FileSize}); - SliceItem.ETag = data.ETag; - asyncCallback(err || null, data); - }); + Async.retry(ChunkRetryTimes, function (tryCallback) { + copySliceItem.call(self, { + Bucket: Bucket, + Region: Region, + Key: Key, + CopySource: CopySource, + UploadId: UploadData.UploadId, + PartNumber: PartNumber, + CopySourceRange: CopySourceRange, + }, tryCallback); + }, function (err,data) { + if (err) return asyncCallback(err); + FinishSize += currentSize; + onProgress({loaded: FinishSize, total: FileSize}); + SliceItem.ETag = data.ETag; + asyncCallback(err || null, data); + }); }, function (err) { if (err) { + session.removeUsing(UploadData.UploadId); // 标记 UploadId 没被使用了,因为复制没提供重试,所以只要出错,就是 UploadId 停用了。 onProgress(null, true); return callback(err); } - ep.emit('copy_slice_complete', UploadData); }); }); - ep.on('get_file_size_finish', function (SourceHeaders) { + ep.on('get_chunk_size_finish', function () { + var createNewUploadId = function () { + self.multipartInit({ + Bucket: Bucket, + Region: Region, + Key: Key, + Headers: TargetHeader, + }, function (err,data) { + if (err) return callback(err); + params.UploadId = data.UploadId; + ep.emit('get_copy_data_finish', {UploadId: params.UploadId, PartList: params.PartList}); + }); + }; + + // 在本地找可用的 UploadId + var uuid = session.getCopyFileId(CopySource, SourceResHeaders, ChunkSize, Bucket, Key); + var LocalUploadIdList = session.getUploadIdList.call(self, uuid); + if (!uuid || !LocalUploadIdList) return createNewUploadId(); + + var next = function (index) { + // 如果本地找不到可用 UploadId,再一个个遍历校验远端 + if (index >= LocalUploadIdList.length) return createNewUploadId(); + var UploadId = LocalUploadIdList[index]; + // 如果正在被使用,跳过 + if (session.using[UploadId]) return next(index + 1); + // 判断 UploadId 是否存在线上 + wholeMultipartListPart.call(self, { + Bucket: Bucket, + Region: Region, + Key: Key, + UploadId: UploadId, + }, function (err, PartListData) { + if (err) { + // 如果 UploadId 获取会出错,跳过并删除 + session.removeUploadId.call(self, UploadId); + next(index + 1); + } else { + // 如果异步回来 UploadId 已经被用了,也跳过 + if (session.using[UploadId]) return next(index + 1); + // 找到可用 UploadId + var finishETagMap = {}; + var offset = 0; + util.each(PartListData.PartList, function (PartItem) { + var size = parseInt(PartItem.Size); + var end = offset + size - 1; + finishETagMap[PartItem.PartNumber + '|' + offset + '|' + end] = PartItem.ETag; + offset += size; + }); + util.each(params.PartList, function (PartItem) { + var ETag = finishETagMap[PartItem.PartNumber + '|' + PartItem.start + '|' + PartItem.end]; + if (ETag) { + PartItem.ETag = ETag; + PartItem.Uploaded = true; + } + }); + ep.emit('get_copy_data_finish', {UploadId: UploadId, PartList: params.PartList}); + } + }); + }; + next(0); + }); + + ep.on('get_file_size_finish', function () { // 控制分片大小 (function () { var SIZE = [1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 1024 * 2, 1024 * 4, 1024 * 5]; @@ -1037,8 +1121,7 @@ function sliceCopyFile(params, callback) { if (FileSize / AutoChunkSize <= self.options.MaxPartNumber) break; } params.ChunkSize = ChunkSize = Math.max(ChunkSize, AutoChunkSize); - - var ChunkCount = Math.ceil(FileSize / ChunkSize); + ChunkCount = Math.ceil(FileSize / ChunkSize); var list = []; for (var partNumber = 1; partNumber <= ChunkCount; partNumber++) { @@ -1083,16 +1166,7 @@ function sliceCopyFile(params, callback) { delete TargetHeader['x-cos-copy-source-If-Unmodified-Since']; delete TargetHeader['x-cos-copy-source-If-Match']; delete TargetHeader['x-cos-copy-source-If-None-Match']; - self.multipartInit({ - Bucket: Bucket, - Region: Region, - Key: Key, - Headers: TargetHeader, - },function (err,data) { - if (err) return callback(err); - params.UploadId = data.UploadId; - ep.emit('get_copy_data_finish', params); - }); + ep.emit('get_chunk_size_finish'); }); // 获取远端复制源文件的大小 @@ -1133,7 +1207,8 @@ function sliceCopyFile(params, callback) { }); } else { var resHeaders = data.headers; - var SourceHeaders = { + SourceResHeaders = resHeaders; + SourceHeaders = { 'Cache-Control': resHeaders['cache-control'], 'Content-Disposition': resHeaders['content-disposition'], 'Content-Encoding': resHeaders['content-encoding'], @@ -1147,7 +1222,7 @@ function sliceCopyFile(params, callback) { SourceHeaders[k] = v; } }); - ep.emit('get_file_size_finish', SourceHeaders); + ep.emit('get_file_size_finish'); } }); } diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/cos-nodejs-sdk-v5/sdk/base.js b/Nodejs12.16-COSUnzipFile/src/node_modules/cos-nodejs-sdk-v5/sdk/base.js index ad461cb30c..3a65f68a62 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/cos-nodejs-sdk-v5/sdk/base.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/cos-nodejs-sdk-v5/sdk/base.js @@ -84,12 +84,11 @@ function putBucket(params, callback) { var self = this; var xml = ''; - if(params['BucketAZConfig']){ - var CreateBucketConfiguration = { - BucketAZConfig: params.BucketAZConfig - }; - xml = util.json2xml({CreateBucketConfiguration: CreateBucketConfiguration}); - } + var conf = {}; + if (params.BucketAZConfig) conf.BucketAZConfig = params.BucketAZConfig; + if (params.BucketArchConfig) conf.BucketArchConfig = params.BucketArchConfig; + if (conf.BucketAZConfig || conf.BucketArchConfig) xml = util.json2xml({CreateBucketConfiguration: conf}); + console.log(xml); submitRequest.call(this, { Action: 'name/cos:PutBucket', @@ -336,7 +335,10 @@ function putBucketCors(params, callback) { }); }); - var xml = util.json2xml({CORSConfiguration: {CORSRule: CORSRules}}); + var Conf = {CORSRule: CORSRules}; + if (params.ResponseVary) Conf.ResponseVary = params.ResponseVary; + + var xml = util.json2xml({CORSConfiguration: Conf}); var headers = params.Headers; headers['Content-Type'] = 'application/xml'; @@ -394,6 +396,7 @@ function getBucketCors(params, callback) { var CORSConfiguration = data.CORSConfiguration || {}; var CORSRules = CORSConfiguration.CORSRules || CORSConfiguration.CORSRule || []; CORSRules = util.clone(util.isArray(CORSRules) ? CORSRules : [CORSRules]); + var ResponseVary = CORSConfiguration.ResponseVary; util.each(CORSRules, function (rule) { util.each(['AllowedOrigin', 'AllowedHeader', 'AllowedMethod', 'ExposeHeader'], function (key) { @@ -406,6 +409,7 @@ function getBucketCors(params, callback) { callback(null, { CORSRules: CORSRules, + ResponseVary: ResponseVary, statusCode: data.statusCode, headers: data.headers, }); @@ -2103,7 +2107,11 @@ function deleteObject(params, callback) { * @return {Object} data.AccessControlPolicy 权限列表 */ function getObjectAcl(params, callback) { + var reqParams = {}; + if (params.VersionId) { + reqParams.versionId = params.VersionId; + } submitRequest.call(this, { Action: 'name/cos:GetObjectACL', method: 'GET', @@ -2111,6 +2119,7 @@ function getObjectAcl(params, callback) { Region: params.Region, Key: params.Key, headers: params.Headers, + qs: reqParams, action: 'acl', }, function (err, data) { if (err) return callback(err); @@ -2267,15 +2276,15 @@ function putObjectCopy(params, callback) { if (!headers['Cache-Control'] && !headers['cache-control']) headers['Cache-Control'] = ''; var CopySource = params.CopySource || ''; - var m = CopySource.match(/^([^.]+-\d+)\.cos(v6)?\.([^.]+)\.[^/]+\/(.+)$/); + var m = util.getSourceParams.call(this, CopySource); if (!m) { callback(util.error(new Error('CopySource format error'))); return; } - var SourceBucket = m[1]; - var SourceRegion = m[3]; - var SourceKey = decodeURIComponent(m[4]); + var SourceBucket = m.Bucket; + var SourceRegion = m.Region; + var SourceKey = decodeURIComponent(m.Key); submitRequest.call(this, { Scope: [{ @@ -2309,15 +2318,15 @@ function putObjectCopy(params, callback) { function uploadPartCopy(params, callback) { var CopySource = params.CopySource || ''; - var m = CopySource.match(/^([^.]+-\d+)\.cos(v6)?\.([^.]+)\.[^/]+\/(.+)$/); + var m = util.getSourceParams.call(this, CopySource); if (!m) { callback(util.error(new Error('CopySource format error'))); return; } - var SourceBucket = m[1]; - var SourceRegion = m[3]; - var SourceKey = decodeURIComponent(m[4]); + var SourceBucket = m.Bucket; + var SourceRegion = m.Region; + var SourceKey = decodeURIComponent(m.Key); submitRequest.call(this, { Scope: [{ @@ -3045,7 +3054,14 @@ function multipartAbort(params, callback) { * @return {Object} err 请求失败的错误,如果请求成功,则为空。https://cloud.tencent.com/document/product/436/7730 * @return {Object} data 返回的数据 */ - function request(params, callback) { +function request(params, callback) { + var Query = params.Query || {}; + // 处理 url + if (params.Url) { + var m = params.Url.match(/^https?:\/\/([^/]+)(\/[^?#]*)?(\?[^#]*)?(#.*)?$/) + var urlPath = m && m[2] || ''; + if (urlPath && !params.Key) params.Key = urlPath.substr(1); + } submitRequest.call(this, { method: params.Method, Bucket: params.Bucket, @@ -3053,7 +3069,7 @@ function multipartAbort(params, callback) { Key: params.Key, action: params.Action, headers: params.Headers, - qs: params.Query, + qs: Query, body: params.Body, url: params.Url, rawBody: params.RawBody, @@ -3116,12 +3132,13 @@ function getV4Auth(params) { */ function getObjectUrl(params, callback) { var self = this; + var useAccelerate = params.UseAccelerate === undefined ? self.options.UseAccelerate : params.UseAccelerate; var url = getUrl({ ForcePathStyle: self.options.ForcePathStyle, protocol: params.Protocol || self.options.Protocol, domain: params.Domain || self.options.Domain, bucket: params.Bucket, - region: params.Region, + region: useAccelerate ? 'accelerate' : params.Region, object: params.Key, }); @@ -3133,13 +3150,6 @@ function getObjectUrl(params, callback) { queryParamsStr += (queryParamsStr ? '&' : '') + params.QueryString; } - // 签名加上 Host,避免跨桶访问 - var SignHost = ''; - var standardHost = 'cos.' + params.Region + '.myqcloud.com'; - if (!self.options.ForcePathStyle) standardHost = params.Bucket + '.' + standardHost; - var urlHost = url.replace(/^https?:\/\/([^/]+)(\/.*)?$/, '$1'); - if (standardHost === urlHost) SignHost = standardHost; - var syncUrl = url; if (params.Sign !== undefined && !params.Sign) { queryParamsStr && (syncUrl += '?' + queryParamsStr); @@ -3147,7 +3157,8 @@ function getObjectUrl(params, callback) { return syncUrl; } - var SignHost = getSignHost.call(this, {Bucket: params.Bucket, Region: params.Region, Url: url}); + // 签名加上 Host,避免跨桶访问 + var SignHost = getSignHost.call(this, {Bucket: params.Bucket, Region: params.Region, UseAccelerate: params.UseAccelerate, Url: url}); var AuthData = getAuthorizationAsync.call(this, { Action: ((params.Method || '').toUpperCase() === 'PUT' ? 'name/cos:PutObject' : 'name/cos:GetObject'), Bucket: params.Bucket || '', @@ -3158,15 +3169,26 @@ function getObjectUrl(params, callback) { Headers: params.Headers, Query: params.Query, SignHost: SignHost, + ForceSignHost: params.ForceSignHost === false ? false : self.options.ForceSignHost, // getObjectUrl支持传参ForceSignHost }, function (err, AuthData) { if (!callback) return; if (err) { callback(err); return; } + + // 兼容万象url qUrlParamList需要再encode一次 + var replaceUrlParamList = function(url) { + var urlParams = url.match(/q-url-param-list.*?(?=&)/g)[0]; + var encodedParams = 'q-url-param-list=' + encodeURIComponent(urlParams.replace(/q-url-param-list=/, '')).toLowerCase(); + var reg = new RegExp(urlParams, 'g'); + var replacedUrl = url.replace(reg, encodedParams); + return replacedUrl; + } + var signUrl = url; signUrl += '?' + (AuthData.Authorization.indexOf('q-signature') > -1 ? - AuthData.Authorization : 'sign=' + encodeURIComponent(AuthData.Authorization)); + replaceUrlParamList(AuthData.Authorization) : 'sign=' + encodeURIComponent(AuthData.Authorization)); AuthData.SecurityToken && (signUrl += '&x-cos-security-token=' + AuthData.SecurityToken); AuthData.ClientIP && (signUrl += '&clientIP=' + AuthData.ClientIP); AuthData.ClientUA && (signUrl += '&clientUA=' + AuthData.ClientUA); @@ -3259,6 +3281,10 @@ function getUrl(params) { var domain = params.domain; var region = params.region; var object = params.object; + // 兼容不带冒号的http、https + if (['http', 'https'].includes(params.protocol)) { + params.protocol = params.protocol + ':'; + } var protocol = params.protocol || (util.isBrowser && location.protocol === 'http:' ? 'http:' : 'https:'); if (!domain) { if (['cn-south', 'cn-south-2', 'cn-north', 'cn-east', 'cn-southwest', 'sg'].indexOf(region) > -1) { @@ -3304,13 +3330,14 @@ function getUrl(params) { } var getSignHost = function (opt) { - if (!opt.Bucket || !opt.Bucket) return ''; + if (!opt.Bucket || !opt.Region) return ''; + var useAccelerate = opt.UseAccelerate === undefined ? this.options.UseAccelerate : opt.UseAccelerate; var url = opt.Url || getUrl({ ForcePathStyle: this.options.ForcePathStyle, protocol: this.options.Protocol, domain: this.options.Domain, bucket: opt.Bucket, - region: opt.Region, + region: useAccelerate ? 'accelerate' : opt.Region, }); var urlHost = url.replace(/^https?:\/\/([^/]+)(\/.*)?$/, '$1'); var standardHostReg = new RegExp('^([a-z\\d-]+-\\d+\\.)?(cos|cosv6|ci|pic)\\.([a-z\\d-]+)\\.myqcloud\\.com$'); @@ -3324,12 +3351,15 @@ function getAuthorizationAsync(params, callback) { var headers = util.clone(params.Headers); var headerHost = ''; util.each(headers, function (v, k) { - (v === '' || ['content-type', 'cache-control', 'expires'].indexOf(k.toLowerCase()) > -1) && delete headers[k]; + (v === '' || ['content-type', 'cache-control'].indexOf(k.toLowerCase()) > -1) && delete headers[k]; if (k.toLowerCase() === 'host') headerHost = v; }); + // ForceSignHost明确传入false才不加入host签名 + var forceSignHost = params.ForceSignHost === false ? false : true; + // Host 加入签名计算 - if (!headerHost && params.SignHost) headers.Host = params.SignHost; + if (!headerHost && params.SignHost && forceSignHost) headers.Host = params.SignHost; // 获取凭证的回调,避免用户 callback 多次 @@ -3390,7 +3420,9 @@ function getAuthorizationAsync(params, callback) { })(); var calcAuthByTmpKey = function () { - var KeyTime = StsData.StartTime && StsData.ExpiredTime ? StsData.StartTime + ';' + StsData.ExpiredTime : ''; + var KeyTime = ''; + if (StsData.StartTime && params.Expires) KeyTime = StsData.StartTime + ';' + (StsData.StartTime + params.Expires * 1); + else if (StsData.StartTime && StsData.ExpiredTime) KeyTime = StsData.StartTime + ';' + StsData.ExpiredTime; var Authorization = util.getAuth({ SecretId: StsData.TmpSecretId, SecretKey: StsData.TmpSecretKey, @@ -3401,7 +3433,8 @@ function getAuthorizationAsync(params, callback) { Expires: params.Expires, UseRawKey: self.options.UseRawKey, SystemClockOffset: self.options.SystemClockOffset, - KeyTime: KeyTime + KeyTime: KeyTime, + ForceSignHost: forceSignHost, }); var AuthData = { Authorization: Authorization, @@ -3465,6 +3498,7 @@ function getAuthorizationAsync(params, callback) { Headers: headers, Scope: Scope, SystemClockOffset: self.options.SystemClockOffset, + ForceSignHost: forceSignHost, }, function (AuthData) { if (typeof AuthData === 'string') AuthData = {Authorization: AuthData}; var AuthError = checkAuthError(AuthData); @@ -3506,6 +3540,7 @@ function getAuthorizationAsync(params, callback) { Expires: params.Expires, UseRawKey: self.options.UseRawKey, SystemClockOffset: self.options.SystemClockOffset, + ForceSignHost: forceSignHost, }); var AuthData = { Authorization: Authorization, @@ -3583,6 +3618,7 @@ function submitRequest(params, callback) { Action: params.Action, ResourceKey: params.ResourceKey, Scope: params.Scope, + ForceSignHost: self.options.ForceSignHost, }, function (err, AuthData) { if (err) return callback(err); params.AuthData = AuthData; @@ -3694,6 +3730,9 @@ function _submitRequest(params, callback) { if (this.options.Proxy) { opt.proxy = this.options.Proxy; } + if (typeof this.options.Tunnel === 'boolean') { + opt.tunnel = this.options.Tunnel; + } if (this.options.Timeout) { opt.timeout = this.options.Timeout; } diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/cos-nodejs-sdk-v5/sdk/cos.js b/Nodejs12.16-COSUnzipFile/src/node_modules/cos-nodejs-sdk-v5/sdk/cos.js index e2663139e8..8454095f87 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/cos-nodejs-sdk-v5/sdk/cos.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/cos-nodejs-sdk-v5/sdk/cos.js @@ -35,6 +35,7 @@ var defaultOptions = { UploadQueueSize: 1000, UploadIdCacheLimit: 500, Proxy: '', + Tunnel: undefined, Ip: '', StrictSsl: true, KeepAlive: true, @@ -42,6 +43,7 @@ var defaultOptions = { UseAccelerate: false, UserAgent: '', ConfCwd: '', + ForceSignHost: true, // 默认将host加入签名计算,关闭后可能导致越权风险,建议保持为true }; // 对外暴露的类 @@ -59,9 +61,23 @@ var COS = function (options) { if (this.options.AppId) { console.warn('warning: AppId has been deprecated, Please put it at the end of parameter Bucket(E.g: "test-1250000000").'); } + // 云API SDK 用小写密钥,这里兼容并 warning + if (this.options.secretId || this.options.secretKey) { + if (this.options.secretId && !this.options.SecretId) this.options.SecretId = this.options.secretId; + if (this.options.secretKey && !this.options.SecretKey) this.options.SecretKey = this.options.secretKey; + console.warn('warning: Please change options secretId/secretKey to SecretId/SecretKey.'); + } + if (this.options.SecretId && this.options.SecretId.indexOf(' ') > -1) { + console.error('error: SecretId格式错误,请检查'); + console.error('error: SecretId format is incorrect. Please check'); + } + if (this.options.SecretKey && this.options.SecretKey.indexOf(' ') > -1) { + console.error('error: SecretKey格式错误,请检查'); + console.error('error: SecretKey format is incorrect. Please check'); + } if (util.isWeb()) { - console.warn('warning: cos-nodejs-sdk-v5 不支持浏览器使用,请改用 cos-js-sdk-v5,参考文档: https://cloud.tencent.com/document/product/436/11459'); - console.warn('warning: cos-nodejs-sdk-v5 does not support browsers. Please use cos-js-sdk-v5 instead, See: https://cloud.tencent.com/document/product/436/11459'); + console.warn('warning: cos-nodejs-sdk-v5 不支持浏览器使用,请改用 cos-js-sdk-v5,参考文档: https://cloud.tencent.com/document/product/436/11459'); + console.warn('warning: cos-nodejs-sdk-v5 does not support browsers. Please use cos-js-sdk-v5 instead, See: https://cloud.tencent.com/document/product/436/11459'); } event.init(this); task.init(this); diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/cos-nodejs-sdk-v5/sdk/session.js b/Nodejs12.16-COSUnzipFile/src/node_modules/cos-nodejs-sdk-v5/sdk/session.js index 90ae5682c7..32f3f9af45 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/cos-nodejs-sdk-v5/sdk/session.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/cos-nodejs-sdk-v5/sdk/session.js @@ -19,7 +19,8 @@ var getCache = function () { }; var setCache = function () { try { - store.set(cacheKey, cache); + if (cache.length) store.set(cacheKey, cache); + else store.delete(cacheKey); } catch (e) { } }; @@ -67,6 +68,17 @@ var mod = { return null; } }, + // 用上传参数生成哈希值 + getCopyFileId: function (copySource, sourceHeaders, ChunkSize, Bucket, Key) { + var size = sourceHeaders['content-length']; + var etag = sourceHeaders.etag || ''; + var lastModified = sourceHeaders['last-modified']; + if (copySource && ChunkSize) { + return util.md5([copySource, size, etag, lastModified, ChunkSize, Bucket, Key].join('::')); + } else { + return null; + } + }, // 获取文件对应的 UploadId 列表 getUploadIdList: function (uuid) { if (!uuid) return null; diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/cos-nodejs-sdk-v5/sdk/util.js b/Nodejs12.16-COSUnzipFile/src/node_modules/cos-nodejs-sdk-v5/sdk/util.js index c1628dd184..cbd771a737 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/cos-nodejs-sdk-v5/sdk/util.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/cos-nodejs-sdk-v5/sdk/util.js @@ -16,33 +16,56 @@ function camSafeUrlEncode(str) { } var getObjectKeys = function (obj, forKey) { - var list = []; - for (var key in obj) { - if (obj.hasOwnProperty(key)) { - list.push(forKey ? camSafeUrlEncode(key).toLowerCase() : key); - } - } - return list.sort(function (a, b) { - a = a.toLowerCase(); - b = b.toLowerCase(); - return a === b ? 0 : (a > b ? 1 : -1); - }); + var list = []; + for (var key in obj) { + if (obj.hasOwnProperty(key)) { + list.push(forKey ? camSafeUrlEncode(key).toLowerCase() : key); + } + } + return list.sort(function (a, b) { + a = a.toLowerCase(); + b = b.toLowerCase(); + return a === b ? 0 : (a > b ? 1 : -1); + }); }; -var obj2str = function (obj) { - var i, key, val; - var list = []; - var keyList = getObjectKeys(obj); - for (i = 0; i < keyList.length; i++) { - key = keyList[i]; - val = (obj[key] === undefined || obj[key] === null) ? '' : ('' + obj[key]); - key = camSafeUrlEncode(key).toLowerCase(); - val = camSafeUrlEncode(val) || ''; - list.push(key + '=' + val) - } - return list.join('&'); +/** + * obj转为string + * @param {Object} obj 需要转的对象,必须 + * @param {Boolean} lowerCaseKey key是否转为小写,默认false,非必须 + * @return {String} data 返回字符串 + */ +var obj2str = function (obj, lowerCaseKey) { + var i, key, val; + var list = []; + var keyList = getObjectKeys(obj); + for (i = 0; i < keyList.length; i++) { + key = keyList[i]; + val = (obj[key] === undefined || obj[key] === null) ? '' : ('' + obj[key]); + key = lowerCaseKey? camSafeUrlEncode(key).toLowerCase() : camSafeUrlEncode(key); + val = camSafeUrlEncode(val) || ''; + list.push(key + '=' + val) + } + return list.join('&'); }; +// 可以签入签名的headers +var signHeaders = ['content-disposition', 'content-encoding', 'content-length', 'content-md5', + 'expect', 'expires', 'host', 'if-match', 'if-modified-since', 'if-none-match', 'if-unmodified-since', + 'origin', 'range', 'response-cache-control', 'response-content-disposition', 'response-content-encoding', + 'response-content-language', 'response-content-type', 'response-expires', 'transfer-encoding', 'versionid']; + +var getSignHeaderObj = function (headers) { + var signHeaderObj = {}; + for (var i in headers) { + var key = i.toLowerCase(); + if (key.indexOf('x-cos-') > -1 || signHeaders.indexOf(key) > -1) { + signHeaderObj[i] = headers[i]; + } + } + return signHeaderObj; +} + //测试用的key后面可以去掉 var getAuth = function (opt) { opt = opt || {}; @@ -52,7 +75,7 @@ var getAuth = function (opt) { var KeyTime = opt.KeyTime; var method = (opt.method || opt.Method || 'get').toLowerCase(); var queryParams = clone(opt.Query || opt.params || {}); - var headers = clone(opt.Headers || opt.headers || {}); + var headers = getSignHeaderObj(clone(opt.Headers || opt.headers || {})); var Key = opt.Key || ''; var pathname; @@ -63,8 +86,11 @@ var getAuth = function (opt) { pathname.indexOf('/') !== 0 && (pathname = '/' + pathname); } + // ForceSignHost明确传入false才不加入host签名 + var forceSignHost = opt.ForceSignHost === false ? false : true; + // 如果有传入存储桶,那么签名默认加 Host 参与计算,避免跨桶访问 - if (!headers.Host && !headers.host && opt.Bucket && opt.Region) headers.Host = opt.Bucket + '.cos.' + opt.Region + '.myqcloud.com'; + if (!headers.Host && !headers.host && opt.Bucket && opt.Region && forceSignHost) headers.Host = opt.Bucket + '.cos.' + opt.Region + '.myqcloud.com'; if (!SecretId) throw new Error('missing param SecretId'); if (!SecretKey) throw new Error('missing param SecretKey'); @@ -93,7 +119,7 @@ var getAuth = function (opt) { var signKey = crypto.createHmac('sha1', SecretKey).update(qKeyTime).digest('hex'); // 步骤二:构成 FormatString - var formatString = [method, pathname, obj2str(queryParams), obj2str(headers), ''].join('\n'); + var formatString = [method, pathname, obj2str(queryParams, true), obj2str(headers, true), ''].join('\n'); formatString = Buffer.from(formatString, 'utf8'); // 步骤三:计算 StringToSign @@ -137,6 +163,14 @@ var getV4Auth = function (opt) { return sign; }; +var getSourceParams = function (source) { + var parser = this.options.CopySourceParser; + if (parser) return parser(source); + var m = source.match(/^([^.]+-\d+)\.cos(v6|-cdc|-internal)?\.([^.]+)\.((myqcloud\.com)|(tencentcos\.cn))\/(.+)$/); + if (!m) return null; + return { Bucket: m[1], Region: m[3], Key: m[7] }; +}; + var noop = function () { }; @@ -406,6 +440,7 @@ var apiWrapper = function (apiName, apiFn) { var formatResult = function (result) { if (result && result.headers) { result.headers['x-cos-request-id'] && (result.RequestId = result.headers['x-cos-request-id']); + result.headers['x-ci-request-id'] && (result.RequestId = result.headers['x-ci-request-id']); result.headers['x-cos-version-id'] && (result.VersionId = result.headers['x-cos-version-id']); result.headers['x-cos-delete-marker'] && (result.DeleteMarker = result.headers['x-cos-delete-marker']); } @@ -462,8 +497,7 @@ var apiWrapper = function (apiName, apiFn) { }; var errMsg = checkParams(); - var isSync = apiName === 'getAuth' || apiName === 'getV4Auth' || apiName === 'getObjectUrl' - || apiName.indexOf('Stream') > -1; + var isSync = ['getAuth', 'getV4Auth', 'getObjectUrl'].includes(apiName) || apiName.indexOf('Stream') > -1; if (Promise && !isSync && !callback) { return new Promise(function (resolve, reject) { callback = function (err, data) { @@ -627,8 +661,21 @@ var error = function (err, opt) { err.name = opt && opt.name || err.name || err.code || 'Error'; if (!err.code) err.code = err.name; - if (!err.error) err.error = clone(sourceErr); // 兼容老的错误格式 - + + if (!err.error) { + var objectType = Object.prototype.toString.call(err); + if (objectType === '[object Object]') { + // 兼容老的错误格式 + err.error = clone(sourceErr); + } else if (objectType === '[object Error]') { + // 有环境报出[object Error]对象的情况,兼容处理一下 + err = { + code: err.code || err.name || 'Error', + name: err.name || err.code || 'Error', + message: err.reason || err.message || 'Error', + }; + } + } return err; } @@ -674,6 +721,7 @@ var util = { obj2str: obj2str, isWeb: isWeb, isCIHost: isCIHost, + getSourceParams: getSourceParams, }; module.exports = util; diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/cos-nodejs-sdk-v5/test/test.js b/Nodejs12.16-COSUnzipFile/src/node_modules/cos-nodejs-sdk-v5/test/test.js index 3aae9f4052..d86385af5f 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/cos-nodejs-sdk-v5/test/test.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/cos-nodejs-sdk-v5/test/test.js @@ -41,6 +41,12 @@ var group = function (name, fn) { }; var proxy = ''; +if(!config.SecretId || !config.SecretKey || !config.Bucket || !config.Region || !config.Uin) { + console.log('Please check for complete configuration information in demo/config.js'); + console.log('请检查demo/config.js是否有完整的配置信息'); + return; +} + var cos = new COS({ SecretId: config.SecretId, SecretKey: config.SecretKey, diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/json-schema/LICENSE b/Nodejs12.16-COSUnzipFile/src/node_modules/json-schema/LICENSE new file mode 100644 index 0000000000..139f008d22 --- /dev/null +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/json-schema/LICENSE @@ -0,0 +1,195 @@ +Dojo is available under *either* the terms of the BSD 3-Clause "New" License *or* the +Academic Free License version 2.1. As a recipient of Dojo, you may choose which +license to receive this code under (except as noted in per-module LICENSE +files). Some modules may not be the copyright of the Dojo Foundation. These +modules contain explicit declarations of copyright in both the LICENSE files in +the directories in which they reside and in the code itself. No external +contributions are allowed under licenses which are fundamentally incompatible +with the AFL-2.1 OR and BSD-3-Clause licenses that Dojo is distributed under. + +The text of the AFL-2.1 and BSD-3-Clause licenses is reproduced below. + +------------------------------------------------------------------------------- +BSD 3-Clause "New" License: +********************** + +Copyright (c) 2005-2015, The Dojo Foundation +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + * Neither the name of the Dojo Foundation nor the names of its contributors + may be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND +ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +------------------------------------------------------------------------------- +The Academic Free License, v. 2.1: +********************************** + +This Academic Free License (the "License") applies to any original work of +authorship (the "Original Work") whose owner (the "Licensor") has placed the +following notice immediately following the copyright notice for the Original +Work: + +Licensed under the Academic Free License version 2.1 + +1) Grant of Copyright License. Licensor hereby grants You a world-wide, +royalty-free, non-exclusive, perpetual, sublicenseable license to do the +following: + +a) to reproduce the Original Work in copies; + +b) to prepare derivative works ("Derivative Works") based upon the Original +Work; + +c) to distribute copies of the Original Work and Derivative Works to the +public; + +d) to perform the Original Work publicly; and + +e) to display the Original Work publicly. + +2) Grant of Patent License. Licensor hereby grants You a world-wide, +royalty-free, non-exclusive, perpetual, sublicenseable license, under patent +claims owned or controlled by the Licensor that are embodied in the Original +Work as furnished by the Licensor, to make, use, sell and offer for sale the +Original Work and Derivative Works. + +3) Grant of Source Code License. The term "Source Code" means the preferred +form of the Original Work for making modifications to it and all available +documentation describing how to modify the Original Work. Licensor hereby +agrees to provide a machine-readable copy of the Source Code of the Original +Work along with each copy of the Original Work that Licensor distributes. +Licensor reserves the right to satisfy this obligation by placing a +machine-readable copy of the Source Code in an information repository +reasonably calculated to permit inexpensive and convenient access by You for as +long as Licensor continues to distribute the Original Work, and by publishing +the address of that information repository in a notice immediately following +the copyright notice that applies to the Original Work. + +4) Exclusions From License Grant. Neither the names of Licensor, nor the names +of any contributors to the Original Work, nor any of their trademarks or +service marks, may be used to endorse or promote products derived from this +Original Work without express prior written permission of the Licensor. Nothing +in this License shall be deemed to grant any rights to trademarks, copyrights, +patents, trade secrets or any other intellectual property of Licensor except as +expressly stated herein. No patent license is granted to make, use, sell or +offer to sell embodiments of any patent claims other than the licensed claims +defined in Section 2. No right is granted to the trademarks of Licensor even if +such marks are included in the Original Work. Nothing in this License shall be +interpreted to prohibit Licensor from licensing under different terms from this +License any Original Work that Licensor otherwise would have a right to +license. + +5) This section intentionally omitted. + +6) Attribution Rights. You must retain, in the Source Code of any Derivative +Works that You create, all copyright, patent or trademark notices from the +Source Code of the Original Work, as well as any notices of licensing and any +descriptive text identified therein as an "Attribution Notice." You must cause +the Source Code for any Derivative Works that You create to carry a prominent +Attribution Notice reasonably calculated to inform recipients that You have +modified the Original Work. + +7) Warranty of Provenance and Disclaimer of Warranty. Licensor warrants that +the copyright in and to the Original Work and the patent rights granted herein +by Licensor are owned by the Licensor or are sublicensed to You under the terms +of this License with the permission of the contributor(s) of those copyrights +and patent rights. Except as expressly stated in the immediately proceeding +sentence, the Original Work is provided under this License on an "AS IS" BASIS +and WITHOUT WARRANTY, either express or implied, including, without limitation, +the warranties of NON-INFRINGEMENT, MERCHANTABILITY or FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY OF THE ORIGINAL WORK IS WITH YOU. +This DISCLAIMER OF WARRANTY constitutes an essential part of this License. No +license to Original Work is granted hereunder except under this disclaimer. + +8) Limitation of Liability. Under no circumstances and under no legal theory, +whether in tort (including negligence), contract, or otherwise, shall the +Licensor be liable to any person for any direct, indirect, special, incidental, +or consequential damages of any character arising as a result of this License +or the use of the Original Work including, without limitation, damages for loss +of goodwill, work stoppage, computer failure or malfunction, or any and all +other commercial damages or losses. This limitation of liability shall not +apply to liability for death or personal injury resulting from Licensor's +negligence to the extent applicable law prohibits such limitation. Some +jurisdictions do not allow the exclusion or limitation of incidental or +consequential damages, so this exclusion and limitation may not apply to You. + +9) Acceptance and Termination. If You distribute copies of the Original Work or +a Derivative Work, You must make a reasonable effort under the circumstances to +obtain the express assent of recipients to the terms of this License. Nothing +else but this License (or another written agreement between Licensor and You) +grants You permission to create Derivative Works based upon the Original Work +or to exercise any of the rights granted in Section 1 herein, and any attempt +to do so except under the terms of this License (or another written agreement +between Licensor and You) is expressly prohibited by U.S. copyright law, the +equivalent laws of other countries, and by international treaty. Therefore, by +exercising any of the rights granted to You in Section 1 herein, You indicate +Your acceptance of this License and all of its terms and conditions. + +10) Termination for Patent Action. This License shall terminate automatically +and You may no longer exercise any of the rights granted to You by this License +as of the date You commence an action, including a cross-claim or counterclaim, +against Licensor or any licensee alleging that the Original Work infringes a +patent. This termination provision shall not apply for an action alleging +patent infringement by combinations of the Original Work with other software or +hardware. + +11) Jurisdiction, Venue and Governing Law. Any action or suit relating to this +License may be brought only in the courts of a jurisdiction wherein the +Licensor resides or in which Licensor conducts its primary business, and under +the laws of that jurisdiction excluding its conflict-of-law provisions. The +application of the United Nations Convention on Contracts for the International +Sale of Goods is expressly excluded. Any use of the Original Work outside the +scope of this License or after its termination shall be subject to the +requirements and penalties of the U.S. Copyright Act, 17 U.S.C. § 101 et +seq., the equivalent laws of other countries, and international treaty. This +section shall survive the termination of this License. + +12) Attorneys Fees. In any action to enforce the terms of this License or +seeking damages relating thereto, the prevailing party shall be entitled to +recover its costs and expenses, including, without limitation, reasonable +attorneys' fees and costs incurred in connection with such action, including +any appeal of such action. This section shall survive the termination of this +License. + +13) Miscellaneous. This License represents the complete agreement concerning +the subject matter hereof. If any provision of this License is held to be +unenforceable, such provision shall be reformed only to the extent necessary to +make it enforceable. + +14) Definition of "You" in This License. "You" throughout this License, whether +in upper or lower case, means an individual or a legal entity exercising rights +under, and complying with all of the terms of, this License. For legal +entities, "You" includes any entity that controls, is controlled by, or is +under common control with you. For 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. + +15) Right to Use. You may use the Original Work in all ways not otherwise +restricted or conditioned by this License or by law, and Licensor promises not +to interfere with or be responsible for such uses by You. + +This license is Copyright (C) 2003-2004 Lawrence E. Rosen. All rights reserved. +Permission is hereby granted to copy and distribute this license without +modification. This license may not be modified without the express written +permission of its copyright owner. diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/json-schema/README.md b/Nodejs12.16-COSUnzipFile/src/node_modules/json-schema/README.md index 4de0124476..e23cd30518 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/json-schema/README.md +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/json-schema/README.md @@ -1,5 +1,3 @@ -JSON Schema is a repository for the JSON Schema specification, reference schemas and a CommonJS implementation of JSON Schema (not the only JavaScript implementation of JSON Schema, JSV is another excellent JavaScript validator). +This is a historical repository for the early development of the JSON Schema specification and implementation. This package is considered "finished": it holds the earlier draft specification and a simple, efficient, lightweight implementation of the original core elements of JSON Schema. This repository does not house the latest specifications nor does it implement the latest versions of JSON Schema. This package seeks to maintain the stability (in behavior and size) of this original implementation for the sake of the numerous packages that rely on it. For the latest JSON Schema specifications and implementations, please visit the [JSON Schema site](https://json-schema.org/) (or the [respository](https://github.com/json-schema-org/json-schema-spec)). -Code is licensed under the AFL or BSD license as part of the Persevere -project which is administered under the Dojo foundation, -and all contributions require a Dojo CLA. \ No newline at end of file +Code is licensed under the AFL or BSD 3-Clause license. diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/json-schema/lib/links.js b/Nodejs12.16-COSUnzipFile/src/node_modules/json-schema/lib/links.js index 2f450ff61d..d9a114bcbf 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/json-schema/lib/links.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/json-schema/lib/links.js @@ -1,7 +1,6 @@ /** * JSON Schema link handler - * Copyright (c) 2007 Kris Zyp SitePen (www.sitepen.com) - * Licensed under the MIT (MIT-LICENSE.txt) license. + * Licensed under AFL-2.1 OR BSD-3-Clause */ (function (root, factory) { if (typeof define === 'function' && define.amd) { diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/json-schema/lib/validate.js b/Nodejs12.16-COSUnzipFile/src/node_modules/json-schema/lib/validate.js index 4d0b537941..cace89e66d 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/json-schema/lib/validate.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/json-schema/lib/validate.js @@ -1,9 +1,7 @@ /** * JSONSchema Validator - Validates JavaScript objects using JSON Schemas * (http://www.json.com/json-schema-proposal/) - * - * Copyright (c) 2007 Kris Zyp SitePen (www.sitepen.com) - * Licensed under the MIT (MIT-LICENSE.txt) license. + * Licensed under AFL-2.1 OR BSD-3-Clause To use the validator call the validate function with an instance object and an optional schema object. If a schema is provided, it will be used to validate. If the instance object refers to a schema (self-validating), that schema will be used to validate and the schema parameter is not necessary (if both exist, @@ -107,7 +105,7 @@ var validate = exports._validate = function(/*Any*/instance,/*Object*/schema,/*O !(value instanceof Array && type == 'array') && !(value instanceof Date && type == 'date') && !(type == 'integer' && value%1===0)){ - return [{property:path,message:(typeof value) + " value found, but a " + type + " is required"}]; + return [{property:path,message:value + " - " + (typeof value) + " value found, but a " + type + " is required"}]; } if(type instanceof Array){ var unionErrors=[]; @@ -170,11 +168,11 @@ var validate = exports._validate = function(/*Any*/instance,/*Object*/schema,/*O if(schema.minLength && typeof value == 'string' && value.length < schema.minLength){ addError("must be at least " + schema.minLength + " characters long"); } - if(typeof schema.minimum !== undefined && typeof value == typeof schema.minimum && + if(typeof schema.minimum !== 'undefined' && typeof value == typeof schema.minimum && schema.minimum > value){ addError("must have a minimum value of " + schema.minimum); } - if(typeof schema.maximum !== undefined && typeof value == typeof schema.maximum && + if(typeof schema.maximum !== 'undefined' && typeof value == typeof schema.maximum && schema.maximum < value){ addError("must have a maximum value of " + schema.maximum); } @@ -209,8 +207,8 @@ var validate = exports._validate = function(/*Any*/instance,/*Object*/schema,/*O } for(var i in objTypeDef){ - if(objTypeDef.hasOwnProperty(i)){ - var value = instance[i]; + if(objTypeDef.hasOwnProperty(i) && i != '__proto__' && i != 'constructor'){ + var value = instance.hasOwnProperty(i) ? instance[i] : undefined; // skip _not_ specified properties if (value === undefined && options.existingOnly) continue; var propDef = objTypeDef[i]; @@ -231,7 +229,7 @@ var validate = exports._validate = function(/*Any*/instance,/*Object*/schema,/*O delete instance[i]; continue; } else { - errors.push({property:path,message:(typeof value) + "The property " + i + + errors.push({property:path,message:"The property " + i + " is not defined in the schema and the schema does not allow additional properties"}); } } diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/json-schema/package.json b/Nodejs12.16-COSUnzipFile/src/node_modules/json-schema/package.json index f687368333..ebcfed4e09 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/json-schema/package.json +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/json-schema/package.json @@ -1,26 +1,26 @@ { - "_from": "json-schema@0.2.3", - "_id": "json-schema@0.2.3", + "_from": "json-schema@0.4.0", + "_id": "json-schema@0.4.0", "_inBundle": false, - "_integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", + "_integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", "_location": "/json-schema", "_phantomChildren": {}, "_requested": { "type": "version", "registry": true, - "raw": "json-schema@0.2.3", + "raw": "json-schema@0.4.0", "name": "json-schema", "escapedName": "json-schema", - "rawSpec": "0.2.3", + "rawSpec": "0.4.0", "saveSpec": null, - "fetchSpec": "0.2.3" + "fetchSpec": "0.4.0" }, "_requiredBy": [ "/jsprim" ], - "_resolved": "http://r.tnpm.oa.com/json-schema/-/json-schema-0.2.3.tgz", - "_shasum": "b480c892e59a2f05954ce727bd3f2a4e882f9e13", - "_spec": "json-schema@0.2.3", + "_resolved": "http://r.tnpm.oa.com/json-schema/-/json-schema-0.4.0.tgz", + "_shasum": "f7de4cf6efab838ebaeb3236474cbba5a1930ab5", + "_spec": "json-schema@0.4.0", "_where": "/data/__qci/root-workspaces/__qci-pipeline-23420-1/scf-cos-unzip-file/src/node_modules/jsprim", "author": { "name": "Kris Zyp" @@ -37,21 +37,15 @@ "directories": { "lib": "./lib" }, + "files": [ + "lib" + ], "homepage": "https://github.com/kriszyp/json-schema#readme", "keywords": [ "json", "schema" ], - "licenses": [ - { - "type": "AFLv2.1", - "url": "http://trac.dojotoolkit.org/browser/dojo/trunk/LICENSE#L43" - }, - { - "type": "BSD", - "url": "http://trac.dojotoolkit.org/browser/dojo/trunk/LICENSE#L13" - } - ], + "license": "(AFL-2.1 OR BSD-3-Clause)", "main": "./lib/validate.js", "maintainers": [ { @@ -65,7 +59,7 @@ "url": "git+ssh://git@github.com/kriszyp/json-schema.git" }, "scripts": { - "test": "echo TESTS DISABLED vows --spec test/*.js" + "test": "vows --spec test/*.js" }, - "version": "0.2.3" + "version": "0.4.0" } diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/jsprim/CHANGES.md b/Nodejs12.16-COSUnzipFile/src/node_modules/jsprim/CHANGES.md index c52d39d687..0e51ff2b1d 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/jsprim/CHANGES.md +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/jsprim/CHANGES.md @@ -4,6 +4,10 @@ None yet. +## v1.4.2 (2021-11-29) + +* #35 Backport json-schema 0.4.0 to version 1.4.x + ## v1.4.1 (2017-08-02) * #21 Update verror dep diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/jsprim/package.json b/Nodejs12.16-COSUnzipFile/src/node_modules/jsprim/package.json index 3d08ad7e55..b30b1249f9 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/jsprim/package.json +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/jsprim/package.json @@ -1,8 +1,8 @@ { "_from": "jsprim@^1.2.2", - "_id": "jsprim@1.4.1", + "_id": "jsprim@1.4.2", "_inBundle": false, - "_integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "_integrity": "sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==", "_location": "/jsprim", "_phantomChildren": {}, "_requested": { @@ -18,8 +18,8 @@ "_requiredBy": [ "/http-signature" ], - "_resolved": "http://r.tnpm.oa.com/jsprim/-/jsprim-1.4.1.tgz", - "_shasum": "313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2", + "_resolved": "http://r.tnpm.oa.com/jsprim/-/jsprim-1.4.2.tgz", + "_shasum": "712c65533a15c878ba59e9ed5f0e26d5b77c5feb", "_spec": "jsprim@^1.2.2", "_where": "/data/__qci/root-workspaces/__qci-pipeline-23420-1/scf-cos-unzip-file/src/node_modules/http-signature", "bugs": { @@ -29,14 +29,14 @@ "dependencies": { "assert-plus": "1.0.0", "extsprintf": "1.3.0", - "json-schema": "0.2.3", + "json-schema": "0.4.0", "verror": "1.10.0" }, "deprecated": false, "description": "utilities for primitive JavaScript types", - "engines": [ - "node >=0.6.0" - ], + "engines": { + "node": ">=0.6.0" + }, "homepage": "https://github.com/joyent/node-jsprim#readme", "license": "MIT", "main": "./lib/jsprim.js", @@ -45,5 +45,5 @@ "type": "git", "url": "git://github.com/joyent/node-jsprim.git" }, - "version": "1.4.1" + "version": "1.4.2" } diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/mime-db/HISTORY.md b/Nodejs12.16-COSUnzipFile/src/node_modules/mime-db/HISTORY.md index 68428f1200..7436f64146 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/mime-db/HISTORY.md +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/mime-db/HISTORY.md @@ -1,3 +1,11 @@ +1.52.0 / 2022-02-21 +=================== + + * Add extensions from IANA for more `image/*` types + * Add extension `.asc` to `application/pgp-keys` + * Add extensions to various XML types + * Add new upstream MIME types + 1.51.0 / 2021-11-08 =================== diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/mime-db/LICENSE b/Nodejs12.16-COSUnzipFile/src/node_modules/mime-db/LICENSE index a7ae8ee9b8..0751cb10e9 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/mime-db/LICENSE +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/mime-db/LICENSE @@ -1,22 +1,23 @@ +(The MIT License) -The MIT License (MIT) +Copyright (c) 2014 Jonathan Ong +Copyright (c) 2015-2022 Douglas Christopher Wilson -Copyright (c) 2014 Jonathan Ong me@jongleberry.com +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +'Software'), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. +THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/mime-db/README.md b/Nodejs12.16-COSUnzipFile/src/node_modules/mime-db/README.md index 41c696a30d..5a8fcfe4d0 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/mime-db/README.md +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/mime-db/README.md @@ -6,7 +6,7 @@ [![Build Status][ci-image]][ci-url] [![Coverage Status][coveralls-image]][coveralls-url] -This is a database of all mime types. +This is a large database of mime types and information about them. It consists of a single, public JSON file and does not include any logic, allowing it to remain as un-opinionated as possible with an API. It aggregates data from the following sources: diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/mime-db/db.json b/Nodejs12.16-COSUnzipFile/src/node_modules/mime-db/db.json index a31a6e557b..eb9c42c457 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/mime-db/db.json +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/mime-db/db.json @@ -250,6 +250,10 @@ "application/cfw": { "source": "iana" }, + "application/city+json": { + "source": "iana", + "compressible": true + }, "application/clr": { "source": "iana" }, @@ -293,7 +297,8 @@ }, "application/cpl+xml": { "source": "iana", - "compressible": true + "compressible": true, + "extensions": ["cpl"] }, "application/csrattrs": { "source": "iana" @@ -328,6 +333,11 @@ "compressible": true, "extensions": ["mpd"] }, + "application/dash-patch+xml": { + "source": "iana", + "compressible": true, + "extensions": ["mpp"] + }, "application/dashdelta": { "source": "iana" }, @@ -868,7 +878,8 @@ }, "application/media-policy-dataset+xml": { "source": "iana", - "compressible": true + "compressible": true, + "extensions": ["mpf"] }, "application/media_control+xml": { "source": "iana", @@ -1024,6 +1035,9 @@ "application/oauth-authz-req+jwt": { "source": "iana" }, + "application/oblivious-dns-message": { + "source": "iana" + }, "application/ocsp-request": { "source": "iana" }, @@ -1116,7 +1130,8 @@ "extensions": ["pgp"] }, "application/pgp-keys": { - "source": "iana" + "source": "iana", + "extensions": ["asc"] }, "application/pgp-signature": { "source": "iana", @@ -2647,6 +2662,10 @@ "application/vnd.ecip.rlp": { "source": "iana" }, + "application/vnd.eclipse.ditto+json": { + "source": "iana", + "compressible": true + }, "application/vnd.ecowin.chart": { "source": "iana", "extensions": ["mag"] @@ -2804,6 +2823,10 @@ "application/vnd.etsi.tsl.der": { "source": "iana" }, + "application/vnd.eu.kasparian.car+json": { + "source": "iana", + "compressible": true + }, "application/vnd.eudora.data": { "source": "iana" }, @@ -2834,6 +2857,10 @@ "application/vnd.f-secure.mobile": { "source": "iana" }, + "application/vnd.familysearch.gedcom+zip": { + "source": "iana", + "compressible": false + }, "application/vnd.fastcopy-disk-image": { "source": "iana" }, @@ -3124,6 +3151,16 @@ "source": "iana", "extensions": ["les"] }, + "application/vnd.hl7cda+xml": { + "source": "iana", + "charset": "UTF-8", + "compressible": true + }, + "application/vnd.hl7v2+xml": { + "source": "iana", + "charset": "UTF-8", + "compressible": true + }, "application/vnd.hp-hpgl": { "source": "iana", "extensions": ["hpgl"] @@ -3537,6 +3574,10 @@ "source": "iana", "compressible": true }, + "application/vnd.maxar.archive.3tz+zip": { + "source": "iana", + "compressible": false + }, "application/vnd.maxmind.maxmind-db": { "source": "iana" }, @@ -5157,6 +5198,10 @@ "source": "iana", "compressible": true }, + "application/vnd.syft+json": { + "source": "iana", + "compressible": true + }, "application/vnd.symbian.install": { "source": "apache", "extensions": ["sis","sisx"] @@ -5547,7 +5592,8 @@ }, "application/watcherinfo+xml": { "source": "iana", - "compressible": true + "compressible": true, + "extensions": ["wif"] }, "application/webpush-options+json": { "source": "iana", @@ -6967,10 +7013,12 @@ "extensions": ["apng"] }, "image/avci": { - "source": "iana" + "source": "iana", + "extensions": ["avci"] }, "image/avcs": { - "source": "iana" + "source": "iana", + "extensions": ["avcs"] }, "image/avif": { "source": "iana", diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/mime-db/index.js b/Nodejs12.16-COSUnzipFile/src/node_modules/mime-db/index.js index 551031f690..ec2be30de1 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/mime-db/index.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/mime-db/index.js @@ -1,6 +1,7 @@ /*! * mime-db * Copyright(c) 2014 Jonathan Ong + * Copyright(c) 2015-2022 Douglas Christopher Wilson * MIT Licensed */ diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/mime-db/package.json b/Nodejs12.16-COSUnzipFile/src/node_modules/mime-db/package.json index 4c6d4fb82f..2f5b40b7c6 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/mime-db/package.json +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/mime-db/package.json @@ -1,26 +1,26 @@ { - "_from": "mime-db@1.51.0", - "_id": "mime-db@1.51.0", + "_from": "mime-db@1.52.0", + "_id": "mime-db@1.52.0", "_inBundle": false, - "_integrity": "sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g==", + "_integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", "_location": "/mime-db", "_phantomChildren": {}, "_requested": { "type": "version", "registry": true, - "raw": "mime-db@1.51.0", + "raw": "mime-db@1.52.0", "name": "mime-db", "escapedName": "mime-db", - "rawSpec": "1.51.0", + "rawSpec": "1.52.0", "saveSpec": null, - "fetchSpec": "1.51.0" + "fetchSpec": "1.52.0" }, "_requiredBy": [ "/mime-types" ], - "_resolved": "http://r.tnpm.oa.com/mime-db/-/mime-db-1.51.0.tgz", - "_shasum": "d9ff62451859b18342d960850dc3cfb77e63fb0c", - "_spec": "mime-db@1.51.0", + "_resolved": "http://r.tnpm.oa.com/mime-db/-/mime-db-1.52.0.tgz", + "_shasum": "bbabcdc02859f4987301c856e3387ce5ec43bf70", + "_spec": "mime-db@1.52.0", "_where": "/data/__qci/root-workspaces/__qci-pipeline-23420-1/scf-cos-unzip-file/src/node_modules/mime-types", "bugs": { "url": "https://github.com/jshttp/mime-db/issues" @@ -51,15 +51,16 @@ "csv-parse": "4.16.3", "eslint": "7.32.0", "eslint-config-standard": "15.0.1", - "eslint-plugin-import": "2.25.2", + "eslint-plugin-import": "2.25.4", "eslint-plugin-markdown": "2.2.1", "eslint-plugin-node": "11.1.0", "eslint-plugin-promise": "5.1.1", "eslint-plugin-standard": "4.1.0", "gnode": "0.1.2", - "mocha": "9.1.3", + "media-typer": "1.1.0", + "mocha": "9.2.1", "nyc": "15.1.0", - "raw-body": "2.4.1", + "raw-body": "2.5.0", "stream-to-array": "2.3.0" }, "engines": { @@ -98,5 +99,5 @@ "update": "npm run fetch && npm run build", "version": "node scripts/version-history.js && git add HISTORY.md" }, - "version": "1.51.0" + "version": "1.52.0" } diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/mime-types/HISTORY.md b/Nodejs12.16-COSUnzipFile/src/node_modules/mime-types/HISTORY.md index 7484cf46f0..c5043b75b9 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/mime-types/HISTORY.md +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/mime-types/HISTORY.md @@ -1,3 +1,12 @@ +2.1.35 / 2022-03-12 +=================== + + * deps: mime-db@1.52.0 + - Add extensions from IANA for more `image/*` types + - Add extension `.asc` to `application/pgp-keys` + - Add extensions to various XML types + - Add new upstream MIME types + 2.1.34 / 2021-11-08 =================== diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/mime-types/README.md b/Nodejs12.16-COSUnzipFile/src/node_modules/mime-types/README.md index c978ac27a8..48d2fb4772 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/mime-types/README.md +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/mime-types/README.md @@ -103,7 +103,7 @@ A map of extensions by content-type. [MIT](LICENSE) [ci-image]: https://badgen.net/github/checks/jshttp/mime-types/master?label=ci -[ci-url]: https://github.com/jshttp/mime-types/actions?query=workflow%3Aci +[ci-url]: https://github.com/jshttp/mime-types/actions/workflows/ci.yml [coveralls-image]: https://badgen.net/coveralls/c/github/jshttp/mime-types/master [coveralls-url]: https://coveralls.io/r/jshttp/mime-types?branch=master [node-version-image]: https://badgen.net/npm/node/mime-types diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/mime-types/package.json b/Nodejs12.16-COSUnzipFile/src/node_modules/mime-types/package.json index 461995b9a7..7f0ee940f6 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/mime-types/package.json +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/mime-types/package.json @@ -1,8 +1,8 @@ { "_from": "mime-types@^2.1.24", - "_id": "mime-types@2.1.34", + "_id": "mime-types@2.1.35", "_inBundle": false, - "_integrity": "sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A==", + "_integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", "_location": "/mime-types", "_phantomChildren": {}, "_requested": { @@ -20,8 +20,8 @@ "/form-data", "/request" ], - "_resolved": "http://r.tnpm.oa.com/mime-types/-/mime-types-2.1.34.tgz", - "_shasum": "5a712f9ec1503511a945803640fafe09d3793c24", + "_resolved": "http://r.tnpm.oa.com/mime-types/-/mime-types-2.1.35.tgz", + "_shasum": "381a871b62a734450660ae3deee44813f70d959a", "_spec": "mime-types@^2.1.24", "_where": "/data/__qci/root-workspaces/__qci-pipeline-23420-1/scf-cos-unzip-file/src/node_modules/cos-nodejs-sdk-v5", "bugs": { @@ -45,19 +45,19 @@ } ], "dependencies": { - "mime-db": "1.51.0" + "mime-db": "1.52.0" }, "deprecated": false, "description": "The ultimate javascript content-type utility.", "devDependencies": { "eslint": "7.32.0", "eslint-config-standard": "14.1.1", - "eslint-plugin-import": "2.25.2", + "eslint-plugin-import": "2.25.4", "eslint-plugin-markdown": "2.2.1", "eslint-plugin-node": "11.1.0", - "eslint-plugin-promise": "5.1.1", + "eslint-plugin-promise": "5.2.0", "eslint-plugin-standard": "4.1.0", - "mocha": "9.1.3", + "mocha": "9.2.2", "nyc": "15.1.0" }, "engines": { @@ -85,5 +85,5 @@ "test-ci": "nyc --reporter=lcov --reporter=text npm test", "test-cov": "nyc --reporter=html --reporter=text npm test" }, - "version": "2.1.34" + "version": "2.1.35" } diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/node-fetch/lib/index.es.js b/Nodejs12.16-COSUnzipFile/src/node_modules/node-fetch/lib/index.es.js index 79f70d356b..4852f7cbac 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/node-fetch/lib/index.es.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/node-fetch/lib/index.es.js @@ -1401,9 +1401,17 @@ AbortError.prototype = Object.create(Error.prototype); AbortError.prototype.constructor = AbortError; AbortError.prototype.name = 'AbortError'; +const URL$1 = Url.URL || whatwgUrl.URL; + // fix an issue where "PassThrough", "resolve" aren't a named export for node <10 const PassThrough$1 = Stream.PassThrough; -const resolve_url = Url.resolve; + +const isDomainOrSubdomain = function isDomainOrSubdomain(destination, original) { + const orig = new URL$1(original).hostname; + const dest = new URL$1(destination).hostname; + + return orig === dest || orig[orig.length - dest.length - 1] === '.' && orig.endsWith(dest); +}; /** * Fetch function @@ -1491,7 +1499,19 @@ function fetch(url, opts) { const location = headers.get('Location'); // HTTP fetch step 5.3 - const locationURL = location === null ? null : resolve_url(request.url, location); + let locationURL = null; + try { + locationURL = location === null ? null : new URL$1(location, request.url).toString(); + } catch (err) { + // error here can only be invalid URL in Location: header + // do not throw when options.redirect == manual + // let the user extract the errorneous redirect URL + if (request.redirect !== 'manual') { + reject(new FetchError(`uri requested responds with an invalid redirect URL: ${location}`, 'invalid-redirect')); + finalize(); + return; + } + } // HTTP fetch step 5.5 switch (request.redirect) { @@ -1539,6 +1559,12 @@ function fetch(url, opts) { size: request.size }; + if (!isDomainOrSubdomain(request.url, locationURL)) { + for (const name of ['authorization', 'www-authenticate', 'cookie', 'cookie2']) { + requestOpts.headers.delete(name); + } + } + // HTTP-redirect fetch step 9 if (res.statusCode !== 303 && request.body && getTotalBytes(request) === null) { reject(new FetchError('Cannot follow redirect with body being a readable stream', 'unsupported-redirect')); diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/node-fetch/lib/index.js b/Nodejs12.16-COSUnzipFile/src/node_modules/node-fetch/lib/index.js index 45d3985c37..e5b04f107f 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/node-fetch/lib/index.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/node-fetch/lib/index.js @@ -1405,9 +1405,17 @@ AbortError.prototype = Object.create(Error.prototype); AbortError.prototype.constructor = AbortError; AbortError.prototype.name = 'AbortError'; +const URL$1 = Url.URL || whatwgUrl.URL; + // fix an issue where "PassThrough", "resolve" aren't a named export for node <10 const PassThrough$1 = Stream.PassThrough; -const resolve_url = Url.resolve; + +const isDomainOrSubdomain = function isDomainOrSubdomain(destination, original) { + const orig = new URL$1(original).hostname; + const dest = new URL$1(destination).hostname; + + return orig === dest || orig[orig.length - dest.length - 1] === '.' && orig.endsWith(dest); +}; /** * Fetch function @@ -1495,7 +1503,19 @@ function fetch(url, opts) { const location = headers.get('Location'); // HTTP fetch step 5.3 - const locationURL = location === null ? null : resolve_url(request.url, location); + let locationURL = null; + try { + locationURL = location === null ? null : new URL$1(location, request.url).toString(); + } catch (err) { + // error here can only be invalid URL in Location: header + // do not throw when options.redirect == manual + // let the user extract the errorneous redirect URL + if (request.redirect !== 'manual') { + reject(new FetchError(`uri requested responds with an invalid redirect URL: ${location}`, 'invalid-redirect')); + finalize(); + return; + } + } // HTTP fetch step 5.5 switch (request.redirect) { @@ -1543,6 +1563,12 @@ function fetch(url, opts) { size: request.size }; + if (!isDomainOrSubdomain(request.url, locationURL)) { + for (const name of ['authorization', 'www-authenticate', 'cookie', 'cookie2']) { + requestOpts.headers.delete(name); + } + } + // HTTP-redirect fetch step 9 if (res.statusCode !== 303 && request.body && getTotalBytes(request) === null) { reject(new FetchError('Cannot follow redirect with body being a readable stream', 'unsupported-redirect')); diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/node-fetch/lib/index.mjs b/Nodejs12.16-COSUnzipFile/src/node_modules/node-fetch/lib/index.mjs index 31260e5048..49ee05ecf0 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/node-fetch/lib/index.mjs +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/node-fetch/lib/index.mjs @@ -1399,9 +1399,17 @@ AbortError.prototype = Object.create(Error.prototype); AbortError.prototype.constructor = AbortError; AbortError.prototype.name = 'AbortError'; +const URL$1 = Url.URL || whatwgUrl.URL; + // fix an issue where "PassThrough", "resolve" aren't a named export for node <10 const PassThrough$1 = Stream.PassThrough; -const resolve_url = Url.resolve; + +const isDomainOrSubdomain = function isDomainOrSubdomain(destination, original) { + const orig = new URL$1(original).hostname; + const dest = new URL$1(destination).hostname; + + return orig === dest || orig[orig.length - dest.length - 1] === '.' && orig.endsWith(dest); +}; /** * Fetch function @@ -1489,7 +1497,19 @@ function fetch(url, opts) { const location = headers.get('Location'); // HTTP fetch step 5.3 - const locationURL = location === null ? null : resolve_url(request.url, location); + let locationURL = null; + try { + locationURL = location === null ? null : new URL$1(location, request.url).toString(); + } catch (err) { + // error here can only be invalid URL in Location: header + // do not throw when options.redirect == manual + // let the user extract the errorneous redirect URL + if (request.redirect !== 'manual') { + reject(new FetchError(`uri requested responds with an invalid redirect URL: ${location}`, 'invalid-redirect')); + finalize(); + return; + } + } // HTTP fetch step 5.5 switch (request.redirect) { @@ -1537,6 +1557,12 @@ function fetch(url, opts) { size: request.size }; + if (!isDomainOrSubdomain(request.url, locationURL)) { + for (const name of ['authorization', 'www-authenticate', 'cookie', 'cookie2']) { + requestOpts.headers.delete(name); + } + } + // HTTP-redirect fetch step 9 if (res.statusCode !== 303 && request.body && getTotalBytes(request) === null) { reject(new FetchError('Cannot follow redirect with body being a readable stream', 'unsupported-redirect')); diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/node-fetch/package.json b/Nodejs12.16-COSUnzipFile/src/node_modules/node-fetch/package.json index 8d85741bea..f33cfc5124 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/node-fetch/package.json +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/node-fetch/package.json @@ -1,8 +1,8 @@ { "_from": "node-fetch@^2.2.0", - "_id": "node-fetch@2.6.6", + "_id": "node-fetch@2.6.7", "_inBundle": false, - "_integrity": "sha512-Z8/6vRlTUChSdIgMa51jxQ4lrw/Jy5SOW10ObaA47/RElsAN2c5Pn8bTgFGWn/ibwzXTE8qwr1Yzx28vsecXEA==", + "_integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", "_location": "/node-fetch", "_phantomChildren": {}, "_requested": { @@ -18,8 +18,8 @@ "_requiredBy": [ "/tencentcloud-sdk-nodejs" ], - "_resolved": "http://r.tnpm.oa.com/node-fetch/-/node-fetch-2.6.6.tgz", - "_shasum": "1751a7c01834e8e1697758732e9efb6eeadfaf89", + "_resolved": "http://r.tnpm.oa.com/node-fetch/-/node-fetch-2.6.7.tgz", + "_shasum": "24de9fba827e3b4ae44dc8b20256a379160052ad", "_spec": "node-fetch@^2.2.0", "_where": "/data/__qci/root-workspaces/__qci-pipeline-23420-1/scf-cos-unzip-file/src/node_modules/tencentcloud-sdk-nodejs", "author": { @@ -80,6 +80,14 @@ "main": "lib/index.js", "module": "lib/index.mjs", "name": "node-fetch", + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + }, "repository": { "type": "git", "url": "git+https://github.com/bitinn/node-fetch.git" @@ -91,5 +99,5 @@ "report": "cross-env BABEL_ENV=coverage nyc --reporter lcov --reporter text mocha -R spec test/test.js", "test": "cross-env BABEL_ENV=test mocha --require babel-register --throw-deprecation test/test.js" }, - "version": "2.6.6" + "version": "2.6.7" } diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/psl/README.md b/Nodejs12.16-COSUnzipFile/src/node_modules/psl/README.md index e876c3d6f6..e05710a2b6 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/psl/README.md +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/psl/README.md @@ -1,10 +1,6 @@ # psl (Public Suffix List) -[![NPM](https://nodei.co/npm/psl.png?downloads=true&downloadRank=true)](https://nodei.co/npm/psl/) - -[![Greenkeeper badge](https://badges.greenkeeper.io/lupomontero/psl.svg)](https://greenkeeper.io/) -[![Build Status](https://travis-ci.org/lupomontero/psl.svg?branch=master)](https://travis-ci.org/lupomontero/psl) -[![devDependency Status](https://david-dm.org/lupomontero/psl/dev-status.png)](https://david-dm.org/lupomontero/psl#info=devDependencies) +[![Node.js CI](https://github.com/lupomontero/psl/actions/workflows/node.js.yml/badge.svg)](https://github.com/lupomontero/psl/actions/workflows/node.js.yml) `psl` is a `JavaScript` domain name parser based on the [Public Suffix List](https://publicsuffix.org/). diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/psl/data/rules.json b/Nodejs12.16-COSUnzipFile/src/node_modules/psl/data/rules.json index e19abdc893..aaae4173cf 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/psl/data/rules.json +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/psl/data/rules.json @@ -61,7 +61,6 @@ "express.aero", "federation.aero", "flight.aero", -"freight.aero", "fuel.aero", "gliding.aero", "government.aero", @@ -143,15 +142,19 @@ "it.ao", "aq", "ar", +"bet.ar", "com.ar", +"coop.ar", "edu.ar", "gob.ar", "gov.ar", "int.ar", "mil.ar", "musica.ar", +"mutual.ar", "net.ar", "org.ar", +"senasa.ar", "tur.ar", "arpa", "e164.arpa", @@ -168,6 +171,7 @@ "co.at", "gv.at", "or.at", +"sth.ac.at", "au", "com.au", "net.au", @@ -201,7 +205,6 @@ "tas.gov.au", "vic.gov.au", "wa.gov.au", -"education.tas.edu.au", "schools.nsw.edu.au", "aw", "com.aw", @@ -360,6 +363,7 @@ "am.br", "anani.br", "aparecida.br", +"app.br", "arq.br", "art.br", "ato.br", @@ -367,6 +371,7 @@ "barueri.br", "belem.br", "bhz.br", +"bib.br", "bio.br", "blog.br", "bmd.br", @@ -381,14 +386,19 @@ "com.br", "contagem.br", "coop.br", +"coz.br", "cri.br", "cuiaba.br", "curitiba.br", "def.br", +"des.br", +"det.br", +"dev.br", "ecn.br", "eco.br", "edu.br", "emp.br", +"enf.br", "eng.br", "esp.br", "etc.br", @@ -404,6 +414,7 @@ "foz.br", "fst.br", "g12.br", +"geo.br", "ggf.br", "goiania.br", "gov.br", @@ -446,6 +457,7 @@ "jus.br", "leg.br", "lel.br", +"log.br", "londrina.br", "macapa.br", "maceio.br", @@ -478,6 +490,7 @@ "radio.br", "rec.br", "recife.br", +"rep.br", "ribeirao.br", "rio.br", "riobranco.br", @@ -488,6 +501,7 @@ "santoandre.br", "saobernardo.br", "saogonca.br", +"seg.br", "sjc.br", "slg.br", "slz.br", @@ -495,6 +509,7 @@ "srv.br", "taxi.br", "tc.br", +"tec.br", "teo.br", "the.br", "tmp.br", @@ -576,7 +591,6 @@ "*.ck", "!www.ck", "cl", -"aprendemas.cl", "co.cl", "gob.cl", "gov.cl", @@ -663,6 +677,11 @@ "gov.cu", "inf.cu", "cv", +"com.cv", +"edu.cv", +"int.cv", +"nome.cv", +"org.cv", "cw", "com.cw", "edu.cw", @@ -677,10 +696,9 @@ "ekloges.cy", "gov.cy", "ltd.cy", -"name.cy", +"mil.cy", "net.cy", "org.cy", -"parliament.cy", "press.cy", "pro.cy", "tm.cy", @@ -706,14 +724,16 @@ "sld.do", "web.do", "dz", +"art.dz", +"asso.dz", "com.dz", +"edu.dz", +"gov.dz", "org.dz", "net.dz", -"gov.dz", -"edu.dz", -"asso.dz", "pol.dz", -"art.dz", +"soc.dz", +"tm.dz", "ec", "com.ec", "info.ec", @@ -780,6 +800,10 @@ "org.fj", "pro.fj", "*.fk", +"com.fm", +"edu.fm", +"net.fm", +"org.fm", "fm", "fo", "fr", @@ -806,6 +830,8 @@ "veterinaire.fr", "ga", "gb", +"edu.gd", +"gov.gd", "gd", "ge", "com.ge", @@ -900,7 +926,7 @@ "敎育.hk", "政府.hk", "個人.hk", -"个人.hk", +"个��.hk", "箇人.hk", "網络.hk", "网络.hk", @@ -3357,11 +3383,10 @@ "net.kw", "org.kw", "ky", -"edu.ky", -"gov.ky", "com.ky", -"org.ky", +"edu.ky", "net.ky", +"org.ky", "kz", "org.kz", "edu.kz", @@ -4111,13 +4136,14 @@ "edu.mx", "net.mx", "my", +"biz.my", "com.my", -"net.my", -"org.my", -"gov.my", "edu.my", +"gov.my", "mil.my", "name.my", +"net.my", +"org.my", "mz", "ac.mz", "adv.mz", @@ -5453,15 +5479,16 @@ "com.ss", "edu.ss", "gov.ss", +"me.ss", "net.ss", "org.ss", +"sch.ss", "st", "co.st", "com.st", "consulado.st", "edu.st", "embaixada.st", -"gov.st", "mil.st", "net.st", "org.st", @@ -5535,21 +5562,14 @@ "fin.tn", "gov.tn", "ind.tn", +"info.tn", "intl.tn", +"mincom.tn", "nat.tn", "net.tn", "org.tn", -"info.tn", "perso.tn", "tourism.tn", -"edunet.tn", -"rnrt.tn", -"rns.tn", -"rnu.tn", -"mincom.tn", -"agrinet.tn", -"defense.tn", -"turen.tn", "to", "com.to", "gov.to", @@ -5648,7 +5668,6 @@ "dn.ua", "dnepropetrovsk.ua", "dnipropetrovsk.ua", -"dominic.ua", "donetsk.ua", "dp.ua", "if.ua", @@ -5826,7 +5845,6 @@ "k12.or.us", "k12.pa.us", "k12.pr.us", -"k12.ri.us", "k12.sc.us", "k12.tn.us", "k12.tx.us", @@ -5978,6 +5996,7 @@ "edu.vc", "ve", "arts.ve", +"bib.ve", "co.ve", "com.ve", "e12.ve", @@ -5989,7 +6008,9 @@ "int.ve", "mil.ve", "net.ve", +"nom.ve", "org.ve", +"rar.ve", "rec.ve", "store.ve", "tec.ve", @@ -6031,6 +6052,7 @@ "հայ", "বাংলা", "бг", +"البحرين", "бел", "中国", "中國", @@ -6069,6 +6091,7 @@ "الاردن", "한국", "қаз", +"ລາວ", "ලංකා", "இலங்கை", "المغرب", @@ -6113,7 +6136,13 @@ "укр", "اليمن", "xxx", -"*.ye", +"ye", +"com.ye", +"edu.ye", +"gov.ye", +"net.ye", +"mil.ye", +"org.ye", "ac.za", "agric.za", "alt.za", @@ -6171,13 +6200,11 @@ "adult", "aeg", "aetna", -"afamilycompany", "afl", "africa", "agakhan", "agency", "aig", -"aigo", "airbus", "airforce", "airtel", @@ -6293,7 +6320,6 @@ "broker", "brother", "brussels", -"budapest", "bugatti", "build", "builders", @@ -6323,7 +6349,6 @@ "cars", "casa", "case", -"caseih", "cash", "casino", "catering", @@ -6332,7 +6357,6 @@ "cbn", "cbre", "cbs", -"ceb", "center", "ceo", "cern", @@ -6399,7 +6423,6 @@ "crs", "cruise", "cruises", -"csc", "cuisinella", "cymru", "cyou", @@ -6447,7 +6470,6 @@ "drive", "dtv", "dubai", -"duck", "dunlop", "dupont", "durban", @@ -6470,7 +6492,6 @@ "erni", "esq", "estate", -"esurance", "etisalat", "eurovision", "eus", @@ -6533,7 +6554,6 @@ "frontier", "ftr", "fujitsu", -"fujixerox", "fun", "fund", "furniture", @@ -6559,7 +6579,6 @@ "gifts", "gives", "giving", -"glade", "glass", "gle", "global", @@ -6651,7 +6670,6 @@ "institute", "insurance", "insure", -"intel", "international", "intuit", "investments", @@ -6662,11 +6680,9 @@ "istanbul", "itau", "itv", -"iveco", "jaguar", "java", "jcb", -"jcp", "jeep", "jetzt", "jewelry", @@ -6688,6 +6704,7 @@ "kerryproperties", "kfh", "kia", +"kids", "kim", "kinder", "kindle", @@ -6739,7 +6756,6 @@ "lipsy", "live", "living", -"lixil", "llc", "llp", "loan", @@ -6757,7 +6773,6 @@ "ltd", "ltda", "lundbeck", -"lupin", "luxe", "luxury", "macys", @@ -6787,7 +6802,6 @@ "men", "menu", "merckmsd", -"metlife", "miami", "microsoft", "mini", @@ -6815,11 +6829,10 @@ "msd", "mtn", "mtr", +"music", "mutual", "nab", -"nadex", "nagoya", -"nationwide", "natura", "navy", "nba", @@ -6829,7 +6842,6 @@ "network", "neustar", "new", -"newholland", "news", "next", "nextdirect", @@ -6855,7 +6867,6 @@ "nyc", "obi", "observer", -"off", "office", "okinawa", "olayan", @@ -6867,7 +6878,6 @@ "ong", "onl", "online", -"onyourside", "ooo", "open", "oracle", @@ -6936,10 +6946,8 @@ "qpon", "quebec", "quest", -"qvc", "racing", "radio", -"raid", "read", "realestate", "realtor", @@ -6967,11 +6975,9 @@ "rich", "richardli", "ricoh", -"rightathome", "ril", "rio", "rip", -"rmit", "rocher", "rocks", "rodeo", @@ -7010,8 +7016,6 @@ "schule", "schwarz", "science", -"scjohnson", -"scor", "scot", "search", "seat", @@ -7039,7 +7043,6 @@ "shouji", "show", "showtime", -"shriram", "silk", "sina", "singles", @@ -7066,7 +7069,6 @@ "space", "sport", "spot", -"spreadbetting", "srl", "stada", "staples", @@ -7090,10 +7092,8 @@ "surgery", "suzuki", "swatch", -"swiftcover", "swiss", "sydney", -"symantec", "systems", "tab", "taipei", @@ -7200,7 +7200,6 @@ "webcam", "weber", "website", -"wed", "wedding", "weibo", "weir", @@ -7232,7 +7231,6 @@ "慈善", "集团", "在线", -"大众汽车", "点看", "คอม", "八卦", @@ -7264,7 +7262,6 @@ "дети", "ポイント", "新闻", -"工行", "家電", "كوم", "中文网", @@ -7284,7 +7281,6 @@ "诺基亚", "食品", "飞利浦", -"手表", "手机", "ارامكو", "العليان", @@ -7303,7 +7299,6 @@ "健康", "招聘", "рус", -"珠宝", "大拿", "みんな", "グーグル", @@ -7342,13 +7337,24 @@ "cc.ua", "inf.ua", "ltd.ua", +"611.to", +"graphox.us", +"*.devcdnaccesso.com", "adobeaemcloud.com", -"adobeaemcloud.net", "*.dev.adobeaemcloud.com", +"hlx.live", +"adobeaemcloud.net", +"hlx.page", +"hlx3.page", "beep.pl", +"airkitapps.com", +"airkitapps-au.com", +"airkitapps.eu", +"aivencloud.com", "barsy.ca", "*.compute.estate", "*.alces.network", +"kasserver.com", "altervista.org", "alwaysdata.net", "cloudfront.net", @@ -7378,6 +7384,7 @@ "us-west-2.elasticbeanstalk.com", "*.elb.amazonaws.com", "*.elb.amazonaws.com.cn", +"awsglobalaccelerator.com", "s3.amazonaws.com", "s3-ap-northeast-1.amazonaws.com", "s3-ap-northeast-2.amazonaws.com", @@ -7432,10 +7439,13 @@ "s3-website.eu-west-2.amazonaws.com", "s3-website.eu-west-3.amazonaws.com", "s3-website.us-east-2.amazonaws.com", -"amsw.nl", "t3l3p0rt.net", "tele.amune.org", "apigee.io", +"siiites.com", +"appspacehosted.com", +"appspaceusercontent.com", +"appudo.net", "on-aptible.com", "user.aseinet.ne.jp", "gv.vc", @@ -7446,17 +7456,39 @@ "potager.org", "sweetpepper.org", "myasustor.com", +"cdn.prod.atlassian-dev.net", +"translated.page", "myfritz.net", +"onavstack.net", "*.awdev.ca", "*.advisor.ws", +"ecommerce-shop.pl", "b-data.io", "backplaneapp.io", "balena-devices.com", +"rs.ba", +"*.banzai.cloud", "app.banzaicloud.io", +"*.backyards.banzaicloud.io", +"base.ec", +"official.ec", +"buyshop.jp", +"fashionstore.jp", +"handcrafted.jp", +"kawaiishop.jp", +"supersale.jp", +"theshop.jp", +"shopselect.net", +"base.shop", +"*.beget.app", "betainabox.com", "bnr.la", +"bitbucket.io", "blackbaudcdn.net", +"of.je", +"bluebite.io", "boomla.net", +"boutir.com", "boxfuse.io", "square7.ch", "bplaced.com", @@ -7464,55 +7496,67 @@ "square7.de", "bplaced.net", "square7.net", +"shop.brendly.rs", "browsersafetymark.io", "uk0.bigv.io", "dh.bytemark.co.uk", "vm.bytemark.co.uk", +"cafjs.com", "mycd.eu", +"drr.ac", +"uwu.ai", "carrd.co", "crd.co", -"uwu.ai", +"ju.mp", "ae.org", -"ar.com", "br.com", "cn.com", "com.de", "com.se", "de.com", "eu.com", -"gb.com", "gb.net", -"hu.com", "hu.net", "jp.net", "jpn.com", -"kr.com", "mex.com", -"no.com", -"qc.com", "ru.com", "sa.com", "se.net", "uk.com", "uk.net", "us.com", -"uy.com", "za.bz", "za.com", +"ar.com", +"hu.com", +"kr.com", +"no.com", +"qc.com", +"uy.com", "africa.com", "gr.com", "in.net", +"web.in", "us.org", "co.com", +"aus.basketball", +"nz.basketball", +"radio.am", +"radio.fm", "c.la", "certmgr.org", -"xenapponazure.com", +"cx.ua", "discourse.group", "discourse.team", -"virtueeldomein.nl", "cleverapps.io", +"clerk.app", +"clerkstage.app", "*.lcl.dev", +"*.lclstage.dev", "*.stg.dev", +"*.stgstage.dev", +"clickrising.net", "c66.me", "cloud66.ws", "cloud66.zone", @@ -7523,7 +7567,8 @@ "cloudaccess.net", "cloudcontrolled.com", "cloudcontrolapp.com", -"cloudera.site", +"*.cloudera.site", +"pages.dev", "trycloudflare.com", "workers.dev", "wnext.app", @@ -7546,8 +7591,8 @@ "cloudns.pro", "cloudns.pw", "cloudns.us", -"cloudeity.net", "cnpy.gdn", +"codeberg.page", "co.nl", "co.no", "webhosting.be", @@ -7570,12 +7615,16 @@ "realm.cz", "*.cryptonomic.net", "cupcake.is", +"curv.dev", "*.customer-oci.com", "*.oci.customer-oci.com", "*.ocp.customer-oci.com", "*.ocs.customer-oci.com", "cyon.link", "cyon.site", +"fnwk.site", +"folionetwork.site", +"platform0.app", "daplie.me", "localhost.daplie.me", "dattolocal.com", @@ -7589,21 +7638,37 @@ "firm.dk", "reg.dk", "store.dk", +"dyndns.dappnode.io", "*.dapps.earth", "*.bzz.dapps.earth", "builtwithdark.com", +"demo.datadetect.com", +"instance.datadetect.com", "edgestack.me", +"ddns5.com", "debian.net", +"deno.dev", +"deno-staging.dev", "dedyn.io", +"deta.app", +"deta.dev", +"*.rss.my.id", +"*.diher.solutions", +"discordsays.com", +"discordsez.com", +"jozi.biz", "dnshome.de", "online.th", "shop.th", "drayddns.com", +"shoparena.pl", "dreamhosters.com", "mydrobo.com", "drud.io", "drud.us", "duckdns.org", +"bip.sh", +"bitbridge.net", "dy.fi", "tunk.org", "dyndns-at-home.com", @@ -7896,6 +7961,8 @@ "ddnss.org", "definima.net", "definima.io", +"ondigitalocean.app", +"*.digitaloceanspaces.com", "bci.dnstrace.pro", "ddnsfree.com", "ddnsgeek.com", @@ -7916,12 +7983,18 @@ "blogsite.xyz", "dynv6.net", "e4.cz", +"eero.online", +"eero-stage.online", +"elementor.cloud", +"elementor.cool", "en-root.fr", "mytuleap.com", +"tuleap-partners.com", +"encr.app", +"encoreapi.com", "onred.one", "staging.onred.one", -"enonic.io", -"customer.enonic.io", +"eu.encoway.cloud", "eu.org", "al.eu.org", "asso.eu.org", @@ -7978,6 +8051,7 @@ "tr.eu.org", "uk.eu.org", "us.eu.org", +"eurodir.ru", "eu-1.evennode.com", "eu-2.evennode.com", "eu-3.evennode.com", @@ -7991,6 +8065,7 @@ "twmail.org", "mymailer.com.tw", "url.tw", +"onfabrica.com", "apps.fbsbx.com", "ru.net", "adygeya.ru", @@ -8066,6 +8141,7 @@ "vologda.su", "channelsdvr.net", "u.channelsdvr.net", +"edgecompute.app", "fastly-terrarium.com", "fastlylb.net", "map.fastlylb.net", @@ -8076,15 +8152,21 @@ "a.ssl.fastly.net", "b.ssl.fastly.net", "global.ssl.fastly.net", -"fastpanel.direct", "fastvps-server.com", -"fhapp.xyz", +"fastvps.host", +"myfast.host", +"fastvps.site", +"myfast.space", "fedorainfracloud.org", "fedorapeople.org", "cloud.fedoraproject.org", "app.os.fedoraproject.org", "app.os.stg.fedoraproject.org", +"conn.uk", +"copro.uk", +"hosp.uk", "mydobiss.com", +"fh-muenster.io", "filegear.me", "filegear-au.me", "filegear-de.me", @@ -8093,8 +8175,20 @@ "filegear-jp.me", "filegear-sg.me", "firebaseapp.com", -"flynnhub.com", +"fireweb.app", +"flap.id", +"onflashdrive.app", +"fldrv.com", +"fly.dev", +"edgeapp.net", +"shw.io", "flynnhosting.net", +"forgeblocks.com", +"id.forgerock.io", +"framer.app", +"framercanvas.com", +"*.frusky.de", +"ravpage.co.il", "0e.vc", "freebox-os.com", "freeboxos.com", @@ -8103,6 +8197,8 @@ "freebox-os.fr", "freeboxos.fr", "freedesktop.org", +"freemyip.com", +"wien.funkfeuer.at", "*.futurecms.at", "*.ex.futurecms.at", "*.in.futurecms.at", @@ -8111,21 +8207,146 @@ "*.ex.ortsinfo.at", "*.kunden.ortsinfo.at", "*.statics.cloud", +"independent-commission.uk", +"independent-inquest.uk", +"independent-inquiry.uk", +"independent-panel.uk", +"independent-review.uk", +"public-inquiry.uk", +"royal-commission.uk", +"campaign.gov.uk", "service.gov.uk", +"api.gov.uk", "gehirn.ne.jp", "usercontent.jp", "gentapps.com", +"gentlentapis.com", "lab.ms", -"github.io", +"cdn-edges.net", +"ghost.io", +"gsj.bz", "githubusercontent.com", +"githubpreview.dev", +"github.io", "gitlab.io", +"gitapp.si", +"gitpage.si", "glitch.me", +"nog.community", +"co.ro", +"shop.ro", "lolipop.io", +"angry.jp", +"babyblue.jp", +"babymilk.jp", +"backdrop.jp", +"bambina.jp", +"bitter.jp", +"blush.jp", +"boo.jp", +"boy.jp", +"boyfriend.jp", +"but.jp", +"candypop.jp", +"capoo.jp", +"catfood.jp", +"cheap.jp", +"chicappa.jp", +"chillout.jp", +"chips.jp", +"chowder.jp", +"chu.jp", +"ciao.jp", +"cocotte.jp", +"coolblog.jp", +"cranky.jp", +"cutegirl.jp", +"daa.jp", +"deca.jp", +"deci.jp", +"digick.jp", +"egoism.jp", +"fakefur.jp", +"fem.jp", +"flier.jp", +"floppy.jp", +"fool.jp", +"frenchkiss.jp", +"girlfriend.jp", +"girly.jp", +"gloomy.jp", +"gonna.jp", +"greater.jp", +"hacca.jp", +"heavy.jp", +"her.jp", +"hiho.jp", +"hippy.jp", +"holy.jp", +"hungry.jp", +"icurus.jp", +"itigo.jp", +"jellybean.jp", +"kikirara.jp", +"kill.jp", +"kilo.jp", +"kuron.jp", +"littlestar.jp", +"lolipopmc.jp", +"lolitapunk.jp", +"lomo.jp", +"lovepop.jp", +"lovesick.jp", +"main.jp", +"mods.jp", +"mond.jp", +"mongolian.jp", +"moo.jp", +"namaste.jp", +"nikita.jp", +"nobushi.jp", +"noor.jp", +"oops.jp", +"parallel.jp", +"parasite.jp", +"pecori.jp", +"peewee.jp", +"penne.jp", +"pepper.jp", +"perma.jp", +"pigboat.jp", +"pinoko.jp", +"punyu.jp", +"pupu.jp", +"pussycat.jp", +"pya.jp", +"raindrop.jp", +"readymade.jp", +"sadist.jp", +"schoolbus.jp", +"secret.jp", +"staba.jp", +"stripper.jp", +"sub.jp", +"sunnyday.jp", +"thick.jp", +"tonkotsu.jp", +"under.jp", +"upper.jp", +"velvet.jp", +"verse.jp", +"versus.jp", +"vivian.jp", +"watson.jp", +"weblike.jp", +"whitesnow.jp", +"zombie.jp", +"heteml.net", "cloudapps.digital", "london.cloudapps.digital", +"pymnt.uk", "homeoffice.gov.uk", "ro.im", -"shop.ro", "goip.de", "run.app", "a.run.app", @@ -8133,6 +8354,18 @@ "*.0emm.com", "appspot.com", "*.r.appspot.com", +"codespot.com", +"googleapis.com", +"googlecode.com", +"pagespeedmobilizer.com", +"publishproxy.com", +"withgoogle.com", +"withyoutube.com", +"*.gateway.dev", +"cloud.goog", +"translate.goog", +"*.usercontent.goog", +"cloudfunctions.net", "blogspot.ae", "blogspot.al", "blogspot.am", @@ -8207,16 +8440,11 @@ "blogspot.tw", "blogspot.ug", "blogspot.vn", -"cloudfunctions.net", -"cloud.goog", -"codespot.com", -"googleapis.com", -"googlecode.com", -"pagespeedmobilizer.com", -"publishproxy.com", -"withgoogle.com", -"withyoutube.com", +"goupile.fr", +"gov.nl", "awsmppl.com", +"günstigbestellen.de", +"günstigliefern.de", "fin.ci", "free.hr", "caa.li", @@ -8227,30 +8455,42 @@ "hashbang.sh", "hasura.app", "hasura-app.io", +"pages.it.hs-heilbronn.de", "hepforge.org", "herokuapp.com", "herokussl.com", +"ravendb.cloud", "myravendb.com", "ravendb.community", "ravendb.me", "development.run", "ravendb.run", -"bpl.biz", +"homesklep.pl", +"secaas.hk", +"hoplix.shop", "orx.biz", -"ng.city", "biz.gl", -"ng.ink", "col.ng", "firm.ng", "gen.ng", "ltd.ng", "ngo.ng", -"ng.school", +"edu.scot", "sch.so", +"hostyhosting.io", "häkkinen.fi", "*.moonscale.io", "moonscale.net", "iki.fi", +"ibxos.it", +"iliadboxos.it", +"impertrixcdn.com", +"impertrix.com", +"smushcdn.com", +"wphostedmail.com", +"wpmucdn.com", +"tempurl.host", +"wpmudev.host", "dyn-berlin.de", "in-berlin.de", "in-brb.de", @@ -8292,28 +8532,124 @@ "sp.leg.br", "to.leg.br", "pixolino.com", +"na4u.ru", +"iopsys.se", "ipifony.net", +"iservschule.de", "mein-iserv.de", +"schulplattform.de", +"schulserver.de", "test-iserv.de", "iserv.dev", "iobb.net", +"mel.cloudlets.com.au", +"cloud.interhostsolutions.be", +"users.scale.virtualcloud.com.br", +"mycloud.by", +"alp1.ae.flow.ch", +"appengine.flow.ch", +"es-1.axarnet.cloud", +"diadem.cloud", +"vip.jelastic.cloud", +"jele.cloud", +"it1.eur.aruba.jenv-aruba.cloud", +"it1.jenv-aruba.cloud", +"keliweb.cloud", +"cs.keliweb.cloud", +"oxa.cloud", +"tn.oxa.cloud", +"uk.oxa.cloud", +"primetel.cloud", +"uk.primetel.cloud", +"ca.reclaim.cloud", +"uk.reclaim.cloud", +"us.reclaim.cloud", +"ch.trendhosting.cloud", +"de.trendhosting.cloud", +"jele.club", +"amscompute.com", +"clicketcloud.com", +"dopaas.com", +"hidora.com", +"paas.hosted-by-previder.com", +"rag-cloud.hosteur.com", +"rag-cloud-ch.hosteur.com", +"jcloud.ik-server.com", +"jcloud-ver-jpc.ik-server.com", +"demo.jelastic.com", +"kilatiron.com", +"paas.massivegrid.com", +"jed.wafaicloud.com", +"lon.wafaicloud.com", +"ryd.wafaicloud.com", +"j.scaleforce.com.cy", +"jelastic.dogado.eu", +"fi.cloudplatform.fi", +"demo.datacenter.fi", +"paas.datacenter.fi", +"jele.host", +"mircloud.host", +"paas.beebyte.io", +"sekd1.beebyteapp.io", +"jele.io", +"cloud-fr1.unispace.io", +"jc.neen.it", +"cloud.jelastic.open.tim.it", +"jcloud.kz", +"upaas.kazteleport.kz", +"cloudjiffy.net", +"fra1-de.cloudjiffy.net", +"west1-us.cloudjiffy.net", +"jls-sto1.elastx.net", +"jls-sto2.elastx.net", +"jls-sto3.elastx.net", +"faststacks.net", +"fr-1.paas.massivegrid.net", +"lon-1.paas.massivegrid.net", +"lon-2.paas.massivegrid.net", +"ny-1.paas.massivegrid.net", +"ny-2.paas.massivegrid.net", +"sg-1.paas.massivegrid.net", +"jelastic.saveincloud.net", +"nordeste-idc.saveincloud.net", +"j.scaleforce.net", +"jelastic.tsukaeru.net", +"sdscloud.pl", +"unicloud.pl", +"mircloud.ru", +"jelastic.regruhosting.ru", +"enscaled.sg", +"jele.site", +"jelastic.team", +"orangecloud.tn", +"j.layershift.co.uk", +"phx.enscaled.us", +"mircloud.us", "myjino.ru", "*.hosting.myjino.ru", "*.landing.myjino.ru", "*.spectrum.myjino.ru", "*.vps.myjino.ru", +"jotelulu.cloud", "*.triton.zone", "*.cns.joyent.com", "js.org", "kaas.gg", "khplay.nl", +"ktistory.com", +"kapsi.fi", "keymachine.de", "kinghost.net", "uni5.net", "knightpoint.systems", +"koobin.events", "oya.to", +"kuleuven.cloud", +"ezproxy.kuleuven.be", "co.krd", "edu.krd", +"krellian.net", +"webthings.io", "git-repos.de", "lcube-server.de", "svn-repos.de", @@ -8329,24 +8665,28 @@ "co.place", "co.technology", "app.lmpm.com", -"linkitools.space", "linkyard.cloud", "linkyard-cloud.ch", "members.linode.com", -"nodebalancer.linode.com", +"*.nodebalancer.linode.com", +"*.linodeobjects.com", +"ip.linodeusercontent.com", "we.bs", +"*.user.localcert.dev", +"localzone.xyz", "loginline.app", "loginline.dev", "loginline.io", "loginline.services", "loginline.site", +"servers.run", +"lohmus.me", "krasnik.pl", "leczna.pl", "lubartow.pl", "lublin.pl", "poniatowa.pl", "swidnik.pl", -"uklugs.org", "glug.org.uk", "lug.org.uk", "lugs.org.uk", @@ -8369,6 +8709,7 @@ "barsy.org", "barsy.pro", "barsy.pub", +"barsy.ro", "barsy.shop", "barsy.site", "barsy.support", @@ -8377,45 +8718,89 @@ "mayfirst.info", "mayfirst.org", "hb.cldmail.ru", +"cn.vu", +"mazeplay.com", +"mcpe.me", +"mcdir.me", +"mcdir.ru", +"mcpre.ru", +"vps.mcdir.ru", +"mediatech.by", +"mediatech.dev", +"hra.health", "miniserver.com", "memset.net", -"cloud.metacentrum.cz", +"messerli.app", +"*.cloud.metacentrum.cz", "custom.metacentrum.cz", "flt.cloud.muni.cz", "usr.cloud.muni.cz", "meteorapp.com", "eu.meteorapp.com", "co.pl", -"azurecontainer.io", +"*.azurecontainer.io", "azurewebsites.net", "azure-mobile.net", "cloudapp.net", +"azurestaticapps.net", +"1.azurestaticapps.net", +"centralus.azurestaticapps.net", +"eastasia.azurestaticapps.net", +"eastus2.azurestaticapps.net", +"westeurope.azurestaticapps.net", +"westus2.azurestaticapps.net", +"csx.cc", +"mintere.site", +"forte.id", "mozilla-iot.org", "bmoattachments.org", "net.ru", "org.ru", "pp.ru", +"hostedpi.com", +"customer.mythic-beasts.com", +"caracal.mythic-beasts.com", +"fentiger.mythic-beasts.com", +"lynx.mythic-beasts.com", +"ocelot.mythic-beasts.com", +"oncilla.mythic-beasts.com", +"onza.mythic-beasts.com", +"sphinx.mythic-beasts.com", +"vs.mythic-beasts.com", +"x.mythic-beasts.com", +"yali.mythic-beasts.com", +"cust.retrosnub.co.uk", "ui.nabu.casa", "pony.club", "of.fashion", -"on.fashion", -"of.football", "in.london", "of.london", +"from.marketing", +"with.marketing", "for.men", +"repair.men", "and.mom", "for.mom", "for.one", +"under.one", "for.sale", -"of.work", +"that.win", +"from.work", "to.work", -"nctu.me", -"bitballoon.com", -"netlify.com", +"cloud.nospamproxy.com", +"netlify.app", "4u.com", "ngrok.io", "nh-serv.co.uk", "nfshost.com", +"*.developer.app", +"noop.app", +"*.northflank.app", +"*.build.run", +"*.code.run", +"*.database.run", +"*.migration.run", +"noticeable.news", "dnsking.ch", "mypi.co", "n4t.co", @@ -8529,75 +8914,39 @@ "webhop.me", "zapto.org", "stage.nodeart.io", -"nodum.co", -"nodum.io", "pcloud.host", "nyc.mn", -"nom.ae", -"nom.af", -"nom.ai", -"nom.al", -"nym.by", -"nom.bz", -"nym.bz", -"nom.cl", -"nym.ec", -"nom.gd", -"nom.ge", -"nom.gl", -"nym.gr", -"nom.gt", -"nym.gy", -"nym.hk", -"nom.hn", -"nym.ie", -"nom.im", -"nom.ke", -"nym.kz", -"nym.la", -"nym.lc", -"nom.li", -"nym.li", -"nym.lt", -"nym.lu", -"nom.lv", -"nym.me", -"nom.mk", -"nym.mn", -"nym.mx", -"nom.nu", -"nym.nz", -"nym.pe", -"nym.pt", -"nom.pw", -"nom.qa", -"nym.ro", -"nom.rs", -"nom.si", -"nym.sk", -"nom.st", -"nym.su", -"nym.sx", -"nom.tj", -"nym.tw", -"nom.ug", -"nom.uy", -"nom.vc", -"nom.vg", "static.observableusercontent.com", "cya.gg", +"omg.lol", "cloudycluster.net", +"omniwe.site", +"service.one", "nid.io", +"opensocial.site", "opencraft.hosting", +"orsites.com", "operaunite.com", +"tech.orange", +"authgear-staging.com", +"authgearapps.com", "skygearapp.com", "outsystemscloud.com", +"*.webpaas.ovh.net", +"*.hosting.ovh.net", "ownprovider.com", "own.pm", +"*.owo.codes", "ox.rs", "oy.lc", "pgfog.com", "pagefrontapp.com", +"pagexl.com", +"*.paywhirl.com", +"bar0.net", +"bar1.net", +"bar2.net", +"rdv.to", "art.pl", "gliwice.pl", "krakow.pl", @@ -8608,11 +8957,28 @@ "gotpantheon.com", "mypep.link", "perspecta.cloud", +"lk3.ru", "on-web.fr", -"*.platform.sh", +"bc.platform.sh", +"ent.platform.sh", +"eu.platform.sh", +"us.platform.sh", "*.platformsh.site", +"*.tst.site", +"platter-app.com", +"platter-app.dev", +"platterp.us", +"pdns.page", +"plesk.page", +"pleskns.com", "dyn53.io", +"onporter.run", "co.bn", +"postman-echo.com", +"pstmn.io", +"mock.pstmn.io", +"httpbin.org", +"prequalifyme.today", "xen.prgmr.com", "priv.at", "prvcy.page", @@ -8621,8 +8987,13 @@ "chirurgiens-dentistes-en-france.fr", "byen.site", "pubtls.org", +"pythonanywhere.com", +"eu.pythonanywhere.com", +"qoto.io", "qualifioapp.com", "qbuser.com", +"cloudsite.builders", +"instances.spawn.cc", "instantcloud.cn", "ras.ru", "qa2.com", @@ -8636,6 +9007,7 @@ "vaporcloud.io", "rackmaze.com", "rackmaze.net", +"g.vbrplsbx.io", "*.on-k3s.io", "*.on-rancher.cloud", "*.on-rio.io", @@ -8644,19 +9016,61 @@ "app.render.com", "onrender.com", "repl.co", +"id.repl.co", "repl.run", "resindevice.io", "devices.resinstaging.io", "hzc.io", "wellbeingzone.eu", -"ptplus.fit", "wellbeingzone.co.uk", +"adimo.co.uk", +"itcouldbewor.se", "git-pages.rit.edu", +"rocky.page", +"биз.рус", +"ком.рус", +"крым.рус", +"мир.рус", +"мск.рус", +"орг.рус", +"самара.рус", +"сочи.рус", +"спб.рус", +"я.рус", +"*.builder.code.com", +"*.dev-builder.code.com", +"*.stg-builder.code.com", "sandcats.io", "logoip.de", "logoip.com", +"fr-par-1.baremetal.scw.cloud", +"fr-par-2.baremetal.scw.cloud", +"nl-ams-1.baremetal.scw.cloud", +"fnc.fr-par.scw.cloud", +"functions.fnc.fr-par.scw.cloud", +"k8s.fr-par.scw.cloud", +"nodes.k8s.fr-par.scw.cloud", +"s3.fr-par.scw.cloud", +"s3-website.fr-par.scw.cloud", +"whm.fr-par.scw.cloud", +"priv.instances.scw.cloud", +"pub.instances.scw.cloud", +"k8s.scw.cloud", +"k8s.nl-ams.scw.cloud", +"nodes.k8s.nl-ams.scw.cloud", +"s3.nl-ams.scw.cloud", +"s3-website.nl-ams.scw.cloud", +"whm.nl-ams.scw.cloud", +"k8s.pl-waw.scw.cloud", +"nodes.k8s.pl-waw.scw.cloud", +"s3.pl-waw.scw.cloud", +"s3-website.pl-waw.scw.cloud", +"scalebook.scw.cloud", +"smartlabeling.scw.cloud", +"dedibox.fr", "schokokeks.net", "gov.scot", +"service.gov.scot", "scrysec.com", "firewall-gateway.com", "firewall-gateway.de", @@ -8668,13 +9082,21 @@ "my-firewall.org", "myfirewall.org", "spdns.org", +"seidat.net", +"sellfy.store", "senseering.net", +"minisite.ms", +"magnet.page", "biz.ua", "co.ua", "pp.ua", +"shiftcrypto.dev", +"shiftcrypto.io", "shiftedit.io", "myshopblocks.com", +"myshopify.com", "shopitsite.com", +"shopware.store", "mo-siemens.io", "1kapp.com", "appchizi.com", @@ -8685,60 +9107,110 @@ "bounty-full.com", "alpha.bounty-full.com", "beta.bounty-full.com", +"small-web.org", +"vp4.me", +"try-snowplow.com", +"srht.site", "stackhero-network.com", +"musician.io", +"novecore.site", "static.land", "dev.static.land", "sites.static.land", +"storebase.store", +"vps-host.net", +"atl.jelastic.vps-host.net", +"njs.jelastic.vps-host.net", +"ric.jelastic.vps-host.net", +"playstation-cloud.com", "apps.lair.io", "*.stolos.io", "spacekit.io", "customer.speedpartner.de", +"myspreadshop.at", +"myspreadshop.com.au", +"myspreadshop.be", +"myspreadshop.ca", +"myspreadshop.ch", +"myspreadshop.com", +"myspreadshop.de", +"myspreadshop.dk", +"myspreadshop.es", +"myspreadshop.fi", +"myspreadshop.fr", +"myspreadshop.ie", +"myspreadshop.it", +"myspreadshop.net", +"myspreadshop.nl", +"myspreadshop.no", +"myspreadshop.pl", +"myspreadshop.se", +"myspreadshop.co.uk", "api.stdlib.com", "storj.farm", "utwente.io", "soc.srcf.net", "user.srcf.net", "temp-dns.com", -"applicationcloud.io", -"scapp.io", +"supabase.co", +"supabase.in", +"supabase.net", +"su.paba.se", "*.s5y.io", "*.sensiosite.cloud", "syncloud.it", -"diskstation.me", "dscloud.biz", -"dscloud.me", -"dscloud.mobi", +"direct.quickconnect.cn", "dsmynas.com", -"dsmynas.net", -"dsmynas.org", "familyds.com", -"familyds.net", -"familyds.org", +"diskstation.me", +"dscloud.me", "i234.me", "myds.me", "synology.me", +"dscloud.mobi", +"dsmynas.net", +"familyds.net", +"dsmynas.org", +"familyds.org", "vpnplus.to", "direct.quickconnect.to", +"tabitorder.co.il", "taifun-dns.de", +"beta.tailscale.net", +"ts.net", "gda.pl", "gdansk.pl", "gdynia.pl", "med.pl", "sopot.pl", -"edugit.org", +"site.tb-hosting.com", +"edugit.io", +"s3.teckids.org", "telebit.app", "telebit.io", "*.telebit.xyz", "gwiddle.co.uk", +"*.firenet.ch", +"*.svc.firenet.ch", +"reservd.com", "thingdustdata.com", "cust.dev.thingdust.io", "cust.disrec.thingdust.io", "cust.prod.thingdust.io", "cust.testing.thingdust.io", +"reservd.dev.thingdust.io", +"reservd.disrec.thingdust.io", +"reservd.testing.thingdust.io", +"tickets.io", "arvo.network", "azimuth.network", +"tlon.network", +"torproject.net", +"pages.torproject.net", "bloxcms.com", "townnews-staging.com", +"tbits.me", "12hp.at", "2ix.at", "4lima.at", @@ -8761,6 +9233,7 @@ "*.transurl.be", "*.transurl.eu", "*.transurl.nl", +"site.transip.me", "tuxfamily.org", "dd-dns.de", "diskstation.eu", @@ -8775,34 +9248,103 @@ "syno-ds.de", "synology-diskstation.de", "synology-ds.de", +"typedream.app", +"pro.typeform.com", "uber.space", "*.uberspace.de", "hk.com", "hk.org", "ltd.hk", "inc.hk", +"name.pm", +"sch.tf", +"biz.wf", +"sch.wf", +"org.yt", "virtualuser.de", "virtual-user.de", +"upli.io", "urown.cloud", "dnsupdate.info", "lib.de.us", "2038.io", +"vercel.app", +"vercel.dev", +"now.sh", "router.management", "v-info.info", "voorloper.cloud", +"neko.am", +"nyaa.am", +"be.ax", +"cat.ax", +"es.ax", +"eu.ax", +"gg.ax", +"mc.ax", +"us.ax", +"xy.ax", +"nl.ci", +"xx.gl", +"app.gp", +"blog.gt", +"de.gt", +"to.gt", +"be.gy", +"cc.hn", +"blog.kg", +"io.kg", +"jp.kg", +"tv.kg", +"uk.kg", +"us.kg", +"de.ls", +"at.md", +"de.md", +"jp.md", +"to.md", +"indie.porn", +"vxl.sh", +"ch.tc", +"me.tc", +"we.tc", +"nyan.to", +"at.vg", +"blog.vu", +"dev.vu", +"me.vu", "v.ua", +"*.vultrobjects.com", "wafflecell.com", "*.webhare.dev", +"reserve-online.net", +"reserve-online.com", +"bookonline.app", +"hotelwithflight.com", "wedeploy.io", "wedeploy.me", "wedeploy.sh", "remotewd.com", +"pages.wiardweb.com", "wmflabs.org", +"toolforge.org", +"wmcloud.org", +"panel.gg", +"daemon.panel.gg", +"messwithdns.com", +"woltlab-demo.com", "myforum.community", "community-pro.de", "diskussionsbereich.de", "community-pro.net", "meinforum.net", +"affinitylottery.org.uk", +"raffleentry.org.uk", +"weeklylottery.org.uk", +"wpenginepowered.com", +"js.wpenginepowered.com", +"wixsite.com", +"editorx.io", "half.host", "xnbay.com", "u2.xnbay.com", @@ -8822,11 +9364,11 @@ "ybo.review", "ybo.science", "ybo.trade", +"ynh.fr", "nohost.me", "noho.st", "za.net", "za.org", -"now.sh", "bss.design", "basicserver.io", "virtualserver.io", diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/psl/dist/psl.js b/Nodejs12.16-COSUnzipFile/src/node_modules/psl/dist/psl.js index f4b9b8925b..2e967dfe5b 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/psl/dist/psl.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/psl/dist/psl.js @@ -62,7 +62,6 @@ module.exports=[ "express.aero", "federation.aero", "flight.aero", -"freight.aero", "fuel.aero", "gliding.aero", "government.aero", @@ -144,15 +143,19 @@ module.exports=[ "it.ao", "aq", "ar", +"bet.ar", "com.ar", +"coop.ar", "edu.ar", "gob.ar", "gov.ar", "int.ar", "mil.ar", "musica.ar", +"mutual.ar", "net.ar", "org.ar", +"senasa.ar", "tur.ar", "arpa", "e164.arpa", @@ -169,6 +172,7 @@ module.exports=[ "co.at", "gv.at", "or.at", +"sth.ac.at", "au", "com.au", "net.au", @@ -202,7 +206,6 @@ module.exports=[ "tas.gov.au", "vic.gov.au", "wa.gov.au", -"education.tas.edu.au", "schools.nsw.edu.au", "aw", "com.aw", @@ -361,6 +364,7 @@ module.exports=[ "am.br", "anani.br", "aparecida.br", +"app.br", "arq.br", "art.br", "ato.br", @@ -368,6 +372,7 @@ module.exports=[ "barueri.br", "belem.br", "bhz.br", +"bib.br", "bio.br", "blog.br", "bmd.br", @@ -382,14 +387,19 @@ module.exports=[ "com.br", "contagem.br", "coop.br", +"coz.br", "cri.br", "cuiaba.br", "curitiba.br", "def.br", +"des.br", +"det.br", +"dev.br", "ecn.br", "eco.br", "edu.br", "emp.br", +"enf.br", "eng.br", "esp.br", "etc.br", @@ -405,6 +415,7 @@ module.exports=[ "foz.br", "fst.br", "g12.br", +"geo.br", "ggf.br", "goiania.br", "gov.br", @@ -447,6 +458,7 @@ module.exports=[ "jus.br", "leg.br", "lel.br", +"log.br", "londrina.br", "macapa.br", "maceio.br", @@ -479,6 +491,7 @@ module.exports=[ "radio.br", "rec.br", "recife.br", +"rep.br", "ribeirao.br", "rio.br", "riobranco.br", @@ -489,6 +502,7 @@ module.exports=[ "santoandre.br", "saobernardo.br", "saogonca.br", +"seg.br", "sjc.br", "slg.br", "slz.br", @@ -496,6 +510,7 @@ module.exports=[ "srv.br", "taxi.br", "tc.br", +"tec.br", "teo.br", "the.br", "tmp.br", @@ -577,7 +592,6 @@ module.exports=[ "*.ck", "!www.ck", "cl", -"aprendemas.cl", "co.cl", "gob.cl", "gov.cl", @@ -664,6 +678,11 @@ module.exports=[ "gov.cu", "inf.cu", "cv", +"com.cv", +"edu.cv", +"int.cv", +"nome.cv", +"org.cv", "cw", "com.cw", "edu.cw", @@ -678,10 +697,9 @@ module.exports=[ "ekloges.cy", "gov.cy", "ltd.cy", -"name.cy", +"mil.cy", "net.cy", "org.cy", -"parliament.cy", "press.cy", "pro.cy", "tm.cy", @@ -707,14 +725,16 @@ module.exports=[ "sld.do", "web.do", "dz", +"art.dz", +"asso.dz", "com.dz", +"edu.dz", +"gov.dz", "org.dz", "net.dz", -"gov.dz", -"edu.dz", -"asso.dz", "pol.dz", -"art.dz", +"soc.dz", +"tm.dz", "ec", "com.ec", "info.ec", @@ -781,6 +801,10 @@ module.exports=[ "org.fj", "pro.fj", "*.fk", +"com.fm", +"edu.fm", +"net.fm", +"org.fm", "fm", "fo", "fr", @@ -807,6 +831,8 @@ module.exports=[ "veterinaire.fr", "ga", "gb", +"edu.gd", +"gov.gd", "gd", "ge", "com.ge", @@ -901,7 +927,7 @@ module.exports=[ "敎育.hk", "政府.hk", "個人.hk", -"个人.hk", +"个��.hk", "箇人.hk", "網络.hk", "网络.hk", @@ -3358,11 +3384,10 @@ module.exports=[ "net.kw", "org.kw", "ky", -"edu.ky", -"gov.ky", "com.ky", -"org.ky", +"edu.ky", "net.ky", +"org.ky", "kz", "org.kz", "edu.kz", @@ -4112,13 +4137,14 @@ module.exports=[ "edu.mx", "net.mx", "my", +"biz.my", "com.my", -"net.my", -"org.my", -"gov.my", "edu.my", +"gov.my", "mil.my", "name.my", +"net.my", +"org.my", "mz", "ac.mz", "adv.mz", @@ -5454,15 +5480,16 @@ module.exports=[ "com.ss", "edu.ss", "gov.ss", +"me.ss", "net.ss", "org.ss", +"sch.ss", "st", "co.st", "com.st", "consulado.st", "edu.st", "embaixada.st", -"gov.st", "mil.st", "net.st", "org.st", @@ -5536,21 +5563,14 @@ module.exports=[ "fin.tn", "gov.tn", "ind.tn", +"info.tn", "intl.tn", +"mincom.tn", "nat.tn", "net.tn", "org.tn", -"info.tn", "perso.tn", "tourism.tn", -"edunet.tn", -"rnrt.tn", -"rns.tn", -"rnu.tn", -"mincom.tn", -"agrinet.tn", -"defense.tn", -"turen.tn", "to", "com.to", "gov.to", @@ -5649,7 +5669,6 @@ module.exports=[ "dn.ua", "dnepropetrovsk.ua", "dnipropetrovsk.ua", -"dominic.ua", "donetsk.ua", "dp.ua", "if.ua", @@ -5827,7 +5846,6 @@ module.exports=[ "k12.or.us", "k12.pa.us", "k12.pr.us", -"k12.ri.us", "k12.sc.us", "k12.tn.us", "k12.tx.us", @@ -5979,6 +5997,7 @@ module.exports=[ "edu.vc", "ve", "arts.ve", +"bib.ve", "co.ve", "com.ve", "e12.ve", @@ -5990,7 +6009,9 @@ module.exports=[ "int.ve", "mil.ve", "net.ve", +"nom.ve", "org.ve", +"rar.ve", "rec.ve", "store.ve", "tec.ve", @@ -6032,6 +6053,7 @@ module.exports=[ "հայ", "বাংলা", "бг", +"البحرين", "бел", "中国", "中國", @@ -6070,6 +6092,7 @@ module.exports=[ "الاردن", "한국", "қаз", +"ລາວ", "ලංකා", "இலங்கை", "المغرب", @@ -6114,7 +6137,13 @@ module.exports=[ "укр", "اليمن", "xxx", -"*.ye", +"ye", +"com.ye", +"edu.ye", +"gov.ye", +"net.ye", +"mil.ye", +"org.ye", "ac.za", "agric.za", "alt.za", @@ -6172,13 +6201,11 @@ module.exports=[ "adult", "aeg", "aetna", -"afamilycompany", "afl", "africa", "agakhan", "agency", "aig", -"aigo", "airbus", "airforce", "airtel", @@ -6294,7 +6321,6 @@ module.exports=[ "broker", "brother", "brussels", -"budapest", "bugatti", "build", "builders", @@ -6324,7 +6350,6 @@ module.exports=[ "cars", "casa", "case", -"caseih", "cash", "casino", "catering", @@ -6333,7 +6358,6 @@ module.exports=[ "cbn", "cbre", "cbs", -"ceb", "center", "ceo", "cern", @@ -6400,7 +6424,6 @@ module.exports=[ "crs", "cruise", "cruises", -"csc", "cuisinella", "cymru", "cyou", @@ -6448,7 +6471,6 @@ module.exports=[ "drive", "dtv", "dubai", -"duck", "dunlop", "dupont", "durban", @@ -6471,7 +6493,6 @@ module.exports=[ "erni", "esq", "estate", -"esurance", "etisalat", "eurovision", "eus", @@ -6534,7 +6555,6 @@ module.exports=[ "frontier", "ftr", "fujitsu", -"fujixerox", "fun", "fund", "furniture", @@ -6560,7 +6580,6 @@ module.exports=[ "gifts", "gives", "giving", -"glade", "glass", "gle", "global", @@ -6652,7 +6671,6 @@ module.exports=[ "institute", "insurance", "insure", -"intel", "international", "intuit", "investments", @@ -6663,11 +6681,9 @@ module.exports=[ "istanbul", "itau", "itv", -"iveco", "jaguar", "java", "jcb", -"jcp", "jeep", "jetzt", "jewelry", @@ -6689,6 +6705,7 @@ module.exports=[ "kerryproperties", "kfh", "kia", +"kids", "kim", "kinder", "kindle", @@ -6740,7 +6757,6 @@ module.exports=[ "lipsy", "live", "living", -"lixil", "llc", "llp", "loan", @@ -6758,7 +6774,6 @@ module.exports=[ "ltd", "ltda", "lundbeck", -"lupin", "luxe", "luxury", "macys", @@ -6788,7 +6803,6 @@ module.exports=[ "men", "menu", "merckmsd", -"metlife", "miami", "microsoft", "mini", @@ -6816,11 +6830,10 @@ module.exports=[ "msd", "mtn", "mtr", +"music", "mutual", "nab", -"nadex", "nagoya", -"nationwide", "natura", "navy", "nba", @@ -6830,7 +6843,6 @@ module.exports=[ "network", "neustar", "new", -"newholland", "news", "next", "nextdirect", @@ -6856,7 +6868,6 @@ module.exports=[ "nyc", "obi", "observer", -"off", "office", "okinawa", "olayan", @@ -6868,7 +6879,6 @@ module.exports=[ "ong", "onl", "online", -"onyourside", "ooo", "open", "oracle", @@ -6937,10 +6947,8 @@ module.exports=[ "qpon", "quebec", "quest", -"qvc", "racing", "radio", -"raid", "read", "realestate", "realtor", @@ -6968,11 +6976,9 @@ module.exports=[ "rich", "richardli", "ricoh", -"rightathome", "ril", "rio", "rip", -"rmit", "rocher", "rocks", "rodeo", @@ -7011,8 +7017,6 @@ module.exports=[ "schule", "schwarz", "science", -"scjohnson", -"scor", "scot", "search", "seat", @@ -7040,7 +7044,6 @@ module.exports=[ "shouji", "show", "showtime", -"shriram", "silk", "sina", "singles", @@ -7067,7 +7070,6 @@ module.exports=[ "space", "sport", "spot", -"spreadbetting", "srl", "stada", "staples", @@ -7091,10 +7093,8 @@ module.exports=[ "surgery", "suzuki", "swatch", -"swiftcover", "swiss", "sydney", -"symantec", "systems", "tab", "taipei", @@ -7201,7 +7201,6 @@ module.exports=[ "webcam", "weber", "website", -"wed", "wedding", "weibo", "weir", @@ -7233,7 +7232,6 @@ module.exports=[ "慈善", "集团", "在线", -"大众汽车", "点看", "คอม", "八卦", @@ -7265,7 +7263,6 @@ module.exports=[ "дети", "ポイント", "新闻", -"工行", "家電", "كوم", "中文网", @@ -7285,7 +7282,6 @@ module.exports=[ "诺基亚", "食品", "飞利浦", -"手表", "手机", "ارامكو", "العليان", @@ -7304,7 +7300,6 @@ module.exports=[ "健康", "招聘", "рус", -"珠宝", "大拿", "みんな", "グーグル", @@ -7343,13 +7338,24 @@ module.exports=[ "cc.ua", "inf.ua", "ltd.ua", +"611.to", +"graphox.us", +"*.devcdnaccesso.com", "adobeaemcloud.com", -"adobeaemcloud.net", "*.dev.adobeaemcloud.com", +"hlx.live", +"adobeaemcloud.net", +"hlx.page", +"hlx3.page", "beep.pl", +"airkitapps.com", +"airkitapps-au.com", +"airkitapps.eu", +"aivencloud.com", "barsy.ca", "*.compute.estate", "*.alces.network", +"kasserver.com", "altervista.org", "alwaysdata.net", "cloudfront.net", @@ -7379,6 +7385,7 @@ module.exports=[ "us-west-2.elasticbeanstalk.com", "*.elb.amazonaws.com", "*.elb.amazonaws.com.cn", +"awsglobalaccelerator.com", "s3.amazonaws.com", "s3-ap-northeast-1.amazonaws.com", "s3-ap-northeast-2.amazonaws.com", @@ -7433,10 +7440,13 @@ module.exports=[ "s3-website.eu-west-2.amazonaws.com", "s3-website.eu-west-3.amazonaws.com", "s3-website.us-east-2.amazonaws.com", -"amsw.nl", "t3l3p0rt.net", "tele.amune.org", "apigee.io", +"siiites.com", +"appspacehosted.com", +"appspaceusercontent.com", +"appudo.net", "on-aptible.com", "user.aseinet.ne.jp", "gv.vc", @@ -7447,17 +7457,39 @@ module.exports=[ "potager.org", "sweetpepper.org", "myasustor.com", +"cdn.prod.atlassian-dev.net", +"translated.page", "myfritz.net", +"onavstack.net", "*.awdev.ca", "*.advisor.ws", +"ecommerce-shop.pl", "b-data.io", "backplaneapp.io", "balena-devices.com", +"rs.ba", +"*.banzai.cloud", "app.banzaicloud.io", +"*.backyards.banzaicloud.io", +"base.ec", +"official.ec", +"buyshop.jp", +"fashionstore.jp", +"handcrafted.jp", +"kawaiishop.jp", +"supersale.jp", +"theshop.jp", +"shopselect.net", +"base.shop", +"*.beget.app", "betainabox.com", "bnr.la", +"bitbucket.io", "blackbaudcdn.net", +"of.je", +"bluebite.io", "boomla.net", +"boutir.com", "boxfuse.io", "square7.ch", "bplaced.com", @@ -7465,55 +7497,67 @@ module.exports=[ "square7.de", "bplaced.net", "square7.net", +"shop.brendly.rs", "browsersafetymark.io", "uk0.bigv.io", "dh.bytemark.co.uk", "vm.bytemark.co.uk", +"cafjs.com", "mycd.eu", +"drr.ac", +"uwu.ai", "carrd.co", "crd.co", -"uwu.ai", +"ju.mp", "ae.org", -"ar.com", "br.com", "cn.com", "com.de", "com.se", "de.com", "eu.com", -"gb.com", "gb.net", -"hu.com", "hu.net", "jp.net", "jpn.com", -"kr.com", "mex.com", -"no.com", -"qc.com", "ru.com", "sa.com", "se.net", "uk.com", "uk.net", "us.com", -"uy.com", "za.bz", "za.com", +"ar.com", +"hu.com", +"kr.com", +"no.com", +"qc.com", +"uy.com", "africa.com", "gr.com", "in.net", +"web.in", "us.org", "co.com", +"aus.basketball", +"nz.basketball", +"radio.am", +"radio.fm", "c.la", "certmgr.org", -"xenapponazure.com", +"cx.ua", "discourse.group", "discourse.team", -"virtueeldomein.nl", "cleverapps.io", +"clerk.app", +"clerkstage.app", "*.lcl.dev", +"*.lclstage.dev", "*.stg.dev", +"*.stgstage.dev", +"clickrising.net", "c66.me", "cloud66.ws", "cloud66.zone", @@ -7524,7 +7568,8 @@ module.exports=[ "cloudaccess.net", "cloudcontrolled.com", "cloudcontrolapp.com", -"cloudera.site", +"*.cloudera.site", +"pages.dev", "trycloudflare.com", "workers.dev", "wnext.app", @@ -7547,8 +7592,8 @@ module.exports=[ "cloudns.pro", "cloudns.pw", "cloudns.us", -"cloudeity.net", "cnpy.gdn", +"codeberg.page", "co.nl", "co.no", "webhosting.be", @@ -7571,12 +7616,16 @@ module.exports=[ "realm.cz", "*.cryptonomic.net", "cupcake.is", +"curv.dev", "*.customer-oci.com", "*.oci.customer-oci.com", "*.ocp.customer-oci.com", "*.ocs.customer-oci.com", "cyon.link", "cyon.site", +"fnwk.site", +"folionetwork.site", +"platform0.app", "daplie.me", "localhost.daplie.me", "dattolocal.com", @@ -7590,21 +7639,37 @@ module.exports=[ "firm.dk", "reg.dk", "store.dk", +"dyndns.dappnode.io", "*.dapps.earth", "*.bzz.dapps.earth", "builtwithdark.com", +"demo.datadetect.com", +"instance.datadetect.com", "edgestack.me", +"ddns5.com", "debian.net", +"deno.dev", +"deno-staging.dev", "dedyn.io", +"deta.app", +"deta.dev", +"*.rss.my.id", +"*.diher.solutions", +"discordsays.com", +"discordsez.com", +"jozi.biz", "dnshome.de", "online.th", "shop.th", "drayddns.com", +"shoparena.pl", "dreamhosters.com", "mydrobo.com", "drud.io", "drud.us", "duckdns.org", +"bip.sh", +"bitbridge.net", "dy.fi", "tunk.org", "dyndns-at-home.com", @@ -7897,6 +7962,8 @@ module.exports=[ "ddnss.org", "definima.net", "definima.io", +"ondigitalocean.app", +"*.digitaloceanspaces.com", "bci.dnstrace.pro", "ddnsfree.com", "ddnsgeek.com", @@ -7917,12 +7984,18 @@ module.exports=[ "blogsite.xyz", "dynv6.net", "e4.cz", +"eero.online", +"eero-stage.online", +"elementor.cloud", +"elementor.cool", "en-root.fr", "mytuleap.com", +"tuleap-partners.com", +"encr.app", +"encoreapi.com", "onred.one", "staging.onred.one", -"enonic.io", -"customer.enonic.io", +"eu.encoway.cloud", "eu.org", "al.eu.org", "asso.eu.org", @@ -7979,6 +8052,7 @@ module.exports=[ "tr.eu.org", "uk.eu.org", "us.eu.org", +"eurodir.ru", "eu-1.evennode.com", "eu-2.evennode.com", "eu-3.evennode.com", @@ -7992,6 +8066,7 @@ module.exports=[ "twmail.org", "mymailer.com.tw", "url.tw", +"onfabrica.com", "apps.fbsbx.com", "ru.net", "adygeya.ru", @@ -8067,6 +8142,7 @@ module.exports=[ "vologda.su", "channelsdvr.net", "u.channelsdvr.net", +"edgecompute.app", "fastly-terrarium.com", "fastlylb.net", "map.fastlylb.net", @@ -8077,15 +8153,21 @@ module.exports=[ "a.ssl.fastly.net", "b.ssl.fastly.net", "global.ssl.fastly.net", -"fastpanel.direct", "fastvps-server.com", -"fhapp.xyz", +"fastvps.host", +"myfast.host", +"fastvps.site", +"myfast.space", "fedorainfracloud.org", "fedorapeople.org", "cloud.fedoraproject.org", "app.os.fedoraproject.org", "app.os.stg.fedoraproject.org", +"conn.uk", +"copro.uk", +"hosp.uk", "mydobiss.com", +"fh-muenster.io", "filegear.me", "filegear-au.me", "filegear-de.me", @@ -8094,8 +8176,20 @@ module.exports=[ "filegear-jp.me", "filegear-sg.me", "firebaseapp.com", -"flynnhub.com", +"fireweb.app", +"flap.id", +"onflashdrive.app", +"fldrv.com", +"fly.dev", +"edgeapp.net", +"shw.io", "flynnhosting.net", +"forgeblocks.com", +"id.forgerock.io", +"framer.app", +"framercanvas.com", +"*.frusky.de", +"ravpage.co.il", "0e.vc", "freebox-os.com", "freeboxos.com", @@ -8104,6 +8198,8 @@ module.exports=[ "freebox-os.fr", "freeboxos.fr", "freedesktop.org", +"freemyip.com", +"wien.funkfeuer.at", "*.futurecms.at", "*.ex.futurecms.at", "*.in.futurecms.at", @@ -8112,21 +8208,146 @@ module.exports=[ "*.ex.ortsinfo.at", "*.kunden.ortsinfo.at", "*.statics.cloud", +"independent-commission.uk", +"independent-inquest.uk", +"independent-inquiry.uk", +"independent-panel.uk", +"independent-review.uk", +"public-inquiry.uk", +"royal-commission.uk", +"campaign.gov.uk", "service.gov.uk", +"api.gov.uk", "gehirn.ne.jp", "usercontent.jp", "gentapps.com", +"gentlentapis.com", "lab.ms", -"github.io", +"cdn-edges.net", +"ghost.io", +"gsj.bz", "githubusercontent.com", +"githubpreview.dev", +"github.io", "gitlab.io", +"gitapp.si", +"gitpage.si", "glitch.me", +"nog.community", +"co.ro", +"shop.ro", "lolipop.io", +"angry.jp", +"babyblue.jp", +"babymilk.jp", +"backdrop.jp", +"bambina.jp", +"bitter.jp", +"blush.jp", +"boo.jp", +"boy.jp", +"boyfriend.jp", +"but.jp", +"candypop.jp", +"capoo.jp", +"catfood.jp", +"cheap.jp", +"chicappa.jp", +"chillout.jp", +"chips.jp", +"chowder.jp", +"chu.jp", +"ciao.jp", +"cocotte.jp", +"coolblog.jp", +"cranky.jp", +"cutegirl.jp", +"daa.jp", +"deca.jp", +"deci.jp", +"digick.jp", +"egoism.jp", +"fakefur.jp", +"fem.jp", +"flier.jp", +"floppy.jp", +"fool.jp", +"frenchkiss.jp", +"girlfriend.jp", +"girly.jp", +"gloomy.jp", +"gonna.jp", +"greater.jp", +"hacca.jp", +"heavy.jp", +"her.jp", +"hiho.jp", +"hippy.jp", +"holy.jp", +"hungry.jp", +"icurus.jp", +"itigo.jp", +"jellybean.jp", +"kikirara.jp", +"kill.jp", +"kilo.jp", +"kuron.jp", +"littlestar.jp", +"lolipopmc.jp", +"lolitapunk.jp", +"lomo.jp", +"lovepop.jp", +"lovesick.jp", +"main.jp", +"mods.jp", +"mond.jp", +"mongolian.jp", +"moo.jp", +"namaste.jp", +"nikita.jp", +"nobushi.jp", +"noor.jp", +"oops.jp", +"parallel.jp", +"parasite.jp", +"pecori.jp", +"peewee.jp", +"penne.jp", +"pepper.jp", +"perma.jp", +"pigboat.jp", +"pinoko.jp", +"punyu.jp", +"pupu.jp", +"pussycat.jp", +"pya.jp", +"raindrop.jp", +"readymade.jp", +"sadist.jp", +"schoolbus.jp", +"secret.jp", +"staba.jp", +"stripper.jp", +"sub.jp", +"sunnyday.jp", +"thick.jp", +"tonkotsu.jp", +"under.jp", +"upper.jp", +"velvet.jp", +"verse.jp", +"versus.jp", +"vivian.jp", +"watson.jp", +"weblike.jp", +"whitesnow.jp", +"zombie.jp", +"heteml.net", "cloudapps.digital", "london.cloudapps.digital", +"pymnt.uk", "homeoffice.gov.uk", "ro.im", -"shop.ro", "goip.de", "run.app", "a.run.app", @@ -8134,6 +8355,18 @@ module.exports=[ "*.0emm.com", "appspot.com", "*.r.appspot.com", +"codespot.com", +"googleapis.com", +"googlecode.com", +"pagespeedmobilizer.com", +"publishproxy.com", +"withgoogle.com", +"withyoutube.com", +"*.gateway.dev", +"cloud.goog", +"translate.goog", +"*.usercontent.goog", +"cloudfunctions.net", "blogspot.ae", "blogspot.al", "blogspot.am", @@ -8208,16 +8441,11 @@ module.exports=[ "blogspot.tw", "blogspot.ug", "blogspot.vn", -"cloudfunctions.net", -"cloud.goog", -"codespot.com", -"googleapis.com", -"googlecode.com", -"pagespeedmobilizer.com", -"publishproxy.com", -"withgoogle.com", -"withyoutube.com", +"goupile.fr", +"gov.nl", "awsmppl.com", +"günstigbestellen.de", +"günstigliefern.de", "fin.ci", "free.hr", "caa.li", @@ -8228,30 +8456,42 @@ module.exports=[ "hashbang.sh", "hasura.app", "hasura-app.io", +"pages.it.hs-heilbronn.de", "hepforge.org", "herokuapp.com", "herokussl.com", +"ravendb.cloud", "myravendb.com", "ravendb.community", "ravendb.me", "development.run", "ravendb.run", -"bpl.biz", +"homesklep.pl", +"secaas.hk", +"hoplix.shop", "orx.biz", -"ng.city", "biz.gl", -"ng.ink", "col.ng", "firm.ng", "gen.ng", "ltd.ng", "ngo.ng", -"ng.school", +"edu.scot", "sch.so", +"hostyhosting.io", "häkkinen.fi", "*.moonscale.io", "moonscale.net", "iki.fi", +"ibxos.it", +"iliadboxos.it", +"impertrixcdn.com", +"impertrix.com", +"smushcdn.com", +"wphostedmail.com", +"wpmucdn.com", +"tempurl.host", +"wpmudev.host", "dyn-berlin.de", "in-berlin.de", "in-brb.de", @@ -8293,28 +8533,124 @@ module.exports=[ "sp.leg.br", "to.leg.br", "pixolino.com", +"na4u.ru", +"iopsys.se", "ipifony.net", +"iservschule.de", "mein-iserv.de", +"schulplattform.de", +"schulserver.de", "test-iserv.de", "iserv.dev", "iobb.net", +"mel.cloudlets.com.au", +"cloud.interhostsolutions.be", +"users.scale.virtualcloud.com.br", +"mycloud.by", +"alp1.ae.flow.ch", +"appengine.flow.ch", +"es-1.axarnet.cloud", +"diadem.cloud", +"vip.jelastic.cloud", +"jele.cloud", +"it1.eur.aruba.jenv-aruba.cloud", +"it1.jenv-aruba.cloud", +"keliweb.cloud", +"cs.keliweb.cloud", +"oxa.cloud", +"tn.oxa.cloud", +"uk.oxa.cloud", +"primetel.cloud", +"uk.primetel.cloud", +"ca.reclaim.cloud", +"uk.reclaim.cloud", +"us.reclaim.cloud", +"ch.trendhosting.cloud", +"de.trendhosting.cloud", +"jele.club", +"amscompute.com", +"clicketcloud.com", +"dopaas.com", +"hidora.com", +"paas.hosted-by-previder.com", +"rag-cloud.hosteur.com", +"rag-cloud-ch.hosteur.com", +"jcloud.ik-server.com", +"jcloud-ver-jpc.ik-server.com", +"demo.jelastic.com", +"kilatiron.com", +"paas.massivegrid.com", +"jed.wafaicloud.com", +"lon.wafaicloud.com", +"ryd.wafaicloud.com", +"j.scaleforce.com.cy", +"jelastic.dogado.eu", +"fi.cloudplatform.fi", +"demo.datacenter.fi", +"paas.datacenter.fi", +"jele.host", +"mircloud.host", +"paas.beebyte.io", +"sekd1.beebyteapp.io", +"jele.io", +"cloud-fr1.unispace.io", +"jc.neen.it", +"cloud.jelastic.open.tim.it", +"jcloud.kz", +"upaas.kazteleport.kz", +"cloudjiffy.net", +"fra1-de.cloudjiffy.net", +"west1-us.cloudjiffy.net", +"jls-sto1.elastx.net", +"jls-sto2.elastx.net", +"jls-sto3.elastx.net", +"faststacks.net", +"fr-1.paas.massivegrid.net", +"lon-1.paas.massivegrid.net", +"lon-2.paas.massivegrid.net", +"ny-1.paas.massivegrid.net", +"ny-2.paas.massivegrid.net", +"sg-1.paas.massivegrid.net", +"jelastic.saveincloud.net", +"nordeste-idc.saveincloud.net", +"j.scaleforce.net", +"jelastic.tsukaeru.net", +"sdscloud.pl", +"unicloud.pl", +"mircloud.ru", +"jelastic.regruhosting.ru", +"enscaled.sg", +"jele.site", +"jelastic.team", +"orangecloud.tn", +"j.layershift.co.uk", +"phx.enscaled.us", +"mircloud.us", "myjino.ru", "*.hosting.myjino.ru", "*.landing.myjino.ru", "*.spectrum.myjino.ru", "*.vps.myjino.ru", +"jotelulu.cloud", "*.triton.zone", "*.cns.joyent.com", "js.org", "kaas.gg", "khplay.nl", +"ktistory.com", +"kapsi.fi", "keymachine.de", "kinghost.net", "uni5.net", "knightpoint.systems", +"koobin.events", "oya.to", +"kuleuven.cloud", +"ezproxy.kuleuven.be", "co.krd", "edu.krd", +"krellian.net", +"webthings.io", "git-repos.de", "lcube-server.de", "svn-repos.de", @@ -8330,24 +8666,28 @@ module.exports=[ "co.place", "co.technology", "app.lmpm.com", -"linkitools.space", "linkyard.cloud", "linkyard-cloud.ch", "members.linode.com", -"nodebalancer.linode.com", +"*.nodebalancer.linode.com", +"*.linodeobjects.com", +"ip.linodeusercontent.com", "we.bs", +"*.user.localcert.dev", +"localzone.xyz", "loginline.app", "loginline.dev", "loginline.io", "loginline.services", "loginline.site", +"servers.run", +"lohmus.me", "krasnik.pl", "leczna.pl", "lubartow.pl", "lublin.pl", "poniatowa.pl", "swidnik.pl", -"uklugs.org", "glug.org.uk", "lug.org.uk", "lugs.org.uk", @@ -8370,6 +8710,7 @@ module.exports=[ "barsy.org", "barsy.pro", "barsy.pub", +"barsy.ro", "barsy.shop", "barsy.site", "barsy.support", @@ -8378,45 +8719,89 @@ module.exports=[ "mayfirst.info", "mayfirst.org", "hb.cldmail.ru", +"cn.vu", +"mazeplay.com", +"mcpe.me", +"mcdir.me", +"mcdir.ru", +"mcpre.ru", +"vps.mcdir.ru", +"mediatech.by", +"mediatech.dev", +"hra.health", "miniserver.com", "memset.net", -"cloud.metacentrum.cz", +"messerli.app", +"*.cloud.metacentrum.cz", "custom.metacentrum.cz", "flt.cloud.muni.cz", "usr.cloud.muni.cz", "meteorapp.com", "eu.meteorapp.com", "co.pl", -"azurecontainer.io", +"*.azurecontainer.io", "azurewebsites.net", "azure-mobile.net", "cloudapp.net", +"azurestaticapps.net", +"1.azurestaticapps.net", +"centralus.azurestaticapps.net", +"eastasia.azurestaticapps.net", +"eastus2.azurestaticapps.net", +"westeurope.azurestaticapps.net", +"westus2.azurestaticapps.net", +"csx.cc", +"mintere.site", +"forte.id", "mozilla-iot.org", "bmoattachments.org", "net.ru", "org.ru", "pp.ru", +"hostedpi.com", +"customer.mythic-beasts.com", +"caracal.mythic-beasts.com", +"fentiger.mythic-beasts.com", +"lynx.mythic-beasts.com", +"ocelot.mythic-beasts.com", +"oncilla.mythic-beasts.com", +"onza.mythic-beasts.com", +"sphinx.mythic-beasts.com", +"vs.mythic-beasts.com", +"x.mythic-beasts.com", +"yali.mythic-beasts.com", +"cust.retrosnub.co.uk", "ui.nabu.casa", "pony.club", "of.fashion", -"on.fashion", -"of.football", "in.london", "of.london", +"from.marketing", +"with.marketing", "for.men", +"repair.men", "and.mom", "for.mom", "for.one", +"under.one", "for.sale", -"of.work", +"that.win", +"from.work", "to.work", -"nctu.me", -"bitballoon.com", -"netlify.com", +"cloud.nospamproxy.com", +"netlify.app", "4u.com", "ngrok.io", "nh-serv.co.uk", "nfshost.com", +"*.developer.app", +"noop.app", +"*.northflank.app", +"*.build.run", +"*.code.run", +"*.database.run", +"*.migration.run", +"noticeable.news", "dnsking.ch", "mypi.co", "n4t.co", @@ -8530,75 +8915,39 @@ module.exports=[ "webhop.me", "zapto.org", "stage.nodeart.io", -"nodum.co", -"nodum.io", "pcloud.host", "nyc.mn", -"nom.ae", -"nom.af", -"nom.ai", -"nom.al", -"nym.by", -"nom.bz", -"nym.bz", -"nom.cl", -"nym.ec", -"nom.gd", -"nom.ge", -"nom.gl", -"nym.gr", -"nom.gt", -"nym.gy", -"nym.hk", -"nom.hn", -"nym.ie", -"nom.im", -"nom.ke", -"nym.kz", -"nym.la", -"nym.lc", -"nom.li", -"nym.li", -"nym.lt", -"nym.lu", -"nom.lv", -"nym.me", -"nom.mk", -"nym.mn", -"nym.mx", -"nom.nu", -"nym.nz", -"nym.pe", -"nym.pt", -"nom.pw", -"nom.qa", -"nym.ro", -"nom.rs", -"nom.si", -"nym.sk", -"nom.st", -"nym.su", -"nym.sx", -"nom.tj", -"nym.tw", -"nom.ug", -"nom.uy", -"nom.vc", -"nom.vg", "static.observableusercontent.com", "cya.gg", +"omg.lol", "cloudycluster.net", +"omniwe.site", +"service.one", "nid.io", +"opensocial.site", "opencraft.hosting", +"orsites.com", "operaunite.com", +"tech.orange", +"authgear-staging.com", +"authgearapps.com", "skygearapp.com", "outsystemscloud.com", +"*.webpaas.ovh.net", +"*.hosting.ovh.net", "ownprovider.com", "own.pm", +"*.owo.codes", "ox.rs", "oy.lc", "pgfog.com", "pagefrontapp.com", +"pagexl.com", +"*.paywhirl.com", +"bar0.net", +"bar1.net", +"bar2.net", +"rdv.to", "art.pl", "gliwice.pl", "krakow.pl", @@ -8609,11 +8958,28 @@ module.exports=[ "gotpantheon.com", "mypep.link", "perspecta.cloud", +"lk3.ru", "on-web.fr", -"*.platform.sh", +"bc.platform.sh", +"ent.platform.sh", +"eu.platform.sh", +"us.platform.sh", "*.platformsh.site", +"*.tst.site", +"platter-app.com", +"platter-app.dev", +"platterp.us", +"pdns.page", +"plesk.page", +"pleskns.com", "dyn53.io", +"onporter.run", "co.bn", +"postman-echo.com", +"pstmn.io", +"mock.pstmn.io", +"httpbin.org", +"prequalifyme.today", "xen.prgmr.com", "priv.at", "prvcy.page", @@ -8622,8 +8988,13 @@ module.exports=[ "chirurgiens-dentistes-en-france.fr", "byen.site", "pubtls.org", +"pythonanywhere.com", +"eu.pythonanywhere.com", +"qoto.io", "qualifioapp.com", "qbuser.com", +"cloudsite.builders", +"instances.spawn.cc", "instantcloud.cn", "ras.ru", "qa2.com", @@ -8637,6 +9008,7 @@ module.exports=[ "vaporcloud.io", "rackmaze.com", "rackmaze.net", +"g.vbrplsbx.io", "*.on-k3s.io", "*.on-rancher.cloud", "*.on-rio.io", @@ -8645,19 +9017,61 @@ module.exports=[ "app.render.com", "onrender.com", "repl.co", +"id.repl.co", "repl.run", "resindevice.io", "devices.resinstaging.io", "hzc.io", "wellbeingzone.eu", -"ptplus.fit", "wellbeingzone.co.uk", +"adimo.co.uk", +"itcouldbewor.se", "git-pages.rit.edu", +"rocky.page", +"биз.рус", +"ком.рус", +"крым.рус", +"мир.рус", +"мск.рус", +"орг.рус", +"самара.рус", +"сочи.рус", +"спб.рус", +"я.рус", +"*.builder.code.com", +"*.dev-builder.code.com", +"*.stg-builder.code.com", "sandcats.io", "logoip.de", "logoip.com", +"fr-par-1.baremetal.scw.cloud", +"fr-par-2.baremetal.scw.cloud", +"nl-ams-1.baremetal.scw.cloud", +"fnc.fr-par.scw.cloud", +"functions.fnc.fr-par.scw.cloud", +"k8s.fr-par.scw.cloud", +"nodes.k8s.fr-par.scw.cloud", +"s3.fr-par.scw.cloud", +"s3-website.fr-par.scw.cloud", +"whm.fr-par.scw.cloud", +"priv.instances.scw.cloud", +"pub.instances.scw.cloud", +"k8s.scw.cloud", +"k8s.nl-ams.scw.cloud", +"nodes.k8s.nl-ams.scw.cloud", +"s3.nl-ams.scw.cloud", +"s3-website.nl-ams.scw.cloud", +"whm.nl-ams.scw.cloud", +"k8s.pl-waw.scw.cloud", +"nodes.k8s.pl-waw.scw.cloud", +"s3.pl-waw.scw.cloud", +"s3-website.pl-waw.scw.cloud", +"scalebook.scw.cloud", +"smartlabeling.scw.cloud", +"dedibox.fr", "schokokeks.net", "gov.scot", +"service.gov.scot", "scrysec.com", "firewall-gateway.com", "firewall-gateway.de", @@ -8669,13 +9083,21 @@ module.exports=[ "my-firewall.org", "myfirewall.org", "spdns.org", +"seidat.net", +"sellfy.store", "senseering.net", +"minisite.ms", +"magnet.page", "biz.ua", "co.ua", "pp.ua", +"shiftcrypto.dev", +"shiftcrypto.io", "shiftedit.io", "myshopblocks.com", +"myshopify.com", "shopitsite.com", +"shopware.store", "mo-siemens.io", "1kapp.com", "appchizi.com", @@ -8686,60 +9108,110 @@ module.exports=[ "bounty-full.com", "alpha.bounty-full.com", "beta.bounty-full.com", +"small-web.org", +"vp4.me", +"try-snowplow.com", +"srht.site", "stackhero-network.com", +"musician.io", +"novecore.site", "static.land", "dev.static.land", "sites.static.land", +"storebase.store", +"vps-host.net", +"atl.jelastic.vps-host.net", +"njs.jelastic.vps-host.net", +"ric.jelastic.vps-host.net", +"playstation-cloud.com", "apps.lair.io", "*.stolos.io", "spacekit.io", "customer.speedpartner.de", +"myspreadshop.at", +"myspreadshop.com.au", +"myspreadshop.be", +"myspreadshop.ca", +"myspreadshop.ch", +"myspreadshop.com", +"myspreadshop.de", +"myspreadshop.dk", +"myspreadshop.es", +"myspreadshop.fi", +"myspreadshop.fr", +"myspreadshop.ie", +"myspreadshop.it", +"myspreadshop.net", +"myspreadshop.nl", +"myspreadshop.no", +"myspreadshop.pl", +"myspreadshop.se", +"myspreadshop.co.uk", "api.stdlib.com", "storj.farm", "utwente.io", "soc.srcf.net", "user.srcf.net", "temp-dns.com", -"applicationcloud.io", -"scapp.io", +"supabase.co", +"supabase.in", +"supabase.net", +"su.paba.se", "*.s5y.io", "*.sensiosite.cloud", "syncloud.it", -"diskstation.me", "dscloud.biz", -"dscloud.me", -"dscloud.mobi", +"direct.quickconnect.cn", "dsmynas.com", -"dsmynas.net", -"dsmynas.org", "familyds.com", -"familyds.net", -"familyds.org", +"diskstation.me", +"dscloud.me", "i234.me", "myds.me", "synology.me", +"dscloud.mobi", +"dsmynas.net", +"familyds.net", +"dsmynas.org", +"familyds.org", "vpnplus.to", "direct.quickconnect.to", +"tabitorder.co.il", "taifun-dns.de", +"beta.tailscale.net", +"ts.net", "gda.pl", "gdansk.pl", "gdynia.pl", "med.pl", "sopot.pl", -"edugit.org", +"site.tb-hosting.com", +"edugit.io", +"s3.teckids.org", "telebit.app", "telebit.io", "*.telebit.xyz", "gwiddle.co.uk", +"*.firenet.ch", +"*.svc.firenet.ch", +"reservd.com", "thingdustdata.com", "cust.dev.thingdust.io", "cust.disrec.thingdust.io", "cust.prod.thingdust.io", "cust.testing.thingdust.io", +"reservd.dev.thingdust.io", +"reservd.disrec.thingdust.io", +"reservd.testing.thingdust.io", +"tickets.io", "arvo.network", "azimuth.network", +"tlon.network", +"torproject.net", +"pages.torproject.net", "bloxcms.com", "townnews-staging.com", +"tbits.me", "12hp.at", "2ix.at", "4lima.at", @@ -8762,6 +9234,7 @@ module.exports=[ "*.transurl.be", "*.transurl.eu", "*.transurl.nl", +"site.transip.me", "tuxfamily.org", "dd-dns.de", "diskstation.eu", @@ -8776,34 +9249,103 @@ module.exports=[ "syno-ds.de", "synology-diskstation.de", "synology-ds.de", +"typedream.app", +"pro.typeform.com", "uber.space", "*.uberspace.de", "hk.com", "hk.org", "ltd.hk", "inc.hk", +"name.pm", +"sch.tf", +"biz.wf", +"sch.wf", +"org.yt", "virtualuser.de", "virtual-user.de", +"upli.io", "urown.cloud", "dnsupdate.info", "lib.de.us", "2038.io", +"vercel.app", +"vercel.dev", +"now.sh", "router.management", "v-info.info", "voorloper.cloud", +"neko.am", +"nyaa.am", +"be.ax", +"cat.ax", +"es.ax", +"eu.ax", +"gg.ax", +"mc.ax", +"us.ax", +"xy.ax", +"nl.ci", +"xx.gl", +"app.gp", +"blog.gt", +"de.gt", +"to.gt", +"be.gy", +"cc.hn", +"blog.kg", +"io.kg", +"jp.kg", +"tv.kg", +"uk.kg", +"us.kg", +"de.ls", +"at.md", +"de.md", +"jp.md", +"to.md", +"indie.porn", +"vxl.sh", +"ch.tc", +"me.tc", +"we.tc", +"nyan.to", +"at.vg", +"blog.vu", +"dev.vu", +"me.vu", "v.ua", +"*.vultrobjects.com", "wafflecell.com", "*.webhare.dev", +"reserve-online.net", +"reserve-online.com", +"bookonline.app", +"hotelwithflight.com", "wedeploy.io", "wedeploy.me", "wedeploy.sh", "remotewd.com", +"pages.wiardweb.com", "wmflabs.org", +"toolforge.org", +"wmcloud.org", +"panel.gg", +"daemon.panel.gg", +"messwithdns.com", +"woltlab-demo.com", "myforum.community", "community-pro.de", "diskussionsbereich.de", "community-pro.net", "meinforum.net", +"affinitylottery.org.uk", +"raffleentry.org.uk", +"weeklylottery.org.uk", +"wpenginepowered.com", +"js.wpenginepowered.com", +"wixsite.com", +"editorx.io", "half.host", "xnbay.com", "u2.xnbay.com", @@ -8823,11 +9365,11 @@ module.exports=[ "ybo.review", "ybo.science", "ybo.trade", +"ynh.fr", "nohost.me", "noho.st", "za.net", "za.org", -"now.sh", "bss.design", "basicserver.io", "virtualserver.io", @@ -9105,7 +9647,7 @@ exports.isValid = function (domain) { }; },{"./data/rules.json":1,"punycode":3}],3:[function(require,module,exports){ -(function (global){ +(function (global){(function (){ /*! https://mths.be/punycode v1.4.1 by @mathias */ ;(function(root) { @@ -9640,6 +10182,6 @@ exports.isValid = function (domain) { }(this)); -}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) +}).call(this)}).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) },{}]},{},[2])(2) }); diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/psl/dist/psl.min.js b/Nodejs12.16-COSUnzipFile/src/node_modules/psl/dist/psl.min.js index d5c787e486..cbcd8eb3e7 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/psl/dist/psl.min.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/psl/dist/psl.min.js @@ -1 +1 @@ -!function(a){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=a();else if("function"==typeof define&&define.amd)define([],a);else{("undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this).psl=a()}}(function(){return function s(m,t,u){function r(o,a){if(!t[o]){if(!m[o]){var i="function"==typeof require&&require;if(!a&&i)return i(o,!0);if(p)return p(o,!0);var e=new Error("Cannot find module '"+o+"'");throw e.code="MODULE_NOT_FOUND",e}var n=t[o]={exports:{}};m[o][0].call(n.exports,function(a){return r(m[o][1][a]||a)},n,n.exports,s,m,t,u)}return t[o].exports}for(var p="function"==typeof require&&require,a=0;a= 0x80 (not a basic code point)","invalid-input":"Invalid input"},c=b-y,x=Math.floor,q=String.fromCharCode;function A(a){throw new RangeError(k[a])}function l(a,o){for(var i=a.length,e=[];i--;)e[i]=o(a[i]);return e}function g(a,o){var i=a.split("@"),e="";return 1>>10&1023|55296),a=56320|1023&a),o+=q(a)}).join("")}function L(a,o){return a+22+75*(a<26)-((0!=o)<<5)}function I(a,o,i){var e=0;for(a=i?x(a/t):a>>1,a+=x(a/o);c*f>>1x((d-g)/m))&&A("overflow"),g+=u*m,!(u<(r=t<=j?y:j+f<=t?f:t-j));t+=b)m>x(d/(p=b-r))&&A("overflow"),m*=p;j=I(g-s,o=c.length+1,0==s),x(g/o)>d-h&&A("overflow"),h+=x(g/o),g%=o,c.splice(g++,0,h)}return _(c)}function j(a){var o,i,e,n,s,m,t,u,r,p,k,c,l,g,h,j=[];for(c=(a=O(a)).length,o=w,s=v,m=i=0;mx((d-i)/(l=e+1))&&A("overflow"),i+=(t-o)*l,o=t,m=0;md&&A("overflow"),k==o){for(u=i,r=b;!(u<(p=r<=s?y:s+f<=r?f:r-s));r+=b)h=u-p,g=b-p,j.push(q(L(p+h%g,0))),u=x(h/g);j.push(q(L(u,0))),s=I(i,l,e==n),i=0,++e}++i,++o}return j.join("")}if(n={version:"1.4.1",ucs2:{decode:O,encode:_},decode:h,encode:j,toASCII:function(a){return g(a,function(a){return r.test(a)?"xn--"+j(a):a})},toUnicode:function(a){return g(a,function(a){return u.test(a)?h(a.slice(4).toLowerCase()):a})}},0,o&&i)if(T.exports==o)i.exports=n;else for(s in n)n.hasOwnProperty(s)&&(o[s]=n[s]);else a.punycode=n}(this)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}]},{},[2])(2)}); +!function(a){"object"==typeof exports&&"undefined"!=typeof module?module.exports=a():"function"==typeof define&&define.amd?define([],a):("undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this).psl=a()}(function(){return function e(s,n,t){function m(o,a){if(!n[o]){if(!s[o]){var i="function"==typeof require&&require;if(!a&&i)return i(o,!0);if(u)return u(o,!0);throw(a=new Error("Cannot find module '"+o+"'")).code="MODULE_NOT_FOUND",a}i=n[o]={exports:{}},s[o][0].call(i.exports,function(a){return m(s[o][1][a]||a)},i,i.exports,e,s,n,t)}return n[o].exports}for(var u="function"==typeof require&&require,a=0;a= 0x80 (not a basic code point)","invalid-input":"Invalid input"},l=j-1,y=Math.floor,f=String.fromCharCode;function v(a){throw new RangeError(c[a])}function k(a,o){for(var i=a.length,e=[];i--;)e[i]=o(a[i]);return e}function g(a,o){var i=a.split("@"),e="",i=(1>>10&1023|55296),a=56320|1023&a),o+=f(a)}).join("")}function z(a,o){return a+22+75*(a<26)-((0!=o)<<5)}function x(a,o,i){var e=0;for(a=i?y(a/m):a>>1,a+=y(a/o);l*b>>1y((d-p)/n))&&v("overflow"),p+=m*n,!(m<(m=t<=l?1:l+b<=t?b:t-l));t+=j)n>y(d/(m=j-m))&&v("overflow"),n*=m;l=x(p-s,o=u.length+1,0==s),y(p/o)>d-c&&v("overflow"),c+=y(p/o),p%=o,u.splice(p++,0,c)}return h(u)}function A(a){for(var o,i,e,s,n,t,m,u,r,p,c=[],l=(a=w(a)).length,k=128,g=72,h=o=0;hy((d-o)/(u=i+1))&&v("overflow"),o+=(s-k)*u,k=s,h=0;hd&&v("overflow"),m==k){for(n=o,t=j;!(n<(r=t<=g?1:g+b<=t?b:t-g));t+=j)c.push(f(z(r+(p=n-r)%(r=j-r),0))),n=y(p/r);c.push(f(z(n,0))),g=x(o,u,i==e),o=0,++i}++o,++k}return c.join("")}if(s={version:"1.4.1",ucs2:{decode:w,encode:h},decode:q,encode:A,toASCII:function(a){return g(a,function(a){return r.test(a)?"xn--"+A(a):a})},toUnicode:function(a){return g(a,function(a){return u.test(a)?q(a.slice(4).toLowerCase()):a})}},o&&i)if(_.exports==o)i.exports=s;else for(n in s)s.hasOwnProperty(n)&&(o[n]=s[n]);else a.punycode=s}.call(this)}.call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}]},{},[2])(2)}); diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/psl/package.json b/Nodejs12.16-COSUnzipFile/src/node_modules/psl/package.json index 8a2ca0f20c..4ea896e5d8 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/psl/package.json +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/psl/package.json @@ -1,8 +1,8 @@ { "_from": "psl@^1.1.28", - "_id": "psl@1.8.0", + "_id": "psl@1.9.0", "_inBundle": false, - "_integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==", + "_integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==", "_location": "/psl", "_phantomChildren": {}, "_requested": { @@ -18,8 +18,8 @@ "_requiredBy": [ "/tough-cookie" ], - "_resolved": "http://r.tnpm.oa.com/psl/-/psl-1.8.0.tgz", - "_shasum": "9326f8bcfb013adcc005fdff056acce020e51c24", + "_resolved": "http://r.tnpm.oa.com/psl/-/psl-1.9.0.tgz", + "_shasum": "d0df2a137f00794565fcaf3b2c00cd09f8d5a5a7", "_spec": "psl@^1.1.28", "_where": "/data/__qci/root-workspaces/__qci-pipeline-23420-1/scf-cos-unzip-file/src/node_modules/tough-cookie", "author": { @@ -35,21 +35,19 @@ "description": "Domain name parser based on the Public Suffix List", "devDependencies": { "JSONStream": "^1.3.5", - "browserify": "^16.5.0", + "browserify": "^17.0.0", + "browserslist-browserstack": "^3.1.1", + "browserstack-local": "^1.5.1", + "chai": "^4.3.6", "commit-and-pr": "^1.0.4", - "eslint": "^6.8.0", - "eslint-config-hapi": "^12.0.0", - "eslint-plugin-hapi": "^4.1.0", - "karma": "^4.4.1", - "karma-browserify": "^7.0.0", - "karma-mocha": "^1.3.0", - "karma-mocha-reporter": "^2.2.5", - "karma-phantomjs-launcher": "^1.0.4", - "mocha": "^7.1.1", - "phantomjs-prebuilt": "^2.1.16", + "eslint": "^8.19.0", + "mocha": "^7.2.0", + "porch": "^2.0.0", "request": "^2.88.2", - "uglify-js": "^3.8.0", - "watchify": "^3.11.1" + "selenium-webdriver": "^4.3.0", + "serve-handler": "^6.1.3", + "uglify-js": "^3.16.2", + "watchify": "^4.0.0" }, "homepage": "https://github.com/lupomontero/psl#readme", "keywords": [ @@ -67,11 +65,12 @@ "build": "browserify ./index.js --standalone=psl > ./dist/psl.js", "changelog": "git log $(git describe --tags --abbrev=0)..HEAD --oneline --format=\"%h %s (%an <%ae>)\"", "commit-and-pr": "commit-and-pr", + "lint": "eslint .", "postbuild": "cat ./dist/psl.js | uglifyjs -c -m > ./dist/psl.min.js", "prebuild": "./scripts/update-rules.js", - "pretest": "eslint .", - "test": "mocha test && karma start ./karma.conf.js --single-run", + "test": "mocha test/*.spec.js", + "test:browserstack": "node test/browserstack.js", "watch": "mocha test --watch" }, - "version": "1.8.0" + "version": "1.9.0" } diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/qs/.editorconfig b/Nodejs12.16-COSUnzipFile/src/node_modules/qs/.editorconfig index b2654e7ac5..2f08444507 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/qs/.editorconfig +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/qs/.editorconfig @@ -7,11 +7,15 @@ end_of_line = lf charset = utf-8 trim_trailing_whitespace = true insert_final_newline = true -max_line_length = 140 +max_line_length = 160 +quote_type = single [test/*] max_line_length = off +[LICENSE.md] +indent_size = off + [*.md] max_line_length = off @@ -28,3 +32,12 @@ indent_size = 2 [LICENSE] indent_size = 2 max_line_length = off + +[coverage/**/*] +indent_size = off +indent_style = off +indent = off +max_line_length = off + +[.nycrc] +indent_style = tab diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/qs/.eslintrc b/Nodejs12.16-COSUnzipFile/src/node_modules/qs/.eslintrc index b7a87b93df..3f848996fc 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/qs/.eslintrc +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/qs/.eslintrc @@ -3,17 +3,35 @@ "extends": "@ljharb", + "ignorePatterns": [ + "dist/", + ], + "rules": { "complexity": 0, "consistent-return": 1, - "func-name-matching": 0, + "func-name-matching": 0, "id-length": [2, { "min": 1, "max": 25, "properties": "never" }], "indent": [2, 4], + "max-lines-per-function": 0, "max-params": [2, 12], "max-statements": [2, 45], + "multiline-comment-style": 0, "no-continue": 1, "no-magic-numbers": 0, + "no-param-reassign": 1, "no-restricted-syntax": [2, "BreakStatement", "DebuggerStatement", "ForInStatement", "LabeledStatement", "WithStatement"], - "operator-linebreak": [2, "before"], - } + }, + + "overrides": [ + { + "files": "test/**", + "rules": { + "max-lines-per-function": 0, + "max-statements": 0, + "no-extend-native": 0, + "function-paren-newline": 0, + }, + }, + ], } diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/qs/.github/FUNDING.yml b/Nodejs12.16-COSUnzipFile/src/node_modules/qs/.github/FUNDING.yml new file mode 100644 index 0000000000..0355f4f5fb --- /dev/null +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/qs/.github/FUNDING.yml @@ -0,0 +1,12 @@ +# These are supported funding model platforms + +github: [ljharb] +patreon: # Replace with a single Patreon username +open_collective: # Replace with a single Open Collective username +ko_fi: # Replace with a single Ko-fi username +tidelift: npm/qs +community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry +liberapay: # Replace with a single Liberapay username +issuehunt: # Replace with a single IssueHunt username +otechie: # Replace with a single Otechie username +custom: # Replace with a single custom sponsorship URL diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/qs/.nycrc b/Nodejs12.16-COSUnzipFile/src/node_modules/qs/.nycrc new file mode 100644 index 0000000000..1d57cabe1b --- /dev/null +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/qs/.nycrc @@ -0,0 +1,13 @@ +{ + "all": true, + "check-coverage": false, + "reporter": ["text-summary", "text", "html", "json"], + "lines": 86, + "statements": 85.93, + "functions": 82.43, + "branches": 76.06, + "exclude": [ + "coverage", + "dist" + ] +} diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/qs/CHANGELOG.md b/Nodejs12.16-COSUnzipFile/src/node_modules/qs/CHANGELOG.md index fe52320912..849c92ea03 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/qs/CHANGELOG.md +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/qs/CHANGELOG.md @@ -1,3 +1,27 @@ +## **6.5.3** +- [Fix] `parse`: ignore `__proto__` keys (#428) +- [Fix]` `utils.merge`: avoid a crash with a null target and a truthy non-array source +- [Fix] correctly parse nested arrays +- [Fix] `stringify`: fix a crash with `strictNullHandling` and a custom `filter`/`serializeDate` (#279) +- [Fix] `utils`: `merge`: fix crash when `source` is a truthy primitive & no options are provided +- [Fix] when `parseArrays` is false, properly handle keys ending in `[]` +- [Fix] fix for an impossible situation: when the formatter is called with a non-string value +- [Fix] `utils.merge`: avoid a crash with a null target and an array source +- [Refactor] `utils`: reduce observable [[Get]]s +- [Refactor] use cached `Array.isArray` +- [Refactor] `stringify`: Avoid arr = arr.concat(...), push to the existing instance (#269) +- [Refactor] `parse`: only need to reassign the var once +- [Robustness] `stringify`: avoid relying on a global `undefined` (#427) +- [readme] remove travis badge; add github actions/codecov badges; update URLs +- [Docs] Clean up license text so it’s properly detected as BSD-3-Clause +- [Docs] Clarify the need for "arrayLimit" option +- [meta] fix README.md (#399) +- [meta] add FUNDING.yml +- [actions] backport actions from main +- [Tests] always use `String(x)` over `x.toString()` +- [Tests] remove nonexistent tape option +- [Dev Deps] backport from main + ## **6.5.2** - [Fix] use `safer-buffer` instead of `Buffer` constructor - [Refactor] utils: `module.exports` one thing, instead of mutating `exports` (#230) diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/qs/LICENSE.md b/Nodejs12.16-COSUnzipFile/src/node_modules/qs/LICENSE.md new file mode 100644 index 0000000000..fecf6b6942 --- /dev/null +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/qs/LICENSE.md @@ -0,0 +1,29 @@ +BSD 3-Clause License + +Copyright (c) 2014, Nathan LaFreniere and other [contributors](https://github.com/ljharb/qs/graphs/contributors) +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/qs/README.md b/Nodejs12.16-COSUnzipFile/src/node_modules/qs/README.md index d81196662b..20fb9cad4e 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/qs/README.md +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/qs/README.md @@ -1,12 +1,13 @@ # qs [![Version Badge][2]][1] -[![Build Status][3]][4] -[![dependency status][5]][6] -[![dev dependency status][7]][8] +[![github actions][actions-image]][actions-url] +[![coverage][codecov-image]][codecov-url] +[![dependency status][deps-svg]][deps-url] +[![dev dependency status][dev-deps-svg]][dev-deps-url] [![License][license-image]][license-url] [![Downloads][downloads-image]][downloads-url] -[![npm badge][11]][1] +[![npm badge][npm-badge-png]][package-url] A querystring parsing and stringifying library with some added security. @@ -182,7 +183,7 @@ assert.deepEqual(withIndexedEmptyString, { a: ['b', '', 'c'] }); ``` **qs** will also limit specifying indices in an array to a maximum index of `20`. Any array members with an index of greater than `20` will -instead be converted to an object with the index as the key: +instead be converted to an object with the index as the key. This is needed to handle cases when someone sent, for example, `a[999999999]` and it will take significant time to iterate over this huge array. ```javascript var withMaxIndex = qs.parse('a[100]=b'); @@ -267,6 +268,30 @@ var decoded = qs.parse('x=z', { decoder: function (str) { }}) ``` +You can encode keys and values using different logic by using the type argument provided to the encoder: + +```javascript +var encoded = qs.stringify({ a: { b: 'c' } }, { encoder: function (str, defaultEncoder, charset, type) { + if (type === 'key') { + return // Encoded key + } else if (type === 'value') { + return // Encoded value + } +}}) +``` + +The type argument is also provided to the decoder: + +```javascript +var decoded = qs.parse('x=z', { decoder: function (str, defaultDecoder, charset, type) { + if (type === 'key') { + return // Decoded key + } else if (type === 'value') { + return // Decoded value + } +}}) +``` + Examples beyond this point will be shown as though the output is not URI encoded for clarity. Please note that the return values in these cases *will* be URI encoded during real usage. When arrays are stringified, by default they are given explicit indices: @@ -458,18 +483,28 @@ assert.equal(qs.stringify({ a: 'b c' }, { format : 'RFC3986' }), 'a=b%20c'); assert.equal(qs.stringify({ a: 'b c' }, { format : 'RFC1738' }), 'a=b+c'); ``` -[1]: https://npmjs.org/package/qs -[2]: http://versionbadg.es/ljharb/qs.svg -[3]: https://api.travis-ci.org/ljharb/qs.svg -[4]: https://travis-ci.org/ljharb/qs -[5]: https://david-dm.org/ljharb/qs.svg -[6]: https://david-dm.org/ljharb/qs -[7]: https://david-dm.org/ljharb/qs/dev-status.svg -[8]: https://david-dm.org/ljharb/qs?type=dev -[9]: https://ci.testling.com/ljharb/qs.png -[10]: https://ci.testling.com/ljharb/qs -[11]: https://nodei.co/npm/qs.png?downloads=true&stars=true -[license-image]: http://img.shields.io/npm/l/qs.svg +## Security + +Please email [@ljharb](https://github.com/ljharb) or see https://tidelift.com/security if you have a potential security vulnerability to report. + +## qs for enterprise + +Available as part of the Tidelift Subscription + +The maintainers of qs and thousands of other packages are working with Tidelift to deliver commercial support and maintenance for the open source dependencies you use to build your applications. Save time, reduce risk, and improve code health, while paying the maintainers of the exact dependencies you use. [Learn more.](https://tidelift.com/subscription/pkg/npm-qs?utm_source=npm-qs&utm_medium=referral&utm_campaign=enterprise&utm_term=repo) + +[package-url]: https://npmjs.org/package/qs +[npm-version-svg]: https://versionbadg.es/ljharb/qs.svg +[deps-svg]: https://david-dm.org/ljharb/qs.svg +[deps-url]: https://david-dm.org/ljharb/qs +[dev-deps-svg]: https://david-dm.org/ljharb/qs/dev-status.svg +[dev-deps-url]: https://david-dm.org/ljharb/qs#info=devDependencies +[npm-badge-png]: https://nodei.co/npm/qs.png?downloads=true&stars=true +[license-image]: https://img.shields.io/npm/l/qs.svg [license-url]: LICENSE -[downloads-image]: http://img.shields.io/npm/dm/qs.svg -[downloads-url]: http://npm-stat.com/charts.html?package=qs +[downloads-image]: https://img.shields.io/npm/dm/qs.svg +[downloads-url]: https://npm-stat.com/charts.html?package=qs +[codecov-image]: https://codecov.io/gh/ljharb/qs/branch/main/graphs/badge.svg +[codecov-url]: https://app.codecov.io/gh/ljharb/qs/ +[actions-image]: https://img.shields.io/endpoint?url=https://github-actions-badge-u3jn4tfpocch.runkit.sh/ljharb/qs +[actions-url]: https://github.com/ljharb/qs/actions diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/qs/bower.json b/Nodejs12.16-COSUnzipFile/src/node_modules/qs/bower.json new file mode 100644 index 0000000000..7a582762c8 --- /dev/null +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/qs/bower.json @@ -0,0 +1,21 @@ +{ + "name": "qs", + "main": "dist/qs.js", + "homepage": "https://github.com/hapijs/qs", + "authors": [ + "Nathan LaFreniere " + ], + "description": "A querystring parser that supports nesting and arrays, with a depth limit", + "keywords": [ + "querystring", + "qs" + ], + "license": "BSD-3-Clause", + "ignore": [ + "**/.*", + "node_modules", + "bower_components", + "test", + "tests" + ] +} diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/qs/component.json b/Nodejs12.16-COSUnzipFile/src/node_modules/qs/component.json new file mode 100644 index 0000000000..dd13558f2e --- /dev/null +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/qs/component.json @@ -0,0 +1,15 @@ +{ + "name": "qs", + "repository": "ljharb/qs", + "description": "query-string parser / stringifier with nesting support", + "version": "6.5.3", + "keywords": ["querystring", "query", "parser"], + "main": "lib/index.js", + "scripts": [ + "lib/index.js", + "lib/parse.js", + "lib/stringify.js", + "lib/utils.js" + ], + "license": "BSD-3-Clause" +} diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/qs/dist/qs.js b/Nodejs12.16-COSUnzipFile/src/node_modules/qs/dist/qs.js index ecf7ba44cf..9f54e3fb15 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/qs/dist/qs.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/qs/dist/qs.js @@ -11,7 +11,7 @@ module.exports = { return replace.call(value, percentTwenties, '+'); }, RFC3986: function (value) { - return value; + return String(value); } }, RFC1738: 'RFC1738', @@ -87,14 +87,15 @@ var parseObject = function (chain, val, options) { var obj; var root = chain[i]; - if (root === '[]') { - obj = []; - obj = obj.concat(leaf); + if (root === '[]' && options.parseArrays) { + obj = [].concat(leaf); } else { obj = options.plainObjects ? Object.create(null) : {}; var cleanRoot = root.charAt(0) === '[' && root.charAt(root.length - 1) === ']' ? root.slice(1, -1) : root; var index = parseInt(cleanRoot, 10); - if ( + if (!options.parseArrays && cleanRoot === '') { + obj = { 0: leaf }; + } else if ( !isNaN(index) && root !== cleanRoot && String(index) === cleanRoot @@ -103,7 +104,7 @@ var parseObject = function (chain, val, options) { ) { obj = []; obj[index] = leaf; - } else { + } else if (cleanRoot !== '__proto__') { obj[cleanRoot] = leaf; } } @@ -214,17 +215,23 @@ var utils = require('./utils'); var formats = require('./formats'); var arrayPrefixGenerators = { - brackets: function brackets(prefix) { // eslint-disable-line func-name-matching + brackets: function brackets(prefix) { return prefix + '[]'; }, - indices: function indices(prefix, key) { // eslint-disable-line func-name-matching + indices: function indices(prefix, key) { return prefix + '[' + key + ']'; }, - repeat: function repeat(prefix) { // eslint-disable-line func-name-matching + repeat: function repeat(prefix) { return prefix; } }; +var isArray = Array.isArray; +var push = Array.prototype.push; +var pushToArray = function (arr, valueOrArray) { + push.apply(arr, isArray(valueOrArray) ? valueOrArray : [valueOrArray]); +}; + var toISO = Date.prototype.toISOString; var defaults = { @@ -232,14 +239,14 @@ var defaults = { encode: true, encoder: utils.encode, encodeValuesOnly: false, - serializeDate: function serializeDate(date) { // eslint-disable-line func-name-matching + serializeDate: function serializeDate(date) { return toISO.call(date); }, skipNulls: false, strictNullHandling: false }; -var stringify = function stringify( // eslint-disable-line func-name-matching +var stringify = function stringify( object, prefix, generateArrayPrefix, @@ -258,7 +265,9 @@ var stringify = function stringify( // eslint-disable-line func-name-matching obj = filter(prefix, obj); } else if (obj instanceof Date) { obj = serializeDate(obj); - } else if (obj === null) { + } + + if (obj === null) { if (strictNullHandling) { return encoder && !encodeValuesOnly ? encoder(prefix, defaults.encoder) : prefix; } @@ -281,7 +290,7 @@ var stringify = function stringify( // eslint-disable-line func-name-matching } var objKeys; - if (Array.isArray(filter)) { + if (isArray(filter)) { objKeys = filter; } else { var keys = Object.keys(obj); @@ -295,8 +304,8 @@ var stringify = function stringify( // eslint-disable-line func-name-matching continue; } - if (Array.isArray(obj)) { - values = values.concat(stringify( + if (isArray(obj)) { + pushToArray(values, stringify( obj[key], generateArrayPrefix(prefix, key), generateArrayPrefix, @@ -311,7 +320,7 @@ var stringify = function stringify( // eslint-disable-line func-name-matching encodeValuesOnly )); } else { - values = values.concat(stringify( + pushToArray(values, stringify( obj[key], prefix + (allowDots ? '.' + key : '[' + key + ']'), generateArrayPrefix, @@ -335,7 +344,7 @@ module.exports = function (object, opts) { var obj = object; var options = opts ? utils.assign({}, opts) : {}; - if (options.encoder !== null && options.encoder !== undefined && typeof options.encoder !== 'function') { + if (options.encoder !== null && typeof options.encoder !== 'undefined' && typeof options.encoder !== 'function') { throw new TypeError('Encoder has to be a function.'); } @@ -360,7 +369,7 @@ module.exports = function (object, opts) { if (typeof options.filter === 'function') { filter = options.filter; obj = filter('', obj); - } else if (Array.isArray(options.filter)) { + } else if (isArray(options.filter)) { filter = options.filter; objKeys = filter; } @@ -396,8 +405,7 @@ module.exports = function (object, opts) { if (skipNulls && obj[key] === null) { continue; } - - keys = keys.concat(stringify( + pushToArray(keys, stringify( obj[key], key, generateArrayPrefix, @@ -475,8 +483,8 @@ var merge = function merge(target, source, options) { if (typeof source !== 'object') { if (Array.isArray(target)) { target.push(source); - } else if (typeof target === 'object') { - if (options.plainObjects || options.allowPrototypes || !has.call(Object.prototype, source)) { + } else if (target && typeof target === 'object') { + if ((options && (options.plainObjects || options.allowPrototypes)) || !has.call(Object.prototype, source)) { target[source] = true; } } else { @@ -486,7 +494,7 @@ var merge = function merge(target, source, options) { return target; } - if (typeof target !== 'object') { + if (!target || typeof target !== 'object') { return [target].concat(source); } @@ -498,8 +506,9 @@ var merge = function merge(target, source, options) { if (Array.isArray(target) && Array.isArray(source)) { source.forEach(function (item, i) { if (has.call(target, i)) { - if (target[i] && typeof target[i] === 'object') { - target[i] = merge(target[i], item, options); + var targetItem = target[i]; + if (targetItem && typeof targetItem === 'object' && item && typeof item === 'object') { + target[i] = merge(targetItem, item, options); } else { target.push(item); } @@ -580,6 +589,7 @@ var encode = function encode(str) { i += 1; c = 0x10000 + (((c & 0x3FF) << 10) | (string.charCodeAt(i) & 0x3FF)); + /* eslint operator-linebreak: [2, "before"] */ out += hexTable[0xF0 | (c >> 18)] + hexTable[0x80 | ((c >> 12) & 0x3F)] + hexTable[0x80 | ((c >> 6) & 0x3F)] diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/qs/lib/formats.js b/Nodejs12.16-COSUnzipFile/src/node_modules/qs/lib/formats.js index df45997529..702da12e87 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/qs/lib/formats.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/qs/lib/formats.js @@ -10,7 +10,7 @@ module.exports = { return replace.call(value, percentTwenties, '+'); }, RFC3986: function (value) { - return value; + return String(value); } }, RFC1738: 'RFC1738', diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/qs/lib/parse.js b/Nodejs12.16-COSUnzipFile/src/node_modules/qs/lib/parse.js index 8c9872ecc6..cb7127d92b 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/qs/lib/parse.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/qs/lib/parse.js @@ -53,14 +53,15 @@ var parseObject = function (chain, val, options) { var obj; var root = chain[i]; - if (root === '[]') { - obj = []; - obj = obj.concat(leaf); + if (root === '[]' && options.parseArrays) { + obj = [].concat(leaf); } else { obj = options.plainObjects ? Object.create(null) : {}; var cleanRoot = root.charAt(0) === '[' && root.charAt(root.length - 1) === ']' ? root.slice(1, -1) : root; var index = parseInt(cleanRoot, 10); - if ( + if (!options.parseArrays && cleanRoot === '') { + obj = { 0: leaf }; + } else if ( !isNaN(index) && root !== cleanRoot && String(index) === cleanRoot @@ -69,7 +70,7 @@ var parseObject = function (chain, val, options) { ) { obj = []; obj[index] = leaf; - } else { + } else if (cleanRoot !== '__proto__') { obj[cleanRoot] = leaf; } } diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/qs/lib/stringify.js b/Nodejs12.16-COSUnzipFile/src/node_modules/qs/lib/stringify.js index ab915ac463..12a96e658f 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/qs/lib/stringify.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/qs/lib/stringify.js @@ -4,17 +4,23 @@ var utils = require('./utils'); var formats = require('./formats'); var arrayPrefixGenerators = { - brackets: function brackets(prefix) { // eslint-disable-line func-name-matching + brackets: function brackets(prefix) { return prefix + '[]'; }, - indices: function indices(prefix, key) { // eslint-disable-line func-name-matching + indices: function indices(prefix, key) { return prefix + '[' + key + ']'; }, - repeat: function repeat(prefix) { // eslint-disable-line func-name-matching + repeat: function repeat(prefix) { return prefix; } }; +var isArray = Array.isArray; +var push = Array.prototype.push; +var pushToArray = function (arr, valueOrArray) { + push.apply(arr, isArray(valueOrArray) ? valueOrArray : [valueOrArray]); +}; + var toISO = Date.prototype.toISOString; var defaults = { @@ -22,14 +28,14 @@ var defaults = { encode: true, encoder: utils.encode, encodeValuesOnly: false, - serializeDate: function serializeDate(date) { // eslint-disable-line func-name-matching + serializeDate: function serializeDate(date) { return toISO.call(date); }, skipNulls: false, strictNullHandling: false }; -var stringify = function stringify( // eslint-disable-line func-name-matching +var stringify = function stringify( object, prefix, generateArrayPrefix, @@ -48,7 +54,9 @@ var stringify = function stringify( // eslint-disable-line func-name-matching obj = filter(prefix, obj); } else if (obj instanceof Date) { obj = serializeDate(obj); - } else if (obj === null) { + } + + if (obj === null) { if (strictNullHandling) { return encoder && !encodeValuesOnly ? encoder(prefix, defaults.encoder) : prefix; } @@ -71,7 +79,7 @@ var stringify = function stringify( // eslint-disable-line func-name-matching } var objKeys; - if (Array.isArray(filter)) { + if (isArray(filter)) { objKeys = filter; } else { var keys = Object.keys(obj); @@ -85,8 +93,8 @@ var stringify = function stringify( // eslint-disable-line func-name-matching continue; } - if (Array.isArray(obj)) { - values = values.concat(stringify( + if (isArray(obj)) { + pushToArray(values, stringify( obj[key], generateArrayPrefix(prefix, key), generateArrayPrefix, @@ -101,7 +109,7 @@ var stringify = function stringify( // eslint-disable-line func-name-matching encodeValuesOnly )); } else { - values = values.concat(stringify( + pushToArray(values, stringify( obj[key], prefix + (allowDots ? '.' + key : '[' + key + ']'), generateArrayPrefix, @@ -125,7 +133,7 @@ module.exports = function (object, opts) { var obj = object; var options = opts ? utils.assign({}, opts) : {}; - if (options.encoder !== null && options.encoder !== undefined && typeof options.encoder !== 'function') { + if (options.encoder !== null && typeof options.encoder !== 'undefined' && typeof options.encoder !== 'function') { throw new TypeError('Encoder has to be a function.'); } @@ -150,7 +158,7 @@ module.exports = function (object, opts) { if (typeof options.filter === 'function') { filter = options.filter; obj = filter('', obj); - } else if (Array.isArray(options.filter)) { + } else if (isArray(options.filter)) { filter = options.filter; objKeys = filter; } @@ -186,8 +194,7 @@ module.exports = function (object, opts) { if (skipNulls && obj[key] === null) { continue; } - - keys = keys.concat(stringify( + pushToArray(keys, stringify( obj[key], key, generateArrayPrefix, diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/qs/lib/utils.js b/Nodejs12.16-COSUnzipFile/src/node_modules/qs/lib/utils.js index 8775a3270c..6592e206bb 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/qs/lib/utils.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/qs/lib/utils.js @@ -53,8 +53,8 @@ var merge = function merge(target, source, options) { if (typeof source !== 'object') { if (Array.isArray(target)) { target.push(source); - } else if (typeof target === 'object') { - if (options.plainObjects || options.allowPrototypes || !has.call(Object.prototype, source)) { + } else if (target && typeof target === 'object') { + if ((options && (options.plainObjects || options.allowPrototypes)) || !has.call(Object.prototype, source)) { target[source] = true; } } else { @@ -64,7 +64,7 @@ var merge = function merge(target, source, options) { return target; } - if (typeof target !== 'object') { + if (!target || typeof target !== 'object') { return [target].concat(source); } @@ -76,8 +76,9 @@ var merge = function merge(target, source, options) { if (Array.isArray(target) && Array.isArray(source)) { source.forEach(function (item, i) { if (has.call(target, i)) { - if (target[i] && typeof target[i] === 'object') { - target[i] = merge(target[i], item, options); + var targetItem = target[i]; + if (targetItem && typeof targetItem === 'object' && item && typeof item === 'object') { + target[i] = merge(targetItem, item, options); } else { target.push(item); } @@ -158,6 +159,7 @@ var encode = function encode(str) { i += 1; c = 0x10000 + (((c & 0x3FF) << 10) | (string.charCodeAt(i) & 0x3FF)); + /* eslint operator-linebreak: [2, "before"] */ out += hexTable[0xF0 | (c >> 18)] + hexTable[0x80 | ((c >> 12) & 0x3F)] + hexTable[0x80 | ((c >> 6) & 0x3F)] diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/qs/package.json b/Nodejs12.16-COSUnzipFile/src/node_modules/qs/package.json index c5c7a291ea..ab35ebd0a5 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/qs/package.json +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/qs/package.json @@ -1,8 +1,8 @@ { "_from": "qs@~6.5.2", - "_id": "qs@6.5.2", + "_id": "qs@6.5.3", "_inBundle": false, - "_integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", + "_integrity": "sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==", "_location": "/qs", "_phantomChildren": {}, "_requested": { @@ -18,8 +18,8 @@ "_requiredBy": [ "/request" ], - "_resolved": "http://r.tnpm.oa.com/qs/-/qs-6.5.2.tgz", - "_shasum": "cb3ae806e8740444584ef154ce8ee98d403f3e36", + "_resolved": "http://r.tnpm.oa.com/qs/-/qs-6.5.3.tgz", + "_shasum": "3aeeffc91967ef6e35c0e488ef46fb296ab76aad", "_spec": "qs@~6.5.2", "_where": "/data/__qci/root-workspaces/__qci-pipeline-23420-1/scf-cos-unzip-file/src/node_modules/request", "bugs": { @@ -33,22 +33,23 @@ "url": "http://ljharb.codes" } ], - "dependencies": {}, "deprecated": false, "description": "A querystring parser that supports nesting and arrays, with a depth limit", "devDependencies": { - "@ljharb/eslint-config": "^12.2.1", - "browserify": "^16.2.0", - "covert": "^1.1.0", - "editorconfig-tools": "^0.1.1", - "eslint": "^4.19.1", + "@ljharb/eslint-config": "^20.1.0", + "aud": "^1.1.5", + "browserify": "^16.5.2", + "eclint": "^2.8.1", + "eslint": "^8.6.0", "evalmd": "^0.0.17", - "iconv-lite": "^0.4.21", + "iconv-lite": "^0.4.24", + "in-publish": "^2.0.1", "mkdirp": "^0.5.1", + "nyc": "^10.3.2", "qs-iconv": "^1.0.4", - "safe-publish-latest": "^1.1.1", + "safe-publish-latest": "^2.0.0", "safer-buffer": "^2.1.2", - "tape": "^4.9.0" + "tape": "^5.4.0" }, "engines": { "node": ">=0.6" @@ -66,15 +67,16 @@ "url": "git+https://github.com/ljharb/qs.git" }, "scripts": { - "coverage": "covert test", "dist": "mkdirp dist && browserify --standalone Qs lib/index.js > dist/qs.js", - "lint": "eslint lib/*.js test/*.js", - "prelint": "editorconfig-tools check * lib/* test/*", - "prepublish": "safe-publish-latest && npm run dist", + "lint": "eslint --ext=js,mjs .", + "postlint": "eclint check $(git ls-files | xargs find 2> /dev/null | grep -vE 'node_modules|\\.git')", + "posttest": "aud --production", + "prepublish": "not-in-publish || npm run prepublishOnly", + "prepublishOnly": "safe-publish-latest && npm run dist", "pretest": "npm run --silent readme && npm run --silent lint", "readme": "evalmd README.md", - "test": "npm run --silent coverage", - "tests-only": "node test" + "test": "npm run --silent tests-only", + "tests-only": "nyc tape 'test/**/*.js'" }, - "version": "6.5.2" + "version": "6.5.3" } diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/qs/test/parse.js b/Nodejs12.16-COSUnzipFile/src/node_modules/qs/test/parse.js index 0f8fe4578a..7c19838092 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/qs/test/parse.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/qs/test/parse.js @@ -237,6 +237,14 @@ test('parse()', function (t) { st.end(); }); + t.test('parses jquery-param strings', function (st) { + // readable = 'filter[0][]=int1&filter[0][]==&filter[0][]=77&filter[]=and&filter[2][]=int2&filter[2][]==&filter[2][]=8' + var encoded = 'filter%5B0%5D%5B%5D=int1&filter%5B0%5D%5B%5D=%3D&filter%5B0%5D%5B%5D=77&filter%5B%5D=and&filter%5B2%5D%5B%5D=int2&filter%5B2%5D%5B%5D=%3D&filter%5B2%5D%5B%5D=8'; + var expected = { filter: [['int1', '=', '77'], 'and', ['int2', '=', '8']] }; + st.deepEqual(qs.parse(encoded), expected); + st.end(); + }); + t.test('continues parsing when no parent is found', function (st) { st.deepEqual(qs.parse('[]=&a=b'), { 0: '', a: 'b' }); st.deepEqual(qs.parse('[]&a=b', { strictNullHandling: true }), { 0: null, a: 'b' }); @@ -257,7 +265,7 @@ test('parse()', function (t) { st.end(); }); - t.test('should not throw when a native prototype has an enumerable property', { parallel: false }, function (st) { + t.test('should not throw when a native prototype has an enumerable property', function (st) { Object.prototype.crash = ''; Array.prototype.crash = ''; st.doesNotThrow(qs.parse.bind(null, 'a=b')); @@ -302,7 +310,14 @@ test('parse()', function (t) { }); t.test('allows disabling array parsing', function (st) { - st.deepEqual(qs.parse('a[0]=b&a[1]=c', { parseArrays: false }), { a: { 0: 'b', 1: 'c' } }); + var indices = qs.parse('a[0]=b&a[1]=c', { parseArrays: false }); + st.deepEqual(indices, { a: { 0: 'b', 1: 'c' } }); + st.equal(Array.isArray(indices.a), false, 'parseArrays:false, indices case is not an array'); + + var emptyBrackets = qs.parse('a[]=b', { parseArrays: false }); + st.deepEqual(emptyBrackets, { a: { 0: 'b' } }); + st.equal(Array.isArray(emptyBrackets.a), false, 'parseArrays:false, empty brackets case is not an array'); + st.end(); }); @@ -508,13 +523,73 @@ test('parse()', function (t) { st.deepEqual( qs.parse('a[b]=c&a=toString', { plainObjects: true }), - { a: { b: 'c', toString: true } }, + { __proto__: null, a: { __proto__: null, b: 'c', toString: true } }, 'can overwrite prototype with plainObjects true' ); st.end(); }); + t.test('dunder proto is ignored', function (st) { + var payload = 'categories[__proto__]=login&categories[__proto__]&categories[length]=42'; + var result = qs.parse(payload, { allowPrototypes: true }); + + st.deepEqual( + result, + { + categories: { + length: '42' + } + }, + 'silent [[Prototype]] payload' + ); + + var plainResult = qs.parse(payload, { allowPrototypes: true, plainObjects: true }); + + st.deepEqual( + plainResult, + { + __proto__: null, + categories: { + __proto__: null, + length: '42' + } + }, + 'silent [[Prototype]] payload: plain objects' + ); + + var query = qs.parse('categories[__proto__]=cats&categories[__proto__]=dogs&categories[some][json]=toInject', { allowPrototypes: true }); + + st.notOk(Array.isArray(query.categories), 'is not an array'); + st.notOk(query.categories instanceof Array, 'is not instanceof an array'); + st.deepEqual(query.categories, { some: { json: 'toInject' } }); + st.equal(JSON.stringify(query.categories), '{"some":{"json":"toInject"}}', 'stringifies as a non-array'); + + st.deepEqual( + qs.parse('foo[__proto__][hidden]=value&foo[bar]=stuffs', { allowPrototypes: true }), + { + foo: { + bar: 'stuffs' + } + }, + 'hidden values' + ); + + st.deepEqual( + qs.parse('foo[__proto__][hidden]=value&foo[bar]=stuffs', { allowPrototypes: true, plainObjects: true }), + { + __proto__: null, + foo: { + __proto__: null, + bar: 'stuffs' + } + }, + 'hidden values: plain objects' + ); + + st.end(); + }); + t.test('can return null objects', { skip: !Object.create }, function (st) { var expected = Object.create(null); expected.a = Object.create(null); @@ -540,7 +615,7 @@ test('parse()', function (t) { result.push(parseInt(parts[1], 16)); parts = reg.exec(str); } - return iconv.decode(SaferBuffer.from(result), 'shift_jis').toString(); + return String(iconv.decode(SaferBuffer.from(result), 'shift_jis')); } }), { 県: '大阪府' }); st.end(); diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/qs/test/stringify.js b/Nodejs12.16-COSUnzipFile/src/node_modules/qs/test/stringify.js index 165ac621fe..08f784301a 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/qs/test/stringify.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/qs/test/stringify.js @@ -19,6 +19,15 @@ test('stringify()', function (t) { st.end(); }); + t.test('stringifies falsy values', function (st) { + st.equal(qs.stringify(undefined), ''); + st.equal(qs.stringify(null), ''); + st.equal(qs.stringify(null, { strictNullHandling: true }), ''); + st.equal(qs.stringify(false), ''); + st.equal(qs.stringify(0), ''); + st.end(); + }); + t.test('adds query prefix', function (st) { st.equal(qs.stringify({ a: 'b' }, { addQueryPrefix: true }), '?a=b'); st.end(); @@ -29,6 +38,13 @@ test('stringify()', function (t) { st.end(); }); + t.test('stringifies nested falsy values', function (st) { + st.equal(qs.stringify({ a: { b: { c: null } } }), 'a%5Bb%5D%5Bc%5D='); + st.equal(qs.stringify({ a: { b: { c: null } } }, { strictNullHandling: true }), 'a%5Bb%5D%5Bc%5D'); + st.equal(qs.stringify({ a: { b: { c: false } } }), 'a%5Bb%5D%5Bc%5D=false'); + st.end(); + }); + t.test('stringifies a nested object', function (st) { st.equal(qs.stringify({ a: { b: 'c' } }), 'a%5Bb%5D=c'); st.equal(qs.stringify({ a: { b: { c: { d: 'e' } } } }), 'a%5Bb%5D%5Bc%5D%5Bd%5D=e'); @@ -490,6 +506,12 @@ test('stringify()', function (t) { return String.fromCharCode(buffer.readUInt8(0) + 97); } }), 'a=b'); + + st.equal(qs.stringify({ a: SaferBuffer.from('a b') }, { + encoder: function (buffer) { + return buffer; + } + }), 'a=a b'); st.end(); }); @@ -530,17 +552,20 @@ test('stringify()', function (t) { t.test('RFC 1738 spaces serialization', function (st) { st.equal(qs.stringify({ a: 'b c' }, { format: qs.formats.RFC1738 }), 'a=b+c'); st.equal(qs.stringify({ 'a b': 'c d' }, { format: qs.formats.RFC1738 }), 'a+b=c+d'); + st.equal(qs.stringify({ 'a b': SaferBuffer.from('a b') }, { format: qs.formats.RFC1738 }), 'a+b=a+b'); st.end(); }); t.test('RFC 3986 spaces serialization', function (st) { st.equal(qs.stringify({ a: 'b c' }, { format: qs.formats.RFC3986 }), 'a=b%20c'); st.equal(qs.stringify({ 'a b': 'c d' }, { format: qs.formats.RFC3986 }), 'a%20b=c%20d'); + st.equal(qs.stringify({ 'a b': SaferBuffer.from('a b') }, { format: qs.formats.RFC3986 }), 'a%20b=a%20b'); st.end(); }); t.test('Backward compatibility to RFC 3986', function (st) { st.equal(qs.stringify({ a: 'b c' }), 'a=b%20c'); + st.equal(qs.stringify({ 'a b': SaferBuffer.from('a b') }), 'a%20b=a%20b'); st.end(); }); @@ -593,5 +618,25 @@ test('stringify()', function (t) { st.end(); }); + t.test('strictNullHandling works with custom filter', function (st) { + var filter = function (prefix, value) { + return value; + }; + + var options = { strictNullHandling: true, filter: filter }; + st.equal(qs.stringify({ key: null }, options), 'key'); + st.end(); + }); + + t.test('strictNullHandling works with null serializeDate', function (st) { + var serializeDate = function () { + return null; + }; + var options = { strictNullHandling: true, serializeDate: serializeDate }; + var date = new Date(); + st.equal(qs.stringify({ key: date }, options), 'key'); + st.end(); + }); + t.end(); }); diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/qs/test/utils.js b/Nodejs12.16-COSUnzipFile/src/node_modules/qs/test/utils.js index eff4011a40..2bfe03a69c 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/qs/test/utils.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/qs/test/utils.js @@ -4,6 +4,10 @@ var test = require('tape'); var utils = require('../lib/utils'); test('merge()', function (t) { + t.deepEqual(utils.merge(null, true), [null, true], 'merges true into null'); + + t.deepEqual(utils.merge(null, [42]), [null, 42], 'merges null into an array'); + t.deepEqual(utils.merge({ a: 'b' }, { a: 'c' }), { a: ['b', 'c'] }, 'merges two objects with the same key'); var oneMerged = utils.merge({ foo: 'bar' }, { foo: { first: '123' } }); @@ -18,6 +22,33 @@ test('merge()', function (t) { var nestedArrays = utils.merge({ foo: ['baz'] }, { foo: ['bar', 'xyzzy'] }); t.deepEqual(nestedArrays, { foo: ['baz', 'bar', 'xyzzy'] }); + var noOptionsNonObjectSource = utils.merge({ foo: 'baz' }, 'bar'); + t.deepEqual(noOptionsNonObjectSource, { foo: 'baz', bar: true }); + + t.test( + 'avoids invoking array setters unnecessarily', + { skip: typeof Object.defineProperty !== 'function' }, + function (st) { + var setCount = 0; + var getCount = 0; + var observed = []; + Object.defineProperty(observed, 0, { + get: function () { + getCount += 1; + return { bar: 'baz' }; + }, + set: function () { setCount += 1; } + }); + utils.merge(observed, [null]); + st.equal(setCount, 0); + st.equal(getCount, 1); + observed[0] = observed[0]; // eslint-disable-line no-self-assign + st.equal(setCount, 1); + st.equal(getCount, 2); + st.end(); + } + ); + t.end(); }); diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/semver/README.md b/Nodejs12.16-COSUnzipFile/src/node_modules/semver/README.md index 9bef045af2..df54e7a093 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/semver/README.md +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/semver/README.md @@ -264,7 +264,9 @@ provided tuple parts. Any of `X`, `x`, or `*` may be used to "stand in" for one of the numeric values in the `[major, minor, patch]` tuple. -* `*` := `>=0.0.0` (Any version satisfies) +* `*` := `>=0.0.0` (Any non-prerelease version satisfies, unless + `includePrerelease` is specified, in which case any version at all + satisfies) * `1.x` := `>=1.0.0 <2.0.0-0` (Matching major version) * `1.2.x` := `>=1.2.0 <1.3.0-0` (Matching major and minor versions) diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/semver/bin/semver.js b/Nodejs12.16-COSUnzipFile/src/node_modules/semver/bin/semver.js index 73fe29538a..8d1b55720e 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/semver/bin/semver.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/semver/bin/semver.js @@ -27,16 +27,19 @@ const semver = require('../') let reverse = false -const options = {} +let options = {} const main = () => { - if (!argv.length) return help() + if (!argv.length) { + return help() + } while (argv.length) { let a = argv.shift() const indexOfEqualSign = a.indexOf('=') if (indexOfEqualSign !== -1) { + const value = a.slice(indexOfEqualSign + 1) a = a.slice(0, indexOfEqualSign) - argv.unshift(a.slice(indexOfEqualSign + 1)) + argv.unshift(value) } switch (a) { case '-rv': case '-rev': case '--rev': case '--reverse': @@ -85,26 +88,31 @@ const main = () => { } } - const options = { loose: loose, includePrerelease: includePrerelease, rtl: rtl } + options = { loose: loose, includePrerelease: includePrerelease, rtl: rtl } versions = versions.map((v) => { return coerce ? (semver.coerce(v, options) || { version: v }).version : v }).filter((v) => { return semver.valid(v) }) - if (!versions.length) return fail() - if (inc && (versions.length !== 1 || range.length)) { return failInc() } + if (!versions.length) { + return fail() + } + if (inc && (versions.length !== 1 || range.length)) { + return failInc() + } for (let i = 0, l = range.length; i < l; i++) { versions = versions.filter((v) => { return semver.satisfies(v, range[i], options) }) - if (!versions.length) return fail() + if (!versions.length) { + return fail() + } } return success(versions) } - const failInc = () => { console.error('--inc can only be used on a single version with no range') fail() @@ -120,7 +128,9 @@ const success = () => { return semver.clean(v, options) }).map((v) => { return inc ? semver.inc(v, inc, options, identifier) : v - }).forEach((v, i, _) => { console.log(v) }) + }).forEach((v, i, _) => { + console.log(v) + }) } const help = () => console.log( diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/semver/classes/comparator.js b/Nodejs12.16-COSUnzipFile/src/node_modules/semver/classes/comparator.js index dbbef2d8fe..62cd204d9b 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/semver/classes/comparator.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/semver/classes/comparator.js @@ -4,6 +4,7 @@ class Comparator { static get ANY () { return ANY } + constructor (comp, options) { options = parseOptions(options) @@ -80,7 +81,7 @@ class Comparator { if (!options || typeof options !== 'object') { options = { loose: !!options, - includePrerelease: false + includePrerelease: false, } } @@ -128,7 +129,7 @@ class Comparator { module.exports = Comparator const parseOptions = require('../internal/parse-options') -const {re, t} = require('../internal/re') +const { re, t } = require('../internal/re') const cmp = require('../functions/cmp') const debug = require('../internal/debug') const SemVer = require('./semver') diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/semver/classes/index.js b/Nodejs12.16-COSUnzipFile/src/node_modules/semver/classes/index.js index 198b84d664..5e3f5c9b19 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/semver/classes/index.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/semver/classes/index.js @@ -1,5 +1,5 @@ module.exports = { SemVer: require('./semver.js'), Range: require('./range.js'), - Comparator: require('./comparator.js') + Comparator: require('./comparator.js'), } diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/semver/classes/range.js b/Nodejs12.16-COSUnzipFile/src/node_modules/semver/classes/range.js index aa04f6bff9..a791d91251 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/semver/classes/range.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/semver/classes/range.js @@ -29,9 +29,9 @@ class Range { // First, split based on boolean or || this.raw = range this.set = range - .split(/\s*\|\|\s*/) + .split('||') // map the range to a 2d array of comparators - .map(range => this.parseRange(range.trim())) + .map(r => this.parseRange(r.trim())) // throw out any comparator lists that are empty // this generally means that it was not a valid range, which is allowed // in loose mode, but will still throw if the WHOLE range is invalid. @@ -46,9 +46,9 @@ class Range { // keep the first one, in case they're all null sets const first = this.set[0] this.set = this.set.filter(c => !isNullSet(c[0])) - if (this.set.length === 0) + if (this.set.length === 0) { this.set = [first] - else if (this.set.length > 1) { + } else if (this.set.length > 1) { // if we have any that are *, then the range is just * for (const c of this.set) { if (c.length === 1 && isAny(c[0])) { @@ -84,8 +84,9 @@ class Range { const memoOpts = Object.keys(this.options).join(',') const memoKey = `parseRange:${memoOpts}:${range}` const cached = cache.get(memoKey) - if (cached) + if (cached) { return cached + } const loose = this.options.loose // `1.2.3 - 1.2.4` => `>=1.2.3 <=1.2.4` @@ -94,7 +95,7 @@ class Range { debug('hyphen replace', range) // `> 1.2.3 < 1.2.5` => `>1.2.3 <1.2.5` range = range.replace(re[t.COMPARATORTRIM], comparatorTrimReplace) - debug('comparator trim', range, re[t.COMPARATORTRIM]) + debug('comparator trim', range) // `~ 1.2.3` => `~1.2.3` range = range.replace(re[t.TILDETRIM], tildeTrimReplace) @@ -108,30 +109,37 @@ class Range { // At this point, the range is completely trimmed and // ready to be split into comparators. - const compRe = loose ? re[t.COMPARATORLOOSE] : re[t.COMPARATOR] - const rangeList = range + let rangeList = range .split(' ') .map(comp => parseComparator(comp, this.options)) .join(' ') .split(/\s+/) // >=0.0.0 is equivalent to * .map(comp => replaceGTE0(comp, this.options)) + + if (loose) { // in loose mode, throw out any that are not valid comparators - .filter(this.options.loose ? comp => !!comp.match(compRe) : () => true) - .map(comp => new Comparator(comp, this.options)) + rangeList = rangeList.filter(comp => { + debug('loose invalid filter', comp, this.options) + return !!comp.match(re[t.COMPARATORLOOSE]) + }) + } + debug('range list', rangeList) // if any comparators are the null set, then replace with JUST null set // if more than one comparator, remove any * comparators // also, don't include the same comparator more than once - const l = rangeList.length const rangeMap = new Map() - for (const comp of rangeList) { - if (isNullSet(comp)) + const comparators = rangeList.map(comp => new Comparator(comp, this.options)) + for (const comp of comparators) { + if (isNullSet(comp)) { return [comp] + } rangeMap.set(comp.value, comp) } - if (rangeMap.size > 1 && rangeMap.has('')) + if (rangeMap.size > 1 && rangeMap.has('')) { rangeMap.delete('') + } const result = [...rangeMap.values()] cache.set(memoKey, result) @@ -196,7 +204,7 @@ const { t, comparatorTrimReplace, tildeTrimReplace, - caretTrimReplace + caretTrimReplace, } = require('../internal/re') const isNullSet = c => c.value === '<0.0.0-0' @@ -244,9 +252,10 @@ const isX = id => !id || id.toLowerCase() === 'x' || id === '*' // ~1.2, ~1.2.x, ~>1.2, ~>1.2.x --> >=1.2.0 <1.3.0-0 // ~1.2.3, ~>1.2.3 --> >=1.2.3 <1.3.0-0 // ~1.2.0, ~>1.2.0 --> >=1.2.0 <1.3.0-0 +// ~0.0.1 --> >=0.0.1 <0.1.0-0 const replaceTildes = (comp, options) => - comp.trim().split(/\s+/).map((comp) => { - return replaceTilde(comp, options) + comp.trim().split(/\s+/).map((c) => { + return replaceTilde(c, options) }).join(' ') const replaceTilde = (comp, options) => { @@ -283,9 +292,11 @@ const replaceTilde = (comp, options) => { // ^1.2, ^1.2.x --> >=1.2.0 <2.0.0-0 // ^1.2.3 --> >=1.2.3 <2.0.0-0 // ^1.2.0 --> >=1.2.0 <2.0.0-0 +// ^0.0.1 --> >=0.0.1 <0.0.2-0 +// ^0.1.0 --> >=0.1.0 <0.2.0-0 const replaceCarets = (comp, options) => - comp.trim().split(/\s+/).map((comp) => { - return replaceCaret(comp, options) + comp.trim().split(/\s+/).map((c) => { + return replaceCaret(c, options) }).join(' ') const replaceCaret = (comp, options) => { @@ -343,8 +354,8 @@ const replaceCaret = (comp, options) => { const replaceXRanges = (comp, options) => { debug('replaceXRanges', comp, options) - return comp.split(/\s+/).map((comp) => { - return replaceXRange(comp, options) + return comp.split(/\s+/).map((c) => { + return replaceXRange(c, options) }).join(' ') } @@ -405,8 +416,9 @@ const replaceXRange = (comp, options) => { } } - if (gtlt === '<') + if (gtlt === '<') { pr = '-0' + } ret = `${gtlt + M}.${m}.${p}${pr}` } else if (xm) { diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/semver/classes/semver.js b/Nodejs12.16-COSUnzipFile/src/node_modules/semver/classes/semver.js index ed81a7ec6c..af62955194 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/semver/classes/semver.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/semver/classes/semver.js @@ -265,7 +265,7 @@ class SemVer { if (identifier) { // 1.2.0-beta.1 bumps to 1.2.0-beta.2, // 1.2.0-beta.fooblz or 1.2.0-beta bumps to 1.2.0-beta.0 - if (this.prerelease[0] === identifier) { + if (compareIdentifiers(this.prerelease[0], identifier) === 0) { if (isNaN(this.prerelease[1])) { this.prerelease = [identifier, 0] } diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/semver/functions/cmp.js b/Nodejs12.16-COSUnzipFile/src/node_modules/semver/functions/cmp.js index 3b89db7791..4011909474 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/semver/functions/cmp.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/semver/functions/cmp.js @@ -8,17 +8,21 @@ const lte = require('./lte') const cmp = (a, op, b, loose) => { switch (op) { case '===': - if (typeof a === 'object') + if (typeof a === 'object') { a = a.version - if (typeof b === 'object') + } + if (typeof b === 'object') { b = b.version + } return a === b case '!==': - if (typeof a === 'object') + if (typeof a === 'object') { a = a.version - if (typeof b === 'object') + } + if (typeof b === 'object') { b = b.version + } return a !== b case '': diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/semver/functions/coerce.js b/Nodejs12.16-COSUnzipFile/src/node_modules/semver/functions/coerce.js index 106ca71c9a..2e01452fdd 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/semver/functions/coerce.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/semver/functions/coerce.js @@ -1,6 +1,6 @@ const SemVer = require('../classes/semver') const parse = require('./parse') -const {re, t} = require('../internal/re') +const { re, t } = require('../internal/re') const coerce = (version, options) => { if (version instanceof SemVer) { @@ -43,8 +43,9 @@ const coerce = (version, options) => { re[t.COERCERTL].lastIndex = -1 } - if (match === null) + if (match === null) { return null + } return parse(`${match[2]}.${match[3] || '0'}.${match[4] || '0'}`, options) } diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/semver/functions/inc.js b/Nodejs12.16-COSUnzipFile/src/node_modules/semver/functions/inc.js index aa4d83ab4c..62d1da2c40 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/semver/functions/inc.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/semver/functions/inc.js @@ -7,7 +7,10 @@ const inc = (version, release, options, identifier) => { } try { - return new SemVer(version, options).inc(release, identifier).version + return new SemVer( + version instanceof SemVer ? version.version : version, + options + ).inc(release, identifier).version } catch (er) { return null } diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/semver/functions/parse.js b/Nodejs12.16-COSUnzipFile/src/node_modules/semver/functions/parse.js index 11f20f0374..a66663aa59 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/semver/functions/parse.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/semver/functions/parse.js @@ -1,4 +1,4 @@ -const {MAX_LENGTH} = require('../internal/constants') +const { MAX_LENGTH } = require('../internal/constants') const { re, t } = require('../internal/re') const SemVer = require('../classes/semver') diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/semver/index.js b/Nodejs12.16-COSUnzipFile/src/node_modules/semver/index.js index 57e2ae6494..4a342c6afe 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/semver/index.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/semver/index.js @@ -1,48 +1,88 @@ // just pre-load all the stuff that index.js lazily exports const internalRe = require('./internal/re') +const constants = require('./internal/constants') +const SemVer = require('./classes/semver') +const identifiers = require('./internal/identifiers') +const parse = require('./functions/parse') +const valid = require('./functions/valid') +const clean = require('./functions/clean') +const inc = require('./functions/inc') +const diff = require('./functions/diff') +const major = require('./functions/major') +const minor = require('./functions/minor') +const patch = require('./functions/patch') +const prerelease = require('./functions/prerelease') +const compare = require('./functions/compare') +const rcompare = require('./functions/rcompare') +const compareLoose = require('./functions/compare-loose') +const compareBuild = require('./functions/compare-build') +const sort = require('./functions/sort') +const rsort = require('./functions/rsort') +const gt = require('./functions/gt') +const lt = require('./functions/lt') +const eq = require('./functions/eq') +const neq = require('./functions/neq') +const gte = require('./functions/gte') +const lte = require('./functions/lte') +const cmp = require('./functions/cmp') +const coerce = require('./functions/coerce') +const Comparator = require('./classes/comparator') +const Range = require('./classes/range') +const satisfies = require('./functions/satisfies') +const toComparators = require('./ranges/to-comparators') +const maxSatisfying = require('./ranges/max-satisfying') +const minSatisfying = require('./ranges/min-satisfying') +const minVersion = require('./ranges/min-version') +const validRange = require('./ranges/valid') +const outside = require('./ranges/outside') +const gtr = require('./ranges/gtr') +const ltr = require('./ranges/ltr') +const intersects = require('./ranges/intersects') +const simplifyRange = require('./ranges/simplify') +const subset = require('./ranges/subset') module.exports = { + parse, + valid, + clean, + inc, + diff, + major, + minor, + patch, + prerelease, + compare, + rcompare, + compareLoose, + compareBuild, + sort, + rsort, + gt, + lt, + eq, + neq, + gte, + lte, + cmp, + coerce, + Comparator, + Range, + satisfies, + toComparators, + maxSatisfying, + minSatisfying, + minVersion, + validRange, + outside, + gtr, + ltr, + intersects, + simplifyRange, + subset, + SemVer, re: internalRe.re, src: internalRe.src, tokens: internalRe.t, - SEMVER_SPEC_VERSION: require('./internal/constants').SEMVER_SPEC_VERSION, - SemVer: require('./classes/semver'), - compareIdentifiers: require('./internal/identifiers').compareIdentifiers, - rcompareIdentifiers: require('./internal/identifiers').rcompareIdentifiers, - parse: require('./functions/parse'), - valid: require('./functions/valid'), - clean: require('./functions/clean'), - inc: require('./functions/inc'), - diff: require('./functions/diff'), - major: require('./functions/major'), - minor: require('./functions/minor'), - patch: require('./functions/patch'), - prerelease: require('./functions/prerelease'), - compare: require('./functions/compare'), - rcompare: require('./functions/rcompare'), - compareLoose: require('./functions/compare-loose'), - compareBuild: require('./functions/compare-build'), - sort: require('./functions/sort'), - rsort: require('./functions/rsort'), - gt: require('./functions/gt'), - lt: require('./functions/lt'), - eq: require('./functions/eq'), - neq: require('./functions/neq'), - gte: require('./functions/gte'), - lte: require('./functions/lte'), - cmp: require('./functions/cmp'), - coerce: require('./functions/coerce'), - Comparator: require('./classes/comparator'), - Range: require('./classes/range'), - satisfies: require('./functions/satisfies'), - toComparators: require('./ranges/to-comparators'), - maxSatisfying: require('./ranges/max-satisfying'), - minSatisfying: require('./ranges/min-satisfying'), - minVersion: require('./ranges/min-version'), - validRange: require('./ranges/valid'), - outside: require('./ranges/outside'), - gtr: require('./ranges/gtr'), - ltr: require('./ranges/ltr'), - intersects: require('./ranges/intersects'), - simplifyRange: require('./ranges/simplify'), - subset: require('./ranges/subset'), + SEMVER_SPEC_VERSION: constants.SEMVER_SPEC_VERSION, + compareIdentifiers: identifiers.compareIdentifiers, + rcompareIdentifiers: identifiers.rcompareIdentifiers, } diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/semver/internal/constants.js b/Nodejs12.16-COSUnzipFile/src/node_modules/semver/internal/constants.js index 49df215ad5..4f0de59b56 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/semver/internal/constants.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/semver/internal/constants.js @@ -4,7 +4,7 @@ const SEMVER_SPEC_VERSION = '2.0.0' const MAX_LENGTH = 256 const MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || - /* istanbul ignore next */ 9007199254740991 +/* istanbul ignore next */ 9007199254740991 // Max safe segment length for coercion. const MAX_SAFE_COMPONENT_LENGTH = 16 @@ -13,5 +13,5 @@ module.exports = { SEMVER_SPEC_VERSION, MAX_LENGTH, MAX_SAFE_INTEGER, - MAX_SAFE_COMPONENT_LENGTH + MAX_SAFE_COMPONENT_LENGTH, } diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/semver/internal/identifiers.js b/Nodejs12.16-COSUnzipFile/src/node_modules/semver/internal/identifiers.js index ed13094217..e612d0a3d8 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/semver/internal/identifiers.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/semver/internal/identifiers.js @@ -19,5 +19,5 @@ const rcompareIdentifiers = (a, b) => compareIdentifiers(b, a) module.exports = { compareIdentifiers, - rcompareIdentifiers + rcompareIdentifiers, } diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/semver/internal/parse-options.js b/Nodejs12.16-COSUnzipFile/src/node_modules/semver/internal/parse-options.js index 42d2ebd6fa..bbd9ec77a3 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/semver/internal/parse-options.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/semver/internal/parse-options.js @@ -4,8 +4,8 @@ const opts = ['includePrerelease', 'loose', 'rtl'] const parseOptions = options => !options ? {} : typeof options !== 'object' ? { loose: true } - : opts.filter(k => options[k]).reduce((options, k) => { - options[k] = true - return options + : opts.filter(k => options[k]).reduce((o, k) => { + o[k] = true + return o }, {}) module.exports = parseOptions diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/semver/internal/re.js b/Nodejs12.16-COSUnzipFile/src/node_modules/semver/internal/re.js index 54d4176dea..ed88398a9d 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/semver/internal/re.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/semver/internal/re.js @@ -10,7 +10,7 @@ let R = 0 const createToken = (name, value, isGlobal) => { const index = R++ - debug(index, value) + debug(name, index, value) t[name] = index src[index] = value re[index] = new RegExp(value, isGlobal ? 'g' : undefined) @@ -178,5 +178,5 @@ createToken('HYPHENRANGELOOSE', `^\\s*(${src[t.XRANGEPLAINLOOSE]})` + // Star ranges basically just allow anything at all. createToken('STAR', '(<|>)?=?\\s*\\*') // >=0.0.0 is like a star -createToken('GTE0', '^\\s*>=\\s*0\.0\.0\\s*$') -createToken('GTE0PRE', '^\\s*>=\\s*0\.0\.0-0\\s*$') +createToken('GTE0', '^\\s*>=\\s*0\\.0\\.0\\s*$') +createToken('GTE0PRE', '^\\s*>=\\s*0\\.0\\.0-0\\s*$') diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/semver/package.json b/Nodejs12.16-COSUnzipFile/src/node_modules/semver/package.json index 9c82391477..611ba94a5d 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/semver/package.json +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/semver/package.json @@ -1,8 +1,8 @@ { "_from": "semver@^7.3.4", - "_id": "semver@7.3.5", + "_id": "semver@7.3.8", "_inBundle": false, - "_integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "_integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", "_location": "/semver", "_phantomChildren": {}, "_requested": { @@ -18,10 +18,13 @@ "_requiredBy": [ "/conf" ], - "_resolved": "http://r.tnpm.oa.com/semver/-/semver-7.3.5.tgz", - "_shasum": "0b621c879348d8998e4b0e4be94b3f12e6018ef7", + "_resolved": "http://r.tnpm.oa.com/semver/-/semver-7.3.8.tgz", + "_shasum": "07a78feafb3f7b32347d725e33de7e2a2df67798", "_spec": "semver@^7.3.4", "_where": "/data/__qci/root-workspaces/__qci-pipeline-23420-1/scf-cos-unzip-file/src/node_modules/conf", + "author": { + "name": "GitHub Inc." + }, "bin": { "semver": "bin/semver.js" }, @@ -35,20 +38,23 @@ "deprecated": false, "description": "The semantic version parser used by npm.", "devDependencies": { - "tap": "^14.10.7" + "@npmcli/eslint-config": "^3.0.1", + "@npmcli/template-oss": "4.4.4", + "tap": "^16.0.0" }, "engines": { "node": ">=10" }, "files": [ - "bin/**/*.js", - "range.bnf", - "classes/**/*.js", - "functions/**/*.js", - "internal/**/*.js", - "ranges/**/*.js", + "bin/", + "lib/", + "classes/", + "functions/", + "internal/", + "ranges/", "index.js", - "preload.js" + "preload.js", + "range.bnf" ], "homepage": "https://github.com/npm/node-semver#readme", "license": "ISC", @@ -59,15 +65,53 @@ "url": "git+https://github.com/npm/node-semver.git" }, "scripts": { - "postpublish": "git push origin --follow-tags", - "postversion": "npm publish", - "preversion": "npm test", + "lint": "eslint \"**/*.js\"", + "lintfix": "npm run lint -- --fix", + "postlint": "template-oss-check", + "posttest": "npm run lint", "snap": "tap", + "template-oss-apply": "template-oss-apply --force", "test": "tap" }, "tap": { "check-coverage": true, - "coverage-map": "map.js" + "coverage-map": "map.js", + "nyc-arg": [ + "--exclude", + "tap-snapshots/**" + ] + }, + "templateOSS": { + "//@npmcli/template-oss": "This file is partially managed by @npmcli/template-oss. Edits may be overwritten.", + "version": "4.4.4", + "engines": ">=10", + "content": "./scripts", + "ciVersions": [ + "10.0.0", + "10.x", + "12.x", + "14.x", + "16.x", + "18.x" + ], + "distPaths": [ + "classes/", + "functions/", + "internal/", + "ranges/", + "index.js", + "preload.js", + "range.bnf" + ], + "allowPaths": [ + "/classes/", + "/functions/", + "/internal/", + "/ranges/", + "/index.js", + "/preload.js", + "/range.bnf" + ] }, - "version": "7.3.5" + "version": "7.3.8" } diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/semver/ranges/min-version.js b/Nodejs12.16-COSUnzipFile/src/node_modules/semver/ranges/min-version.js index 2fac412914..350e1f7836 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/semver/ranges/min-version.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/semver/ranges/min-version.js @@ -47,8 +47,9 @@ const minVersion = (range, loose) => { throw new Error(`Unexpected operation: ${comparator.operator}`) } }) - if (setMin && (!minver || gt(minver, setMin))) + if (setMin && (!minver || gt(minver, setMin))) { minver = setMin + } } if (minver && range.test(minver)) { diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/semver/ranges/outside.js b/Nodejs12.16-COSUnzipFile/src/node_modules/semver/ranges/outside.js index 2a4b0a13f9..ae99b10a5b 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/semver/ranges/outside.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/semver/ranges/outside.js @@ -1,6 +1,6 @@ const SemVer = require('../classes/semver') const Comparator = require('../classes/comparator') -const {ANY} = Comparator +const { ANY } = Comparator const Range = require('../classes/range') const satisfies = require('../functions/satisfies') const gt = require('../functions/gt') diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/semver/ranges/simplify.js b/Nodejs12.16-COSUnzipFile/src/node_modules/semver/ranges/simplify.js index b792f97296..618d5b6273 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/semver/ranges/simplify.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/semver/ranges/simplify.js @@ -5,38 +5,41 @@ const satisfies = require('../functions/satisfies.js') const compare = require('../functions/compare.js') module.exports = (versions, range, options) => { const set = [] - let min = null + let first = null let prev = null const v = versions.sort((a, b) => compare(a, b, options)) for (const version of v) { const included = satisfies(version, range, options) if (included) { prev = version - if (!min) - min = version + if (!first) { + first = version + } } else { if (prev) { - set.push([min, prev]) + set.push([first, prev]) } prev = null - min = null + first = null } } - if (min) - set.push([min, null]) + if (first) { + set.push([first, null]) + } const ranges = [] for (const [min, max] of set) { - if (min === max) + if (min === max) { ranges.push(min) - else if (!max && min === v[0]) + } else if (!max && min === v[0]) { ranges.push('*') - else if (!max) + } else if (!max) { ranges.push(`>=${min}`) - else if (min === v[0]) + } else if (min === v[0]) { ranges.push(`<=${max}`) - else + } else { ranges.push(`${min} - ${max}`) + } } const simplified = ranges.join(' || ') const original = typeof range.raw === 'string' ? range.raw : String(range) diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/semver/ranges/subset.js b/Nodejs12.16-COSUnzipFile/src/node_modules/semver/ranges/subset.js index 532fd1364c..e0dea43c2b 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/semver/ranges/subset.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/semver/ranges/subset.js @@ -41,8 +41,9 @@ const compare = require('../functions/compare.js') // - Else return true const subset = (sub, dom, options = {}) => { - if (sub === dom) + if (sub === dom) { return true + } sub = new Range(sub, options) dom = new Range(dom, options) @@ -52,73 +53,84 @@ const subset = (sub, dom, options = {}) => { for (const simpleDom of dom.set) { const isSub = simpleSubset(simpleSub, simpleDom, options) sawNonNull = sawNonNull || isSub !== null - if (isSub) + if (isSub) { continue OUTER + } } // the null set is a subset of everything, but null simple ranges in // a complex range should be ignored. so if we saw a non-null range, // then we know this isn't a subset, but if EVERY simple range was null, // then it is a subset. - if (sawNonNull) + if (sawNonNull) { return false + } } return true } const simpleSubset = (sub, dom, options) => { - if (sub === dom) + if (sub === dom) { return true + } if (sub.length === 1 && sub[0].semver === ANY) { - if (dom.length === 1 && dom[0].semver === ANY) + if (dom.length === 1 && dom[0].semver === ANY) { return true - else if (options.includePrerelease) - sub = [ new Comparator('>=0.0.0-0') ] - else - sub = [ new Comparator('>=0.0.0') ] + } else if (options.includePrerelease) { + sub = [new Comparator('>=0.0.0-0')] + } else { + sub = [new Comparator('>=0.0.0')] + } } if (dom.length === 1 && dom[0].semver === ANY) { - if (options.includePrerelease) + if (options.includePrerelease) { return true - else - dom = [ new Comparator('>=0.0.0') ] + } else { + dom = [new Comparator('>=0.0.0')] + } } const eqSet = new Set() let gt, lt for (const c of sub) { - if (c.operator === '>' || c.operator === '>=') + if (c.operator === '>' || c.operator === '>=') { gt = higherGT(gt, c, options) - else if (c.operator === '<' || c.operator === '<=') + } else if (c.operator === '<' || c.operator === '<=') { lt = lowerLT(lt, c, options) - else + } else { eqSet.add(c.semver) + } } - if (eqSet.size > 1) + if (eqSet.size > 1) { return null + } let gtltComp if (gt && lt) { gtltComp = compare(gt.semver, lt.semver, options) - if (gtltComp > 0) + if (gtltComp > 0) { return null - else if (gtltComp === 0 && (gt.operator !== '>=' || lt.operator !== '<=')) + } else if (gtltComp === 0 && (gt.operator !== '>=' || lt.operator !== '<=')) { return null + } } // will iterate one or zero times for (const eq of eqSet) { - if (gt && !satisfies(eq, String(gt), options)) + if (gt && !satisfies(eq, String(gt), options)) { return null + } - if (lt && !satisfies(eq, String(lt), options)) + if (lt && !satisfies(eq, String(lt), options)) { return null + } for (const c of dom) { - if (!satisfies(eq, String(c), options)) + if (!satisfies(eq, String(c), options)) { return false + } } return true @@ -154,10 +166,12 @@ const simpleSubset = (sub, dom, options) => { } if (c.operator === '>' || c.operator === '>=') { higher = higherGT(gt, c, options) - if (higher === c && higher !== gt) + if (higher === c && higher !== gt) { return false - } else if (gt.operator === '>=' && !satisfies(gt.semver, String(c), options)) + } + } else if (gt.operator === '>=' && !satisfies(gt.semver, String(c), options)) { return false + } } if (lt) { if (needDomLTPre) { @@ -170,37 +184,44 @@ const simpleSubset = (sub, dom, options) => { } if (c.operator === '<' || c.operator === '<=') { lower = lowerLT(lt, c, options) - if (lower === c && lower !== lt) + if (lower === c && lower !== lt) { return false - } else if (lt.operator === '<=' && !satisfies(lt.semver, String(c), options)) + } + } else if (lt.operator === '<=' && !satisfies(lt.semver, String(c), options)) { return false + } } - if (!c.operator && (lt || gt) && gtltComp !== 0) + if (!c.operator && (lt || gt) && gtltComp !== 0) { return false + } } // if there was a < or >, and nothing in the dom, then must be false // UNLESS it was limited by another range in the other direction. // Eg, >1.0.0 <1.0.1 is still a subset of <2.0.0 - if (gt && hasDomLT && !lt && gtltComp !== 0) + if (gt && hasDomLT && !lt && gtltComp !== 0) { return false + } - if (lt && hasDomGT && !gt && gtltComp !== 0) + if (lt && hasDomGT && !gt && gtltComp !== 0) { return false + } // we needed a prerelease range in a specific tuple, but didn't get one // then this isn't a subset. eg >=1.2.3-pre is not a subset of >=1.0.0, // because it includes prereleases in the 1.2.3 tuple - if (needDomGTPre || needDomLTPre) + if (needDomGTPre || needDomLTPre) { return false + } return true } // >=1.2.3 is lower than >1.2.3 const higherGT = (a, b, options) => { - if (!a) + if (!a) { return b + } const comp = compare(a.semver, b.semver, options) return comp > 0 ? a : comp < 0 ? b @@ -210,8 +231,9 @@ const higherGT = (a, b, options) => { // <=1.2.3 is higher than <1.2.3 const lowerLT = (a, b, options) => { - if (!a) + if (!a) { return b + } const comp = compare(a.semver, b.semver, options) return comp < 0 ? a : comp > 0 ? b diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/sshpk/Jenkinsfile b/Nodejs12.16-COSUnzipFile/src/node_modules/sshpk/Jenkinsfile new file mode 100644 index 0000000000..cd0bf2250a --- /dev/null +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/sshpk/Jenkinsfile @@ -0,0 +1,86 @@ +@Library('jenkins-joylib@v1.0.8') _ + +pipeline { + + agent none + + options { + buildDiscarder(logRotator(numToKeepStr: '30')) + timestamps() + } + + stages { + stage('top') { + parallel { + stage('v0.10.48-zone') { + agent { + label joyCommonLabels(image_ver: '15.4.1') + } + tools { + nodejs 'sdcnode-v0.10.48-zone' + } + stages { + stage('check') { + steps{ + sh('make check') + } + } + stage('test') { + steps{ + sh('make test') + } + } + } + } + + stage('v4-zone') { + agent { + label joyCommonLabels(image_ver: '15.4.1') + } + tools { + nodejs 'sdcnode-v4-zone' + } + stages { + stage('check') { + steps{ + sh('make check') + } + } + stage('test') { + steps{ + sh('make test') + } + } + } + } + + stage('v6-zone64') { + agent { + label joyCommonLabels(image_ver: '18.4.0') + } + tools { + nodejs 'sdcnode-v6-zone64' + } + stages { + stage('check') { + steps{ + sh('make check') + } + } + stage('test') { + steps{ + sh('make test') + } + } + } + } + } + } + } + + post { + always { + joySlackNotifications() + } + } +} diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/sshpk/lib/formats/putty.js b/Nodejs12.16-COSUnzipFile/src/node_modules/sshpk/lib/formats/putty.js index 344419f980..e7b2add352 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/sshpk/lib/formats/putty.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/sshpk/lib/formats/putty.js @@ -9,20 +9,30 @@ var assert = require('assert-plus'); var Buffer = require('safer-buffer').Buffer; var rfc4253 = require('./rfc4253'); var Key = require('../key'); +var SSHBuffer = require('../ssh-buffer'); +var crypto = require('crypto'); +var PrivateKey = require('../private-key'); var errors = require('../errors'); +// https://tartarus.org/~simon/putty-prerel-snapshots/htmldoc/AppendixC.html function read(buf, options) { var lines = buf.toString('ascii').split(/[\r\n]+/); var found = false; var parts; var si = 0; + var formatVersion; while (si < lines.length) { parts = splitHeader(lines[si++]); - if (parts && - parts[0].toLowerCase() === 'putty-user-key-file-2') { - found = true; - break; + if (parts) { + formatVersion = { + 'putty-user-key-file-2': 2, + 'putty-user-key-file-3': 3 + }[parts[0].toLowerCase()]; + if (formatVersion) { + found = true; + break; + } } } if (!found) { @@ -32,6 +42,7 @@ function read(buf, options) { parts = splitHeader(lines[si++]); assert.equal(parts[0].toLowerCase(), 'encryption'); + var encryption = parts[1]; parts = splitHeader(lines[si++]); assert.equal(parts[0].toLowerCase(), 'comment'); @@ -52,10 +63,94 @@ function read(buf, options) { if (key.type !== keyType) { throw (new Error('Outer key algorithm mismatch')); } + + si += publicLines; + if (lines[si]) { + parts = splitHeader(lines[si++]); + assert.equal(parts[0].toLowerCase(), 'private-lines'); + var privateLines = parseInt(parts[1], 10); + if (!isFinite(privateLines) || privateLines < 0 || + privateLines > lines.length) { + throw (new Error('Invalid private-lines count')); + } + + var privateBuf = Buffer.from( + lines.slice(si, si + privateLines).join(''), 'base64'); + + if (encryption !== 'none' && formatVersion === 3) { + throw new Error('Encrypted keys arenot supported for' + + ' PuTTY format version 3'); + } + + if (encryption === 'aes256-cbc') { + if (!options.passphrase) { + throw (new errors.KeyEncryptedError( + options.filename, 'PEM')); + } + + var iv = Buffer.alloc(16, 0); + var decipher = crypto.createDecipheriv( + 'aes-256-cbc', + derivePPK2EncryptionKey(options.passphrase), + iv); + decipher.setAutoPadding(false); + privateBuf = Buffer.concat([ + decipher.update(privateBuf), decipher.final()]); + } + + key = new PrivateKey(key); + if (key.type !== keyType) { + throw (new Error('Outer key algorithm mismatch')); + } + + var sshbuf = new SSHBuffer({buffer: privateBuf}); + var privateKeyParts; + if (alg === 'ssh-dss') { + privateKeyParts = [ { + name: 'x', + data: sshbuf.readBuffer() + }]; + } else if (alg === 'ssh-rsa') { + privateKeyParts = [ + { name: 'd', data: sshbuf.readBuffer() }, + { name: 'p', data: sshbuf.readBuffer() }, + { name: 'q', data: sshbuf.readBuffer() }, + { name: 'iqmp', data: sshbuf.readBuffer() } + ]; + } else if (alg.match(/^ecdsa-sha2-nistp/)) { + privateKeyParts = [ { + name: 'd', data: sshbuf.readBuffer() + } ]; + } else if (alg === 'ssh-ed25519') { + privateKeyParts = [ { + name: 'k', data: sshbuf.readBuffer() + } ]; + } else { + throw new Error('Unsupported PPK key type: ' + alg); + } + + key = new PrivateKey({ + type: key.type, + parts: key.parts.concat(privateKeyParts) + }); + } + key.comment = comment; return (key); } +function derivePPK2EncryptionKey(passphrase) { + var hash1 = crypto.createHash('sha1').update(Buffer.concat([ + Buffer.from([0, 0, 0, 0]), + Buffer.from(passphrase) + ])).digest(); + var hash2 = crypto.createHash('sha1').update(Buffer.concat([ + Buffer.from([0, 0, 0, 1]), + Buffer.from(passphrase) + ])).digest(); + return (Buffer.concat([hash1, hash2]).slice(0, 32)); +} + function splitHeader(line) { var idx = line.indexOf(':'); if (idx === -1) diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/sshpk/lib/private-key.js b/Nodejs12.16-COSUnzipFile/src/node_modules/sshpk/lib/private-key.js index 560083801e..570e05435b 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/sshpk/lib/private-key.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/sshpk/lib/private-key.js @@ -33,6 +33,7 @@ formats['ssh-private'] = require('./formats/ssh-private'); formats['openssh'] = formats['ssh-private']; formats['ssh'] = formats['ssh-private']; formats['dnssec'] = require('./formats/dnssec'); +formats['putty'] = require('./formats/putty'); function PrivateKey(opts) { assert.object(opts, 'options'); diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/sshpk/package.json b/Nodejs12.16-COSUnzipFile/src/node_modules/sshpk/package.json index e5a47cd9fa..51eb9993e1 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/sshpk/package.json +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/sshpk/package.json @@ -1,8 +1,8 @@ { "_from": "sshpk@^1.7.0", - "_id": "sshpk@1.16.1", + "_id": "sshpk@1.17.0", "_inBundle": false, - "_integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", + "_integrity": "sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==", "_location": "/sshpk", "_phantomChildren": {}, "_requested": { @@ -18,8 +18,8 @@ "_requiredBy": [ "/http-signature" ], - "_resolved": "http://r.tnpm.oa.com/sshpk/-/sshpk-1.16.1.tgz", - "_shasum": "fb661c0bef29b39db40769ee39fa70093d6f6877", + "_resolved": "http://r.tnpm.oa.com/sshpk/-/sshpk-1.17.0.tgz", + "_shasum": "578082d92d4fe612b13007496e543fa0fbcbe4c5", "_spec": "sshpk@^1.7.0", "_where": "/data/__qci/root-workspaces/__qci-pipeline-23420-1/scf-cos-unzip-file/src/node_modules/http-signature", "author": { @@ -92,5 +92,5 @@ "scripts": { "test": "tape test/*.js" }, - "version": "1.16.1" + "version": "1.17.0" } diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/package.json b/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/package.json index e0c3bd81b5..155e2855de 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/package.json +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/package.json @@ -1,8 +1,8 @@ { "_from": "tencentcloud-sdk-nodejs@^3.0.131", - "_id": "tencentcloud-sdk-nodejs@3.0.269", + "_id": "tencentcloud-sdk-nodejs@3.0.270", "_inBundle": false, - "_integrity": "sha512-SFsH2GI2hJGdPl5MegIHy3tHkWxBarkiOK3o8HeeCgqIkoNPSIEhw6UdFY92XAabLp6IQ6cqh0ePwN1LDWrPEw==", + "_integrity": "sha512-+rK49nvbjcUylMRfksDAs3quDBcdTccTI3oulgJWWw83Bl/3bMmcMBxAew3JqDazENz9RufuW3T91k4tLPR/wQ==", "_location": "/tencentcloud-sdk-nodejs", "_phantomChildren": {}, "_requested": { @@ -18,8 +18,8 @@ "_requiredBy": [ "/" ], - "_resolved": "http://r.tnpm.oa.com/tencentcloud-sdk-nodejs/-/tencentcloud-sdk-nodejs-3.0.269.tgz", - "_shasum": "20399377f9cfc969e4d76782a97353ea93c1417e", + "_resolved": "http://r.tnpm.oa.com/tencentcloud-sdk-nodejs/-/tencentcloud-sdk-nodejs-3.0.270.tgz", + "_shasum": "6fc5e12456c6051eb711e203c9dc632b1460ac9b", "_spec": "tencentcloud-sdk-nodejs@^3.0.131", "_where": "/data/__qci/root-workspaces/__qci-pipeline-23420-1/scf-cos-unzip-file/src", "author": { @@ -64,5 +64,5 @@ "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, - "version": "3.0.269" + "version": "3.0.270" } diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/aa/v20200224/models.js b/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/aa/v20200224/models.js index f808ba718e..d61a6b62ac 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/aa/v20200224/models.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/aa/v20200224/models.js @@ -133,8 +133,7 @@ class QueryActivityAntiRushResponse extends AbstractModel { this.AssociateAccount = null; /** - * 用户ID -accountType不同对应不同的用户ID。如果是QQ或微信用户则填入对应的openId + * uid值 注意:此字段可能返回 null,表示取不到有效值。 * @type {string || null} */ @@ -1123,18 +1122,13 @@ class QueryActivityAntiRushRequest extends AbstractModel { super(); /** - * 用户账号类型(默认开通 QQ 开放账号、手机号,手机 MD5 账号类型查询。如需使用微信开放账号,则需要 提交工单 由腾讯云进行资格审核,审核通过后方可正常使用微信开放账号): -1:QQ 开放帐号。 -2:微信开放账号。 -4:手机号。 -0:其他。 -10004:手机号 MD5。 + * 账号类型 * @type {string || null} */ this.AccountType = null; /** - * 用户 ID 不同的 accountType 对应不同的用户 ID。如果是 QQ,则填入对应的 openid,微信用户则填入对应的 openid/unionid,手机号则填入对应真实用户手机号(如13123456789)。 + * uid值 * @type {string || null} */ this.Uid = null; @@ -1164,7 +1158,7 @@ class QueryActivityAntiRushRequest extends AbstractModel { this.NickName = null; /** - * 手机号。若 accountType 选4(手机号)、或10004(手机号 MD5),则无需重复填写。否则填入对应的手机号(如15912345687)。accountType为1或2时,该字段支持MD5值; + * 手机号 * @type {string || null} */ this.PhoneNumber = null; @@ -1316,8 +1310,7 @@ class QueryActivityAntiRushRequest extends AbstractModel { this.RandNum = null; /** - * 如果 accountType为2而且wxSubType有填,该字段必选,否则不需要填写; -如果是微信小程序(WxSubType=2),该字段为以ssesion_key为key去签名随机数radnNum得到的值( hmac_sha256签名算法);如果是微信公众号或第三方登录,则为授权的access_token(网页版本的access_Token,而且获取token的scope字段必需填写snsapi_userinfo;) + * token * @type {string || null} */ this.WxToken = null; diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/advisor/index.js b/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/advisor/index.js new file mode 100644 index 0000000000..089f39ce1a --- /dev/null +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/advisor/index.js @@ -0,0 +1,3 @@ +module.exports = { + v20200721: require("./v20200721"), +}; diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/advisor/v20200721/advisor_client.js b/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/advisor/v20200721/advisor_client.js new file mode 100644 index 0000000000..2ce4beb8bc --- /dev/null +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/advisor/v20200721/advisor_client.js @@ -0,0 +1,63 @@ +/* + * Copyright (c) 2018 THL A29 Limited, a Tencent company. All Rights Reserved. + * + * 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. + */ +const models = require("./models"); +const AbstractClient = require('../../common/abstract_client') +const DescribeStrategiesResponse = models.DescribeStrategiesResponse; +const DescribeTaskStrategyRisksRequest = models.DescribeTaskStrategyRisksRequest; +const DescribeStrategie = models.DescribeStrategie; +const DescribeTaskStrategyRisksResponse = models.DescribeTaskStrategyRisksResponse; +const KeyValue = models.KeyValue; +const RiskFieldsDesc = models.RiskFieldsDesc; +const DescribeStrategiesCondition = models.DescribeStrategiesCondition; +const DescribeStrategiesRequest = models.DescribeStrategiesRequest; + + +/** + * advisor client + * @class + */ +class AdvisorClient extends AbstractClient { + + constructor(credential, region, profile) { + super("advisor.tencentcloudapi.com", "2020-07-21", credential, region, profile); + } + + /** + * 查询评估项风险实例列表 + * @param {DescribeTaskStrategyRisksRequest} req + * @param {function(string, DescribeTaskStrategyRisksResponse):void} cb + * @public + */ + DescribeTaskStrategyRisks(req, cb) { + let resp = new DescribeTaskStrategyRisksResponse(); + this.request("DescribeTaskStrategyRisks", req, resp, cb); + } + + /** + * 用于查询评估项的信息 + * @param {DescribeStrategiesRequest} req + * @param {function(string, DescribeStrategiesResponse):void} cb + * @public + */ + DescribeStrategies(req, cb) { + let resp = new DescribeStrategiesResponse(); + this.request("DescribeStrategies", req, resp, cb); + } + + +} +module.exports = AdvisorClient; diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/advisor/v20200721/index.js b/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/advisor/v20200721/index.js new file mode 100644 index 0000000000..d25bc71dae --- /dev/null +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/advisor/v20200721/index.js @@ -0,0 +1,4 @@ +module.exports = { + Client: require("./advisor_client"), + Models: require("./models"), +}; diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/advisor/v20200721/models.js b/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/advisor/v20200721/models.js new file mode 100644 index 0000000000..7273742b8b --- /dev/null +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/advisor/v20200721/models.js @@ -0,0 +1,455 @@ +/* + * Copyright (c) 2018 THL A29 Limited, a Tencent company. All Rights Reserved. + * + * 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. + */ +const AbstractModel = require("../../common/abstract_model"); + +/** + * DescribeStrategies返回参数结构体 + * @class + */ +class DescribeStrategiesResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 评估项列表 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {Array. || null} + */ + this.Strategies = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + + if (params.Strategies) { + this.Strategies = new Array(); + for (let z in params.Strategies) { + let obj = new DescribeStrategie(); + obj.deserialize(params.Strategies[z]); + this.Strategies.push(obj); + } + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * DescribeTaskStrategyRisks请求参数结构体 + * @class + */ +class DescribeTaskStrategyRisksRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 评估项ID + * @type {number || null} + */ + this.StrategyId = null; + + /** + * 限制数量,默认100 + * @type {number || null} + */ + this.Limit = null; + + /** + * 偏移量,默认0 + * @type {number || null} + */ + this.Offset = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.StrategyId = 'StrategyId' in params ? params.StrategyId : null; + this.Limit = 'Limit' in params ? params.Limit : null; + this.Offset = 'Offset' in params ? params.Offset : null; + + } +} + +/** + * 评估项信息 + * @class + */ +class DescribeStrategie extends AbstractModel { + constructor(){ + super(); + + /** + * 评估项ID +注意:此字段可能返回 null,表示取不到有效值。 + * @type {number || null} + */ + this.StrategyId = null; + + /** + * 评估项名称 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.Name = null; + + /** + * 评估项描述 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.Desc = null; + + /** + * 评估项对应产品ID +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.Product = null; + + /** + * 评估项对应产品名称 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.ProductDesc = null; + + /** + * 评估项优化建议 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.Repair = null; + + /** + * 评估项类别ID +注意:此字段可能返回 null,表示取不到有效值。 + * @type {number || null} + */ + this.GroupId = null; + + /** + * 评估项类别名称 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.GroupName = null; + + /** + * 评估项风险列表 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {Array. || null} + */ + this.Conditions = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.StrategyId = 'StrategyId' in params ? params.StrategyId : null; + this.Name = 'Name' in params ? params.Name : null; + this.Desc = 'Desc' in params ? params.Desc : null; + this.Product = 'Product' in params ? params.Product : null; + this.ProductDesc = 'ProductDesc' in params ? params.ProductDesc : null; + this.Repair = 'Repair' in params ? params.Repair : null; + this.GroupId = 'GroupId' in params ? params.GroupId : null; + this.GroupName = 'GroupName' in params ? params.GroupName : null; + + if (params.Conditions) { + this.Conditions = new Array(); + for (let z in params.Conditions) { + let obj = new DescribeStrategiesCondition(); + obj.deserialize(params.Conditions[z]); + this.Conditions.push(obj); + } + } + + } +} + +/** + * DescribeTaskStrategyRisks返回参数结构体 + * @class + */ +class DescribeTaskStrategyRisksResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 根据此配置,匹配风险实例列表(Risks)对应字段,例如: +{"Response":{"RequestId":"111","RiskFieldsDesc":[{"Field":"InstanceId","FieldName":"ID","FieldType":"string","FieldDict":{}},{"Field":"InstanceName","FieldName":"名称","FieldType":"string","FieldDict":{}},{"Field":"InstanceState","FieldName":"状态","FieldType":"string","FieldDict":{"LAUNCH_FAILED":"创建失败","PENDING":"创建中","REBOOTING":"重启中","RUNNING":"运行中","SHUTDOWN":"停止待销毁","STARTING":"开机中","STOPPED":"关机","STOPPING":"关机中","TERMINATING":"销毁中"}},{"Field":"Zone","FieldName":"可用区","FieldType":"string","FieldDict":{}},{"Field":"PrivateIPAddresses","FieldName":"IP地址(内)","FieldType":"stringSlice","FieldDict":{}},{"Field":"PublicIPAddresses","FieldName":"IP地址(公)","FieldType":"stringSlice","FieldDict":{}},{"Field":"Region","FieldName":"地域","FieldType":"string","FieldDict":{}},{"Field":"Tags","FieldName":"标签","FieldType":"tags","FieldDict":{}}],"RiskTotalCount":3,"Risks":"[{\"InstanceId\":\"ins-xxx1\",\"InstanceName\":\"xxx1\",\"InstanceState\":\"RUNNING\",\"PrivateIPAddresses\":[\"1.17.64.2\"],\"PublicIPAddresses\":null,\"Region\":\"ap-shanghai\",\"Tags\":null,\"Zone\":\"ap-shanghai-2\"},{\"InstanceId\":\"ins-xxx2\",\"InstanceName\":\"xxx2\",\"InstanceState\":\"RUNNING\",\"PrivateIPAddresses\":[\"1.17.64.11\"],\"PublicIPAddresses\":null,\"Region\":\"ap-shanghai\",\"Tags\":null,\"Zone\":\"ap-shanghai-2\"}]","StrategyId":9}} +注意:此字段可能返回 null,表示取不到有效值。 + * @type {Array. || null} + */ + this.RiskFieldsDesc = null; + + /** + * 评估项ID +注意:此字段可能返回 null,表示取不到有效值。 + * @type {number || null} + */ + this.StrategyId = null; + + /** + * 风险实例个数 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {number || null} + */ + this.RiskTotalCount = null; + + /** + * 风险实例详情列表,需要json decode +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.Risks = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + + if (params.RiskFieldsDesc) { + this.RiskFieldsDesc = new Array(); + for (let z in params.RiskFieldsDesc) { + let obj = new RiskFieldsDesc(); + obj.deserialize(params.RiskFieldsDesc[z]); + this.RiskFieldsDesc.push(obj); + } + } + this.StrategyId = 'StrategyId' in params ? params.StrategyId : null; + this.RiskTotalCount = 'RiskTotalCount' in params ? params.RiskTotalCount : null; + this.Risks = 'Risks' in params ? params.Risks : null; + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * 键值对 + * @class + */ +class KeyValue extends AbstractModel { + constructor(){ + super(); + + /** + * 键名 + * @type {string || null} + */ + this.Key = null; + + /** + * 键名对应值 + * @type {string || null} + */ + this.Value = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Key = 'Key' in params ? params.Key : null; + this.Value = 'Value' in params ? params.Value : null; + + } +} + +/** + * 风险实例字段描述 + * @class + */ +class RiskFieldsDesc extends AbstractModel { + constructor(){ + super(); + + /** + * 字段ID + * @type {string || null} + */ + this.Field = null; + + /** + * 字段名称 + * @type {string || null} + */ + this.FieldName = null; + + /** + * 字段类型, +string: 字符串类型,例如"aa" +int: 整形,例如 111 +stringSlice : 字符串数组类型,例如["a", "b"] +tags: 标签类型, 例如: [{"Key":"kkk","Value":"vvv"},{"Key":"kkk2","Value":"vvv2"}] + * @type {string || null} + */ + this.FieldType = null; + + /** + * 字段值对应字典 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {Array. || null} + */ + this.FieldDict = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Field = 'Field' in params ? params.Field : null; + this.FieldName = 'FieldName' in params ? params.FieldName : null; + this.FieldType = 'FieldType' in params ? params.FieldType : null; + + if (params.FieldDict) { + this.FieldDict = new Array(); + for (let z in params.FieldDict) { + let obj = new KeyValue(); + obj.deserialize(params.FieldDict[z]); + this.FieldDict.push(obj); + } + } + + } +} + +/** + * 评估项警告条件 + * @class + */ +class DescribeStrategiesCondition extends AbstractModel { + constructor(){ + super(); + + /** + * 警告条件ID +注意:此字段可能返回 null,表示取不到有效值。 + * @type {number || null} + */ + this.ConditionId = null; + + /** + * 警告级别,2:中风险,3:高风险 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {number || null} + */ + this.Level = null; + + /** + * 警告级别描述 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.LevelDesc = null; + + /** + * 警告条件描述 + * @type {string || null} + */ + this.Desc = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.ConditionId = 'ConditionId' in params ? params.ConditionId : null; + this.Level = 'Level' in params ? params.Level : null; + this.LevelDesc = 'LevelDesc' in params ? params.LevelDesc : null; + this.Desc = 'Desc' in params ? params.Desc : null; + + } +} + +/** + * DescribeStrategies请求参数结构体 + * @class + */ +class DescribeStrategiesRequest extends AbstractModel { + constructor(){ + super(); + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + + } +} + +module.exports = { + DescribeStrategiesResponse: DescribeStrategiesResponse, + DescribeTaskStrategyRisksRequest: DescribeTaskStrategyRisksRequest, + DescribeStrategie: DescribeStrategie, + DescribeTaskStrategyRisksResponse: DescribeTaskStrategyRisksResponse, + KeyValue: KeyValue, + RiskFieldsDesc: RiskFieldsDesc, + DescribeStrategiesCondition: DescribeStrategiesCondition, + DescribeStrategiesRequest: DescribeStrategiesRequest, + +} diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/af/v20200226/af_client.js b/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/af/v20200226/af_client.js index f41242202a..8abea57e63 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/af/v20200226/af_client.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/af/v20200226/af_client.js @@ -16,9 +16,23 @@ */ const models = require("./models"); const AbstractClient = require('../../common/abstract_client') +const RiskDetailInfo = models.RiskDetailInfo; +const AntiFraudRecord = models.AntiFraudRecord; +const AntiFraudFilter = models.AntiFraudFilter; +const AntiFraudCryptoFilter = models.AntiFraudCryptoFilter; +const FinanceAntiFraudRecord = models.FinanceAntiFraudRecord; +const DescribeAntiFraudResponse = models.DescribeAntiFraudResponse; const RiskDetail = models.RiskDetail; -const QueryAntiFraudRequest = models.QueryAntiFraudRequest; +const FinanceOtherModelScores = models.FinanceOtherModelScores; +const SimpleKindRiskDetail = models.SimpleKindRiskDetail; +const OtherModelScoresDetail = models.OtherModelScoresDetail; +const GetAntiFraudRequest = models.GetAntiFraudRequest; +const DescribeAntiFraudRequest = models.DescribeAntiFraudRequest; +const FinanceAntiFraudFilter = models.FinanceAntiFraudFilter; const QueryAntiFraudResponse = models.QueryAntiFraudResponse; +const GetAntiFraudResponse = models.GetAntiFraudResponse; +const QueryAntiFraudRequest = models.QueryAntiFraudRequest; +const FinanceAntiFraudCryptoFilter = models.FinanceAntiFraudCryptoFilter; /** @@ -44,6 +58,30 @@ class AfClient extends AbstractClient { this.request("QueryAntiFraud", req, resp, cb); } + /** + * 反欺诈评分接口 + * @param {GetAntiFraudRequest} req + * @param {function(string, GetAntiFraudResponse):void} cb + * @public + */ + GetAntiFraud(req, cb) { + let resp = new GetAntiFraudResponse(); + this.request("GetAntiFraud", req, resp, cb); + } + + /** + * 天御反欺诈服务,主要应用于银行、证券、保险、消费金融等金融行业客户,通过腾讯的大数据风控能力, +可以准确识别恶意用户信息,解决客户在支付、活动、理财,风控等业务环节遇到的欺诈威胁,降低企业 +的损失。 + * @param {DescribeAntiFraudRequest} req + * @param {function(string, DescribeAntiFraudResponse):void} cb + * @public + */ + DescribeAntiFraud(req, cb) { + let resp = new DescribeAntiFraudResponse(); + this.request("DescribeAntiFraud", req, resp, cb); + } + } module.exports = AfClient; diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/af/v20200226/models.js b/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/af/v20200226/models.js index 85774438cc..6e1303272b 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/af/v20200226/models.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/af/v20200226/models.js @@ -17,19 +17,27 @@ const AbstractModel = require("../../common/abstract_model"); /** - * 扩展字段,对风险类型的说明 + * 金融借贷反欺诈 风险码输出类型 * @class */ -class RiskDetail extends AbstractModel { +class RiskDetailInfo extends AbstractModel { constructor(){ super(); /** - * 风险码 参数详细定义请加微信:TYXGJ-01 - * @type {number || null} + * 风险码 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} */ this.RiskCode = null; + /** + * 风险码对应的风险值 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.RiskValue = null; + } /** @@ -40,66 +48,230 @@ class RiskDetail extends AbstractModel { return; } this.RiskCode = 'RiskCode' in params ? params.RiskCode : null; + this.RiskValue = 'RiskValue' in params ? params.RiskValue : null; } } /** - * QueryAntiFraud请求参数结构体 + * 反欺诈查询结果 * @class */ -class QueryAntiFraudRequest extends AbstractModel { +class AntiFraudRecord extends AbstractModel { constructor(){ super(); /** - * 电话号码(五选二) + * 公共错误码 +注意:此字段可能返回 null,表示取不到有效值。 * @type {string || null} */ - this.PhoneNumber = null; + this.Code = null; /** - * Id(五选二) + * 业务侧错误码。 +注意:此字段可能返回 null,表示取不到有效值。 * @type {string || null} */ - this.IdNumber = null; + this.CodeDesc = null; /** - * 银行卡号(五选二) + * 业务侧错误信息。 +注意:此字段可能返回 null,表示取不到有效值。 * @type {string || null} */ - this.BankCardNumber = null; + this.Message = null; /** - * 用户请求来源 IP(五选二) + * 表示该条记录能否查到:1 为能查到;-1 为查不到,此时 RiskScore 返回-1; +注意:此字段可能返回 null,表示取不到有效值。 * @type {string || null} */ - this.UserIp = null; + this.Found = null; /** - * 国际移动设备识别码(五选二) + * 表示该条记录中的身份 ID 能否查到 +1 为能查到 +-1 为查不到 +注意:此字段可能返回 null,表示取不到有效值。 * @type {string || null} */ - this.Imei = null; + this.IdFound = null; /** - * ios 系统广告标示符(五选二) + * 当可查到时,返回 0~100 区间,值越高 欺诈可 +能性越大。 +当查不到时(即 found=-1),返回-1 +注意:此字段可能返回 null,表示取不到有效值。 * @type {string || null} */ - this.Idfa = null; + this.RiskScore = null; /** - * 业务场景 ID,需要找技术对接 + * 扩展字段,对风险类型的说明。扩展字段并非必 +然出现。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {Array. || null} + */ + this.RiskInfo = null; + + /** + * 默认出现,提供模型版本号说明及多模型返回需 +要时用到; +注意:此字段可能返回 null,表示取不到有效值。 + * @type {Array. || null} + */ + this.OtherModelScores = null; + + /** + * 表示请求时间,标准 sunix 时间戳,非必然出现 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.PostTime = null; + + /** + * 拓展字段,非必然出现,和 ExtensionIn 对应; +注:非必然出现,需要返回时天御侧将说明; +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.ExtensionOut = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Code = 'Code' in params ? params.Code : null; + this.CodeDesc = 'CodeDesc' in params ? params.CodeDesc : null; + this.Message = 'Message' in params ? params.Message : null; + this.Found = 'Found' in params ? params.Found : null; + this.IdFound = 'IdFound' in params ? params.IdFound : null; + this.RiskScore = 'RiskScore' in params ? params.RiskScore : null; + + if (params.RiskInfo) { + this.RiskInfo = new Array(); + for (let z in params.RiskInfo) { + let obj = new SimpleKindRiskDetail(); + obj.deserialize(params.RiskInfo[z]); + this.RiskInfo.push(obj); + } + } + + if (params.OtherModelScores) { + this.OtherModelScores = new Array(); + for (let z in params.OtherModelScores) { + let obj = new OtherModelScoresDetail(); + obj.deserialize(params.OtherModelScores[z]); + this.OtherModelScores.push(obj); + } + } + this.PostTime = 'PostTime' in params ? params.PostTime : null; + this.ExtensionOut = 'ExtensionOut' in params ? params.ExtensionOut : null; + + } +} + +/** + * AntiFraudFilter – 业务入参 + * @class + */ +class AntiFraudFilter extends AbstractModel { + constructor(){ + super(); + + /** + * 业务方账号 ID + * @type {string || null} + */ + this.CustomerUin = null; + + /** + * 业务方APPID + * @type {string || null} + */ + this.CustomerAppid = null; + + /** + * 身份证号 +注 1:下方 idCryptoType 为指定 +加密方式 +注 2:若 idNumber 加密则必传加 +密方式 + * @type {string || null} + */ + this.IdNumber = null; + + /** + * 手机号码(注:不需要带国家代码 +例如:13430421011) +注 1:下方 phoneCryptoType 为 +指定加密方式: +注 2:若 phoneNumber 加密则必 +传加密方式 + * @type {string || null} + */ + this.PhoneNumber = null; + + /** + * 业务场景 ID * @type {string || null} */ this.Scene = null; + /** + * 默认不使用,业务方子 +账号,若接口使用密钥对应是子账 +号则必填 + * @type {string || null} + */ + this.CustomerSubUin = null; + + /** + * 已获取约定标识则传 1; +用于基于特定需求而传的标识字段 +注:有约定则是必传,若未传则查 +询接口失败 + * @type {string || null} + */ + this.Authorization = null; + /** * 姓名 +注 :不支持加密 * @type {string || null} */ this.Name = null; + /** + * 银行卡号 + * @type {string || null} + */ + this.BankCardNumber = null; + + /** + * 用户请求来源 IP + * @type {string || null} + */ + this.UserIp = null; + + /** + * 国际移动设备识别码 + * @type {string || null} + */ + this.Imei = null; + + /** + * ios 系统广告标示符 + * @type {string || null} + */ + this.Idfa = null; + /** * 用户邮箱地址 * @type {string || null} @@ -138,14 +310,14 @@ class QueryAntiFraudRequest extends AbstractModel { this.Uid = null; /** - * qq 或微信分配给网站或应用的 appid,用来 -唯一标识网站或应用 + * qq 或微信分配给网站或应用的 +appid,用来唯一标识网站或应用 * @type {string || null} */ this.AppIdU = null; /** - * WIFI MAC + * WIFIMAC * @type {string || null} */ this.WifiMac = null; @@ -163,18 +335,35 @@ class QueryAntiFraudRequest extends AbstractModel { this.WifiBSSID = null; /** - * 业务 ID,在多个业务中使用此服务,通过此 -ID 区分统计数据 + * 拓展字段类型 ID +注:默认不填写,需要时天御侧将 +提供 + * @type {string || null} + */ + this.ExtensionId = null; + + /** + * 拓展字段内容 +注:默认不填,需要时天御侧将提 +供 + * @type {string || null} + */ + this.ExtensionIn = null; + + /** + * 业务 ID,默认不传 * @type {string || null} */ this.BusinessId = null; /** - * Id加密类型 + * 身份证加密类型 0:不加密(默认值) 1:md5 2:sha256 3:SM3 +注:若 idNumber 加密则必传加密 +方式 * @type {string || null} */ this.IdCryptoType = null; @@ -182,22 +371,31 @@ ID 区分统计数据 /** * 手机号加密类型 0:不加密(默认值) -1:md5, 2:sha256 +1:md5, +2:sha256 3:SM3 +注:若 phoneNumber 加密则必传 +加密方式 * @type {string || null} */ this.PhoneCryptoType = null; /** - * 姓名加密类型 + * 姓名加密类型:——注:已经不支持加 +密,该字段存在是为了兼容可能历史客户 +版本; 0:不加密(默认值) 1:md5 -2:sha256 -3:SM3 * @type {string || null} */ this.NameCryptoType = null; + /** + * 是否使用旧回包 + * @type {string || null} + */ + this.OldResponseType = null; + } /** @@ -207,14 +405,18 @@ ID 区分统计数据 if (!params) { return; } - this.PhoneNumber = 'PhoneNumber' in params ? params.PhoneNumber : null; + this.CustomerUin = 'CustomerUin' in params ? params.CustomerUin : null; + this.CustomerAppid = 'CustomerAppid' in params ? params.CustomerAppid : null; this.IdNumber = 'IdNumber' in params ? params.IdNumber : null; + this.PhoneNumber = 'PhoneNumber' in params ? params.PhoneNumber : null; + this.Scene = 'Scene' in params ? params.Scene : null; + this.CustomerSubUin = 'CustomerSubUin' in params ? params.CustomerSubUin : null; + this.Authorization = 'Authorization' in params ? params.Authorization : null; + this.Name = 'Name' in params ? params.Name : null; this.BankCardNumber = 'BankCardNumber' in params ? params.BankCardNumber : null; this.UserIp = 'UserIp' in params ? params.UserIp : null; this.Imei = 'Imei' in params ? params.Imei : null; this.Idfa = 'Idfa' in params ? params.Idfa : null; - this.Scene = 'Scene' in params ? params.Scene : null; - this.Name = 'Name' in params ? params.Name : null; this.EmailAddress = 'EmailAddress' in params ? params.EmailAddress : null; this.Address = 'Address' in params ? params.Address : null; this.Mac = 'Mac' in params ? params.Mac : null; @@ -225,58 +427,109 @@ ID 区分统计数据 this.WifiMac = 'WifiMac' in params ? params.WifiMac : null; this.WifiSSID = 'WifiSSID' in params ? params.WifiSSID : null; this.WifiBSSID = 'WifiBSSID' in params ? params.WifiBSSID : null; + this.ExtensionId = 'ExtensionId' in params ? params.ExtensionId : null; + this.ExtensionIn = 'ExtensionIn' in params ? params.ExtensionIn : null; this.BusinessId = 'BusinessId' in params ? params.BusinessId : null; this.IdCryptoType = 'IdCryptoType' in params ? params.IdCryptoType : null; this.PhoneCryptoType = 'PhoneCryptoType' in params ? params.PhoneCryptoType : null; this.NameCryptoType = 'NameCryptoType' in params ? params.NameCryptoType : null; + this.OldResponseType = 'OldResponseType' in params ? params.OldResponseType : null; } } /** - * QueryAntiFraud返回参数结构体 + * AntiFraudCryptoFilter – 业务入参 * @class */ -class QueryAntiFraudResponse extends AbstractModel { +class AntiFraudCryptoFilter extends AbstractModel { + constructor(){ + super(); + + /** + * 约定用入参,默认不涉及默认BusinessSecurityData 与BusinessCrptoData 不传 + * @type {string || null} + */ + this.CryptoType = null; + + /** + * 约定用入参,默认不涉及 + * @type {string || null} + */ + this.CryptoContent = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.CryptoType = 'CryptoType' in params ? params.CryptoType : null; + this.CryptoContent = 'CryptoContent' in params ? params.CryptoContent : null; + + } +} + +/** + * 借贷反欺查询返回结果出参 + * @class + */ +class FinanceAntiFraudRecord extends AbstractModel { constructor(){ super(); /** * 表示该条记录能否查到:1为能查到,-1为查不到 - * @type {number || null} +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} */ this.Found = null; /** * 表示该条Id能否查到:1为能查到,-1为查不到 - * @type {number || null} +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} */ this.IdFound = null; /** - * 0~100;值越高 欺诈可能性越大 - * @type {number || null} + * 评分0~100;值越高 欺诈可能性越大 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} */ this.RiskScore = null; /** * 扩展字段,对风险类型的说明 - * @type {Array. || null} +注意:此字段可能返回 null,表示取不到有效值。 + * @type {Array. || null} */ this.RiskInfo = null; /** - * 业务侧错误码。成功时返回Success,错误时返回具体业务错误原因。 + * 多模型返回结果 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {Array. || null} + */ + this.OtherModelScores = null; + + /** + * 业务侧错误码。成功时返回0,错误时返回非0值 注意:此字段可能返回 null,表示取不到有效值。 * @type {string || null} */ - this.CodeDesc = null; + this.Code = null; /** - * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * 业务侧错误信息。成功时返回Success,错误时返回具体业务错误原因。 +注意:此字段可能返回 null,表示取不到有效值 +注意:此字段可能返回 null,表示取不到有效值。 * @type {string || null} */ - this.RequestId = null; + this.Message = null; } @@ -294,20 +547,830 @@ class QueryAntiFraudResponse extends AbstractModel { if (params.RiskInfo) { this.RiskInfo = new Array(); for (let z in params.RiskInfo) { - let obj = new RiskDetail(); + let obj = new RiskDetailInfo(); obj.deserialize(params.RiskInfo[z]); this.RiskInfo.push(obj); } } - this.CodeDesc = 'CodeDesc' in params ? params.CodeDesc : null; + + if (params.OtherModelScores) { + this.OtherModelScores = new Array(); + for (let z in params.OtherModelScores) { + let obj = new FinanceOtherModelScores(); + obj.deserialize(params.OtherModelScores[z]); + this.OtherModelScores.push(obj); + } + } + this.Code = 'Code' in params ? params.Code : null; + this.Message = 'Message' in params ? params.Message : null; + + } +} + +/** + * DescribeAntiFraud返回参数结构体 + * @class + */ +class DescribeAntiFraudResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 返回结果 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {FinanceAntiFraudRecord || null} + */ + this.Data = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + + if (params.Data) { + let obj = new FinanceAntiFraudRecord(); + obj.deserialize(params.Data) + this.Data = obj; + } this.RequestId = 'RequestId' in params ? params.RequestId : null; } } -module.exports = { - RiskDetail: RiskDetail, - QueryAntiFraudRequest: QueryAntiFraudRequest, - QueryAntiFraudResponse: QueryAntiFraudResponse, +/** + * 扩展字段,对风险类型的说明 + * @class + */ +class RiskDetail extends AbstractModel { + constructor(){ + super(); + + /** + * 风险码 参数详细定义请加微信:TYXGJ-01 + * @type {number || null} + */ + this.RiskCode = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.RiskCode = 'RiskCode' in params ? params.RiskCode : null; + + } +} + +/** + * 借贷反欺返回结果出参中的多模型返回结果 + * @class + */ +class FinanceOtherModelScores extends AbstractModel { + constructor(){ + super(); + + /** + * 模型ID序号 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.ModelId = null; + + /** + * 模型ID序号对应的评分结果 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.ModelScore = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.ModelId = 'ModelId' in params ? params.ModelId : null; + this.ModelScore = 'ModelScore' in params ? params.ModelScore : null; + + } +} + +/** + * 扩展字段,对风险类型的说明 + * @class + */ +class SimpleKindRiskDetail extends AbstractModel { + constructor(){ + super(); + + /** + * 风险码 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.RiskCode = null; + + /** + * 风险码详情 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.RiskCodeValue = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.RiskCode = 'RiskCode' in params ? params.RiskCode : null; + this.RiskCodeValue = 'RiskCodeValue' in params ? params.RiskCodeValue : null; + + } +} + +/** + * 扩展字段,对多模型返回结果的说明,被如下接口引用:GetAntiFraud。 + * @class + */ +class OtherModelScoresDetail extends AbstractModel { + constructor(){ + super(); + + /** + * 模型版本号;默认顺序为 0、1、2、3、…其中:0=主模型,跟 RiskScore 保持一致; +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.ModelId = null; + + /** + * 模型版本对应的评分结果;Found=1 时:模型版本对应的评分结果,0~100 分 +区间;Found=-1(未查到)时:全部模型结果返回-1 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.ModelScore = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.ModelId = 'ModelId' in params ? params.ModelId : null; + this.ModelScore = 'ModelScore' in params ? params.ModelScore : null; + + } +} + +/** + * GetAntiFraud请求参数结构体 + * @class + */ +class GetAntiFraudRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 默认不传,约定用原始业务 +入参(二选一BusinessSecurityData 或 +BusinessCryptoData)。 + * @type {AntiFraudFilter || null} + */ + this.BusinessSecurityData = null; + + /** + * 默认不传,约定用密文业务 +入参(二选一 +BusinessSecurityData 或 +BusinessCryptoData)。 + * @type {AntiFraudCryptoFilter || null} + */ + this.BusinessCryptoData = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + + if (params.BusinessSecurityData) { + let obj = new AntiFraudFilter(); + obj.deserialize(params.BusinessSecurityData) + this.BusinessSecurityData = obj; + } + + if (params.BusinessCryptoData) { + let obj = new AntiFraudCryptoFilter(); + obj.deserialize(params.BusinessCryptoData) + this.BusinessCryptoData = obj; + } + + } +} + +/** + * DescribeAntiFraud请求参数结构体 + * @class + */ +class DescribeAntiFraudRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 原始业务入参(二选一) + * @type {FinanceAntiFraudFilter || null} + */ + this.BusinessSecurityData = null; + + /** + * 密文业务入参(二选一) + * @type {FinanceAntiFraudCryptoFilter || null} + */ + this.BusinessCryptoData = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + + if (params.BusinessSecurityData) { + let obj = new FinanceAntiFraudFilter(); + obj.deserialize(params.BusinessSecurityData) + this.BusinessSecurityData = obj; + } + + if (params.BusinessCryptoData) { + let obj = new FinanceAntiFraudCryptoFilter(); + obj.deserialize(params.BusinessCryptoData) + this.BusinessCryptoData = obj; + } + + } +} + +/** + * 借贷反欺诈原始业务入参 + * @class + */ +class FinanceAntiFraudFilter extends AbstractModel { + constructor(){ + super(); + + /** + * 电话号码(五选二) + * @type {string || null} + */ + this.PhoneNumber = null; + + /** + * 身份证Id(五选二) 参数详细定义请加微信:TYXGJ-01 + * @type {string || null} + */ + this.IdNumber = null; + + /** + * 银行卡号(五选二) + * @type {string || null} + */ + this.BankCardNumber = null; + + /** + * 用户请求来源 IP(五选二) + * @type {string || null} + */ + this.UserIp = null; + + /** + * 国际移动设备识别码(五选二) + * @type {string || null} + */ + this.Imei = null; + + /** + * ios 系统广告标示符(五选二) + * @type {string || null} + */ + this.Idfa = null; + + /** + * 业务场景ID,需要找技术对接 + * @type {string || null} + */ + this.Scene = null; + + /** + * 姓名 + * @type {string || null} + */ + this.Name = null; + + /** + * 用户邮箱地址 + * @type {string || null} + */ + this.EmailAddress = null; + + /** + * 用户住址 + * @type {string || null} + */ + this.Address = null; + + /** + * MAC 地址 + * @type {string || null} + */ + this.Mac = null; + + /** + * 国际移动用户识别码 + * @type {string || null} + */ + this.Imsi = null; + + /** + * 1:关联的腾讯帐号QQ;2:开放帐号微信 + * @type {string || null} + */ + this.AccountType = null; + + /** + * 可选的 QQ 或微信 openid + * @type {string || null} + */ + this.Uid = null; + + /** + * qq 或微信分配给网站或应用的 appid,用来唯一标识网站或应用 + * @type {string || null} + */ + this.AppIdU = null; + + /** + * WIFI MAC + * @type {string || null} + */ + this.WifiMac = null; + + /** + * WIFI 服务集标识 + * @type {string || null} + */ + this.WifiSSID = null; + + /** + * WIFI-BSSID + * @type {string || null} + */ + this.WifiBSSID = null; + + /** + * 业务 ID,在多个业务中使用此服务,通过此ID 区分统计数据 + * @type {string || null} + */ + this.BusinessId = null; + + /** + * 手机号加密类型 0:不加密(默认值);1:md5;2:sha256;3:SM3 + * @type {string || null} + */ + this.PhoneCryptoType = null; + + /** + * 身份证Id加密类型 0:不加密(默认值);1:md5;2:sha256;3:SM3 + * @type {string || null} + */ + this.IdCryptoType = null; + + /** + * 姓名加密类型 0:不加密(默认值);1:md5;2:sha256;3:SM3 + * @type {string || null} + */ + this.NameCryptoType = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.PhoneNumber = 'PhoneNumber' in params ? params.PhoneNumber : null; + this.IdNumber = 'IdNumber' in params ? params.IdNumber : null; + this.BankCardNumber = 'BankCardNumber' in params ? params.BankCardNumber : null; + this.UserIp = 'UserIp' in params ? params.UserIp : null; + this.Imei = 'Imei' in params ? params.Imei : null; + this.Idfa = 'Idfa' in params ? params.Idfa : null; + this.Scene = 'Scene' in params ? params.Scene : null; + this.Name = 'Name' in params ? params.Name : null; + this.EmailAddress = 'EmailAddress' in params ? params.EmailAddress : null; + this.Address = 'Address' in params ? params.Address : null; + this.Mac = 'Mac' in params ? params.Mac : null; + this.Imsi = 'Imsi' in params ? params.Imsi : null; + this.AccountType = 'AccountType' in params ? params.AccountType : null; + this.Uid = 'Uid' in params ? params.Uid : null; + this.AppIdU = 'AppIdU' in params ? params.AppIdU : null; + this.WifiMac = 'WifiMac' in params ? params.WifiMac : null; + this.WifiSSID = 'WifiSSID' in params ? params.WifiSSID : null; + this.WifiBSSID = 'WifiBSSID' in params ? params.WifiBSSID : null; + this.BusinessId = 'BusinessId' in params ? params.BusinessId : null; + this.PhoneCryptoType = 'PhoneCryptoType' in params ? params.PhoneCryptoType : null; + this.IdCryptoType = 'IdCryptoType' in params ? params.IdCryptoType : null; + this.NameCryptoType = 'NameCryptoType' in params ? params.NameCryptoType : null; + + } +} + +/** + * QueryAntiFraud返回参数结构体 + * @class + */ +class QueryAntiFraudResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 表示该条记录能否查到:1为能查到,-1为查不到 + * @type {number || null} + */ + this.Found = null; + + /** + * 表示该条Id能否查到:1为能查到,-1为查不到 + * @type {number || null} + */ + this.IdFound = null; + + /** + * 0~100;值越高 欺诈可能性越大 + * @type {number || null} + */ + this.RiskScore = null; + + /** + * 扩展字段,对风险类型的说明 + * @type {Array. || null} + */ + this.RiskInfo = null; + + /** + * 业务侧错误码。成功时返回Success,错误时返回具体业务错误原因。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.CodeDesc = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Found = 'Found' in params ? params.Found : null; + this.IdFound = 'IdFound' in params ? params.IdFound : null; + this.RiskScore = 'RiskScore' in params ? params.RiskScore : null; + + if (params.RiskInfo) { + this.RiskInfo = new Array(); + for (let z in params.RiskInfo) { + let obj = new RiskDetail(); + obj.deserialize(params.RiskInfo[z]); + this.RiskInfo.push(obj); + } + } + this.CodeDesc = 'CodeDesc' in params ? params.CodeDesc : null; + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * GetAntiFraud返回参数结构体 + * @class + */ +class GetAntiFraudResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 反欺诈评分接口结果 + * @type {AntiFraudRecord || null} + */ + this.Data = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + + if (params.Data) { + let obj = new AntiFraudRecord(); + obj.deserialize(params.Data) + this.Data = obj; + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * QueryAntiFraud请求参数结构体 + * @class + */ +class QueryAntiFraudRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 电话号码(五选二) + * @type {string || null} + */ + this.PhoneNumber = null; + + /** + * Id(五选二) + * @type {string || null} + */ + this.IdNumber = null; + + /** + * 银行卡号(五选二) + * @type {string || null} + */ + this.BankCardNumber = null; + + /** + * 用户请求来源 IP(五选二) + * @type {string || null} + */ + this.UserIp = null; + + /** + * 国际移动设备识别码(五选二) + * @type {string || null} + */ + this.Imei = null; + + /** + * ios 系统广告标示符(五选二) + * @type {string || null} + */ + this.Idfa = null; + + /** + * 业务场景 ID,需要找技术对接 + * @type {string || null} + */ + this.Scene = null; + + /** + * 姓名 + * @type {string || null} + */ + this.Name = null; + + /** + * 用户邮箱地址 + * @type {string || null} + */ + this.EmailAddress = null; + + /** + * 用户住址 + * @type {string || null} + */ + this.Address = null; + + /** + * MAC 地址 + * @type {string || null} + */ + this.Mac = null; + + /** + * 国际移动用户识别码 + * @type {string || null} + */ + this.Imsi = null; + + /** + * 关联的腾讯帐号 QQ:1; +开放帐号微信: 2; + * @type {string || null} + */ + this.AccountType = null; + + /** + * 可选的 QQ 或微信 openid + * @type {string || null} + */ + this.Uid = null; + + /** + * qq 或微信分配给网站或应用的 appid,用来 +唯一标识网站或应用 + * @type {string || null} + */ + this.AppIdU = null; + + /** + * WIFI MAC + * @type {string || null} + */ + this.WifiMac = null; + + /** + * WIFI 服务集标识 + * @type {string || null} + */ + this.WifiSSID = null; + + /** + * WIFI-BSSID + * @type {string || null} + */ + this.WifiBSSID = null; + + /** + * 业务 ID,在多个业务中使用此服务,通过此 +ID 区分统计数据 + * @type {string || null} + */ + this.BusinessId = null; + + /** + * Id加密类型 +0:不加密(默认值) +1:md5 +2:sha256 +3:SM3 + * @type {string || null} + */ + this.IdCryptoType = null; + + /** + * 手机号加密类型 +0:不加密(默认值) +1:md5, 2:sha256 +3:SM3 + * @type {string || null} + */ + this.PhoneCryptoType = null; + + /** + * 姓名加密类型 +0:不加密(默认值) +1:md5 +2:sha256 +3:SM3 + * @type {string || null} + */ + this.NameCryptoType = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.PhoneNumber = 'PhoneNumber' in params ? params.PhoneNumber : null; + this.IdNumber = 'IdNumber' in params ? params.IdNumber : null; + this.BankCardNumber = 'BankCardNumber' in params ? params.BankCardNumber : null; + this.UserIp = 'UserIp' in params ? params.UserIp : null; + this.Imei = 'Imei' in params ? params.Imei : null; + this.Idfa = 'Idfa' in params ? params.Idfa : null; + this.Scene = 'Scene' in params ? params.Scene : null; + this.Name = 'Name' in params ? params.Name : null; + this.EmailAddress = 'EmailAddress' in params ? params.EmailAddress : null; + this.Address = 'Address' in params ? params.Address : null; + this.Mac = 'Mac' in params ? params.Mac : null; + this.Imsi = 'Imsi' in params ? params.Imsi : null; + this.AccountType = 'AccountType' in params ? params.AccountType : null; + this.Uid = 'Uid' in params ? params.Uid : null; + this.AppIdU = 'AppIdU' in params ? params.AppIdU : null; + this.WifiMac = 'WifiMac' in params ? params.WifiMac : null; + this.WifiSSID = 'WifiSSID' in params ? params.WifiSSID : null; + this.WifiBSSID = 'WifiBSSID' in params ? params.WifiBSSID : null; + this.BusinessId = 'BusinessId' in params ? params.BusinessId : null; + this.IdCryptoType = 'IdCryptoType' in params ? params.IdCryptoType : null; + this.PhoneCryptoType = 'PhoneCryptoType' in params ? params.PhoneCryptoType : null; + this.NameCryptoType = 'NameCryptoType' in params ? params.NameCryptoType : null; + + } +} + +/** + * 借贷反欺诈密文业务入参 + * @class + */ +class FinanceAntiFraudCryptoFilter extends AbstractModel { + constructor(){ + super(); + + /** + * 值1定义:AES加密方式[加密模式ECB;填充格式pkcs7padding;秘钥16字节即128位 + * @type {string || null} + */ + this.CryptoType = null; + + /** + * 业务字段BusinessSecurityData的json数据格式,采用CryptoType相应的加密方式计算后得到的bash64编码内容。比如对{"PhoneNumber":"13430420001","IdNumber":"420115199501010001","BankCardNumber":"6214000100010001"}包体做加密。 + * @type {string || null} + */ + this.CryptoContent = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.CryptoType = 'CryptoType' in params ? params.CryptoType : null; + this.CryptoContent = 'CryptoContent' in params ? params.CryptoContent : null; + + } +} + +module.exports = { + RiskDetailInfo: RiskDetailInfo, + AntiFraudRecord: AntiFraudRecord, + AntiFraudFilter: AntiFraudFilter, + AntiFraudCryptoFilter: AntiFraudCryptoFilter, + FinanceAntiFraudRecord: FinanceAntiFraudRecord, + DescribeAntiFraudResponse: DescribeAntiFraudResponse, + RiskDetail: RiskDetail, + FinanceOtherModelScores: FinanceOtherModelScores, + SimpleKindRiskDetail: SimpleKindRiskDetail, + OtherModelScoresDetail: OtherModelScoresDetail, + GetAntiFraudRequest: GetAntiFraudRequest, + DescribeAntiFraudRequest: DescribeAntiFraudRequest, + FinanceAntiFraudFilter: FinanceAntiFraudFilter, + QueryAntiFraudResponse: QueryAntiFraudResponse, + GetAntiFraudResponse: GetAntiFraudResponse, + QueryAntiFraudRequest: QueryAntiFraudRequest, + FinanceAntiFraudCryptoFilter: FinanceAntiFraudCryptoFilter, } diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/afc/v20200226/afc_client.js b/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/afc/v20200226/afc_client.js index 9626245a6f..718b6c4127 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/afc/v20200226/afc_client.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/afc/v20200226/afc_client.js @@ -16,9 +16,16 @@ */ const models = require("./models"); const AbstractClient = require('../../common/abstract_client') -const QueryAntiFraudVipRequest = models.QueryAntiFraudVipRequest; -const RiskDetail = models.RiskDetail; +const OtherModelScores = models.OtherModelScores; const QueryAntiFraudVipResponse = models.QueryAntiFraudVipResponse; +const RiskDetail = models.RiskDetail; +const SimpleKindRiskDetail = models.SimpleKindRiskDetail; +const GetAntiFraudVipResponse = models.GetAntiFraudVipResponse; +const AntiFraudVipCryptoFilter = models.AntiFraudVipCryptoFilter; +const AntiFraudVipFilter = models.AntiFraudVipFilter; +const QueryAntiFraudVipRequest = models.QueryAntiFraudVipRequest; +const GetAntiFraudVipRequest = models.GetAntiFraudVipRequest; +const AntiFraudVipRecord = models.AntiFraudVipRecord; /** @@ -44,6 +51,17 @@ class AfcClient extends AbstractClient { this.request("QueryAntiFraudVip", req, resp, cb); } + /** + * 反欺诈VIP评分接口 + * @param {GetAntiFraudVipRequest} req + * @param {function(string, GetAntiFraudVipResponse):void} cb + * @public + */ + GetAntiFraudVip(req, cb) { + let resp = new GetAntiFraudVipResponse(); + this.request("GetAntiFraudVip", req, resp, cb); + } + } module.exports = AfcClient; diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/afc/v20200226/models.js b/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/afc/v20200226/models.js index b2c325e76b..08aa21c688 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/afc/v20200226/models.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/afc/v20200226/models.js @@ -16,6 +16,508 @@ */ const AbstractModel = require("../../common/abstract_model"); +/** + * 扩展字段,包含多个模型的结果 + * @class + */ +class OtherModelScores extends AbstractModel { + constructor(){ + super(); + + /** + * 模型类型 + * @type {string || null} + */ + this.ModelId = null; + + /** + * 该模型评分 + * @type {string || null} + */ + this.ModelScore = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.ModelId = 'ModelId' in params ? params.ModelId : null; + this.ModelScore = 'ModelScore' in params ? params.ModelScore : null; + + } +} + +/** + * QueryAntiFraudVip返回参数结构体 + * @class + */ +class QueryAntiFraudVipResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 表示该条记录能否查到:1为能查到,-1为查不到 + * @type {number || null} + */ + this.Found = null; + + /** + * 表示该条Id能否查到:1为能查到,-1为查不到 + * @type {number || null} + */ + this.IdFound = null; + + /** + * 0~100;值越高 欺诈可能性越大 + * @type {number || null} + */ + this.RiskScore = null; + + /** + * 扩展字段,对风险类型的说明 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {Array. || null} + */ + this.RiskInfo = null; + + /** + * 业务侧错误码。成功时返回Success,错误时返回具体业务错误原因。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.CodeDesc = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Found = 'Found' in params ? params.Found : null; + this.IdFound = 'IdFound' in params ? params.IdFound : null; + this.RiskScore = 'RiskScore' in params ? params.RiskScore : null; + + if (params.RiskInfo) { + this.RiskInfo = new Array(); + for (let z in params.RiskInfo) { + let obj = new RiskDetail(); + obj.deserialize(params.RiskInfo[z]); + this.RiskInfo.push(obj); + } + } + this.CodeDesc = 'CodeDesc' in params ? params.CodeDesc : null; + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * 扩展字段,对风险类型的说明 + * @class + */ +class RiskDetail extends AbstractModel { + constructor(){ + super(); + + /** + * 风险码 + * @type {number || null} + */ + this.RiskCode = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.RiskCode = 'RiskCode' in params ? params.RiskCode : null; + + } +} + +/** + * 扩展字段,对风险类型的说明 + * @class + */ +class SimpleKindRiskDetail extends AbstractModel { + constructor(){ + super(); + + /** + * 风险码 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.RiskCode = null; + + /** + * 风险码详情 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.RiskCodeValue = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.RiskCode = 'RiskCode' in params ? params.RiskCode : null; + this.RiskCodeValue = 'RiskCodeValue' in params ? params.RiskCodeValue : null; + + } +} + +/** + * GetAntiFraudVip返回参数结构体 + * @class + */ +class GetAntiFraudVipResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 反欺诈评分接口结果 + * @type {AntiFraudVipRecord || null} + */ + this.Data = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + + if (params.Data) { + let obj = new AntiFraudVipRecord(); + obj.deserialize(params.Data) + this.Data = obj; + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * AntiFraudVipCryptoFilter– 业务入参 + * @class + */ +class AntiFraudVipCryptoFilter extends AbstractModel { + constructor(){ + super(); + + /** + * 约定用入参,默认不涉及默认BusinessSecurityData 与BusinessCrptoData 不传 + * @type {string || null} + */ + this.CryptoType = null; + + /** + * 约定用入参,默认不涉及 + * @type {string || null} + */ + this.CryptoContent = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.CryptoType = 'CryptoType' in params ? params.CryptoType : null; + this.CryptoContent = 'CryptoContent' in params ? params.CryptoContent : null; + + } +} + +/** + * AntiFraudVipFilter– 业务入参 + * @class + */ +class AntiFraudVipFilter extends AbstractModel { + constructor(){ + super(); + + /** + * 业务方账号 ID + * @type {string || null} + */ + this.CustomerUin = null; + + /** + * 业务方APPID + * @type {string || null} + */ + this.CustomerAppid = null; + + /** + * 身份证号 +注 1:下方 idCryptoType 为指定 +加密方式 +注 2:若 idNumber 加密则必传加 +密方式 + * @type {string || null} + */ + this.IdNumber = null; + + /** + * 手机号码(注:不需要带国家代码 +例如:13430421011) +注 1:下方 phoneCryptoType 为 +指定加密方式: +注 2:若 phoneNumber 加密则必 +传加密方式 + * @type {string || null} + */ + this.PhoneNumber = null; + + /** + * 业务场景 ID + * @type {string || null} + */ + this.Scene = null; + + /** + * 默认不使用,业务方子 +账号,若接口使用密钥对应是子账 +号则必填 + * @type {string || null} + */ + this.CustomerSubUin = null; + + /** + * 已获取约定标识则传 1; +用于基于特定需求而传的标识字段 +注:有约定则是必传,若未传则查 +询接口失败 + * @type {string || null} + */ + this.Authorization = null; + + /** + * 姓名 +注 :不支持加密 + * @type {string || null} + */ + this.Name = null; + + /** + * 银行卡号 + * @type {string || null} + */ + this.BankCardNumber = null; + + /** + * 用户请求来源 IP + * @type {string || null} + */ + this.UserIp = null; + + /** + * 国际移动设备识别码 + * @type {string || null} + */ + this.Imei = null; + + /** + * ios 系统广告标示符 + * @type {string || null} + */ + this.Idfa = null; + + /** + * 用户邮箱地址 + * @type {string || null} + */ + this.EmailAddress = null; + + /** + * 用户住址 + * @type {string || null} + */ + this.Address = null; + + /** + * MAC 地址 + * @type {string || null} + */ + this.Mac = null; + + /** + * 国际移动用户识别码 + * @type {string || null} + */ + this.Imsi = null; + + /** + * 关联的腾讯帐号 QQ:1; +开放帐号微信: 2; + * @type {string || null} + */ + this.AccountType = null; + + /** + * 可选的 QQ 或微信 openid + * @type {string || null} + */ + this.Uid = null; + + /** + * qq 或微信分配给网站或应用的 +appid,用来唯一标识网站或应用 + * @type {string || null} + */ + this.AppIdU = null; + + /** + * WIFIMAC + * @type {string || null} + */ + this.WifiMac = null; + + /** + * WIFI 服务集标识 + * @type {string || null} + */ + this.WifiSSID = null; + + /** + * WIFI-BSSID + * @type {string || null} + */ + this.WifiBSSID = null; + + /** + * 拓展字段类型 ID +注:默认不填写,需要时天御侧将 +提供 + * @type {string || null} + */ + this.ExtensionId = null; + + /** + * 拓展字段内容 +注:默认不填,需要时天御侧将提 +供 + * @type {string || null} + */ + this.ExtensionIn = null; + + /** + * 业务 ID,默认不传 + * @type {string || null} + */ + this.BusinessId = null; + + /** + * 身份证加密类型 +0:不加密(默认值) +1:md5 +2:sha256 +3:SM3 +注:若 idNumber 加密则必传加密 +方式 + * @type {string || null} + */ + this.IdCryptoType = null; + + /** + * 手机号加密类型 +0:不加密(默认值) +1:md5, +2:sha256 +3:SM3 +注:若 phoneNumber 加密则必传 +加密方式 + * @type {string || null} + */ + this.PhoneCryptoType = null; + + /** + * 姓名加密类型:——注:已经不支持加 +密,该字段存在是为了兼容可能历史客户 +版本; +0:不加密(默认值) +1:md5 + * @type {string || null} + */ + this.NameCryptoType = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.CustomerUin = 'CustomerUin' in params ? params.CustomerUin : null; + this.CustomerAppid = 'CustomerAppid' in params ? params.CustomerAppid : null; + this.IdNumber = 'IdNumber' in params ? params.IdNumber : null; + this.PhoneNumber = 'PhoneNumber' in params ? params.PhoneNumber : null; + this.Scene = 'Scene' in params ? params.Scene : null; + this.CustomerSubUin = 'CustomerSubUin' in params ? params.CustomerSubUin : null; + this.Authorization = 'Authorization' in params ? params.Authorization : null; + this.Name = 'Name' in params ? params.Name : null; + this.BankCardNumber = 'BankCardNumber' in params ? params.BankCardNumber : null; + this.UserIp = 'UserIp' in params ? params.UserIp : null; + this.Imei = 'Imei' in params ? params.Imei : null; + this.Idfa = 'Idfa' in params ? params.Idfa : null; + this.EmailAddress = 'EmailAddress' in params ? params.EmailAddress : null; + this.Address = 'Address' in params ? params.Address : null; + this.Mac = 'Mac' in params ? params.Mac : null; + this.Imsi = 'Imsi' in params ? params.Imsi : null; + this.AccountType = 'AccountType' in params ? params.AccountType : null; + this.Uid = 'Uid' in params ? params.Uid : null; + this.AppIdU = 'AppIdU' in params ? params.AppIdU : null; + this.WifiMac = 'WifiMac' in params ? params.WifiMac : null; + this.WifiSSID = 'WifiSSID' in params ? params.WifiSSID : null; + this.WifiBSSID = 'WifiBSSID' in params ? params.WifiBSSID : null; + this.ExtensionId = 'ExtensionId' in params ? params.ExtensionId : null; + this.ExtensionIn = 'ExtensionIn' in params ? params.ExtensionIn : null; + this.BusinessId = 'BusinessId' in params ? params.BusinessId : null; + this.IdCryptoType = 'IdCryptoType' in params ? params.IdCryptoType : null; + this.PhoneCryptoType = 'PhoneCryptoType' in params ? params.PhoneCryptoType : null; + this.NameCryptoType = 'NameCryptoType' in params ? params.NameCryptoType : null; + + } +} + /** * QueryAntiFraudVip请求参数结构体 * @class @@ -206,18 +708,29 @@ ID 区分统计数据 } /** - * 扩展字段,对风险类型的说明 + * GetAntiFraudVip请求参数结构体 * @class */ -class RiskDetail extends AbstractModel { +class GetAntiFraudVipRequest extends AbstractModel { constructor(){ super(); /** - * 风险码 - * @type {number || null} + * 默认不传,约定用原始业务 +入参(二选一BusinessSecurityData 或 +BusinessCryptoData)。 + * @type {AntiFraudVipFilter || null} */ - this.RiskCode = null; + this.BusinessSecurityData = null; + + /** + * 默认不传,约定用密文业务 +入参(二选一 +BusinessSecurityData 或 +BusinessCryptoData)。 + * @type {AntiFraudVipCryptoFilter || null} + */ + this.BusinessCryptoData = null; } @@ -228,56 +741,106 @@ class RiskDetail extends AbstractModel { if (!params) { return; } - this.RiskCode = 'RiskCode' in params ? params.RiskCode : null; + + if (params.BusinessSecurityData) { + let obj = new AntiFraudVipFilter(); + obj.deserialize(params.BusinessSecurityData) + this.BusinessSecurityData = obj; + } + + if (params.BusinessCryptoData) { + let obj = new AntiFraudVipCryptoFilter(); + obj.deserialize(params.BusinessCryptoData) + this.BusinessCryptoData = obj; + } } } /** - * QueryAntiFraudVip返回参数结构体 + * 反欺诈VIP查询结果 * @class */ -class QueryAntiFraudVipResponse extends AbstractModel { +class AntiFraudVipRecord extends AbstractModel { constructor(){ super(); /** - * 表示该条记录能否查到:1为能查到,-1为查不到 - * @type {number || null} + * 公共错误码 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.Code = null; + + /** + * 业务侧错误码。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.CodeDesc = null; + + /** + * 业务侧错误信息。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.Message = null; + + /** + * 表示该条记录能否查到:1 为能查到;-1 为查不到,此时 RiskScore 返回-1; +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} */ this.Found = null; /** - * 表示该条Id能否查到:1为能查到,-1为查不到 - * @type {number || null} + * 表示该条记录中的身份 ID 能否查到 +1 为能查到 +-1 为查不到 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} */ this.IdFound = null; /** - * 0~100;值越高 欺诈可能性越大 - * @type {number || null} + * 当可查到时,返回 0~100 区间,值越高 欺诈可 +能性越大。 +当查不到时(即 found=-1),返回-1 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} */ this.RiskScore = null; /** - * 扩展字段,对风险类型的说明 + * 扩展字段,对风险类型的说明。扩展字段并非必 +然出现。 注意:此字段可能返回 null,表示取不到有效值。 - * @type {Array. || null} + * @type {Array. || null} */ this.RiskInfo = null; /** - * 业务侧错误码。成功时返回Success,错误时返回具体业务错误原因。 + * 默认出现,提供模型版本号说明及多模型返回需 +要时用到; +注意:此字段可能返回 null,表示取不到有效值。 + * @type {Array. || null} + */ + this.OtherModelScores = null; + + /** + * 表示请求时间,标准 sunix 时间戳,非必然出现 注意:此字段可能返回 null,表示取不到有效值。 * @type {string || null} */ - this.CodeDesc = null; + this.PostTime = null; /** - * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * 拓展字段,非必然出现,和 ExtensionIn 对应; +注:非必然出现,需要返回时天御侧将说明; +注意:此字段可能返回 null,表示取不到有效值。 * @type {string || null} */ - this.RequestId = null; + this.ExtensionOut = null; } @@ -288,6 +851,9 @@ class QueryAntiFraudVipResponse extends AbstractModel { if (!params) { return; } + this.Code = 'Code' in params ? params.Code : null; + this.CodeDesc = 'CodeDesc' in params ? params.CodeDesc : null; + this.Message = 'Message' in params ? params.Message : null; this.Found = 'Found' in params ? params.Found : null; this.IdFound = 'IdFound' in params ? params.IdFound : null; this.RiskScore = 'RiskScore' in params ? params.RiskScore : null; @@ -295,20 +861,36 @@ class QueryAntiFraudVipResponse extends AbstractModel { if (params.RiskInfo) { this.RiskInfo = new Array(); for (let z in params.RiskInfo) { - let obj = new RiskDetail(); + let obj = new SimpleKindRiskDetail(); obj.deserialize(params.RiskInfo[z]); this.RiskInfo.push(obj); } } - this.CodeDesc = 'CodeDesc' in params ? params.CodeDesc : null; - this.RequestId = 'RequestId' in params ? params.RequestId : null; + + if (params.OtherModelScores) { + this.OtherModelScores = new Array(); + for (let z in params.OtherModelScores) { + let obj = new OtherModelScores(); + obj.deserialize(params.OtherModelScores[z]); + this.OtherModelScores.push(obj); + } + } + this.PostTime = 'PostTime' in params ? params.PostTime : null; + this.ExtensionOut = 'ExtensionOut' in params ? params.ExtensionOut : null; } } module.exports = { - QueryAntiFraudVipRequest: QueryAntiFraudVipRequest, - RiskDetail: RiskDetail, + OtherModelScores: OtherModelScores, QueryAntiFraudVipResponse: QueryAntiFraudVipResponse, + RiskDetail: RiskDetail, + SimpleKindRiskDetail: SimpleKindRiskDetail, + GetAntiFraudVipResponse: GetAntiFraudVipResponse, + AntiFraudVipCryptoFilter: AntiFraudVipCryptoFilter, + AntiFraudVipFilter: AntiFraudVipFilter, + QueryAntiFraudVipRequest: QueryAntiFraudVipRequest, + GetAntiFraudVipRequest: GetAntiFraudVipRequest, + AntiFraudVipRecord: AntiFraudVipRecord, } diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/ame/v20190916/ame_client.js b/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/ame/v20190916/ame_client.js index 878dd3e1f8..7dac6a139c 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/ame/v20190916/ame_client.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/ame/v20190916/ame_client.js @@ -16,49 +16,112 @@ */ const models = require("./models"); const AbstractClient = require('../../common/abstract_client') -const Album = models.Album; const DescribeMusicResponse = models.DescribeMusicResponse; -const DescribeLyricResponse = models.DescribeLyricResponse; +const DescribeKTVSuggestionsResponse = models.DescribeKTVSuggestionsResponse; +const ChorusClip = models.ChorusClip; const ModifyMusicOnShelvesResponse = models.ModifyMusicOnShelvesResponse; const Station = models.Station; -const Music = models.Music; -const DescribeStationsResponse = models.DescribeStationsResponse; +const DescribeKTVMusicDetailRequest = models.DescribeKTVMusicDetailRequest; +const KTVMusicTopInfo = models.KTVMusicTopInfo; +const DescribeKTVSingerCategoriesRequest = models.DescribeKTVSingerCategoriesRequest; +const KTVSingerBaseInfo = models.KTVSingerBaseInfo; +const ModifyMusicOnShelvesRequest = models.ModifyMusicOnShelvesRequest; +const PlayCommandInput = models.PlayCommandInput; +const DescribeMusicRequest = models.DescribeMusicRequest; +const KTVMusicDetailInfo = models.KTVMusicDetailInfo; +const DescribeMusicSaleStatusRequest = models.DescribeMusicSaleStatusRequest; +const TakeMusicOffShelvesRequest = models.TakeMusicOffShelvesRequest; +const DescribeCloudMusicResponse = models.DescribeCloudMusicResponse; +const MusicDetailInfo = models.MusicDetailInfo; +const ImagePath = models.ImagePath; +const KTVMusicTagInfo = models.KTVMusicTagInfo; +const DestroyKTVRobotRequest = models.DestroyKTVRobotRequest; +const DescribeAuthInfoResponse = models.DescribeAuthInfoResponse; +const DescribeLyricRequest = models.DescribeLyricRequest; +const ReportDataRequest = models.ReportDataRequest; +const SeekCommandInput = models.SeekCommandInput; +const DescribePkgOfflineMusicRequest = models.DescribePkgOfflineMusicRequest; +const TimeRange = models.TimeRange; +const DescribeMusicSaleStatusResponse = models.DescribeMusicSaleStatusResponse; +const CreateKTVRobotResponse = models.CreateKTVRobotResponse; const DescribePackageItemsResponse = models.DescribePackageItemsResponse; -const DescribeCloudMusicPurchasedRequest = models.DescribeCloudMusicPurchasedRequest; -const PackageItem = models.PackageItem; const DescribeCloudMusicPurchasedResponse = models.DescribeCloudMusicPurchasedResponse; +const KTVMusicTagGroup = models.KTVMusicTagGroup; const DataInfo = models.DataInfo; -const MusicOpenDetail = models.MusicOpenDetail; -const Package = models.Package; +const ApplicationLicenseInput = models.ApplicationLicenseInput; +const Artist = models.Artist; +const SetDestroyModeCommandInput = models.SetDestroyModeCommandInput; const ReportDataResponse = models.ReportDataResponse; -const ModifyMusicOnShelvesRequest = models.ModifyMusicOnShelvesRequest; +const SearchKTVMusicsResponse = models.SearchKTVMusicsResponse; +const DescribeItemByIdRequest = models.DescribeItemByIdRequest; +const PutMusicOnTheShelvesResponse = models.PutMusicOnTheShelvesResponse; +const SyncRobotCommand = models.SyncRobotCommand; +const DescribeKTVSingerMusicsResponse = models.DescribeKTVSingerMusicsResponse; +const DescribeItemsResponse = models.DescribeItemsResponse; +const DescribePkgOfflineMusicResponse = models.DescribePkgOfflineMusicResponse; +const KTVSingerInfo = models.KTVSingerInfo; +const SetVolumeCommandInput = models.SetVolumeCommandInput; +const PutMusicOnTheShelvesRequest = models.PutMusicOnTheShelvesRequest; +const DescribeCloudMusicRequest = models.DescribeCloudMusicRequest; +const SortBy = models.SortBy; +const DescribeKTVMusicDetailResponse = models.DescribeKTVMusicDetailResponse; +const DescribeKTVRobotsRequest = models.DescribeKTVRobotsRequest; +const DescribeKTVMusicTagsResponse = models.DescribeKTVMusicTagsResponse; +const DescribeKTVMusicTagsRequest = models.DescribeKTVMusicTagsRequest; +const JoinRoomInput = models.JoinRoomInput; +const DestroyKTVRobotResponse = models.DestroyKTVRobotResponse; +const CreateKTVRobotRequest = models.CreateKTVRobotRequest; +const KTVSuggestionInfo = models.KTVSuggestionInfo; +const DescribeKTVTopListRequest = models.DescribeKTVTopListRequest; +const DescribeKTVPlaylistDetailRequest = models.DescribeKTVPlaylistDetailRequest; +const Music = models.Music; +const DescribeStationsResponse = models.DescribeStationsResponse; +const DescribeCloudMusicPurchasedRequest = models.DescribeCloudMusicPurchasedRequest; +const PackageItem = models.PackageItem; +const DescribeKTVPlaylistsRequest = models.DescribeKTVPlaylistsRequest; +const TRTCJoinRoomInput = models.TRTCJoinRoomInput; const DescribePackageItemsRequest = models.DescribePackageItemsRequest; const AuthInfo = models.AuthInfo; -const TakeMusicOffShelvesRequest = models.TakeMusicOffShelvesRequest; -const TakeMusicOffShelves = models.TakeMusicOffShelves; -const Lyric = models.Lyric; -const DescribeItemByIdRequest = models.DescribeItemByIdRequest; -const DescribeMusicRequest = models.DescribeMusicRequest; +const DescribeKTVRobotsResponse = models.DescribeKTVRobotsResponse; const UseRange = models.UseRange; -const Artist = models.Artist; const DescribeStationsRequest = models.DescribeStationsRequest; -const PutMusicOnTheShelvesResponse = models.PutMusicOnTheShelvesResponse; +const DescribeKTVSingerMusicsRequest = models.DescribeKTVSingerMusicsRequest; +const DescribeKTVSingerCategoriesResponse = models.DescribeKTVSingerCategoriesResponse; +const DescribeKTVSingersRequest = models.DescribeKTVSingersRequest; +const SetPlaylistCommandInput = models.SetPlaylistCommandInput; +const SyncKTVRobotCommandResponse = models.SyncKTVRobotCommandResponse; +const BatchDescribeKTVMusicDetailsResponse = models.BatchDescribeKTVMusicDetailsResponse; +const SearchKTVMusicsRequest = models.SearchKTVMusicsRequest; +const KTVPlaylistBaseInfo = models.KTVPlaylistBaseInfo; +const DescribeKTVSingersResponse = models.DescribeKTVSingersResponse; +const DescribeItemByIdResponse = models.DescribeItemByIdResponse; +const MusicStatus = models.MusicStatus; +const KTVSingerCategoryInfo = models.KTVSingerCategoryInfo; +const BatchDescribeKTVMusicDetailsRequest = models.BatchDescribeKTVMusicDetailsRequest; +const SendMessageCommandInput = models.SendMessageCommandInput; +const KTVMusicDefinitionInfo = models.KTVMusicDefinitionInfo; +const Album = models.Album; +const DescribeLyricResponse = models.DescribeLyricResponse; +const KTVMusicBaseInfo = models.KTVMusicBaseInfo; +const SyncKTVRobotCommandRequest = models.SyncKTVRobotCommandRequest; +const DescribeKTVSuggestionsRequest = models.DescribeKTVSuggestionsRequest; +const DescribeKTVPlaylistsResponse = models.DescribeKTVPlaylistsResponse; +const DescribeKTVPlaylistDetailResponse = models.DescribeKTVPlaylistDetailResponse; +const SetAudioParamCommandInput = models.SetAudioParamCommandInput; +const TakeMusicOffShelves = models.TakeMusicOffShelves; +const OfflineMusicDetail = models.OfflineMusicDetail; +const DescribeAuthInfoRequest = models.DescribeAuthInfoRequest; +const Package = models.Package; +const SetPlayModeCommandInput = models.SetPlayModeCommandInput; +const KTVRobotInfo = models.KTVRobotInfo; const DescribeItemsRequest = models.DescribeItemsRequest; const Item = models.Item; -const DescribeCloudMusicResponse = models.DescribeCloudMusicResponse; +const DescribeKTVTopListResponse = models.DescribeKTVTopListResponse; +const MusicOpenDetail = models.MusicOpenDetail; const DescribePackagesRequest = models.DescribePackagesRequest; -const MusicDetailInfo = models.MusicDetailInfo; -const ImagePath = models.ImagePath; -const DescribeItemsResponse = models.DescribeItemsResponse; -const DescribeItemByIdResponse = models.DescribeItemByIdResponse; -const PutMusicOnTheShelvesRequest = models.PutMusicOnTheShelvesRequest; const DescribePackagesResponse = models.DescribePackagesResponse; -const DescribeCloudMusicRequest = models.DescribeCloudMusicRequest; -const DescribeAuthInfoResponse = models.DescribeAuthInfoResponse; +const Lyric = models.Lyric; const TakeMusicOffShelvesResponse = models.TakeMusicOffShelvesResponse; -const DescribeLyricRequest = models.DescribeLyricRequest; -const DescribeAuthInfoRequest = models.DescribeAuthInfoRequest; -const ReportDataRequest = models.ReportDataRequest; /** @@ -71,28 +134,6 @@ class AmeClient extends AbstractClient { super("ame.tencentcloudapi.com", "2019-09-16", credential, region, profile); } - /** - * 根据资源方所传歌曲信息,进行歌曲上架,多个歌曲同时请求时,需构造复合结构进行请求 - * @param {PutMusicOnTheShelvesRequest} req - * @param {function(string, PutMusicOnTheShelvesResponse):void} cb - * @public - */ - PutMusicOnTheShelves(req, cb) { - let resp = new PutMusicOnTheShelvesResponse(); - this.request("PutMusicOnTheShelves", req, resp, cb); - } - - /** - * 根据歌曲ID查询歌曲信息 - * @param {DescribeItemByIdRequest} req - * @param {function(string, DescribeItemByIdResponse):void} cb - * @public - */ - DescribeItemById(req, cb) { - let resp = new DescribeItemByIdResponse(); - this.request("DescribeItemById", req, resp, cb); - } - /** * 获取已购曲库包列表接口 * @param {DescribePackagesRequest} req @@ -105,7 +146,7 @@ class AmeClient extends AbstractClient { } /** - * 根据接口的模式及歌曲ID来取得歌词信息。 + * 根据接口的模式及歌曲ID来取得歌词信息或者波形图信息。 * @param {DescribeLyricRequest} req * @param {function(string, DescribeLyricResponse):void} cb * @public @@ -138,14 +179,50 @@ class AmeClient extends AbstractClient { } /** - * 客户上报用户数据功能,为了更好地为用户提供优质服务 - * @param {ReportDataRequest} req - * @param {function(string, ReportDataResponse):void} cb + * 根据 Id 列表查询歌曲的详细信息,包含基础信息及播放信息。 + * @param {BatchDescribeKTVMusicDetailsRequest} req + * @param {function(string, BatchDescribeKTVMusicDetailsResponse):void} cb * @public */ - ReportData(req, cb) { - let resp = new ReportDataResponse(); - this.request("ReportData", req, resp, cb); + BatchDescribeKTVMusicDetails(req, cb) { + let resp = new BatchDescribeKTVMusicDetailsResponse(); + this.request("BatchDescribeKTVMusicDetails", req, resp, cb); + } + + /** + * 获取授权项目下已购云音乐列表 + * @param {DescribeCloudMusicPurchasedRequest} req + * @param {function(string, DescribeCloudMusicPurchasedResponse):void} cb + * @public + */ + DescribeCloudMusicPurchased(req, cb) { + let resp = new DescribeCloudMusicPurchasedResponse(); + this.request("DescribeCloudMusicPurchased", req, resp, cb); + } + + /** + * 根据购买曲库包用户可查询已回退的歌曲信息 + * @param {DescribePkgOfflineMusicRequest} req + * @param {function(string, DescribePkgOfflineMusicResponse):void} cb + * @public + */ + DescribePkgOfflineMusic(req, cb) { + let resp = new DescribePkgOfflineMusicResponse(); + this.request("DescribePkgOfflineMusic", req, resp, cb); + } + + /** + * 根据歌手id,返回该歌手下歌曲列表。 + + + + * @param {DescribeKTVSingerMusicsRequest} req + * @param {function(string, DescribeKTVSingerMusicsResponse):void} cb + * @public + */ + DescribeKTVSingerMusics(req, cb) { + let resp = new DescribeKTVSingerMusicsResponse(); + this.request("DescribeKTVSingerMusics", req, resp, cb); } /** @@ -160,14 +237,14 @@ class AmeClient extends AbstractClient { } /** - * 获取云音乐播放信息接口 - * @param {DescribeCloudMusicRequest} req - * @param {function(string, DescribeCloudMusicResponse):void} cb + * 获取直播互动曲库联想词 + * @param {DescribeKTVSuggestionsRequest} req + * @param {function(string, DescribeKTVSuggestionsResponse):void} cb * @public */ - DescribeCloudMusic(req, cb) { - let resp = new DescribeCloudMusicResponse(); - this.request("DescribeCloudMusic", req, resp, cb); + DescribeKTVSuggestions(req, cb) { + let resp = new DescribeKTVSuggestionsResponse(); + this.request("DescribeKTVSuggestions", req, resp, cb); } /** @@ -181,6 +258,17 @@ class AmeClient extends AbstractClient { this.request("ModifyMusicOnShelves", req, resp, cb); } + /** + * 获取直播互动曲库标签分组信息和标签信息 + * @param {DescribeKTVMusicTagsRequest} req + * @param {function(string, DescribeKTVMusicTagsResponse):void} cb + * @public + */ + DescribeKTVMusicTags(req, cb) { + let resp = new DescribeKTVMusicTagsResponse(); + this.request("DescribeKTVMusicTags", req, resp, cb); + } + /** * 获取曲库包下已核销歌曲列表接口 * @param {DescribePackageItemsRequest} req @@ -204,14 +292,80 @@ class AmeClient extends AbstractClient { } /** - * 获取授权项目下已购云音乐列表 - * @param {DescribeCloudMusicPurchasedRequest} req - * @param {function(string, DescribeCloudMusicPurchasedResponse):void} cb + * 获取直播互动曲库推荐歌单列表。 + * @param {DescribeKTVPlaylistsRequest} req + * @param {function(string, DescribeKTVPlaylistsResponse):void} cb * @public */ - DescribeCloudMusicPurchased(req, cb) { - let resp = new DescribeCloudMusicPurchasedResponse(); - this.request("DescribeCloudMusicPurchased", req, resp, cb); + DescribeKTVPlaylists(req, cb) { + let resp = new DescribeKTVPlaylistsResponse(); + this.request("DescribeKTVPlaylists", req, resp, cb); + } + + /** + * 创建机器人,支持进入 RTC 房间,播放直播互动曲库歌曲。 + * @param {CreateKTVRobotRequest} req + * @param {function(string, CreateKTVRobotResponse):void} cb + * @public + */ + CreateKTVRobot(req, cb) { + let resp = new CreateKTVRobotResponse(); + this.request("CreateKTVRobot", req, resp, cb); + } + + /** + * 下发操作机器人指令,支持播放、暂停、恢复、歌单设置等操作指令,实现对机器人行为的控制。 + * @param {SyncKTVRobotCommandRequest} req + * @param {function(string, SyncKTVRobotCommandResponse):void} cb + * @public + */ + SyncKTVRobotCommand(req, cb) { + let resp = new SyncKTVRobotCommandResponse(); + this.request("SyncKTVRobotCommand", req, resp, cb); + } + + /** + * 获取直播互动曲库歌曲的周榜和月榜 + * @param {DescribeKTVTopListRequest} req + * @param {function(string, DescribeKTVTopListResponse):void} cb + * @public + */ + DescribeKTVTopList(req, cb) { + let resp = new DescribeKTVTopListResponse(); + this.request("DescribeKTVTopList", req, resp, cb); + } + + /** + * 根据歌单 Id 获取歌单详情,包括歌单的基础信息以及歌曲列表。 + * @param {DescribeKTVPlaylistDetailRequest} req + * @param {function(string, DescribeKTVPlaylistDetailResponse):void} cb + * @public + */ + DescribeKTVPlaylistDetail(req, cb) { + let resp = new DescribeKTVPlaylistDetailResponse(); + this.request("DescribeKTVPlaylistDetail", req, resp, cb); + } + + /** + * 客户上报用户数据功能,为了更好地为用户提供优质服务 + * @param {ReportDataRequest} req + * @param {function(string, ReportDataResponse):void} cb + * @public + */ + ReportData(req, cb) { + let resp = new ReportDataResponse(); + this.request("ReportData", req, resp, cb); + } + + /** + * 获取直播互动曲库歌手分类信息 + * @param {DescribeKTVSingerCategoriesRequest} req + * @param {function(string, DescribeKTVSingerCategoriesResponse):void} cb + * @public + */ + DescribeKTVSingerCategories(req, cb) { + let resp = new DescribeKTVSingerCategoriesResponse(); + this.request("DescribeKTVSingerCategories", req, resp, cb); } /** @@ -225,6 +379,105 @@ class AmeClient extends AbstractClient { this.request("DescribeStations", req, resp, cb); } + /** + * 根据 Id 查询歌曲的详细信息,包含基础信息及播放信息。 + * @param {DescribeKTVMusicDetailRequest} req + * @param {function(string, DescribeKTVMusicDetailResponse):void} cb + * @public + */ + DescribeKTVMusicDetail(req, cb) { + let resp = new DescribeKTVMusicDetailResponse(); + this.request("DescribeKTVMusicDetail", req, resp, cb); + } + + /** + * 根据歌曲ID查询歌曲信息 + * @param {DescribeItemByIdRequest} req + * @param {function(string, DescribeItemByIdResponse):void} cb + * @public + */ + DescribeItemById(req, cb) { + let resp = new DescribeItemByIdResponse(); + this.request("DescribeItemById", req, resp, cb); + } + + /** + * 根据音乐信息查询音乐是否在售 + * @param {DescribeMusicSaleStatusRequest} req + * @param {function(string, DescribeMusicSaleStatusResponse):void} cb + * @public + */ + DescribeMusicSaleStatus(req, cb) { + let resp = new DescribeMusicSaleStatusResponse(); + this.request("DescribeMusicSaleStatus", req, resp, cb); + } + + /** + * 根据过滤条件,返回匹配的歌手列表。 + * @param {DescribeKTVSingersRequest} req + * @param {function(string, DescribeKTVSingersResponse):void} cb + * @public + */ + DescribeKTVSingers(req, cb) { + let resp = new DescribeKTVSingersResponse(); + this.request("DescribeKTVSingers", req, resp, cb); + } + + /** + * 销毁机器人,机器人退出 RTC 房间。 + * @param {DestroyKTVRobotRequest} req + * @param {function(string, DestroyKTVRobotResponse):void} cb + * @public + */ + DestroyKTVRobot(req, cb) { + let resp = new DestroyKTVRobotResponse(); + this.request("DestroyKTVRobot", req, resp, cb); + } + + /** + * 获取云音乐播放信息接口 + * @param {DescribeCloudMusicRequest} req + * @param {function(string, DescribeCloudMusicResponse):void} cb + * @public + */ + DescribeCloudMusic(req, cb) { + let resp = new DescribeCloudMusicResponse(); + this.request("DescribeCloudMusic", req, resp, cb); + } + + /** + * 根据资源方所传歌曲信息,进行歌曲上架,多个歌曲同时请求时,需构造复合结构进行请求 + * @param {PutMusicOnTheShelvesRequest} req + * @param {function(string, PutMusicOnTheShelvesResponse):void} cb + * @public + */ + PutMusicOnTheShelves(req, cb) { + let resp = new PutMusicOnTheShelvesResponse(); + this.request("PutMusicOnTheShelves", req, resp, cb); + } + + /** + * 获取机器人列表,支持 Id、状态等过滤条件。 + * @param {DescribeKTVRobotsRequest} req + * @param {function(string, DescribeKTVRobotsResponse):void} cb + * @public + */ + DescribeKTVRobots(req, cb) { + let resp = new DescribeKTVRobotsResponse(); + this.request("DescribeKTVRobots", req, resp, cb); + } + + /** + * 根据搜索条件,返回匹配的歌曲列表。 + * @param {SearchKTVMusicsRequest} req + * @param {function(string, SearchKTVMusicsResponse):void} cb + * @public + */ + SearchKTVMusics(req, cb) { + let resp = new SearchKTVMusicsResponse(); + this.request("SearchKTVMusics", req, resp, cb); + } + } module.exports = AmeClient; diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/ame/v20190916/models.js b/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/ame/v20190916/models.js index 35b485f372..99ec57e5f5 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/ame/v20190916/models.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/ame/v20190916/models.js @@ -17,25 +17,25 @@ const AbstractModel = require("../../common/abstract_model"); /** - * Album + * DescribeMusic返回参数结构体 * @class */ -class Album extends AbstractModel { +class DescribeMusicResponse extends AbstractModel { constructor(){ super(); /** - * 专辑名 - * @type {string || null} + * 音乐相关信息 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {Music || null} */ - this.AlbumName = null; + this.Music = null; /** - * 专辑图片大小及类别 -注意:此字段可能返回 null,表示取不到有效值。 - * @type {Array. || null} + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} */ - this.ImagePathMap = null; + this.RequestId = null; } @@ -46,34 +46,30 @@ class Album extends AbstractModel { if (!params) { return; } - this.AlbumName = 'AlbumName' in params ? params.AlbumName : null; - if (params.ImagePathMap) { - this.ImagePathMap = new Array(); - for (let z in params.ImagePathMap) { - let obj = new ImagePath(); - obj.deserialize(params.ImagePathMap[z]); - this.ImagePathMap.push(obj); - } + if (params.Music) { + let obj = new Music(); + obj.deserialize(params.Music) + this.Music = obj; } + this.RequestId = 'RequestId' in params ? params.RequestId : null; } } /** - * DescribeMusic返回参数结构体 + * DescribeKTVSuggestions返回参数结构体 * @class */ -class DescribeMusicResponse extends AbstractModel { +class DescribeKTVSuggestionsResponse extends AbstractModel { constructor(){ super(); /** - * 音乐相关信息 -注意:此字段可能返回 null,表示取不到有效值。 - * @type {Music || null} + * 联想词信息列表。返回总数最大为10。 + * @type {Array. || null} */ - this.Music = null; + this.KTVSuggestionInfoSet = null; /** * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 @@ -91,10 +87,13 @@ class DescribeMusicResponse extends AbstractModel { return; } - if (params.Music) { - let obj = new Music(); - obj.deserialize(params.Music) - this.Music = obj; + if (params.KTVSuggestionInfoSet) { + this.KTVSuggestionInfoSet = new Array(); + for (let z in params.KTVSuggestionInfoSet) { + let obj = new KTVSuggestionInfo(); + obj.deserialize(params.KTVSuggestionInfoSet[z]); + this.KTVSuggestionInfoSet.push(obj); + } } this.RequestId = 'RequestId' in params ? params.RequestId : null; @@ -102,25 +101,24 @@ class DescribeMusicResponse extends AbstractModel { } /** - * DescribeLyric返回参数结构体 + * 副歌片段信息 * @class */ -class DescribeLyricResponse extends AbstractModel { +class ChorusClip extends AbstractModel { constructor(){ super(); /** - * 歌词详情 -注意:此字段可能返回 null,表示取不到有效值。 - * @type {Lyric || null} + * 副歌时间,单位:毫秒 + * @type {number || null} */ - this.Lyric = null; + this.StartTime = null; /** - * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - * @type {string || null} + * 副歌结束时间,单位:毫秒 + * @type {number || null} */ - this.RequestId = null; + this.EndTime = null; } @@ -131,13 +129,8 @@ class DescribeLyricResponse extends AbstractModel { if (!params) { return; } - - if (params.Lyric) { - let obj = new Lyric(); - obj.deserialize(params.Lyric) - this.Lyric = obj; - } - this.RequestId = 'RequestId' in params ? params.RequestId : null; + this.StartTime = 'StartTime' in params ? params.StartTime : null; + this.EndTime = 'EndTime' in params ? params.EndTime : null; } } @@ -239,51 +232,82 @@ class Station extends AbstractModel { } /** - * 音乐详情 + * DescribeKTVMusicDetail请求参数结构体 * @class */ -class Music extends AbstractModel { +class DescribeKTVMusicDetailRequest extends AbstractModel { constructor(){ super(); /** - * 音乐播放链接相对路径,必须通过在正版曲库直通车控制台上登记的域名进行拼接。 + * 曲目 Id * @type {string || null} */ - this.Url = null; + this.MusicId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.MusicId = 'MusicId' in params ? params.MusicId : null; + + } +} + +/** + * 排行榜结构 + * @class + */ +class KTVMusicTopInfo extends AbstractModel { + constructor(){ + super(); /** - * 音频文件大小 - * @type {number || null} + * 歌曲Id + * @type {string || null} */ - this.FileSize = null; + this.MusicId = null; /** - * 音频文件类型 + * 歌曲名称 * @type {string || null} */ - this.FileExtension = null; + this.Name = null; /** - * Song fragment start.试听片段开始时间,试听时长为auditionEnd-auditionBegin -Unit :ms - * @type {number || null} + * 歌手名称列表 + * @type {Array. || null} */ - this.AuditionBegin = null; + this.SingerInfoSet = null; /** - * Song fragment end.试听片段结束时间, 试听时长为auditionEnd-auditionBegin -Unit :ms - * @type {number || null} + * 歌词名称列表 + * @type {Array. || null} */ - this.AuditionEnd = null; + this.LyricistSet = null; /** - * 音乐播放链接全路径,前提是在正版曲库直通车控制台添加过域名,否则返回空字符。 -如果添加过多个域名只返回第一个添加域名的播放全路径。 - * @type {string || null} + * 作曲列表 + * @type {Array. || null} */ - this.FullUrl = null; + this.ComposerSet = null; + + /** + * 标签列表 + * @type {Array. || null} + */ + this.TagSet = null; + + /** + * 播放时长 + * @type {number || null} + */ + this.Duration = null; } @@ -294,60 +318,65 @@ Unit :ms if (!params) { return; } - this.Url = 'Url' in params ? params.Url : null; - this.FileSize = 'FileSize' in params ? params.FileSize : null; - this.FileExtension = 'FileExtension' in params ? params.FileExtension : null; - this.AuditionBegin = 'AuditionBegin' in params ? params.AuditionBegin : null; - this.AuditionEnd = 'AuditionEnd' in params ? params.AuditionEnd : null; - this.FullUrl = 'FullUrl' in params ? params.FullUrl : null; + this.MusicId = 'MusicId' in params ? params.MusicId : null; + this.Name = 'Name' in params ? params.Name : null; + + if (params.SingerInfoSet) { + this.SingerInfoSet = new Array(); + for (let z in params.SingerInfoSet) { + let obj = new KTVSingerBaseInfo(); + obj.deserialize(params.SingerInfoSet[z]); + this.SingerInfoSet.push(obj); + } + } + this.LyricistSet = 'LyricistSet' in params ? params.LyricistSet : null; + this.ComposerSet = 'ComposerSet' in params ? params.ComposerSet : null; + this.TagSet = 'TagSet' in params ? params.TagSet : null; + this.Duration = 'Duration' in params ? params.Duration : null; } } /** - * DescribeStations返回参数结构体 + * DescribeKTVSingerCategories请求参数结构体 * @class */ -class DescribeStationsResponse extends AbstractModel { +class DescribeKTVSingerCategoriesRequest extends AbstractModel { constructor(){ super(); - /** - * 总数量 - * @type {number || null} - */ - this.Total = null; + } - /** - * 分页偏移量 - * @type {number || null} - */ - this.Offset = null; + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } - /** - * 当前页station数量 - * @type {number || null} - */ - this.Size = null; + } +} - /** - * 剩余数量(total-offset-size),通过这个值判断是否还有下一页 - * @type {number || null} - */ - this.HaveMore = null; +/** + * KTV 歌手基础信息 + * @class + */ +class KTVSingerBaseInfo extends AbstractModel { + constructor(){ + super(); /** - * Stations 素材库列表 -注意:此字段可能返回 null,表示取不到有效值。 - * @type {Array. || null} + * 歌手id + * @type {string || null} */ - this.Stations = null; + this.SingerId = null; /** - * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * 歌手名 * @type {string || null} */ - this.RequestId = null; + this.Name = null; } @@ -358,44 +387,31 @@ class DescribeStationsResponse extends AbstractModel { if (!params) { return; } - this.Total = 'Total' in params ? params.Total : null; - this.Offset = 'Offset' in params ? params.Offset : null; - this.Size = 'Size' in params ? params.Size : null; - this.HaveMore = 'HaveMore' in params ? params.HaveMore : null; - - if (params.Stations) { - this.Stations = new Array(); - for (let z in params.Stations) { - let obj = new Station(); - obj.deserialize(params.Stations[z]); - this.Stations.push(obj); - } - } - this.RequestId = 'RequestId' in params ? params.RequestId : null; + this.SingerId = 'SingerId' in params ? params.SingerId : null; + this.Name = 'Name' in params ? params.Name : null; } } /** - * DescribePackageItems返回参数结构体 + * ModifyMusicOnShelves请求参数结构体 * @class */ -class DescribePackageItemsResponse extends AbstractModel { +class ModifyMusicOnShelvesRequest extends AbstractModel { constructor(){ super(); /** - * 已核销歌曲信息列表 -注意:此字段可能返回 null,表示取不到有效值。 - * @type {Array. || null} + * 歌曲变更信息 + * @type {MusicDetailInfo || null} */ - this.PackageItems = null; + this.MusicDetailInfos = null; /** - * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * ame对接资源方密钥 * @type {string || null} */ - this.RequestId = null; + this.AmeKey = null; } @@ -407,32 +423,29 @@ class DescribePackageItemsResponse extends AbstractModel { return; } - if (params.PackageItems) { - this.PackageItems = new Array(); - for (let z in params.PackageItems) { - let obj = new PackageItem(); - obj.deserialize(params.PackageItems[z]); - this.PackageItems.push(obj); - } + if (params.MusicDetailInfos) { + let obj = new MusicDetailInfo(); + obj.deserialize(params.MusicDetailInfos) + this.MusicDetailInfos = obj; } - this.RequestId = 'RequestId' in params ? params.RequestId : null; + this.AmeKey = 'AmeKey' in params ? params.AmeKey : null; } } /** - * DescribeCloudMusicPurchased请求参数结构体 + * 播放指令输入参数 * @class */ -class DescribeCloudMusicPurchasedRequest extends AbstractModel { +class PlayCommandInput extends AbstractModel { constructor(){ super(); /** - * 授权项目Id - * @type {string || null} + * 歌曲位置索引。 + * @type {number || null} */ - this.AuthInfoId = null; + this.Index = null; } @@ -443,62 +456,46 @@ class DescribeCloudMusicPurchasedRequest extends AbstractModel { if (!params) { return; } - this.AuthInfoId = 'AuthInfoId' in params ? params.AuthInfoId : null; + this.Index = 'Index' in params ? params.Index : null; } } /** - * 曲库包歌曲信息 + * DescribeMusic请求参数结构体 * @class */ -class PackageItem extends AbstractModel { +class DescribeMusicRequest extends AbstractModel { constructor(){ super(); /** - * 订单id + * 歌曲ID * @type {string || null} */ - this.OrderId = null; + this.ItemId = null; /** - * 歌曲名 + * 在应用前端播放音乐C端用户的唯一标识。无需是账户信息,用户唯一标识即可。 * @type {string || null} */ - this.TrackName = null; + this.IdentityId = null; /** - * 歌曲ID + * MP3-320K-FTD-P 为获取320kbps歌曲热门片段。 +MP3-320K-FTD 为获取320kbps已核验歌曲完整资源。 * @type {string || null} */ - this.ItemID = null; + this.SubItemType = null; /** - * 专辑图片 + * CDN URL Protocol:HTTP or HTTPS/SSL +Values:Y , N(default) * @type {string || null} */ - this.Img = null; + this.Ssl = null; - /** - * 歌手名 - * @type {string || null} - */ - this.ArtistName = null; - - /** - * 歌曲时长 - * @type {string || null} - */ - this.Duration = null; - - /** - * 授权区域,global: 全球 CN: 中国 - * @type {string || null} - */ - this.AuthorizedArea = null; - - } + } /** * @private @@ -507,37 +504,63 @@ class PackageItem extends AbstractModel { if (!params) { return; } - this.OrderId = 'OrderId' in params ? params.OrderId : null; - this.TrackName = 'TrackName' in params ? params.TrackName : null; - this.ItemID = 'ItemID' in params ? params.ItemID : null; - this.Img = 'Img' in params ? params.Img : null; - this.ArtistName = 'ArtistName' in params ? params.ArtistName : null; - this.Duration = 'Duration' in params ? params.Duration : null; - this.AuthorizedArea = 'AuthorizedArea' in params ? params.AuthorizedArea : null; + this.ItemId = 'ItemId' in params ? params.ItemId : null; + this.IdentityId = 'IdentityId' in params ? params.IdentityId : null; + this.SubItemType = 'SubItemType' in params ? params.SubItemType : null; + this.Ssl = 'Ssl' in params ? params.Ssl : null; } } /** - * DescribeCloudMusicPurchased返回参数结构体 + * 即使广播曲库歌曲信息详情列表 * @class */ -class DescribeCloudMusicPurchasedResponse extends AbstractModel { +class KTVMusicDetailInfo extends AbstractModel { constructor(){ super(); /** - * 云音乐列表 -注意:此字段可能返回 null,表示取不到有效值。 - * @type {Array. || null} + * 即使广播曲库歌曲基础信息 + * @type {KTVMusicBaseInfo || null} */ - this.MusicOpenDetail = null; + this.KTVMusicBaseInfo = null; /** - * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * 播放凭证 * @type {string || null} */ - this.RequestId = null; + this.PlayToken = null; + + /** + * 歌词下载地址 + * @type {string || null} + */ + this.LyricsUrl = null; + + /** + * 歌曲规格信息列表 + * @type {Array. || null} + */ + this.DefinitionInfoSet = null; + + /** + * 音高数据文件下载地址 + * @type {string || null} + */ + this.MidiJsonUrl = null; + + /** + * 副歌片段数据列表 + * @type {Array. || null} + */ + this.ChorusClipSet = null; + + /** + * 前奏间隔,单位:毫秒;注:若参数返回为0则无人声部分 + * @type {number || null} + */ + this.PreludeInterval = null; } @@ -549,56 +572,85 @@ class DescribeCloudMusicPurchasedResponse extends AbstractModel { return; } - if (params.MusicOpenDetail) { - this.MusicOpenDetail = new Array(); - for (let z in params.MusicOpenDetail) { - let obj = new MusicOpenDetail(); - obj.deserialize(params.MusicOpenDetail[z]); - this.MusicOpenDetail.push(obj); + if (params.KTVMusicBaseInfo) { + let obj = new KTVMusicBaseInfo(); + obj.deserialize(params.KTVMusicBaseInfo) + this.KTVMusicBaseInfo = obj; + } + this.PlayToken = 'PlayToken' in params ? params.PlayToken : null; + this.LyricsUrl = 'LyricsUrl' in params ? params.LyricsUrl : null; + + if (params.DefinitionInfoSet) { + this.DefinitionInfoSet = new Array(); + for (let z in params.DefinitionInfoSet) { + let obj = new KTVMusicDefinitionInfo(); + obj.deserialize(params.DefinitionInfoSet[z]); + this.DefinitionInfoSet.push(obj); } } - this.RequestId = 'RequestId' in params ? params.RequestId : null; + this.MidiJsonUrl = 'MidiJsonUrl' in params ? params.MidiJsonUrl : null; + + if (params.ChorusClipSet) { + this.ChorusClipSet = new Array(); + for (let z in params.ChorusClipSet) { + let obj = new ChorusClip(); + obj.deserialize(params.ChorusClipSet[z]); + this.ChorusClipSet.push(obj); + } + } + this.PreludeInterval = 'PreludeInterval' in params ? params.PreludeInterval : null; } } /** - * 数据信息 + * DescribeMusicSaleStatus请求参数结构体 * @class */ -class DataInfo extends AbstractModel { +class DescribeMusicSaleStatusRequest extends AbstractModel { constructor(){ super(); /** - * Song Name - * @type {string || null} + * 歌曲Id集合,可传单个,也可传多个,上线查询单次50个 + * @type {Array. || null} */ - this.Name = null; + this.MusicIds = null; /** - * 歌曲版本 - * @type {string || null} + * 查询哪个渠道的数据,1为曲库包,2为单曲 + * @type {number || null} */ - this.Version = null; + this.PurchaseType = null; - /** - * 歌曲总时长(非试听时长) - * @type {string || null} - */ - this.Duration = null; + } - /** - * 试听开始时间 - * @type {number || null} - */ - this.AuditionBegin = null; + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.MusicIds = 'MusicIds' in params ? params.MusicIds : null; + this.PurchaseType = 'PurchaseType' in params ? params.PurchaseType : null; + + } +} + +/** + * TakeMusicOffShelves请求参数结构体 + * @class + */ +class TakeMusicOffShelvesRequest extends AbstractModel { + constructor(){ + super(); /** - * 试听结束时间 - * @type {number || null} + * 资源方下架必传结构 + * @type {Array. || null} */ - this.AuditionEnd = null; + this.TakeMusicOffShelves = null; } @@ -609,85 +661,71 @@ class DataInfo extends AbstractModel { if (!params) { return; } - this.Name = 'Name' in params ? params.Name : null; - this.Version = 'Version' in params ? params.Version : null; - this.Duration = 'Duration' in params ? params.Duration : null; - this.AuditionBegin = 'AuditionBegin' in params ? params.AuditionBegin : null; - this.AuditionEnd = 'AuditionEnd' in params ? params.AuditionEnd : null; + + if (params.TakeMusicOffShelves) { + this.TakeMusicOffShelves = new Array(); + for (let z in params.TakeMusicOffShelves) { + let obj = new TakeMusicOffShelves(); + obj.deserialize(params.TakeMusicOffShelves[z]); + this.TakeMusicOffShelves.push(obj); + } + } } } /** - * 对外开放信息 + * DescribeCloudMusic返回参数结构体 * @class */ -class MusicOpenDetail extends AbstractModel { +class DescribeCloudMusicResponse extends AbstractModel { constructor(){ super(); /** - * 音乐Id -注意:此字段可能返回 null,表示取不到有效值。 + * 歌曲Id * @type {string || null} */ this.MusicId = null; /** - * 专辑名称 -注意:此字段可能返回 null,表示取不到有效值。 + * 歌曲名称 * @type {string || null} */ - this.AlbumName = null; + this.MusicName = null; /** - * 专辑图片路径 + * 歌曲时长 注意:此字段可能返回 null,表示取不到有效值。 - * @type {string || null} + * @type {number || null} */ - this.AlbumImageUrl = null; + this.Duration = null; /** - * 音乐名称 -注意:此字段可能返回 null,表示取不到有效值。 + * 歌曲链接 * @type {string || null} */ - this.MusicName = null; + this.MusicUrl = null; /** - * 音乐图片路径 + * 歌曲图片 注意:此字段可能返回 null,表示取不到有效值。 * @type {string || null} */ this.MusicImageUrl = null; /** - * 歌手 + * 歌手列表 注意:此字段可能返回 null,表示取不到有效值。 * @type {Array. || null} */ this.Singers = null; /** - * 播放时长 -注意:此字段可能返回 null,表示取不到有效值。 - * @type {number || null} - */ - this.Duration = null; - - /** - * 标签 -注意:此字段可能返回 null,表示取不到有效值。 - * @type {Array. || null} - */ - this.Tags = null; - - /** - * 歌词url -注意:此字段可能返回 null,表示取不到有效值。 + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 * @type {string || null} */ - this.LyricUrl = null; + this.RequestId = null; } @@ -699,91 +737,95 @@ class MusicOpenDetail extends AbstractModel { return; } this.MusicId = 'MusicId' in params ? params.MusicId : null; - this.AlbumName = 'AlbumName' in params ? params.AlbumName : null; - this.AlbumImageUrl = 'AlbumImageUrl' in params ? params.AlbumImageUrl : null; this.MusicName = 'MusicName' in params ? params.MusicName : null; + this.Duration = 'Duration' in params ? params.Duration : null; + this.MusicUrl = 'MusicUrl' in params ? params.MusicUrl : null; this.MusicImageUrl = 'MusicImageUrl' in params ? params.MusicImageUrl : null; this.Singers = 'Singers' in params ? params.Singers : null; - this.Duration = 'Duration' in params ? params.Duration : null; - this.Tags = 'Tags' in params ? params.Tags : null; - this.LyricUrl = 'LyricUrl' in params ? params.LyricUrl : null; + this.RequestId = 'RequestId' in params ? params.RequestId : null; } } /** - * 曲库包信息 + * 歌曲变更细节 * @class */ -class Package extends AbstractModel { +class MusicDetailInfo extends AbstractModel { constructor(){ super(); /** - * 订单id + * 资源方音乐Id * @type {string || null} */ - this.OrderId = null; + this.MusicId = null; /** - * 曲库包名称 + * 资源方识别信息 * @type {string || null} */ - this.Name = null; + this.AmeId = null; /** - * 授权地区-global: 全球 CN: 中国 - * @type {string || null} + * 分类标签 + * @type {Array. || null} */ - this.AuthorizedArea = null; + this.Tags = null; /** - * 授权次数 - * @type {number || null} + * 关键词 + * @type {Array. || null} */ - this.AuthorizedLimit = null; + this.HitWords = null; /** - * 套餐有效期,单位:天 + * 节奏信息 * @type {number || null} */ - this.TermOfValidity = null; + this.Bpm = null; /** - * 0:不可商业化;1:可商业化 + * 商业化权益 * @type {number || null} */ - this.Commercial = null; + this.Score = null; /** - * 套餐价格,单位:元 - * @type {number || null} + * 应用歌曲信息,1.图文/短视频,2.网络直播,3.网络电台FM,4.免费游戏,5.商业游戏,6.网店网站设计,7.广告营销,8.网络长视频 + * @type {Array. || null} */ - this.PackagePrice = null; + this.Scene = null; /** - * 生效开始时间,格式yyyy-MM-dd HH:mm:ss + * 应用地域,1. 中国大陆,2. 中国含港澳台,3. 全球 + * @type {Array. || null} + */ + this.Region = null; + + /** + * 授权时间,1. 1年, 5. 随片永久 * @type {string || null} */ - this.EffectTime = null; + this.AuthPeriod = null; /** - * 生效结束时间,格式yyyy-MM-dd HH:mm:ss + * 商业化授权,1. 支持商业化 ,2. 不支持商业化 * @type {string || null} */ - this.ExpireTime = null; + this.Commercialization = null; /** - * 剩余授权次数 - * @type {number || null} + * 跨平台传播,1. 支持跨平台传播 ,2. 不支持跨平台传播 + * @type {string || null} */ - this.UsedCount = null; + this.Platform = null; /** - * 曲库包用途信息 - * @type {Array. || null} + * 传播渠道 + * @type {string || null} */ - this.UseRanges = null; + this.Channel = null; } @@ -794,42 +836,43 @@ class Package extends AbstractModel { if (!params) { return; } - this.OrderId = 'OrderId' in params ? params.OrderId : null; - this.Name = 'Name' in params ? params.Name : null; - this.AuthorizedArea = 'AuthorizedArea' in params ? params.AuthorizedArea : null; - this.AuthorizedLimit = 'AuthorizedLimit' in params ? params.AuthorizedLimit : null; - this.TermOfValidity = 'TermOfValidity' in params ? params.TermOfValidity : null; - this.Commercial = 'Commercial' in params ? params.Commercial : null; - this.PackagePrice = 'PackagePrice' in params ? params.PackagePrice : null; - this.EffectTime = 'EffectTime' in params ? params.EffectTime : null; - this.ExpireTime = 'ExpireTime' in params ? params.ExpireTime : null; - this.UsedCount = 'UsedCount' in params ? params.UsedCount : null; - - if (params.UseRanges) { - this.UseRanges = new Array(); - for (let z in params.UseRanges) { - let obj = new UseRange(); - obj.deserialize(params.UseRanges[z]); - this.UseRanges.push(obj); - } - } + this.MusicId = 'MusicId' in params ? params.MusicId : null; + this.AmeId = 'AmeId' in params ? params.AmeId : null; + this.Tags = 'Tags' in params ? params.Tags : null; + this.HitWords = 'HitWords' in params ? params.HitWords : null; + this.Bpm = 'Bpm' in params ? params.Bpm : null; + this.Score = 'Score' in params ? params.Score : null; + this.Scene = 'Scene' in params ? params.Scene : null; + this.Region = 'Region' in params ? params.Region : null; + this.AuthPeriod = 'AuthPeriod' in params ? params.AuthPeriod : null; + this.Commercialization = 'Commercialization' in params ? params.Commercialization : null; + this.Platform = 'Platform' in params ? params.Platform : null; + this.Channel = 'Channel' in params ? params.Channel : null; } } /** - * ReportData返回参数结构体 + * 图片路径 * @class */ -class ReportDataResponse extends AbstractModel { +class ImagePath extends AbstractModel { constructor(){ super(); /** - * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * station图片大小及类别 +注意:此字段可能返回 null,表示取不到有效值。 * @type {string || null} */ - this.RequestId = null; + this.Key = null; + + /** + * station图片地址 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.Value = null; } @@ -840,30 +883,31 @@ class ReportDataResponse extends AbstractModel { if (!params) { return; } - this.RequestId = 'RequestId' in params ? params.RequestId : null; + this.Key = 'Key' in params ? params.Key : null; + this.Value = 'Value' in params ? params.Value : null; } } /** - * ModifyMusicOnShelves请求参数结构体 + * 即使广播曲库歌曲标签信息 * @class */ -class ModifyMusicOnShelvesRequest extends AbstractModel { +class KTVMusicTagInfo extends AbstractModel { constructor(){ super(); /** - * 歌曲变更信息 - * @type {MusicDetailInfo || null} + * 标签Id + * @type {string || null} */ - this.MusicDetailInfos = null; + this.TagId = null; /** - * ame对接资源方密钥 + * 标签 * @type {string || null} */ - this.AmeKey = null; + this.TagName = null; } @@ -874,42 +918,25 @@ class ModifyMusicOnShelvesRequest extends AbstractModel { if (!params) { return; } - - if (params.MusicDetailInfos) { - let obj = new MusicDetailInfo(); - obj.deserialize(params.MusicDetailInfos) - this.MusicDetailInfos = obj; - } - this.AmeKey = 'AmeKey' in params ? params.AmeKey : null; + this.TagId = 'TagId' in params ? params.TagId : null; + this.TagName = 'TagName' in params ? params.TagName : null; } } /** - * DescribePackageItems请求参数结构体 + * DestroyKTVRobot请求参数结构体 * @class */ -class DescribePackageItemsRequest extends AbstractModel { +class DestroyKTVRobotRequest extends AbstractModel { constructor(){ super(); /** - * 订单id,从获取已购曲库包列表中获取 + * 机器人Id。 * @type {string || null} */ - this.OrderId = null; - - /** - * 默认0,Offset=Offset+Length - * @type {number || null} - */ - this.Offset = null; - - /** - * 默认20 - * @type {number || null} - */ - this.Length = null; + this.RobotId = null; } @@ -920,105 +947,36 @@ class DescribePackageItemsRequest extends AbstractModel { if (!params) { return; } - this.OrderId = 'OrderId' in params ? params.OrderId : null; - this.Offset = 'Offset' in params ? params.Offset : null; - this.Length = 'Length' in params ? params.Length : null; + this.RobotId = 'RobotId' in params ? params.RobotId : null; } } /** - * AuthInfo集合 + * DescribeAuthInfo返回参数结构体 * @class */ -class AuthInfo extends AbstractModel { +class DescribeAuthInfoResponse extends AbstractModel { constructor(){ super(); /** - * 主体名称 -注意:此字段可能返回 null,表示取不到有效值。 - * @type {string || null} - */ - this.SubjectName = null; - - /** - * 项目名称 -注意:此字段可能返回 null,表示取不到有效值。 - * @type {string || null} - */ - this.ProjectName = null; - - /** - * 应用场景 - * @type {number || null} - */ - this.AppScene = null; - - /** - * 应用地域 - * @type {number || null} - */ - this.AppRegion = null; - - /** - * 授权时间 - * @type {number || null} - */ - this.AuthPeriod = null; - - /** - * 是否可商业化 - * @type {number || null} + * 授权项目列表 + * @type {Array. || null} */ - this.Commercialization = null; + this.AuthInfo = null; /** - * 是否可跨平台 + * 总数 * @type {number || null} */ - this.Platform = null; + this.TotalCount = null; /** - * 加密后Id + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 * @type {string || null} */ - this.Id = null; - - } - - /** - * @private - */ - deserialize(params) { - if (!params) { - return; - } - this.SubjectName = 'SubjectName' in params ? params.SubjectName : null; - this.ProjectName = 'ProjectName' in params ? params.ProjectName : null; - this.AppScene = 'AppScene' in params ? params.AppScene : null; - this.AppRegion = 'AppRegion' in params ? params.AppRegion : null; - this.AuthPeriod = 'AuthPeriod' in params ? params.AuthPeriod : null; - this.Commercialization = 'Commercialization' in params ? params.Commercialization : null; - this.Platform = 'Platform' in params ? params.Platform : null; - this.Id = 'Id' in params ? params.Id : null; - - } -} - -/** - * TakeMusicOffShelves请求参数结构体 - * @class - */ -class TakeMusicOffShelvesRequest extends AbstractModel { - constructor(){ - super(); - - /** - * 资源方下架必传结构 - * @type {Array. || null} - */ - this.TakeMusicOffShelves = null; + this.RequestId = null; } @@ -1030,37 +988,41 @@ class TakeMusicOffShelvesRequest extends AbstractModel { return; } - if (params.TakeMusicOffShelves) { - this.TakeMusicOffShelves = new Array(); - for (let z in params.TakeMusicOffShelves) { - let obj = new TakeMusicOffShelves(); - obj.deserialize(params.TakeMusicOffShelves[z]); - this.TakeMusicOffShelves.push(obj); + if (params.AuthInfo) { + this.AuthInfo = new Array(); + for (let z in params.AuthInfo) { + let obj = new AuthInfo(); + obj.deserialize(params.AuthInfo[z]); + this.AuthInfo.push(obj); } } + this.TotalCount = 'TotalCount' in params ? params.TotalCount : null; + this.RequestId = 'RequestId' in params ? params.RequestId : null; } } /** - * 下架歌曲复合结构 + * DescribeLyric请求参数结构体 * @class */ -class TakeMusicOffShelves extends AbstractModel { +class DescribeLyricRequest extends AbstractModel { constructor(){ super(); /** - * 资源方对应音乐Id + * 歌曲ID * @type {string || null} */ - this.MusicIds = null; + this.ItemId = null; /** - * 当曲目临时下架时:已订购客户无影响,无需消息通知。当曲目封杀下架后,推送消息至已订购老客户,枚举值,判断是否上/下架 + * 格式,可选项,可不填写,默认值为:LRC-LRC。 +
  • LRC-LRC:歌词;
  • +
  • JSON-ST:波形图。
  • * @type {string || null} */ - this.SaleStatus = null; + this.SubItemType = null; } @@ -1071,37 +1033,37 @@ class TakeMusicOffShelves extends AbstractModel { if (!params) { return; } - this.MusicIds = 'MusicIds' in params ? params.MusicIds : null; - this.SaleStatus = 'SaleStatus' in params ? params.SaleStatus : null; + this.ItemId = 'ItemId' in params ? params.ItemId : null; + this.SubItemType = 'SubItemType' in params ? params.SubItemType : null; } } /** - * 歌词信息 + * ReportData请求参数结构体 * @class */ -class Lyric extends AbstractModel { +class ReportDataRequest extends AbstractModel { constructor(){ super(); /** - * 歌词cdn地址 - * @type {string || null} - */ - this.Url = null; + * 上报数据 +注:reportData为客户端压缩后的上报数据进行16进制转换的字符串数据 +压缩说明: +a) 上报的json格式字符串通过流的转换(ByteArrayInputStream, java.util.zip.GZIPOutputStream),获取到压缩后的字节数组。 +b) 将压缩后的字节数组转成16进制字符串。 - /** - * 歌词后缀名 - * @type {string || null} - */ - this.FileNameExt = null; +reportData由两部分数据组成: +1)report_type(上报类型) +2)data(歌曲上报数据) +不同的report_type对应的data数据结构不一样。 - /** - * 歌词类型 +详细说明请参考文档reportdata.docx: +https://github.com/tencentyun/ame-documents * @type {string || null} */ - this.SubItemType = null; + this.ReportData = null; } @@ -1112,26 +1074,24 @@ class Lyric extends AbstractModel { if (!params) { return; } - this.Url = 'Url' in params ? params.Url : null; - this.FileNameExt = 'FileNameExt' in params ? params.FileNameExt : null; - this.SubItemType = 'SubItemType' in params ? params.SubItemType : null; + this.ReportData = 'ReportData' in params ? params.ReportData : null; } } /** - * DescribeItemById请求参数结构体 + * 调整播放进度指令参数 * @class */ -class DescribeItemByIdRequest extends AbstractModel { +class SeekCommandInput extends AbstractModel { constructor(){ super(); /** - * 歌曲ID,目前暂不支持批量查询 - * @type {string || null} + * 播放位置,单位:毫秒。 + * @type {number || null} */ - this.ItemIDs = null; + this.Position = null; } @@ -1142,44 +1102,36 @@ class DescribeItemByIdRequest extends AbstractModel { if (!params) { return; } - this.ItemIDs = 'ItemIDs' in params ? params.ItemIDs : null; + this.Position = 'Position' in params ? params.Position : null; } } /** - * DescribeMusic请求参数结构体 + * DescribePkgOfflineMusic请求参数结构体 * @class */ -class DescribeMusicRequest extends AbstractModel { +class DescribePkgOfflineMusicRequest extends AbstractModel { constructor(){ super(); /** - * 歌曲ID - * @type {string || null} - */ - this.ItemId = null; - - /** - * 在应用前端播放音乐C端用户的唯一标识。无需是账户信息,用户唯一标识即可。 + * 订单id * @type {string || null} */ - this.IdentityId = null; + this.PackageOrderId = null; /** - * MP3-320K-FTD-P 为获取64kbps歌曲热门片段。 -MP3-320K-FTD 为获取320kbps已核验歌曲完整资源。 - * @type {string || null} + * 分页返回的起始偏移量,默认值:0。将返回第 Offset 到第 Offset+Limit-1 条(注:单次上限为100)。 + * @type {number || null} */ - this.SubItemType = null; + this.Limit = null; /** - * CDN URL Protocol:HTTP or HTTPS/SSL -Values:Y , N(default) - * @type {string || null} + * 分页返回的记录条数,默认值:50。将返回第 Offset 到第 Offset+Limit-1 条。 + * @type {number || null} */ - this.Ssl = null; + this.Offset = null; } @@ -1190,33 +1142,34 @@ Values:Y , N(default) if (!params) { return; } - this.ItemId = 'ItemId' in params ? params.ItemId : null; - this.IdentityId = 'IdentityId' in params ? params.IdentityId : null; - this.SubItemType = 'SubItemType' in params ? params.SubItemType : null; - this.Ssl = 'Ssl' in params ? params.Ssl : null; + this.PackageOrderId = 'PackageOrderId' in params ? params.PackageOrderId : null; + this.Limit = 'Limit' in params ? params.Limit : null; + this.Offset = 'Offset' in params ? params.Offset : null; } } /** - * 曲库包用途信息 + * 时间范围 * @class */ -class UseRange extends AbstractModel { +class TimeRange extends AbstractModel { constructor(){ super(); /** - * 用途id - * @type {number || null} + *
  • 大于等于此时间(起始时间)。
  • +
  • 格式按照 ISO 8601标准表示,详见 ISO 日期格式说明
  • + * @type {string || null} */ - this.UseRangeId = null; + this.Before = null; /** - * 用途范围名称 + *
  • 小于此时间(结束时间)。
  • +
  • 格式按照 ISO 8601标准表示,详见 ISO 日期格式说明
  • * @type {string || null} */ - this.Name = null; + this.After = null; } @@ -1227,25 +1180,31 @@ class UseRange extends AbstractModel { if (!params) { return; } - this.UseRangeId = 'UseRangeId' in params ? params.UseRangeId : null; - this.Name = 'Name' in params ? params.Name : null; + this.Before = 'Before' in params ? params.Before : null; + this.After = 'After' in params ? params.After : null; } } /** - * Artist + * DescribeMusicSaleStatus返回参数结构体 * @class */ -class Artist extends AbstractModel { +class DescribeMusicSaleStatusResponse extends AbstractModel { constructor(){ super(); /** - * 歌手名 - * @type {string || null} + * musicId对应歌曲状态 + * @type {Array. || null} */ - this.ArtistName = null; + this.MusicStatusSet = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; } @@ -1256,30 +1215,39 @@ class Artist extends AbstractModel { if (!params) { return; } - this.ArtistName = 'ArtistName' in params ? params.ArtistName : null; + + if (params.MusicStatusSet) { + this.MusicStatusSet = new Array(); + for (let z in params.MusicStatusSet) { + let obj = new MusicStatus(); + obj.deserialize(params.MusicStatusSet[z]); + this.MusicStatusSet.push(obj); + } + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; } } /** - * DescribeStations请求参数结构体 + * CreateKTVRobot返回参数结构体 * @class */ -class DescribeStationsRequest extends AbstractModel { +class CreateKTVRobotResponse extends AbstractModel { constructor(){ super(); /** - * 条数,必须大于0 - * @type {number || null} + * 机器人Id。 + * @type {string || null} */ - this.Limit = null; + this.RobotId = null; /** - * offset (Default = 0),Offset=Offset+Limit - * @type {number || null} + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} */ - this.Offset = null; + this.RequestId = null; } @@ -1290,38 +1258,70 @@ class DescribeStationsRequest extends AbstractModel { if (!params) { return; } - this.Limit = 'Limit' in params ? params.Limit : null; - this.Offset = 'Offset' in params ? params.Offset : null; + this.RobotId = 'RobotId' in params ? params.RobotId : null; + this.RequestId = 'RequestId' in params ? params.RequestId : null; } } /** - * PutMusicOnTheShelves返回参数结构体 + * DescribePackageItems返回参数结构体 * @class */ -class PutMusicOnTheShelvesResponse extends AbstractModel { +class DescribePackageItemsResponse extends AbstractModel { constructor(){ super(); /** - * 操作成功数量 - * @type {number || null} + * 已核销歌曲信息列表 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {Array. || null} */ - this.SuccessNum = null; + this.PackageItems = null; /** - * 操作失败数量 - * @type {number || null} + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} */ - this.FailedNum = null; + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + + if (params.PackageItems) { + this.PackageItems = new Array(); + for (let z in params.PackageItems) { + let obj = new PackageItem(); + obj.deserialize(params.PackageItems[z]); + this.PackageItems.push(obj); + } + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * DescribeCloudMusicPurchased返回参数结构体 + * @class + */ +class DescribeCloudMusicPurchasedResponse extends AbstractModel { + constructor(){ + super(); /** - * 失败歌曲Id + * 云音乐列表 注意:此字段可能返回 null,表示取不到有效值。 - * @type {Array. || null} + * @type {Array. || null} */ - this.FailedMusicIds = null; + this.MusicOpenDetail = null; /** * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 @@ -1338,45 +1338,45 @@ class PutMusicOnTheShelvesResponse extends AbstractModel { if (!params) { return; } - this.SuccessNum = 'SuccessNum' in params ? params.SuccessNum : null; - this.FailedNum = 'FailedNum' in params ? params.FailedNum : null; - this.FailedMusicIds = 'FailedMusicIds' in params ? params.FailedMusicIds : null; + + if (params.MusicOpenDetail) { + this.MusicOpenDetail = new Array(); + for (let z in params.MusicOpenDetail) { + let obj = new MusicOpenDetail(); + obj.deserialize(params.MusicOpenDetail[z]); + this.MusicOpenDetail.push(obj); + } + } this.RequestId = 'RequestId' in params ? params.RequestId : null; } } /** - * DescribeItems请求参数结构体 + * 即使广播曲库歌曲标签分组信息 * @class */ -class DescribeItemsRequest extends AbstractModel { +class KTVMusicTagGroup extends AbstractModel { constructor(){ super(); /** - * offset (Default = 0),(当前页-1) * Limit - * @type {number || null} - */ - this.Offset = null; - - /** - * 条数,必须大于0,最大值为30 - * @type {number || null} + * 标签分组英文名 + * @type {string || null} */ - this.Limit = null; + this.EnglishGroupName = null; /** - * (电台/歌单)ID,CategoryId和CategoryCode两个必传1个,可以从获取分类内容(Station)列表接口中获取。 + * 标签分组中文名 * @type {string || null} */ - this.CategoryId = null; + this.ChineseGroupName = null; /** - * (电台/歌单)ID,CategoryId和CategoryCode两个必传1个,可以从获取分类内容(Station)列表接口中获取。 - * @type {string || null} + * 标签分类下标签列表 + * @type {Array. || null} */ - this.CategoryCode = null; + this.TagSet = null; } @@ -1387,55 +1387,64 @@ class DescribeItemsRequest extends AbstractModel { if (!params) { return; } - this.Offset = 'Offset' in params ? params.Offset : null; - this.Limit = 'Limit' in params ? params.Limit : null; - this.CategoryId = 'CategoryId' in params ? params.CategoryId : null; - this.CategoryCode = 'CategoryCode' in params ? params.CategoryCode : null; + this.EnglishGroupName = 'EnglishGroupName' in params ? params.EnglishGroupName : null; + this.ChineseGroupName = 'ChineseGroupName' in params ? params.ChineseGroupName : null; + + if (params.TagSet) { + this.TagSet = new Array(); + for (let z in params.TagSet) { + let obj = new KTVMusicTagInfo(); + obj.deserialize(params.TagSet[z]); + this.TagSet.push(obj); + } + } } } /** - * 歌曲信息 + * 数据信息 * @class */ -class Item extends AbstractModel { +class DataInfo extends AbstractModel { constructor(){ super(); /** - * Song ID + * Song Name * @type {string || null} */ - this.ItemID = null; + this.Name = null; /** - * Song info -注意:此字段可能返回 null,表示取不到有效值。 - * @type {DataInfo || null} + * 歌曲版本 + * @type {string || null} */ - this.DataInfo = null; + this.Version = null; /** - * 专辑信息 -注意:此字段可能返回 null,表示取不到有效值。 - * @type {Album || null} + * 歌曲总时长(非试听时长) + * @type {string || null} */ - this.Album = null; + this.Duration = null; /** - * 多个歌手集合 -注意:此字段可能返回 null,表示取不到有效值。 - * @type {Array. || null} + * 试听开始时间 + * @type {number || null} */ - this.Artists = null; + this.AuditionBegin = null; /** - * 歌曲状态,1:添加进购物车;2:核销进曲库包 -注意:此字段可能返回 null,表示取不到有效值。 + * 试听结束时间 * @type {number || null} */ - this.Status = null; + this.AuditionEnd = null; + + /** + * 标签名称 + * @type {Array. || null} + */ + this.TagNames = null; } @@ -1446,85 +1455,78 @@ class Item extends AbstractModel { if (!params) { return; } - this.ItemID = 'ItemID' in params ? params.ItemID : null; - - if (params.DataInfo) { - let obj = new DataInfo(); - obj.deserialize(params.DataInfo) - this.DataInfo = obj; - } - - if (params.Album) { - let obj = new Album(); - obj.deserialize(params.Album) - this.Album = obj; - } - - if (params.Artists) { - this.Artists = new Array(); - for (let z in params.Artists) { - let obj = new Artist(); - obj.deserialize(params.Artists[z]); - this.Artists.push(obj); - } - } - this.Status = 'Status' in params ? params.Status : null; + this.Name = 'Name' in params ? params.Name : null; + this.Version = 'Version' in params ? params.Version : null; + this.Duration = 'Duration' in params ? params.Duration : null; + this.AuditionBegin = 'AuditionBegin' in params ? params.AuditionBegin : null; + this.AuditionEnd = 'AuditionEnd' in params ? params.AuditionEnd : null; + this.TagNames = 'TagNames' in params ? params.TagNames : null; } } /** - * DescribeCloudMusic返回参数结构体 + * 用户license基础信息 * @class */ -class DescribeCloudMusicResponse extends AbstractModel { +class ApplicationLicenseInput extends AbstractModel { constructor(){ super(); /** - * 歌曲Id + * 应用名称,注:后面三个字段AndroidPackageName、IOSBundleId、PcIdentifier,三者选填一个 * @type {string || null} */ - this.MusicId = null; + this.AppName = null; /** - * 歌曲名称 + * app的安卓包名 * @type {string || null} */ - this.MusicName = null; - - /** - * 歌曲时长 -注意:此字段可能返回 null,表示取不到有效值。 - * @type {number || null} - */ - this.Duration = null; + this.AndroidPackageName = null; /** - * 歌曲链接 + * app的IOS的BundleId名 * @type {string || null} */ - this.MusicUrl = null; + this.IOSBundleId = null; /** - * 歌曲图片 -注意:此字段可能返回 null,表示取不到有效值。 + * PC标识名 * @type {string || null} */ - this.MusicImageUrl = null; + this.PcIdentifier = null; - /** - * 歌手列表 -注意:此字段可能返回 null,表示取不到有效值。 - * @type {Array. || null} - */ - this.Singers = null; + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.AppName = 'AppName' in params ? params.AppName : null; + this.AndroidPackageName = 'AndroidPackageName' in params ? params.AndroidPackageName : null; + this.IOSBundleId = 'IOSBundleId' in params ? params.IOSBundleId : null; + this.PcIdentifier = 'PcIdentifier' in params ? params.PcIdentifier : null; + + } +} + +/** + * Artist + * @class + */ +class Artist extends AbstractModel { + constructor(){ + super(); /** - * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * 歌手名 * @type {string || null} */ - this.RequestId = null; + this.ArtistName = null; } @@ -1535,36 +1537,33 @@ class DescribeCloudMusicResponse extends AbstractModel { if (!params) { return; } - this.MusicId = 'MusicId' in params ? params.MusicId : null; - this.MusicName = 'MusicName' in params ? params.MusicName : null; - this.Duration = 'Duration' in params ? params.Duration : null; - this.MusicUrl = 'MusicUrl' in params ? params.MusicUrl : null; - this.MusicImageUrl = 'MusicImageUrl' in params ? params.MusicImageUrl : null; - this.Singers = 'Singers' in params ? params.Singers : null; - this.RequestId = 'RequestId' in params ? params.RequestId : null; + this.ArtistName = 'ArtistName' in params ? params.ArtistName : null; } } /** - * DescribePackages请求参数结构体 + * 设置销毁模式 * @class */ -class DescribePackagesRequest extends AbstractModel { +class SetDestroyModeCommandInput extends AbstractModel { constructor(){ super(); /** - * 默认0,Offset=Offset+Length - * @type {number || null} + * 销毁模式,取值有: +
  • Auto:房间没人时自动销毁
  • +
  • Expire:房间没人时过期自动销毁
  • +
  • Never:不自动销毁,需手动销毁
  • 默认为:Auto。 + * @type {string || null} */ - this.Offset = null; + this.DestroyMode = null; /** - * 默认20 + * 过期销毁时间,单位:秒,当DestroyMode取Expire时必填。 * @type {number || null} */ - this.Length = null; + this.DestroyExpireTime = null; } @@ -1575,91 +1574,240 @@ class DescribePackagesRequest extends AbstractModel { if (!params) { return; } - this.Offset = 'Offset' in params ? params.Offset : null; - this.Length = 'Length' in params ? params.Length : null; + this.DestroyMode = 'DestroyMode' in params ? params.DestroyMode : null; + this.DestroyExpireTime = 'DestroyExpireTime' in params ? params.DestroyExpireTime : null; } } /** - * 歌曲变更细节 + * ReportData返回参数结构体 * @class */ -class MusicDetailInfo extends AbstractModel { +class ReportDataResponse extends AbstractModel { constructor(){ super(); /** - * 资源方音乐Id + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 * @type {string || null} */ - this.MusicId = null; + this.RequestId = null; - /** - * 资源方识别信息 - * @type {string || null} + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * SearchKTVMusics返回参数结构体 + * @class + */ +class SearchKTVMusicsResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 总记录数 + * @type {number || null} */ - this.AmeId = null; + this.TotalCount = null; /** - * 分类标签 - * @type {Array. || null} + * KTV 曲目列表 + * @type {Array. || null} */ - this.Tags = null; + this.KTVMusicInfoSet = null; /** - * 关键词 - * @type {Array. || null} + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} */ - this.HitWords = null; + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.TotalCount = 'TotalCount' in params ? params.TotalCount : null; + + if (params.KTVMusicInfoSet) { + this.KTVMusicInfoSet = new Array(); + for (let z in params.KTVMusicInfoSet) { + let obj = new KTVMusicBaseInfo(); + obj.deserialize(params.KTVMusicInfoSet[z]); + this.KTVMusicInfoSet.push(obj); + } + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * DescribeItemById请求参数结构体 + * @class + */ +class DescribeItemByIdRequest extends AbstractModel { + constructor(){ + super(); /** - * 节奏信息 - * @type {number || null} + * 歌曲ID,目前暂不支持批量查询 + * @type {string || null} */ - this.Bpm = null; + this.ItemIDs = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.ItemIDs = 'ItemIDs' in params ? params.ItemIDs : null; + + } +} + +/** + * PutMusicOnTheShelves返回参数结构体 + * @class + */ +class PutMusicOnTheShelvesResponse extends AbstractModel { + constructor(){ + super(); /** - * 商业化权益 + * 操作成功数量 * @type {number || null} */ - this.Score = null; + this.SuccessNum = null; /** - * 场景信息 - * @type {Array. || null} + * 操作失败数量 + * @type {number || null} */ - this.Scene = null; + this.FailedNum = null; /** - * 应用地域 + * 失败歌曲Id +注意:此字段可能返回 null,表示取不到有效值。 * @type {Array. || null} */ - this.Region = null; + this.FailedMusicIds = null; /** - * 授权期限 + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 * @type {string || null} */ - this.AuthPeriod = null; + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.SuccessNum = 'SuccessNum' in params ? params.SuccessNum : null; + this.FailedNum = 'FailedNum' in params ? params.FailedNum : null; + this.FailedMusicIds = 'FailedMusicIds' in params ? params.FailedMusicIds : null; + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * KTV 机器人初始化参数,在创建后自动完成相关初始化工作。 + * @class + */ +class SyncRobotCommand extends AbstractModel { + constructor(){ + super(); /** - * 商业化权益 + * 可同时传入多个指令,顺序执行。取值有: +
  • Play:播放
  • +
  • Pause:暂停
  • +
  • SwitchPrevious:上一首
  • +
  • SwitchNext:下一首
  • +
  • SetPlayMode:设置播放模式
  • +
  • Seek:调整播放进度
  • +
  • SetPlaylist:歌单变更
  • +
  • SetAudioParam:音频参数变更
  • +
  • SendMessage:发送自定义消息
  • +
  • SetDestroyMode:设置销毁模式
  • +
  • SetVolume:设置音量
  • * @type {string || null} */ - this.Commercialization = null; + this.Command = null; /** - * 跨平台传播权益 - * @type {string || null} + * 播放参数。 + * @type {PlayCommandInput || null} */ - this.Platform = null; + this.PlayCommandInput = null; /** - * 传播渠道 - * @type {string || null} + * 播放列表变更信息,当Command取SetPlaylist时,必填。 + * @type {SetPlaylistCommandInput || null} */ - this.Channel = null; + this.SetPlaylistCommandInput = null; + + /** + * 播放进度,当Command取Seek时,必填。 + * @type {SeekCommandInput || null} + */ + this.SeekCommandInput = null; + + /** + * 音频参数,当Command取SetAudioParam时,必填。 + * @type {SetAudioParamCommandInput || null} + */ + this.SetAudioParamCommandInput = null; + + /** + * 自定义消息,当Command取SendMessage时,必填。 + * @type {SendMessageCommandInput || null} + */ + this.SendMessageCommandInput = null; + + /** + * 播放模式,当Command取SetPlayMode时,必填。 + * @type {SetPlayModeCommandInput || null} + */ + this.SetPlayModeCommandInput = null; + + /** + * 销毁模式,当Command取SetDestroyMode时,必填。 + * @type {SetDestroyModeCommandInput || null} + */ + this.SetDestroyModeCommandInput = null; + + /** + * 音量,当Command取SetVolume时,必填。 + * @type {SetVolumeCommandInput || null} + */ + this.SetVolumeCommandInput = null; } @@ -1670,43 +1818,84 @@ class MusicDetailInfo extends AbstractModel { if (!params) { return; } - this.MusicId = 'MusicId' in params ? params.MusicId : null; - this.AmeId = 'AmeId' in params ? params.AmeId : null; - this.Tags = 'Tags' in params ? params.Tags : null; - this.HitWords = 'HitWords' in params ? params.HitWords : null; - this.Bpm = 'Bpm' in params ? params.Bpm : null; - this.Score = 'Score' in params ? params.Score : null; - this.Scene = 'Scene' in params ? params.Scene : null; - this.Region = 'Region' in params ? params.Region : null; - this.AuthPeriod = 'AuthPeriod' in params ? params.AuthPeriod : null; - this.Commercialization = 'Commercialization' in params ? params.Commercialization : null; - this.Platform = 'Platform' in params ? params.Platform : null; - this.Channel = 'Channel' in params ? params.Channel : null; + this.Command = 'Command' in params ? params.Command : null; + + if (params.PlayCommandInput) { + let obj = new PlayCommandInput(); + obj.deserialize(params.PlayCommandInput) + this.PlayCommandInput = obj; + } + + if (params.SetPlaylistCommandInput) { + let obj = new SetPlaylistCommandInput(); + obj.deserialize(params.SetPlaylistCommandInput) + this.SetPlaylistCommandInput = obj; + } + + if (params.SeekCommandInput) { + let obj = new SeekCommandInput(); + obj.deserialize(params.SeekCommandInput) + this.SeekCommandInput = obj; + } + + if (params.SetAudioParamCommandInput) { + let obj = new SetAudioParamCommandInput(); + obj.deserialize(params.SetAudioParamCommandInput) + this.SetAudioParamCommandInput = obj; + } + + if (params.SendMessageCommandInput) { + let obj = new SendMessageCommandInput(); + obj.deserialize(params.SendMessageCommandInput) + this.SendMessageCommandInput = obj; + } + + if (params.SetPlayModeCommandInput) { + let obj = new SetPlayModeCommandInput(); + obj.deserialize(params.SetPlayModeCommandInput) + this.SetPlayModeCommandInput = obj; + } + + if (params.SetDestroyModeCommandInput) { + let obj = new SetDestroyModeCommandInput(); + obj.deserialize(params.SetDestroyModeCommandInput) + this.SetDestroyModeCommandInput = obj; + } + + if (params.SetVolumeCommandInput) { + let obj = new SetVolumeCommandInput(); + obj.deserialize(params.SetVolumeCommandInput) + this.SetVolumeCommandInput = obj; + } } } /** - * 图片路径 + * DescribeKTVSingerMusics返回参数结构体 * @class */ -class ImagePath extends AbstractModel { +class DescribeKTVSingerMusicsResponse extends AbstractModel { constructor(){ super(); /** - * station图片大小及类别 -注意:此字段可能返回 null,表示取不到有效值。 - * @type {string || null} + * 总曲目数 + * @type {number || null} */ - this.Key = null; + this.TotalCount = null; /** - * station图片地址 -注意:此字段可能返回 null,表示取不到有效值。 + * KTV 曲目列表 + * @type {Array. || null} + */ + this.KTVMusicInfoSet = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 * @type {string || null} */ - this.Value = null; + this.RequestId = null; } @@ -1717,8 +1906,17 @@ class ImagePath extends AbstractModel { if (!params) { return; } - this.Key = 'Key' in params ? params.Key : null; - this.Value = 'Value' in params ? params.Value : null; + this.TotalCount = 'TotalCount' in params ? params.TotalCount : null; + + if (params.KTVMusicInfoSet) { + this.KTVMusicInfoSet = new Array(); + for (let z in params.KTVMusicInfoSet) { + let obj = new KTVMusicBaseInfo(); + obj.deserialize(params.KTVMusicInfoSet[z]); + this.KTVMusicInfoSet.push(obj); + } + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; } } @@ -1797,19 +1995,24 @@ class DescribeItemsResponse extends AbstractModel { } /** - * DescribeItemById返回参数结构体 + * DescribePkgOfflineMusic返回参数结构体 * @class */ -class DescribeItemByIdResponse extends AbstractModel { +class DescribePkgOfflineMusicResponse extends AbstractModel { constructor(){ super(); /** - * 歌曲信息 -注意:此字段可能返回 null,表示取不到有效值。 - * @type {Array. || null} + * 曲库包中不可用歌曲信息 + * @type {Array. || null} */ - this.Items = null; + this.OfflineMusicSet = null; + + /** + * 返回总量 + * @type {number || null} + */ + this.TotalCount = null; /** * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 @@ -1827,32 +2030,63 @@ class DescribeItemByIdResponse extends AbstractModel { return; } - if (params.Items) { - this.Items = new Array(); - for (let z in params.Items) { - let obj = new Item(); - obj.deserialize(params.Items[z]); - this.Items.push(obj); + if (params.OfflineMusicSet) { + this.OfflineMusicSet = new Array(); + for (let z in params.OfflineMusicSet) { + let obj = new OfflineMusicDetail(); + obj.deserialize(params.OfflineMusicSet[z]); + this.OfflineMusicSet.push(obj); } } + this.TotalCount = 'TotalCount' in params ? params.TotalCount : null; this.RequestId = 'RequestId' in params ? params.RequestId : null; } } /** - * PutMusicOnTheShelves请求参数结构体 + * 直播互动歌曲的歌手信息。 * @class */ -class PutMusicOnTheShelvesRequest extends AbstractModel { +class KTVSingerInfo extends AbstractModel { constructor(){ super(); /** - * 资源方歌曲Id - * @type {Array. || null} + * 歌手id + * @type {string || null} */ - this.MusicIds = null; + this.SingerId = null; + + /** + * 歌手名 + * @type {string || null} + */ + this.Name = null; + + /** + * 歌手性别: 男,女,组合 + * @type {string || null} + */ + this.Gender = null; + + /** + * 地区: 大陆,港台,欧美,日本 + * @type {string || null} + */ + this.Area = null; + + /** + * 歌曲数 + * @type {number || null} + */ + this.MusicCount = null; + + /** + * 歌曲总播放次数 + * @type {number || null} + */ + this.PlayCount = null; } @@ -1863,31 +2097,57 @@ class PutMusicOnTheShelvesRequest extends AbstractModel { if (!params) { return; } - this.MusicIds = 'MusicIds' in params ? params.MusicIds : null; + this.SingerId = 'SingerId' in params ? params.SingerId : null; + this.Name = 'Name' in params ? params.Name : null; + this.Gender = 'Gender' in params ? params.Gender : null; + this.Area = 'Area' in params ? params.Area : null; + this.MusicCount = 'MusicCount' in params ? params.MusicCount : null; + this.PlayCount = 'PlayCount' in params ? params.PlayCount : null; } } /** - * DescribePackages返回参数结构体 + * 设置音量。 * @class */ -class DescribePackagesResponse extends AbstractModel { +class SetVolumeCommandInput extends AbstractModel { constructor(){ super(); /** - * 已购曲库包列表 -注意:此字段可能返回 null,表示取不到有效值。 - * @type {Array. || null} + * 音量大小,取值范围为 0~100,默认值为 50。 + * @type {number || null} */ - this.Packages = null; + this.Volume = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Volume = 'Volume' in params ? params.Volume : null; + + } +} + +/** + * PutMusicOnTheShelves请求参数结构体 + * @class + */ +class PutMusicOnTheShelvesRequest extends AbstractModel { + constructor(){ + super(); /** - * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - * @type {string || null} + * 资源方歌曲Id + * @type {Array. || null} */ - this.RequestId = null; + this.MusicIds = null; } @@ -1898,16 +2158,7 @@ class DescribePackagesResponse extends AbstractModel { if (!params) { return; } - - if (params.Packages) { - this.Packages = new Array(); - for (let z in params.Packages) { - let obj = new Package(); - obj.deserialize(params.Packages[z]); - this.Packages.push(obj); - } - } - this.RequestId = 'RequestId' in params ? params.RequestId : null; + this.MusicIds = 'MusicIds' in params ? params.MusicIds : null; } } @@ -1952,24 +2203,89 @@ class DescribeCloudMusicRequest extends AbstractModel { } /** - * DescribeAuthInfo返回参数结构体 + * 排序依据 * @class */ -class DescribeAuthInfoResponse extends AbstractModel { +class SortBy extends AbstractModel { constructor(){ super(); /** - * 授权项目列表 - * @type {Array. || null} + * 排序字段 + * @type {string || null} */ - this.AuthInfo = null; + this.Field = null; /** - * 总数 + * 排序方式,可选值:Asc(升序)、Desc(降序) + * @type {string || null} + */ + this.Order = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Field = 'Field' in params ? params.Field : null; + this.Order = 'Order' in params ? params.Order : null; + + } +} + +/** + * DescribeKTVMusicDetail返回参数结构体 + * @class + */ +class DescribeKTVMusicDetailResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 歌曲基础信息 + * @type {KTVMusicBaseInfo || null} + */ + this.KTVMusicBaseInfo = null; + + /** + * 播放凭证 + * @type {string || null} + */ + this.PlayToken = null; + + /** + * 歌词下载地址 + * @type {string || null} + */ + this.LyricsUrl = null; + + /** + * 歌曲规格信息列表 + * @type {Array. || null} + */ + this.DefinitionInfoSet = null; + + /** + * 音高数据文件下载地址 + * @type {string || null} + */ + this.MidiJsonUrl = null; + + /** + * 副歌片段数据列表 + * @type {Array. || null} + */ + this.ChorusClipSet = null; + + /** + * 前奏间隔,单位:毫秒;注:若参数返回为0则无人声部分 * @type {number || null} */ - this.TotalCount = null; + this.PreludeInterval = null; /** * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 @@ -1987,46 +2303,116 @@ class DescribeAuthInfoResponse extends AbstractModel { return; } - if (params.AuthInfo) { - this.AuthInfo = new Array(); - for (let z in params.AuthInfo) { - let obj = new AuthInfo(); - obj.deserialize(params.AuthInfo[z]); - this.AuthInfo.push(obj); + if (params.KTVMusicBaseInfo) { + let obj = new KTVMusicBaseInfo(); + obj.deserialize(params.KTVMusicBaseInfo) + this.KTVMusicBaseInfo = obj; + } + this.PlayToken = 'PlayToken' in params ? params.PlayToken : null; + this.LyricsUrl = 'LyricsUrl' in params ? params.LyricsUrl : null; + + if (params.DefinitionInfoSet) { + this.DefinitionInfoSet = new Array(); + for (let z in params.DefinitionInfoSet) { + let obj = new KTVMusicDefinitionInfo(); + obj.deserialize(params.DefinitionInfoSet[z]); + this.DefinitionInfoSet.push(obj); } } - this.TotalCount = 'TotalCount' in params ? params.TotalCount : null; + this.MidiJsonUrl = 'MidiJsonUrl' in params ? params.MidiJsonUrl : null; + + if (params.ChorusClipSet) { + this.ChorusClipSet = new Array(); + for (let z in params.ChorusClipSet) { + let obj = new ChorusClip(); + obj.deserialize(params.ChorusClipSet[z]); + this.ChorusClipSet.push(obj); + } + } + this.PreludeInterval = 'PreludeInterval' in params ? params.PreludeInterval : null; this.RequestId = 'RequestId' in params ? params.RequestId : null; } } /** - * TakeMusicOffShelves返回参数结构体 + * DescribeKTVRobots请求参数结构体 * @class */ -class TakeMusicOffShelvesResponse extends AbstractModel { +class DescribeKTVRobotsRequest extends AbstractModel { constructor(){ super(); /** - * 返回成功数量 + * 机器人Id列表。 + * @type {Array. || null} + */ + this.RobotIds = null; + + /** + * 机器人状态,取值有: +
  • Play:播放
  • +
  • Pause:暂停
  • +
  • Destroy:销毁
  • + * @type {Array. || null} + */ + this.Statuses = null; + + /** + * 匹配创建时间在此时间段内的机器人。 +
  • 包含所指定的头尾时间点。
  • + * @type {TimeRange || null} + */ + this.CreateTime = null; + + /** + * 分页返回的起始偏移量,默认值:0。将返回第 Offset 到第 Offset+Limit-1 条。 * @type {number || null} */ - this.SuccessNum = null; + this.Offset = null; /** - * 返回失败数量 + * 分页返回的起始偏移量,默认值:10。 * @type {number || null} */ - this.FailedNum = null; + this.Limit = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.RobotIds = 'RobotIds' in params ? params.RobotIds : null; + this.Statuses = 'Statuses' in params ? params.Statuses : null; + + if (params.CreateTime) { + let obj = new TimeRange(); + obj.deserialize(params.CreateTime) + this.CreateTime = obj; + } + this.Offset = 'Offset' in params ? params.Offset : null; + this.Limit = 'Limit' in params ? params.Limit : null; + + } +} + +/** + * DescribeKTVMusicTags返回参数结构体 + * @class + */ +class DescribeKTVMusicTagsResponse extends AbstractModel { + constructor(){ + super(); /** - * 返回失败歌曲musicId -注意:此字段可能返回 null,表示取不到有效值。 - * @type {Array. || null} + * 标签分组列表 + * @type {Array. || null} */ - this.FailedMusicIds = null; + this.TagGroupSet = null; /** * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 @@ -2043,33 +2429,87 @@ class TakeMusicOffShelvesResponse extends AbstractModel { if (!params) { return; } - this.SuccessNum = 'SuccessNum' in params ? params.SuccessNum : null; - this.FailedNum = 'FailedNum' in params ? params.FailedNum : null; - this.FailedMusicIds = 'FailedMusicIds' in params ? params.FailedMusicIds : null; + + if (params.TagGroupSet) { + this.TagGroupSet = new Array(); + for (let z in params.TagGroupSet) { + let obj = new KTVMusicTagGroup(); + obj.deserialize(params.TagGroupSet[z]); + this.TagGroupSet.push(obj); + } + } this.RequestId = 'RequestId' in params ? params.RequestId : null; } } /** - * DescribeLyric请求参数结构体 + * DescribeKTVMusicTags请求参数结构体 * @class */ -class DescribeLyricRequest extends AbstractModel { +class DescribeKTVMusicTagsRequest extends AbstractModel { + constructor(){ + super(); + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + + } +} + +/** + * 直播进房输入参数 + * @class + */ +class JoinRoomInput extends AbstractModel { constructor(){ super(); /** - * 歌曲ID - * @type {string || null} + * TRTC进房参数 + * @type {TRTCJoinRoomInput || null} */ - this.ItemId = null; + this.TRTCJoinRoomInput = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + + if (params.TRTCJoinRoomInput) { + let obj = new TRTCJoinRoomInput(); + obj.deserialize(params.TRTCJoinRoomInput) + this.TRTCJoinRoomInput = obj; + } + + } +} + +/** + * DestroyKTVRobot返回参数结构体 + * @class + */ +class DestroyKTVRobotResponse extends AbstractModel { + constructor(){ + super(); /** - * 歌词格式,可选项,可不填写,目前填写只能填LRC-LRC。该字段为预留的扩展字段。后续如果不填,会返回歌曲的所有格式的歌词。如果填写某个正确的格式,则只返回该格式的歌词。 + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 * @type {string || null} */ - this.SubItemType = null; + this.RequestId = null; } @@ -2080,37 +2520,43 @@ class DescribeLyricRequest extends AbstractModel { if (!params) { return; } - this.ItemId = 'ItemId' in params ? params.ItemId : null; - this.SubItemType = 'SubItemType' in params ? params.SubItemType : null; + this.RequestId = 'RequestId' in params ? params.RequestId : null; } } /** - * DescribeAuthInfo请求参数结构体 + * CreateKTVRobot请求参数结构体 * @class */ -class DescribeAuthInfoRequest extends AbstractModel { +class CreateKTVRobotRequest extends AbstractModel { constructor(){ super(); /** - * 偏移量:Offset=Offset+Limit - * @type {number || null} + * RTC厂商类型,取值有: +
  • TRTC
  • + * @type {string || null} */ - this.Offset = null; + this.RTCSystem = null; /** - * 数据条数 - * @type {number || null} + * 进房参数。 + * @type {JoinRoomInput || null} */ - this.Limit = null; + this.JoinRoomInput = null; /** - * 搜索关键字 - * @type {string || null} + * license基础信息 + * @type {ApplicationLicenseInput || null} */ - this.Key = null; + this.ApplicationLicenseInput = null; + + /** + * 创建机器人时初始化参数。 + * @type {Array. || null} + */ + this.SyncRobotCommands = null; } @@ -2121,38 +2567,45 @@ class DescribeAuthInfoRequest extends AbstractModel { if (!params) { return; } - this.Offset = 'Offset' in params ? params.Offset : null; - this.Limit = 'Limit' in params ? params.Limit : null; - this.Key = 'Key' in params ? params.Key : null; + this.RTCSystem = 'RTCSystem' in params ? params.RTCSystem : null; + + if (params.JoinRoomInput) { + let obj = new JoinRoomInput(); + obj.deserialize(params.JoinRoomInput) + this.JoinRoomInput = obj; + } + + if (params.ApplicationLicenseInput) { + let obj = new ApplicationLicenseInput(); + obj.deserialize(params.ApplicationLicenseInput) + this.ApplicationLicenseInput = obj; + } + + if (params.SyncRobotCommands) { + this.SyncRobotCommands = new Array(); + for (let z in params.SyncRobotCommands) { + let obj = new SyncRobotCommand(); + obj.deserialize(params.SyncRobotCommands[z]); + this.SyncRobotCommands.push(obj); + } + } } } /** - * ReportData请求参数结构体 + * 即使广播曲库联想词信息 * @class */ -class ReportDataRequest extends AbstractModel { +class KTVSuggestionInfo extends AbstractModel { constructor(){ super(); /** - * 上报数据 -注:reportData为客户端压缩后的上报数据进行16进制转换的字符串数据 -压缩说明: -a) 上报的json格式字符串通过流的转换(ByteArrayInputStream, java.util.zip.GZIPOutputStream),获取到压缩后的字节数组。 -b) 将压缩后的字节数组转成16进制字符串。 - -reportData由两部分数据组成: -1)report_type(上报类型) -2)data(歌曲上报数据) -不同的report_type对应的data数据结构不一样。 - -详细说明请参考文档reportdata.docx: -https://github.com/ame-demo/doc + * 联想词 * @type {string || null} */ - this.ReportData = null; + this.Suggestion = null; } @@ -2163,54 +2616,2790 @@ https://github.com/ame-demo/doc if (!params) { return; } - this.ReportData = 'ReportData' in params ? params.ReportData : null; + this.Suggestion = 'Suggestion' in params ? params.Suggestion : null; } } -module.exports = { - Album: Album, - DescribeMusicResponse: DescribeMusicResponse, - DescribeLyricResponse: DescribeLyricResponse, - ModifyMusicOnShelvesResponse: ModifyMusicOnShelvesResponse, - Station: Station, - Music: Music, - DescribeStationsResponse: DescribeStationsResponse, +/** + * DescribeKTVTopList请求参数结构体 + * @class + */ +class DescribeKTVTopListRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 榜单类型。默认Hot +
  • Hot, 热歌榜。
  • + * @type {string || null} + */ + this.Type = null; + + /** + * 榜单周期 默认为Week +
  • Week, 周榜。
  • +
  • Month, 月榜。
  • + * @type {string || null} + */ + this.Period = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Type = 'Type' in params ? params.Type : null; + this.Period = 'Period' in params ? params.Period : null; + + } +} + +/** + * DescribeKTVPlaylistDetail请求参数结构体 + * @class + */ +class DescribeKTVPlaylistDetailRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 歌单Id + * @type {string || null} + */ + this.PlaylistId = null; + + /** + * 分页返回的起始偏移量,默认值:0。将返回第 Offset 到第 Offset+Limit-1 条。 + * @type {number || null} + */ + this.Offset = null; + + /** + * 分页返回的记录条数,默认值:50。将返回第 Offset 到第 Offset+Limit-1 条。 + * @type {number || null} + */ + this.Limit = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.PlaylistId = 'PlaylistId' in params ? params.PlaylistId : null; + this.Offset = 'Offset' in params ? params.Offset : null; + this.Limit = 'Limit' in params ? params.Limit : null; + + } +} + +/** + * 音乐详情 + * @class + */ +class Music extends AbstractModel { + constructor(){ + super(); + + /** + * 音乐播放链接相对路径,必须通过在正版曲库直通车控制台上登记的域名进行拼接。 + * @type {string || null} + */ + this.Url = null; + + /** + * 音频文件大小 + * @type {number || null} + */ + this.FileSize = null; + + /** + * 音频文件类型 + * @type {string || null} + */ + this.FileExtension = null; + + /** + * Song fragment start.试听片段开始时间,试听时长为auditionEnd-auditionBegin +Unit :ms + * @type {number || null} + */ + this.AuditionBegin = null; + + /** + * Song fragment end.试听片段结束时间, 试听时长为auditionEnd-auditionBegin +Unit :ms + * @type {number || null} + */ + this.AuditionEnd = null; + + /** + * 音乐播放链接全路径,前提是在正版曲库直通车控制台添加过域名,否则返回空字符。 +如果添加过多个域名只返回第一个添加域名的播放全路径。 + * @type {string || null} + */ + this.FullUrl = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Url = 'Url' in params ? params.Url : null; + this.FileSize = 'FileSize' in params ? params.FileSize : null; + this.FileExtension = 'FileExtension' in params ? params.FileExtension : null; + this.AuditionBegin = 'AuditionBegin' in params ? params.AuditionBegin : null; + this.AuditionEnd = 'AuditionEnd' in params ? params.AuditionEnd : null; + this.FullUrl = 'FullUrl' in params ? params.FullUrl : null; + + } +} + +/** + * DescribeStations返回参数结构体 + * @class + */ +class DescribeStationsResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 总数量 + * @type {number || null} + */ + this.Total = null; + + /** + * 分页偏移量 + * @type {number || null} + */ + this.Offset = null; + + /** + * 当前页station数量 + * @type {number || null} + */ + this.Size = null; + + /** + * 剩余数量(total-offset-size),通过这个值判断是否还有下一页 + * @type {number || null} + */ + this.HaveMore = null; + + /** + * Stations 素材库列表 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {Array. || null} + */ + this.Stations = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Total = 'Total' in params ? params.Total : null; + this.Offset = 'Offset' in params ? params.Offset : null; + this.Size = 'Size' in params ? params.Size : null; + this.HaveMore = 'HaveMore' in params ? params.HaveMore : null; + + if (params.Stations) { + this.Stations = new Array(); + for (let z in params.Stations) { + let obj = new Station(); + obj.deserialize(params.Stations[z]); + this.Stations.push(obj); + } + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * DescribeCloudMusicPurchased请求参数结构体 + * @class + */ +class DescribeCloudMusicPurchasedRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 授权项目Id + * @type {string || null} + */ + this.AuthInfoId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.AuthInfoId = 'AuthInfoId' in params ? params.AuthInfoId : null; + + } +} + +/** + * 曲库包歌曲信息 + * @class + */ +class PackageItem extends AbstractModel { + constructor(){ + super(); + + /** + * 订单id + * @type {string || null} + */ + this.OrderId = null; + + /** + * 歌曲名 + * @type {string || null} + */ + this.TrackName = null; + + /** + * 歌曲ID + * @type {string || null} + */ + this.ItemID = null; + + /** + * 专辑图片 + * @type {string || null} + */ + this.Img = null; + + /** + * 歌手名 + * @type {string || null} + */ + this.ArtistName = null; + + /** + * 歌曲时长 + * @type {string || null} + */ + this.Duration = null; + + /** + * 授权区域,global: 全球 CN: 中国 + * @type {string || null} + */ + this.AuthorizedArea = null; + + /** + * 标签数组 + * @type {Array. || null} + */ + this.Tags = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.OrderId = 'OrderId' in params ? params.OrderId : null; + this.TrackName = 'TrackName' in params ? params.TrackName : null; + this.ItemID = 'ItemID' in params ? params.ItemID : null; + this.Img = 'Img' in params ? params.Img : null; + this.ArtistName = 'ArtistName' in params ? params.ArtistName : null; + this.Duration = 'Duration' in params ? params.Duration : null; + this.AuthorizedArea = 'AuthorizedArea' in params ? params.AuthorizedArea : null; + this.Tags = 'Tags' in params ? params.Tags : null; + + } +} + +/** + * DescribeKTVPlaylists请求参数结构体 + * @class + */ +class DescribeKTVPlaylistsRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 歌单类型,取值有: +·OfficialRec:官方推荐 +·Normal:自定义 +当该字段未填时,默认为取OfficialRec + * @type {string || null} + */ + this.Type = null; + + /** + * 分页返回的起始偏移量,默认值:0。将返回第 Offset 到第 Offset+Limit-1 条。 +取值范围:Offset + Limit 不超过5000 + * @type {number || null} + */ + this.Offset = null; + + /** + * 分页返回的记录条数,默认值:50。将返回第 Offset 到第 Offset+Limit-1 条。 +取值范围:Offset + Limit 不超过5000 + * @type {number || null} + */ + this.Limit = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Type = 'Type' in params ? params.Type : null; + this.Offset = 'Offset' in params ? params.Offset : null; + this.Limit = 'Limit' in params ? params.Limit : null; + + } +} + +/** + * TRTC推流进房信息 + * @class + */ +class TRTCJoinRoomInput extends AbstractModel { + constructor(){ + super(); + + /** + * 签名。 + * @type {string || null} + */ + this.Sign = null; + + /** + * 房间号。 + * @type {string || null} + */ + this.RoomId = null; + + /** + * 推流应用ID。 + * @type {string || null} + */ + this.SdkAppId = null; + + /** + * 用户唯一标识。 + * @type {string || null} + */ + this.UserId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Sign = 'Sign' in params ? params.Sign : null; + this.RoomId = 'RoomId' in params ? params.RoomId : null; + this.SdkAppId = 'SdkAppId' in params ? params.SdkAppId : null; + this.UserId = 'UserId' in params ? params.UserId : null; + + } +} + +/** + * DescribePackageItems请求参数结构体 + * @class + */ +class DescribePackageItemsRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 订单id,从获取已购曲库包列表中获取 + * @type {string || null} + */ + this.OrderId = null; + + /** + * 默认0,Offset=Offset+Length + * @type {number || null} + */ + this.Offset = null; + + /** + * 默认20 + * @type {number || null} + */ + this.Length = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.OrderId = 'OrderId' in params ? params.OrderId : null; + this.Offset = 'Offset' in params ? params.Offset : null; + this.Length = 'Length' in params ? params.Length : null; + + } +} + +/** + * AuthInfo集合 + * @class + */ +class AuthInfo extends AbstractModel { + constructor(){ + super(); + + /** + * 主体名称 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.SubjectName = null; + + /** + * 项目名称 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.ProjectName = null; + + /** + * 应用场景 + * @type {number || null} + */ + this.AppScene = null; + + /** + * 应用地域 + * @type {number || null} + */ + this.AppRegion = null; + + /** + * 授权时间 + * @type {number || null} + */ + this.AuthPeriod = null; + + /** + * 是否可商业化 + * @type {number || null} + */ + this.Commercialization = null; + + /** + * 是否可跨平台 + * @type {number || null} + */ + this.Platform = null; + + /** + * 加密后Id + * @type {string || null} + */ + this.Id = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.SubjectName = 'SubjectName' in params ? params.SubjectName : null; + this.ProjectName = 'ProjectName' in params ? params.ProjectName : null; + this.AppScene = 'AppScene' in params ? params.AppScene : null; + this.AppRegion = 'AppRegion' in params ? params.AppRegion : null; + this.AuthPeriod = 'AuthPeriod' in params ? params.AuthPeriod : null; + this.Commercialization = 'Commercialization' in params ? params.Commercialization : null; + this.Platform = 'Platform' in params ? params.Platform : null; + this.Id = 'Id' in params ? params.Id : null; + + } +} + +/** + * DescribeKTVRobots返回参数结构体 + * @class + */ +class DescribeKTVRobotsResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 机器人总数。 + * @type {number || null} + */ + this.TotalCount = null; + + /** + * 机器人信息集合。 + * @type {Array. || null} + */ + this.KTVRobotInfoSet = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.TotalCount = 'TotalCount' in params ? params.TotalCount : null; + + if (params.KTVRobotInfoSet) { + this.KTVRobotInfoSet = new Array(); + for (let z in params.KTVRobotInfoSet) { + let obj = new KTVRobotInfo(); + obj.deserialize(params.KTVRobotInfoSet[z]); + this.KTVRobotInfoSet.push(obj); + } + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * 曲库包用途信息 + * @class + */ +class UseRange extends AbstractModel { + constructor(){ + super(); + + /** + * 用途id + * @type {number || null} + */ + this.UseRangeId = null; + + /** + * 用途范围名称 + * @type {string || null} + */ + this.Name = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.UseRangeId = 'UseRangeId' in params ? params.UseRangeId : null; + this.Name = 'Name' in params ? params.Name : null; + + } +} + +/** + * DescribeStations请求参数结构体 + * @class + */ +class DescribeStationsRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 条数,必须大于0 + * @type {number || null} + */ + this.Limit = null; + + /** + * offset (Default = 0),Offset=Offset+Limit + * @type {number || null} + */ + this.Offset = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Limit = 'Limit' in params ? params.Limit : null; + this.Offset = 'Offset' in params ? params.Offset : null; + + } +} + +/** + * DescribeKTVSingerMusics请求参数结构体 + * @class + */ +class DescribeKTVSingerMusicsRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 歌手id + * @type {string || null} + */ + this.SingerId = null; + + /** + * 分页偏移量,默认值:0。 + * @type {number || null} + */ + this.Offset = null; + + /** + * 分页返回的记录条数,默认值:50。将返回第 Offset 到第 Offset+Limit-1 条。 + * @type {number || null} + */ + this.Limit = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.SingerId = 'SingerId' in params ? params.SingerId : null; + this.Offset = 'Offset' in params ? params.Offset : null; + this.Limit = 'Limit' in params ? params.Limit : null; + + } +} + +/** + * DescribeKTVSingerCategories返回参数结构体 + * @class + */ +class DescribeKTVSingerCategoriesResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 歌手性别分类列表 + * @type {Array. || null} + */ + this.GenderSet = null; + + /** + * 歌手区域分类列表 + * @type {Array. || null} + */ + this.AreaSet = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + + if (params.GenderSet) { + this.GenderSet = new Array(); + for (let z in params.GenderSet) { + let obj = new KTVSingerCategoryInfo(); + obj.deserialize(params.GenderSet[z]); + this.GenderSet.push(obj); + } + } + + if (params.AreaSet) { + this.AreaSet = new Array(); + for (let z in params.AreaSet) { + let obj = new KTVSingerCategoryInfo(); + obj.deserialize(params.AreaSet[z]); + this.AreaSet.push(obj); + } + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * DescribeKTVSingers请求参数结构体 + * @class + */ +class DescribeKTVSingersRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 歌手id集合,精确匹配歌手id +
  • 数组长度限制10
  • + * @type {Array. || null} + */ + this.SingerIds = null; + + /** + * 歌手性别集合,不传为全部,精确匹配歌手性别类型, +
  • 数组长度限制1
  • +
  • 取值范围:直播互动曲库歌手分类信息接口,返回性别分类信息列表中,分类英文名
  • + * @type {Array. || null} + */ + this.Genders = null; + + /** + * 歌手区域集合,不传为全部,精确匹配歌手区域 +
  • 数组长度限制10
  • +
  • 取值范围:直播互动曲库歌手分类信息接口,返回的区域分类信息列表中,分类英文名
  • + * @type {Array. || null} + */ + this.Areas = null; + + /** + * 排序方式。默认按照播放数倒序 +
  • Sort.Field 可选 PlayCount。
  • + * @type {SortBy || null} + */ + this.Sort = null; + + /** + * 分页偏移量,默认值:0。 + * @type {number || null} + */ + this.Offset = null; + + /** + * 分页返回的记录条数,默认值:50。将返回第 Offset 到第 Offset+Limit-1 条。 + * @type {number || null} + */ + this.Limit = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.SingerIds = 'SingerIds' in params ? params.SingerIds : null; + this.Genders = 'Genders' in params ? params.Genders : null; + this.Areas = 'Areas' in params ? params.Areas : null; + + if (params.Sort) { + let obj = new SortBy(); + obj.deserialize(params.Sort) + this.Sort = obj; + } + this.Offset = 'Offset' in params ? params.Offset : null; + this.Limit = 'Limit' in params ? params.Limit : null; + + } +} + +/** + * 设置播放列表指令参数 + * @class + */ +class SetPlaylistCommandInput extends AbstractModel { + constructor(){ + super(); + + /** + * 变更类型,取值有: +
  • Add:添加
  • +
  • Delete:删除
  • +
  • ClearList:清空歌曲列表
  • +
  • Move:移动歌曲
  • + * @type {string || null} + */ + this.Type = null; + + /** + * 歌单索引位置, +当 Type 取 Add 时,-1表示添加在列表最后位置,大于-1表示要添加的位置; +当 Type 取 Delete 时,表示待删除歌曲的位置; +当 Type 取 Move 时,表示待调整歌曲的位置。 + * @type {number || null} + */ + this.Index = null; + + /** + * 当 Type 取 Move 时,必填,表示移动歌曲的目标位置。 + * @type {number || null} + */ + this.ChangedIndex = null; + + /** + * 歌曲 ID 列表,当 Type 取 Add 时,必填。 + * @type {Array. || null} + */ + this.MusicIds = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Type = 'Type' in params ? params.Type : null; + this.Index = 'Index' in params ? params.Index : null; + this.ChangedIndex = 'ChangedIndex' in params ? params.ChangedIndex : null; + this.MusicIds = 'MusicIds' in params ? params.MusicIds : null; + + } +} + +/** + * SyncKTVRobotCommand返回参数结构体 + * @class + */ +class SyncKTVRobotCommandResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * BatchDescribeKTVMusicDetails返回参数结构体 + * @class + */ +class BatchDescribeKTVMusicDetailsResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 歌曲详情列表信息 + * @type {Array. || null} + */ + this.KTVMusicDetailInfoSet = null; + + /** + * 不存在的歌曲 ID 列表。 + * @type {Array. || null} + */ + this.NotExistMusicIdSet = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + + if (params.KTVMusicDetailInfoSet) { + this.KTVMusicDetailInfoSet = new Array(); + for (let z in params.KTVMusicDetailInfoSet) { + let obj = new KTVMusicDetailInfo(); + obj.deserialize(params.KTVMusicDetailInfoSet[z]); + this.KTVMusicDetailInfoSet.push(obj); + } + } + this.NotExistMusicIdSet = 'NotExistMusicIdSet' in params ? params.NotExistMusicIdSet : null; + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * SearchKTVMusics请求参数结构体 + * @class + */ +class SearchKTVMusicsRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 搜索关键词 + * @type {string || null} + */ + this.KeyWord = null; + + /** + * 分页返回的起始偏移量,默认值:0。将返回第 Offset 到第 Offset+Limit-1 条。 +取值范围:Offset + Limit 不超过5000。 + * @type {number || null} + */ + this.Offset = null; + + /** + * 分页返回的起始偏移量,默认值:50。将返回第 Offset 到第 Offset+Limit-1 条。 + * @type {number || null} + */ + this.Limit = null; + + /** + * 排序方式。默认按照匹配度排序 +
  • Sort.Field 可选 CreateTime
  • +
  • Sort.Order 可选 Desc
  • +
  • 当 KeyWord 不为空时,Sort.Field 字段无效, 搜索结果将以匹配度排序。
  • + * @type {SortBy || null} + */ + this.Sort = null; + + /** + * 标签 ID 集合,匹配集合指定所有 ID 。 +
  • 数组长度限制:10。
  • + * @type {Array. || null} + */ + this.TagIds = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.KeyWord = 'KeyWord' in params ? params.KeyWord : null; + this.Offset = 'Offset' in params ? params.Offset : null; + this.Limit = 'Limit' in params ? params.Limit : null; + + if (params.Sort) { + let obj = new SortBy(); + obj.deserialize(params.Sort) + this.Sort = obj; + } + this.TagIds = 'TagIds' in params ? params.TagIds : null; + + } +} + +/** + * 推荐歌单基础信息 + * @class + */ +class KTVPlaylistBaseInfo extends AbstractModel { + constructor(){ + super(); + + /** + * 歌单Id + * @type {string || null} + */ + this.PlaylistId = null; + + /** + * 歌单标题 + * @type {string || null} + */ + this.Title = null; + + /** + * 歌单介绍 + * @type {string || null} + */ + this.Description = null; + + /** + * 歌曲数量 + * @type {number || null} + */ + this.MusicNum = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.PlaylistId = 'PlaylistId' in params ? params.PlaylistId : null; + this.Title = 'Title' in params ? params.Title : null; + this.Description = 'Description' in params ? params.Description : null; + this.MusicNum = 'MusicNum' in params ? params.MusicNum : null; + + } +} + +/** + * DescribeKTVSingers返回参数结构体 + * @class + */ +class DescribeKTVSingersResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 总歌手数 + * @type {number || null} + */ + this.TotalCount = null; + + /** + * KTV歌手列表 + * @type {Array. || null} + */ + this.KTVSingerInfoSet = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.TotalCount = 'TotalCount' in params ? params.TotalCount : null; + + if (params.KTVSingerInfoSet) { + this.KTVSingerInfoSet = new Array(); + for (let z in params.KTVSingerInfoSet) { + let obj = new KTVSingerInfo(); + obj.deserialize(params.KTVSingerInfoSet[z]); + this.KTVSingerInfoSet.push(obj); + } + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * DescribeItemById返回参数结构体 + * @class + */ +class DescribeItemByIdResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 歌曲信息 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {Array. || null} + */ + this.Items = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + + if (params.Items) { + this.Items = new Array(); + for (let z in params.Items) { + let obj = new Item(); + obj.deserialize(params.Items[z]); + this.Items.push(obj); + } + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * 返回单曲页面歌曲是否在售状态 + * @class + */ +class MusicStatus extends AbstractModel { + constructor(){ + super(); + + /** + * 歌曲Id + * @type {string || null} + */ + this.MusicId = null; + + /** + * 在售状态,0为在售,1为临时下架,2为永久下架 + * @type {number || null} + */ + this.SaleStatus = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.MusicId = 'MusicId' in params ? params.MusicId : null; + this.SaleStatus = 'SaleStatus' in params ? params.SaleStatus : null; + + } +} + +/** + * KTV歌手分类信息 + * @class + */ +class KTVSingerCategoryInfo extends AbstractModel { + constructor(){ + super(); + + /** + * 分类中文名 + * @type {string || null} + */ + this.ChineseName = null; + + /** + * 分类英文名 + * @type {string || null} + */ + this.EnglishName = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.ChineseName = 'ChineseName' in params ? params.ChineseName : null; + this.EnglishName = 'EnglishName' in params ? params.EnglishName : null; + + } +} + +/** + * BatchDescribeKTVMusicDetails请求参数结构体 + * @class + */ +class BatchDescribeKTVMusicDetailsRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 歌曲Id列表,注:列表最大长度为50 + * @type {Array. || null} + */ + this.MusicIds = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.MusicIds = 'MusicIds' in params ? params.MusicIds : null; + + } +} + +/** + * 发送自定义信息指令参数 + * @class + */ +class SendMessageCommandInput extends AbstractModel { + constructor(){ + super(); + + /** + * 自定义消息,json格式字符串。 + * @type {string || null} + */ + this.Message = null; + + /** + * 消息重复次数,默认为 1。 + * @type {number || null} + */ + this.Repeat = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Message = 'Message' in params ? params.Message : null; + this.Repeat = 'Repeat' in params ? params.Repeat : null; + + } +} + +/** + * 直播互动歌曲规格信息。 + * @class + */ +class KTVMusicDefinitionInfo extends AbstractModel { + constructor(){ + super(); + + /** + * 规格,取值有: +
  • audio/mi:低规格;
  • +
  • audio/lo:中规格;
  • +
  • audio/hi:高规格。
  • + * @type {string || null} + */ + this.Definition = null; + + /** + * 码率,单位为 bps。 + * @type {number || null} + */ + this.Bitrate = null; + + /** + * 文件大小,单位为字节。 + * @type {number || null} + */ + this.Size = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Definition = 'Definition' in params ? params.Definition : null; + this.Bitrate = 'Bitrate' in params ? params.Bitrate : null; + this.Size = 'Size' in params ? params.Size : null; + + } +} + +/** + * Album + * @class + */ +class Album extends AbstractModel { + constructor(){ + super(); + + /** + * 专辑名 + * @type {string || null} + */ + this.AlbumName = null; + + /** + * 专辑图片大小及类别 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {Array. || null} + */ + this.ImagePathMap = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.AlbumName = 'AlbumName' in params ? params.AlbumName : null; + + if (params.ImagePathMap) { + this.ImagePathMap = new Array(); + for (let z in params.ImagePathMap) { + let obj = new ImagePath(); + obj.deserialize(params.ImagePathMap[z]); + this.ImagePathMap.push(obj); + } + } + + } +} + +/** + * DescribeLyric返回参数结构体 + * @class + */ +class DescribeLyricResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 歌词或者波形图详情 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {Lyric || null} + */ + this.Lyric = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + + if (params.Lyric) { + let obj = new Lyric(); + obj.deserialize(params.Lyric) + this.Lyric = obj; + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * KTV 曲目基础信息 + * @class + */ +class KTVMusicBaseInfo extends AbstractModel { + constructor(){ + super(); + + /** + * 歌曲 Id + * @type {string || null} + */ + this.MusicId = null; + + /** + * 歌曲名称 + * @type {string || null} + */ + this.Name = null; + + /** + * 演唱者基础信息列表 + * @type {Array. || null} + */ + this.SingerInfoSet = null; + + /** + * 已弃用,请使用SingerInfoSet + * @type {Array. || null} + */ + this.SingerSet = null; + + /** + * 作词者列表 + * @type {Array. || null} + */ + this.LyricistSet = null; + + /** + * 作曲者列表 + * @type {Array. || null} + */ + this.ComposerSet = null; + + /** + * 标签列表 + * @type {Array. || null} + */ + this.TagSet = null; + + /** + * 歌曲时长 + * @type {number || null} + */ + this.Duration = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.MusicId = 'MusicId' in params ? params.MusicId : null; + this.Name = 'Name' in params ? params.Name : null; + + if (params.SingerInfoSet) { + this.SingerInfoSet = new Array(); + for (let z in params.SingerInfoSet) { + let obj = new KTVSingerBaseInfo(); + obj.deserialize(params.SingerInfoSet[z]); + this.SingerInfoSet.push(obj); + } + } + this.SingerSet = 'SingerSet' in params ? params.SingerSet : null; + this.LyricistSet = 'LyricistSet' in params ? params.LyricistSet : null; + this.ComposerSet = 'ComposerSet' in params ? params.ComposerSet : null; + this.TagSet = 'TagSet' in params ? params.TagSet : null; + this.Duration = 'Duration' in params ? params.Duration : null; + + } +} + +/** + * SyncKTVRobotCommand请求参数结构体 + * @class + */ +class SyncKTVRobotCommandRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 机器人Id。 + * @type {string || null} + */ + this.RobotId = null; + + /** + * 指令,取值有: +
  • Play:播放
  • +
  • Pause:暂停
  • +
  • SwitchPrevious:上一首
  • +
  • SwitchNext:下一首
  • +
  • SetPlayMode:设置播放模式
  • +
  • Seek:调整播放进度
  • +
  • SetPlaylist:歌单变更
  • +
  • SetAudioParam:音频参数变更
  • +
  • SendMessage:发送自定义消息
  • +
  • SetDestroyMode:设置销毁模式
  • +
  • SetVolume:设置音量
  • + * @type {string || null} + */ + this.Command = null; + + /** + * 播放参数。 + * @type {PlayCommandInput || null} + */ + this.PlayCommandInput = null; + + /** + * 播放列表变更信息,当Command取SetPlaylist时,必填。 + * @type {SetPlaylistCommandInput || null} + */ + this.SetPlaylistCommandInput = null; + + /** + * 播放进度,当Command取Seek时,必填。 + * @type {SeekCommandInput || null} + */ + this.SeekCommandInput = null; + + /** + * 音频参数,当Command取SetAudioParam时,必填。 + * @type {SetAudioParamCommandInput || null} + */ + this.SetAudioParamCommandInput = null; + + /** + * 自定义消息,当Command取SendMessage时,必填。 + * @type {SendMessageCommandInput || null} + */ + this.SendMessageCommandInput = null; + + /** + * 播放模式,当Command取SetPlayMode时,必填。 + * @type {SetPlayModeCommandInput || null} + */ + this.SetPlayModeCommandInput = null; + + /** + * 销毁模式,当Command取SetDestroyMode时,必填。 + * @type {SetDestroyModeCommandInput || null} + */ + this.SetDestroyModeCommandInput = null; + + /** + * 音量,当Command取SetVolume时,必填。 + * @type {SetVolumeCommandInput || null} + */ + this.SetVolumeCommandInput = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.RobotId = 'RobotId' in params ? params.RobotId : null; + this.Command = 'Command' in params ? params.Command : null; + + if (params.PlayCommandInput) { + let obj = new PlayCommandInput(); + obj.deserialize(params.PlayCommandInput) + this.PlayCommandInput = obj; + } + + if (params.SetPlaylistCommandInput) { + let obj = new SetPlaylistCommandInput(); + obj.deserialize(params.SetPlaylistCommandInput) + this.SetPlaylistCommandInput = obj; + } + + if (params.SeekCommandInput) { + let obj = new SeekCommandInput(); + obj.deserialize(params.SeekCommandInput) + this.SeekCommandInput = obj; + } + + if (params.SetAudioParamCommandInput) { + let obj = new SetAudioParamCommandInput(); + obj.deserialize(params.SetAudioParamCommandInput) + this.SetAudioParamCommandInput = obj; + } + + if (params.SendMessageCommandInput) { + let obj = new SendMessageCommandInput(); + obj.deserialize(params.SendMessageCommandInput) + this.SendMessageCommandInput = obj; + } + + if (params.SetPlayModeCommandInput) { + let obj = new SetPlayModeCommandInput(); + obj.deserialize(params.SetPlayModeCommandInput) + this.SetPlayModeCommandInput = obj; + } + + if (params.SetDestroyModeCommandInput) { + let obj = new SetDestroyModeCommandInput(); + obj.deserialize(params.SetDestroyModeCommandInput) + this.SetDestroyModeCommandInput = obj; + } + + if (params.SetVolumeCommandInput) { + let obj = new SetVolumeCommandInput(); + obj.deserialize(params.SetVolumeCommandInput) + this.SetVolumeCommandInput = obj; + } + + } +} + +/** + * DescribeKTVSuggestions请求参数结构体 + * @class + */ +class DescribeKTVSuggestionsRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 联想关键词 + * @type {string || null} + */ + this.KeyWord = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.KeyWord = 'KeyWord' in params ? params.KeyWord : null; + + } +} + +/** + * DescribeKTVPlaylists返回参数结构体 + * @class + */ +class DescribeKTVPlaylistsResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 推荐歌单列表 + * @type {Array. || null} + */ + this.PlaylistBaseInfoSet = null; + + /** + * 推荐歌单列表总数 + * @type {number || null} + */ + this.TotalCount = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + + if (params.PlaylistBaseInfoSet) { + this.PlaylistBaseInfoSet = new Array(); + for (let z in params.PlaylistBaseInfoSet) { + let obj = new KTVPlaylistBaseInfo(); + obj.deserialize(params.PlaylistBaseInfoSet[z]); + this.PlaylistBaseInfoSet.push(obj); + } + } + this.TotalCount = 'TotalCount' in params ? params.TotalCount : null; + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * DescribeKTVPlaylistDetail返回参数结构体 + * @class + */ +class DescribeKTVPlaylistDetailResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 歌曲基础信息列表 + * @type {Array. || null} + */ + this.KTVMusicInfoSet = null; + + /** + * 歌单基础信息 + * @type {KTVPlaylistBaseInfo || null} + */ + this.PlaylistBaseInfo = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + + if (params.KTVMusicInfoSet) { + this.KTVMusicInfoSet = new Array(); + for (let z in params.KTVMusicInfoSet) { + let obj = new KTVMusicBaseInfo(); + obj.deserialize(params.KTVMusicInfoSet[z]); + this.KTVMusicInfoSet.push(obj); + } + } + + if (params.PlaylistBaseInfo) { + let obj = new KTVPlaylistBaseInfo(); + obj.deserialize(params.PlaylistBaseInfo) + this.PlaylistBaseInfo = obj; + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * 音频参数信息 + * @class + */ +class SetAudioParamCommandInput extends AbstractModel { + constructor(){ + super(); + + /** + * 规格,取值有: +
  • audio/mi:低规格
  • +
  • audio/lo:中规格
  • +
  • audio/hi:高规格
  • + * @type {string || null} + */ + this.Definition = null; + + /** + * 音频类型,取值有: +
  • Original:原唱
  • +
  • Accompaniment:伴奏
  • + * @type {string || null} + */ + this.Type = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Definition = 'Definition' in params ? params.Definition : null; + this.Type = 'Type' in params ? params.Type : null; + + } +} + +/** + * 下架歌曲复合结构 + * @class + */ +class TakeMusicOffShelves extends AbstractModel { + constructor(){ + super(); + + /** + * 资源方对应音乐Id + * @type {string || null} + */ + this.MusicIds = null; + + /** + * 当曲目临时下架时:已订购客户无影响,无需消息通知。当曲目封杀下架后,推送消息至已订购老客户,枚举值,判断是否上/下架 +在售状态,0在售,1临时下架,2永久下架 + * @type {string || null} + */ + this.SaleStatus = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.MusicIds = 'MusicIds' in params ? params.MusicIds : null; + this.SaleStatus = 'SaleStatus' in params ? params.SaleStatus : null; + + } +} + +/** + * 曲库包已下架歌曲详细信息 + * @class + */ +class OfflineMusicDetail extends AbstractModel { + constructor(){ + super(); + + /** + * 歌曲Id + * @type {string || null} + */ + this.ItemId = null; + + /** + * 歌曲名称 + * @type {string || null} + */ + this.MusicName = null; + + /** + * 不可用原因 + * @type {string || null} + */ + this.OffRemark = null; + + /** + * 不可用时间 + * @type {string || null} + */ + this.OffTime = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.ItemId = 'ItemId' in params ? params.ItemId : null; + this.MusicName = 'MusicName' in params ? params.MusicName : null; + this.OffRemark = 'OffRemark' in params ? params.OffRemark : null; + this.OffTime = 'OffTime' in params ? params.OffTime : null; + + } +} + +/** + * DescribeAuthInfo请求参数结构体 + * @class + */ +class DescribeAuthInfoRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 偏移量:Offset=Offset+Limit + * @type {number || null} + */ + this.Offset = null; + + /** + * 数据条数 + * @type {number || null} + */ + this.Limit = null; + + /** + * 搜索关键字 + * @type {string || null} + */ + this.Key = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Offset = 'Offset' in params ? params.Offset : null; + this.Limit = 'Limit' in params ? params.Limit : null; + this.Key = 'Key' in params ? params.Key : null; + + } +} + +/** + * 曲库包信息 + * @class + */ +class Package extends AbstractModel { + constructor(){ + super(); + + /** + * 订单id + * @type {string || null} + */ + this.OrderId = null; + + /** + * 曲库包名称 + * @type {string || null} + */ + this.Name = null; + + /** + * 授权地区-global: 全球 CN: 中国 + * @type {string || null} + */ + this.AuthorizedArea = null; + + /** + * 授权次数 + * @type {number || null} + */ + this.AuthorizedLimit = null; + + /** + * 套餐有效期,单位:天 + * @type {number || null} + */ + this.TermOfValidity = null; + + /** + * 0:不可商业化;1:可商业化 + * @type {number || null} + */ + this.Commercial = null; + + /** + * 套餐价格,单位:元 + * @type {number || null} + */ + this.PackagePrice = null; + + /** + * 生效开始时间,格式yyyy-MM-dd HH:mm:ss + * @type {string || null} + */ + this.EffectTime = null; + + /** + * 生效结束时间,格式yyyy-MM-dd HH:mm:ss + * @type {string || null} + */ + this.ExpireTime = null; + + /** + * 剩余授权次数 + * @type {number || null} + */ + this.UsedCount = null; + + /** + * 曲库包用途信息 + * @type {Array. || null} + */ + this.UseRanges = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.OrderId = 'OrderId' in params ? params.OrderId : null; + this.Name = 'Name' in params ? params.Name : null; + this.AuthorizedArea = 'AuthorizedArea' in params ? params.AuthorizedArea : null; + this.AuthorizedLimit = 'AuthorizedLimit' in params ? params.AuthorizedLimit : null; + this.TermOfValidity = 'TermOfValidity' in params ? params.TermOfValidity : null; + this.Commercial = 'Commercial' in params ? params.Commercial : null; + this.PackagePrice = 'PackagePrice' in params ? params.PackagePrice : null; + this.EffectTime = 'EffectTime' in params ? params.EffectTime : null; + this.ExpireTime = 'ExpireTime' in params ? params.ExpireTime : null; + this.UsedCount = 'UsedCount' in params ? params.UsedCount : null; + + if (params.UseRanges) { + this.UseRanges = new Array(); + for (let z in params.UseRanges) { + let obj = new UseRange(); + obj.deserialize(params.UseRanges[z]); + this.UseRanges.push(obj); + } + } + + } +} + +/** + * 设置播放模式 + * @class + */ +class SetPlayModeCommandInput extends AbstractModel { + constructor(){ + super(); + + /** + * 播放模式,取值有: +
  • RepeatPlaylist:列表循环
  • +
  • Order:顺序播放
  • +
  • RepeatSingle:单曲循环
  • +
  • Shuffle:随机播放
  • + * @type {string || null} + */ + this.PlayMode = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.PlayMode = 'PlayMode' in params ? params.PlayMode : null; + + } +} + +/** + * 机器人信息 + * @class + */ +class KTVRobotInfo extends AbstractModel { + constructor(){ + super(); + + /** + * 机器人Id。 + * @type {string || null} + */ + this.RobotId = null; + + /** + * 状态,取值有: +
  • Play:播放
  • +
  • Pause:暂停
  • +
  • Destroy:销毁
  • + * @type {string || null} + */ + this.Status = null; + + /** + * 播放列表。 + * @type {Array. || null} + */ + this.Playlists = null; + + /** + * 当前歌单索引位置。 + * @type {number || null} + */ + this.CurIndex = null; + + /** + * 播放进度,单位:毫秒。 + * @type {number || null} + */ + this.Position = null; + + /** + * 音频参数。 + * @type {SetAudioParamCommandInput || null} + */ + this.SetAudioParamInput = null; + + /** + * 进房信息。 + * @type {JoinRoomInput || null} + */ + this.JoinRoomInput = null; + + /** + * RTC厂商类型,取值有: +
  • TRTC
  • + * @type {string || null} + */ + this.RTCSystem = null; + + /** + * 播放模式,PlayMode取值有: +
  • RepeatPlaylist:列表循环
  • +
  • Order:顺序播放
  • +
  • RepeatSingle:单曲循环
  • +
  • Shuffle:随机播放
  • + * @type {SetPlayModeCommandInput || null} + */ + this.SetPlayModeInput = null; + + /** + * 音量,范围 0~100,默认为 50。 + * @type {SetVolumeCommandInput || null} + */ + this.SetVolumeInput = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.RobotId = 'RobotId' in params ? params.RobotId : null; + this.Status = 'Status' in params ? params.Status : null; + this.Playlists = 'Playlists' in params ? params.Playlists : null; + this.CurIndex = 'CurIndex' in params ? params.CurIndex : null; + this.Position = 'Position' in params ? params.Position : null; + + if (params.SetAudioParamInput) { + let obj = new SetAudioParamCommandInput(); + obj.deserialize(params.SetAudioParamInput) + this.SetAudioParamInput = obj; + } + + if (params.JoinRoomInput) { + let obj = new JoinRoomInput(); + obj.deserialize(params.JoinRoomInput) + this.JoinRoomInput = obj; + } + this.RTCSystem = 'RTCSystem' in params ? params.RTCSystem : null; + + if (params.SetPlayModeInput) { + let obj = new SetPlayModeCommandInput(); + obj.deserialize(params.SetPlayModeInput) + this.SetPlayModeInput = obj; + } + + if (params.SetVolumeInput) { + let obj = new SetVolumeCommandInput(); + obj.deserialize(params.SetVolumeInput) + this.SetVolumeInput = obj; + } + + } +} + +/** + * DescribeItems请求参数结构体 + * @class + */ +class DescribeItemsRequest extends AbstractModel { + constructor(){ + super(); + + /** + * offset (Default = 0),(当前页-1) * Limit + * @type {number || null} + */ + this.Offset = null; + + /** + * 条数,必须大于0,最大值为30 + * @type {number || null} + */ + this.Limit = null; + + /** + * (电台/歌单)ID,CategoryId和CategoryCode两个必传1个,可以从获取分类内容(Station)列表接口中获取。 + * @type {string || null} + */ + this.CategoryId = null; + + /** + * (电台/歌单)ID,CategoryId和CategoryCode两个必传1个,可以从获取分类内容(Station)列表接口中获取。 + * @type {string || null} + */ + this.CategoryCode = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Offset = 'Offset' in params ? params.Offset : null; + this.Limit = 'Limit' in params ? params.Limit : null; + this.CategoryId = 'CategoryId' in params ? params.CategoryId : null; + this.CategoryCode = 'CategoryCode' in params ? params.CategoryCode : null; + + } +} + +/** + * 歌曲信息 + * @class + */ +class Item extends AbstractModel { + constructor(){ + super(); + + /** + * Song ID + * @type {string || null} + */ + this.ItemID = null; + + /** + * Song info +注意:此字段可能返回 null,表示取不到有效值。 + * @type {DataInfo || null} + */ + this.DataInfo = null; + + /** + * 专辑信息 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {Album || null} + */ + this.Album = null; + + /** + * 多个歌手集合 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {Array. || null} + */ + this.Artists = null; + + /** + * 歌曲状态,1:添加进购物车;2:核销进曲库包 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {number || null} + */ + this.Status = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.ItemID = 'ItemID' in params ? params.ItemID : null; + + if (params.DataInfo) { + let obj = new DataInfo(); + obj.deserialize(params.DataInfo) + this.DataInfo = obj; + } + + if (params.Album) { + let obj = new Album(); + obj.deserialize(params.Album) + this.Album = obj; + } + + if (params.Artists) { + this.Artists = new Array(); + for (let z in params.Artists) { + let obj = new Artist(); + obj.deserialize(params.Artists[z]); + this.Artists.push(obj); + } + } + this.Status = 'Status' in params ? params.Status : null; + + } +} + +/** + * DescribeKTVTopList返回参数结构体 + * @class + */ +class DescribeKTVTopListResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 歌曲基础信息列表 + * @type {Array. || null} + */ + this.KTVMusicTopInfoSet = null; + + /** + * 返回总条数 + * @type {number || null} + */ + this.TotalCount = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + + if (params.KTVMusicTopInfoSet) { + this.KTVMusicTopInfoSet = new Array(); + for (let z in params.KTVMusicTopInfoSet) { + let obj = new KTVMusicTopInfo(); + obj.deserialize(params.KTVMusicTopInfoSet[z]); + this.KTVMusicTopInfoSet.push(obj); + } + } + this.TotalCount = 'TotalCount' in params ? params.TotalCount : null; + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * 对外开放信息 + * @class + */ +class MusicOpenDetail extends AbstractModel { + constructor(){ + super(); + + /** + * 音乐Id +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.MusicId = null; + + /** + * 专辑名称 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.AlbumName = null; + + /** + * 专辑图片路径 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.AlbumImageUrl = null; + + /** + * 音乐名称 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.MusicName = null; + + /** + * 音乐图片路径 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.MusicImageUrl = null; + + /** + * 歌手 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {Array. || null} + */ + this.Singers = null; + + /** + * 播放时长 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {number || null} + */ + this.Duration = null; + + /** + * 标签 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {Array. || null} + */ + this.Tags = null; + + /** + * 歌词url +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.LyricUrl = null; + + /** + * 波形图url +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.WaveformUrl = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.MusicId = 'MusicId' in params ? params.MusicId : null; + this.AlbumName = 'AlbumName' in params ? params.AlbumName : null; + this.AlbumImageUrl = 'AlbumImageUrl' in params ? params.AlbumImageUrl : null; + this.MusicName = 'MusicName' in params ? params.MusicName : null; + this.MusicImageUrl = 'MusicImageUrl' in params ? params.MusicImageUrl : null; + this.Singers = 'Singers' in params ? params.Singers : null; + this.Duration = 'Duration' in params ? params.Duration : null; + this.Tags = 'Tags' in params ? params.Tags : null; + this.LyricUrl = 'LyricUrl' in params ? params.LyricUrl : null; + this.WaveformUrl = 'WaveformUrl' in params ? params.WaveformUrl : null; + + } +} + +/** + * DescribePackages请求参数结构体 + * @class + */ +class DescribePackagesRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 默认0,Offset=Offset+Length + * @type {number || null} + */ + this.Offset = null; + + /** + * 默认20 + * @type {number || null} + */ + this.Length = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Offset = 'Offset' in params ? params.Offset : null; + this.Length = 'Length' in params ? params.Length : null; + + } +} + +/** + * DescribePackages返回参数结构体 + * @class + */ +class DescribePackagesResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 已购曲库包列表 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {Array. || null} + */ + this.Packages = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + + if (params.Packages) { + this.Packages = new Array(); + for (let z in params.Packages) { + let obj = new Package(); + obj.deserialize(params.Packages[z]); + this.Packages.push(obj); + } + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * 歌词信息 + * @class + */ +class Lyric extends AbstractModel { + constructor(){ + super(); + + /** + * 歌词cdn地址 + * @type {string || null} + */ + this.Url = null; + + /** + * 歌词后缀名 + * @type {string || null} + */ + this.FileNameExt = null; + + /** + * 歌词类型 + * @type {string || null} + */ + this.SubItemType = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Url = 'Url' in params ? params.Url : null; + this.FileNameExt = 'FileNameExt' in params ? params.FileNameExt : null; + this.SubItemType = 'SubItemType' in params ? params.SubItemType : null; + + } +} + +/** + * TakeMusicOffShelves返回参数结构体 + * @class + */ +class TakeMusicOffShelvesResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 返回成功数量 + * @type {number || null} + */ + this.SuccessNum = null; + + /** + * 返回失败数量 + * @type {number || null} + */ + this.FailedNum = null; + + /** + * 返回失败歌曲musicId +注意:此字段可能返回 null,表示取不到有效值。 + * @type {Array. || null} + */ + this.FailedMusicIds = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.SuccessNum = 'SuccessNum' in params ? params.SuccessNum : null; + this.FailedNum = 'FailedNum' in params ? params.FailedNum : null; + this.FailedMusicIds = 'FailedMusicIds' in params ? params.FailedMusicIds : null; + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +module.exports = { + DescribeMusicResponse: DescribeMusicResponse, + DescribeKTVSuggestionsResponse: DescribeKTVSuggestionsResponse, + ChorusClip: ChorusClip, + ModifyMusicOnShelvesResponse: ModifyMusicOnShelvesResponse, + Station: Station, + DescribeKTVMusicDetailRequest: DescribeKTVMusicDetailRequest, + KTVMusicTopInfo: KTVMusicTopInfo, + DescribeKTVSingerCategoriesRequest: DescribeKTVSingerCategoriesRequest, + KTVSingerBaseInfo: KTVSingerBaseInfo, + ModifyMusicOnShelvesRequest: ModifyMusicOnShelvesRequest, + PlayCommandInput: PlayCommandInput, + DescribeMusicRequest: DescribeMusicRequest, + KTVMusicDetailInfo: KTVMusicDetailInfo, + DescribeMusicSaleStatusRequest: DescribeMusicSaleStatusRequest, + TakeMusicOffShelvesRequest: TakeMusicOffShelvesRequest, + DescribeCloudMusicResponse: DescribeCloudMusicResponse, + MusicDetailInfo: MusicDetailInfo, + ImagePath: ImagePath, + KTVMusicTagInfo: KTVMusicTagInfo, + DestroyKTVRobotRequest: DestroyKTVRobotRequest, + DescribeAuthInfoResponse: DescribeAuthInfoResponse, + DescribeLyricRequest: DescribeLyricRequest, + ReportDataRequest: ReportDataRequest, + SeekCommandInput: SeekCommandInput, + DescribePkgOfflineMusicRequest: DescribePkgOfflineMusicRequest, + TimeRange: TimeRange, + DescribeMusicSaleStatusResponse: DescribeMusicSaleStatusResponse, + CreateKTVRobotResponse: CreateKTVRobotResponse, DescribePackageItemsResponse: DescribePackageItemsResponse, - DescribeCloudMusicPurchasedRequest: DescribeCloudMusicPurchasedRequest, - PackageItem: PackageItem, DescribeCloudMusicPurchasedResponse: DescribeCloudMusicPurchasedResponse, + KTVMusicTagGroup: KTVMusicTagGroup, DataInfo: DataInfo, - MusicOpenDetail: MusicOpenDetail, - Package: Package, + ApplicationLicenseInput: ApplicationLicenseInput, + Artist: Artist, + SetDestroyModeCommandInput: SetDestroyModeCommandInput, ReportDataResponse: ReportDataResponse, - ModifyMusicOnShelvesRequest: ModifyMusicOnShelvesRequest, + SearchKTVMusicsResponse: SearchKTVMusicsResponse, + DescribeItemByIdRequest: DescribeItemByIdRequest, + PutMusicOnTheShelvesResponse: PutMusicOnTheShelvesResponse, + SyncRobotCommand: SyncRobotCommand, + DescribeKTVSingerMusicsResponse: DescribeKTVSingerMusicsResponse, + DescribeItemsResponse: DescribeItemsResponse, + DescribePkgOfflineMusicResponse: DescribePkgOfflineMusicResponse, + KTVSingerInfo: KTVSingerInfo, + SetVolumeCommandInput: SetVolumeCommandInput, + PutMusicOnTheShelvesRequest: PutMusicOnTheShelvesRequest, + DescribeCloudMusicRequest: DescribeCloudMusicRequest, + SortBy: SortBy, + DescribeKTVMusicDetailResponse: DescribeKTVMusicDetailResponse, + DescribeKTVRobotsRequest: DescribeKTVRobotsRequest, + DescribeKTVMusicTagsResponse: DescribeKTVMusicTagsResponse, + DescribeKTVMusicTagsRequest: DescribeKTVMusicTagsRequest, + JoinRoomInput: JoinRoomInput, + DestroyKTVRobotResponse: DestroyKTVRobotResponse, + CreateKTVRobotRequest: CreateKTVRobotRequest, + KTVSuggestionInfo: KTVSuggestionInfo, + DescribeKTVTopListRequest: DescribeKTVTopListRequest, + DescribeKTVPlaylistDetailRequest: DescribeKTVPlaylistDetailRequest, + Music: Music, + DescribeStationsResponse: DescribeStationsResponse, + DescribeCloudMusicPurchasedRequest: DescribeCloudMusicPurchasedRequest, + PackageItem: PackageItem, + DescribeKTVPlaylistsRequest: DescribeKTVPlaylistsRequest, + TRTCJoinRoomInput: TRTCJoinRoomInput, DescribePackageItemsRequest: DescribePackageItemsRequest, AuthInfo: AuthInfo, - TakeMusicOffShelvesRequest: TakeMusicOffShelvesRequest, - TakeMusicOffShelves: TakeMusicOffShelves, - Lyric: Lyric, - DescribeItemByIdRequest: DescribeItemByIdRequest, - DescribeMusicRequest: DescribeMusicRequest, + DescribeKTVRobotsResponse: DescribeKTVRobotsResponse, UseRange: UseRange, - Artist: Artist, DescribeStationsRequest: DescribeStationsRequest, - PutMusicOnTheShelvesResponse: PutMusicOnTheShelvesResponse, + DescribeKTVSingerMusicsRequest: DescribeKTVSingerMusicsRequest, + DescribeKTVSingerCategoriesResponse: DescribeKTVSingerCategoriesResponse, + DescribeKTVSingersRequest: DescribeKTVSingersRequest, + SetPlaylistCommandInput: SetPlaylistCommandInput, + SyncKTVRobotCommandResponse: SyncKTVRobotCommandResponse, + BatchDescribeKTVMusicDetailsResponse: BatchDescribeKTVMusicDetailsResponse, + SearchKTVMusicsRequest: SearchKTVMusicsRequest, + KTVPlaylistBaseInfo: KTVPlaylistBaseInfo, + DescribeKTVSingersResponse: DescribeKTVSingersResponse, + DescribeItemByIdResponse: DescribeItemByIdResponse, + MusicStatus: MusicStatus, + KTVSingerCategoryInfo: KTVSingerCategoryInfo, + BatchDescribeKTVMusicDetailsRequest: BatchDescribeKTVMusicDetailsRequest, + SendMessageCommandInput: SendMessageCommandInput, + KTVMusicDefinitionInfo: KTVMusicDefinitionInfo, + Album: Album, + DescribeLyricResponse: DescribeLyricResponse, + KTVMusicBaseInfo: KTVMusicBaseInfo, + SyncKTVRobotCommandRequest: SyncKTVRobotCommandRequest, + DescribeKTVSuggestionsRequest: DescribeKTVSuggestionsRequest, + DescribeKTVPlaylistsResponse: DescribeKTVPlaylistsResponse, + DescribeKTVPlaylistDetailResponse: DescribeKTVPlaylistDetailResponse, + SetAudioParamCommandInput: SetAudioParamCommandInput, + TakeMusicOffShelves: TakeMusicOffShelves, + OfflineMusicDetail: OfflineMusicDetail, + DescribeAuthInfoRequest: DescribeAuthInfoRequest, + Package: Package, + SetPlayModeCommandInput: SetPlayModeCommandInput, + KTVRobotInfo: KTVRobotInfo, DescribeItemsRequest: DescribeItemsRequest, Item: Item, - DescribeCloudMusicResponse: DescribeCloudMusicResponse, + DescribeKTVTopListResponse: DescribeKTVTopListResponse, + MusicOpenDetail: MusicOpenDetail, DescribePackagesRequest: DescribePackagesRequest, - MusicDetailInfo: MusicDetailInfo, - ImagePath: ImagePath, - DescribeItemsResponse: DescribeItemsResponse, - DescribeItemByIdResponse: DescribeItemByIdResponse, - PutMusicOnTheShelvesRequest: PutMusicOnTheShelvesRequest, DescribePackagesResponse: DescribePackagesResponse, - DescribeCloudMusicRequest: DescribeCloudMusicRequest, - DescribeAuthInfoResponse: DescribeAuthInfoResponse, + Lyric: Lyric, TakeMusicOffShelvesResponse: TakeMusicOffShelvesResponse, - DescribeLyricRequest: DescribeLyricRequest, - DescribeAuthInfoRequest: DescribeAuthInfoRequest, - ReportDataRequest: ReportDataRequest, } diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/ams/v20201229/ams_client.js b/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/ams/v20201229/ams_client.js index 8dc97826cd..20c91cb2b8 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/ams/v20201229/ams_client.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/ams/v20201229/ams_client.js @@ -16,8 +16,10 @@ */ const models = require("./models"); const AbstractClient = require('../../common/abstract_client') +const TextResult = models.TextResult; const DescribeTasksRequest = models.DescribeTasksRequest; const StorageInfo = models.StorageInfo; +const CreateAudioModerationSyncTaskRequest = models.CreateAudioModerationSyncTaskRequest; const BucketInfo = models.BucketInfo; const CreateAudioModerationTaskResponse = models.CreateAudioModerationTaskResponse; const TaskResult = models.TaskResult; @@ -26,11 +28,13 @@ const DescribeTaskDetailResponse = models.DescribeTaskDetailResponse; const CreateAudioModerationTaskRequest = models.CreateAudioModerationTaskRequest; const TaskInput = models.TaskInput; const DescribeTaskDetailRequest = models.DescribeTaskDetailRequest; +const CreateAudioModerationSyncTaskResponse = models.CreateAudioModerationSyncTaskResponse; const TaskLabel = models.TaskLabel; const TaskFilter = models.TaskFilter; const InputInfo = models.InputInfo; const DescribeTasksResponse = models.DescribeTasksResponse; const AudioResultDetailLanguageResult = models.AudioResultDetailLanguageResult; +const MoanResult = models.MoanResult; const CancelTaskResponse = models.CancelTaskResponse; const AudioResultDetailTextResult = models.AudioResultDetailTextResult; const AudioResult = models.AudioResult; @@ -51,30 +55,31 @@ class AmsClient extends AbstractClient { } /** - * 本接口(Audio Moderation)用于提交音频内容(包括音频文件或流地址)进行智能审核任务,使用前请您登陆控制台开通音频内容安全服务。 + * 本接口(Audio Moderation)用于提交音频内容(包括音频文件或流地址)进行智能审核任务,使用前请您使用腾讯云主账号登录控制台[开通音频内容安全服务](https://console.cloud.tencent.com/cms/audio/package)并调整好对应的业务配置。
    ### 功能使用说明: -- 前往“内容安全控制台-音频内容安全”开启使用音频内容安全服务,首次开通可获得20小时免费调用时长 +- 前往“[内容安全控制台-音频内容安全](https://console.cloud.tencent.com/cms/audio/package)”开启使用音频内容安全服务,首次开通可获得**10小时**免费调用时长,有效期为1个月。 +- 默认接口请求频率限制:**20次/秒**;对于异步审核任务(点播音频),超出频率限制的请求会自动排入待审核队列,对于同步审核任务(直播音频),超出频率限制将会报错。 ### 接口功能说明: - 支持对音频流或音频文件进行检测,判断其中是否包含违规内容; -- 支持设置回调地址 Callback 获取检测结果,或通过接口(查询音频检测结果)主动轮询获取检测结果; -- 支持识别违规内容,包括:低俗、谩骂、色情、涉政、广告等场景; -- 支持批量提交检测任务。检测任务列表最多支持10个; +- 支持设置回调地址 Callback 获取检测结果(对于已在审核的任务,最长回调时间为用户配置的**切片时长 + 2s**),或通过接口(查询音频检测结果)主动轮询获取检测结果; +- 支持识别违规内容,包括:低俗、谩骂、色情、广告等场景; +- 支持批量提交检测任务,检测任务列表**最多支持10个**。 ### 音频文件调用说明: -- 音频文件大小支持:文件 < 500M; -- 音频文件时长支持:< 1小时; +- 音频文件大小支持:**文件 < 500M**; +- 音频文件时长支持:**< 1小时**; - 音频码率类型支持:128 Kbps - 256 Kbps ; - 音频文件支持格式:wav、mp3、aac、flac、amr、3gp、 m4a、wma、ogg、ape; -- 支持音视频文件分离并对音频文件进行独立识别; +- (**当输入为视频文件时**)支持分离视频文件音轨,并对音频内容进行独立审核。 ### 音频流调用说明: -- 音频流时长支持:< 3小时; +- 音频流时长支持:**< 3小时**; - 音频码率类型支持:128 Kbps - 256 Kbps ; - 音频流支持的传输协议:RTMP、HTTP、HTTPS; - 音频流格式支持的类型:rtp、srtp、rtmp、rtmps、mmsh、 mmst、hls、http、tcp、https、m3u8; -- 支持音视频流分离并对音频流进行独立识别; +- (**当输入为视频流时**)支持提取视频流音轨,并对音频内容进行独立审核。 * @param {CreateAudioModerationTaskRequest} req * @param {function(string, CreateAudioModerationTaskResponse):void} cb * @public @@ -85,7 +90,30 @@ class AmsClient extends AbstractClient { } /** - * 查看任务详情 + * 本接口(CreateAudioModerationSyncTask) 用于提交短音频内容进行智能审核任务,使用前请您登录控制台开通音频内容安全服务。 + +功能使用说明: +前往“内容安全控制台-音频内容安全”开启使用音频内容安全服务,首次开通可获得10小时免费调用时长; + +接口限制: +- 音频文件大小支持:文件 < 5M; +- 音频文件时长小于60s,超过60s音频调用则报错; +- 音频码率类型支持:8Kbps - 16Kbps; +- 音频文件支持格式:wav、mp3; +- 接口仅限音频文件传入,视频文件传入请调用长音频异步接口; +- 接口默认QPS为10,默认接口请求频率限制20次/秒,如需要更高的并发或请求频率,请工单咨询; +- 接口超时为5s,每一次请求超过该时长会报错; + * @param {CreateAudioModerationSyncTaskRequest} req + * @param {function(string, CreateAudioModerationSyncTaskResponse):void} cb + * @public + */ + CreateAudioModerationSyncTask(req, cb) { + let resp = new CreateAudioModerationSyncTaskResponse(); + this.request("CreateAudioModerationSyncTask", req, resp, cb); + } + + /** + * 通过该接口可查看音频审核任务的详情信息,包括任务状态、检测结果、音频文件识别出的对应文本内容、检测结果所对应的恶意标签及推荐的后续操作等,具体输出内容可查看输出参数示例。
    默认接口请求频率限制:**100次/秒**。 * @param {DescribeTaskDetailRequest} req * @param {function(string, DescribeTaskDetailResponse):void} cb * @public @@ -96,7 +124,7 @@ class AmsClient extends AbstractClient { } /** - * 查看审核任务列表 + * 通过该接口可查看审核任务列表;您也可根据多种业务信息(业务类型、审核结果、任务状态等)筛选审核任务列表。任务列表输出内容包括当前查询的任务总量、任务名称、任务状态、音频审核类型、基于检测结果的恶意标签及其后续操作等,具体输出内容可查看输出参数示例。
    默认接口请求频率限制:**20次/秒**。 * @param {DescribeTasksRequest} req * @param {function(string, DescribeTasksResponse):void} cb * @public @@ -107,7 +135,7 @@ class AmsClient extends AbstractClient { } /** - * 取消任务 + * 可使用该接口取消审核任务。请求成功后,接口返回RequestId则说明取消成功。
    默认接口请求频率限制:**20次/秒**。 * @param {CancelTaskRequest} req * @param {function(string, CancelTaskResponse):void} cb * @public diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/ams/v20201229/models.js b/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/ams/v20201229/models.js index eb809f78dd..241e9e3d05 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/ams/v20201229/models.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/ams/v20201229/models.js @@ -16,6 +16,100 @@ */ const AbstractModel = require("../../common/abstract_model"); +/** + * 音频文本内容审核结果 + * @class + */ +class TextResult extends AbstractModel { + constructor(){ + super(); + + /** + * 恶意标签,Normal:正常,Porn:色情,Abuse:谩骂,Ad:广告,Custom:自定义词库。 +以及其他令人反感、不安全或不适宜的内容类型。 + +如音频中无复杂类型「TextResults」的返回则代表改音频中无相关违规内容; +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.Label = null; + + /** + * 命中的关键词,为空则代表该违规内容出自于模型的判断; +注意:此字段可能返回 null,表示取不到有效值。 + * @type {Array. || null} + */ + this.Keywords = null; + + /** + * 命中关键词库的库标识; +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.LibId = null; + + /** + * 命中关键词库的名字; +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.LibName = null; + + /** + * 机器判断当前分类的置信度,取值范围:0~100。分数越高,表示越有可能属于当前分类。 +(如:Porn 99,则该样本属于色情的置信度非常高。) +注意:此字段可能返回 null,表示取不到有效值。 + * @type {number || null} + */ + this.Score = null; + + /** + * 建议您拿到判断结果后的执行操作。 +建议值,Block:建议屏蔽,Review:建议复审,Pass:建议通过 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.Suggestion = null; + + /** + * 自定义词库的类型,自定义词库相关的信息可登录控制台中查看; + +1:自定义黑白库; + +2:自定义库; + * @type {number || null} + */ + this.LibType = null; + + /** + * 该字段用于返回当前标签(Lable)下的二级标签。 +注意:此字段可能返回null,表示取不到有效值。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.SubLabel = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Label = 'Label' in params ? params.Label : null; + this.Keywords = 'Keywords' in params ? params.Keywords : null; + this.LibId = 'LibId' in params ? params.LibId : null; + this.LibName = 'LibName' in params ? params.LibName : null; + this.Score = 'Score' in params ? params.Score : null; + this.Suggestion = 'Suggestion' in params ? params.Suggestion : null; + this.LibType = 'LibType' in params ? params.LibType : null; + this.SubLabel = 'SubLabel' in params ? params.SubLabel : null; + + } +} + /** * DescribeTasks请求参数结构体 * @class @@ -25,31 +119,31 @@ class DescribeTasksRequest extends AbstractModel { super(); /** - * 每页展示多少条。(默认展示10条) + * 该参数表示任务列表每页展示的任务条数,**默认值为10**(每页展示10条任务)。 * @type {number || null} */ this.Limit = null; /** - * 过滤参数 + * 该参数表示任务筛选器的输入参数,可根据业务类型、审核文件类型、处理建议及任务状态筛选想要查看的审核任务,具体参数内容请参见TaskFilter数据结构的详细描述。 * @type {TaskFilter || null} */ this.Filter = null; /** - * 翻页token,在向前或向后翻页时需要 + * 该参数表示翻页时使用的Token信息,由系统自动生成,并在翻页时向下一个生成的页面传递此参数,以方便快速翻页功能的实现。当到最后一页时,该字段为空。 * @type {string || null} */ this.PageToken = null; /** - * 开始时间。默认是最近3天。 + * 该参数表示任务列表的开始时间,格式为ISO8601标准的时间戳。**默认值为最近3天**,若传入该参数,则在这一时间到EndTime之间的任务将会被筛选出来。
    备注:该参数与Filter共同起到任务筛选作用,二者作用无先后顺序。 * @type {string || null} */ this.StartTime = null; /** - * 结束时间。默认为空 + * 该参数表示任务列表的结束时间,格式为ISO8601标准的时间戳。**默认值为空**,若传入该参数,则在这StartTime到这一时间之间的任务将会被筛选出来。
    备注:该参数与Filter共同起到任务筛选作用,二者作用无先后顺序。 * @type {string || null} */ this.EndTime = null; @@ -78,7 +172,7 @@ class DescribeTasksRequest extends AbstractModel { } /** - * 数据存储信息 + * 用于表示数据存储的相关信息 * @class */ class StorageInfo extends AbstractModel { @@ -86,21 +180,19 @@ class StorageInfo extends AbstractModel { super(); /** - * 类型 可选: -URL 资源链接类型 -COS 腾讯云对象存储类型 + * 该字段表示文件访问类型,取值为**URL**(资源链接)和**COS** (腾讯云对象存储);该字段应当与传入的访问类型相对应,可用于强校验并方便系统快速识别访问地址;若不传入此参数,则默认值为URL,此时系统将自动判定访问地址类型。 * @type {string || null} */ this.Type = null; /** - * 资源链接 + * 该字段表示文件访问的链接地址,格式为标准URL格式。
    备注:当Type为URL时此字段不为空,该参数与BucketInfo参数须传入其中之一 * @type {string || null} */ this.Url = null; /** - * 腾讯云存储桶信息 + * 该字段表示文件访问的腾讯云存储桶信息。
    备注:当Type为COS时此字段不为空,该参数与Url参数须传入其中之一。 * @type {BucketInfo || null} */ this.BucketInfo = null; @@ -126,6 +218,72 @@ COS 腾讯云对象存储类型 } } +/** + * CreateAudioModerationSyncTask请求参数结构体 + * @class + */ +class CreateAudioModerationSyncTaskRequest extends AbstractModel { + constructor(){ + super(); + + /** + * Biztype为策略的具体的编号,用于接口调度,在内容安全控制台中可配置。不同Biztype关联不同的业务场景与识别能力策略,调用前请确认正确的Biztype。Biztype仅为数字、字母与下划线的组合,长度为3-32个字符;调用时不传入Biztype代表采用默认的识别策略。 + * @type {string || null} + */ + this.BizType = null; + + /** + * 数据标识,可以由英文字母、数字、下划线、-、@#组成,不超过64个字符 + * @type {string || null} + */ + this.DataId = null; + + /** + * 音频文件资源格式,当前为mp3,wav,请按照实际文件格式填入 + * @type {string || null} + */ + this.FileFormat = null; + + /** + * 文件名称,可以由英文字母、数字、下划线、-、@#组成,不超过64个字符 + * @type {string || null} + */ + this.Name = null; + + /** + * 数据Base64编码,短音频同步接口仅传入可音频内容; +支持范围:文件大小不能超过5M,时长不可超过60s,码率范围为8-16Kbps; +支持格式:wav、mp3 + * @type {string || null} + */ + this.FileContent = null; + + /** + * 音频资源访问链接,与FileContent参数必须二选一输入; +支持范围:同FileContent; + * @type {string || null} + */ + this.FileUrl = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.BizType = 'BizType' in params ? params.BizType : null; + this.DataId = 'DataId' in params ? params.DataId : null; + this.FileFormat = 'FileFormat' in params ? params.FileFormat : null; + this.Name = 'Name' in params ? params.Name : null; + this.FileContent = 'FileContent' in params ? params.FileContent : null; + this.FileUrl = 'FileUrl' in params ? params.FileUrl : null; + + } +} + /** * 文件桶信息 参考腾讯云存储相关说明 https://cloud.tencent.com/document/product/436/44352 @@ -136,19 +294,19 @@ class BucketInfo extends AbstractModel { super(); /** - * 腾讯云对象存储,存储桶名称 + * 该字段用于标识腾讯云对象存储的存储桶名称,关于文件桶的详细信息敬请参考 [腾讯云存储相关说明](https://cloud.tencent.com/document/product/436/44352)。 * @type {string || null} */ this.Bucket = null; /** - * 地域 + * 该字段用于标识腾讯云对象存储的托管机房的分布地区,对象存储 COS 的数据存放在这些地域的存储桶中。 * @type {string || null} */ this.Region = null; /** - * 对象Key + * 该字段用于标识腾讯云对象存储的对象Key,对象z作为基本单元被存放在存储桶中;用户可以通过腾讯云控制台、API、SDK 等多种方式管理对象。有关对象的详细描述敬请参阅相应 [产品文档](https://cloud.tencent.com/document/product/436/13324)。 * @type {string || null} */ this.Object = null; @@ -178,7 +336,7 @@ class CreateAudioModerationTaskResponse extends AbstractModel { super(); /** - * 任务创建结果 + * 该字段用于返回任务创建的结果,具体输出内容请参见TaskResult数据结构的详细描述。 注意:此字段可能返回 null,表示取不到有效值。 * @type {Array. || null} */ @@ -222,28 +380,28 @@ class TaskResult extends AbstractModel { super(); /** - * 请求时传入的DataId + * 该字段用于返回创建音频审核任务时在TaskInput结构内传入的DataId,用于标识具体审核任务。 注意:此字段可能返回 null,表示取不到有效值。 * @type {string || null} */ this.DataId = null; /** - * TaskId,任务ID + * 该字段用于返回音频审核任务所生成的任务ID,用于标识具体审核任务,方便后续查询和管理。 注意:此字段可能返回 null,表示取不到有效值。 * @type {string || null} */ this.TaskId = null; /** - * 错误码。如果code为OK,则表示创建成功,其他则参考公共错误码 + * 该字段用于返回任务创建的状态,如返回OK则代表任务创建成功,其他返回值可参考公共错误码。 注意:此字段可能返回 null,表示取不到有效值。 * @type {string || null} */ this.Code = null; /** - * 如果错误,该字段表示错误详情 + * **仅在Code的返回值为错误码时生效**,用于返回错误的详情内容。 注意:此字段可能返回 null,表示取不到有效值。 * @type {string || null} */ @@ -275,7 +433,7 @@ class CancelTaskRequest extends AbstractModel { super(); /** - * 任务ID + * 该字段表示创建音频审核任务后返回的任务ID(在Results参数中),用于标识需要取消的审核任务。 * @type {string || null} */ this.TaskId = null; @@ -303,114 +461,106 @@ class DescribeTaskDetailResponse extends AbstractModel { super(); /** - * 任务ID + * 该字段用于返回创建音频审核任务后返回的任务ID(在Results参数中),用于标识需要查询任务详情的审核任务。 注意:此字段可能返回 null,表示取不到有效值。 * @type {string || null} */ this.TaskId = null; /** - * 审核时传入的数据Id + * 该字段用于返回调用音频审核接口时在Tasks参数内传入的数据ID参数,方便数据的辨别和管理。 注意:此字段可能返回 null,表示取不到有效值。 * @type {string || null} */ this.DataId = null; /** - * 业务类型,用户可以在控制台查看自己配置的BizType + * 该字段用于返回调用音频审核接口时传入的BizType参数,方便数据的辨别和管理。 注意:此字段可能返回 null,表示取不到有效值。 * @type {string || null} */ this.BizType = null; /** - * 任务名称 + * 该字段用于返回调用音频审核接口时传入的TaskInput参数中的任务名称,方便任务的识别与管理。 注意:此字段可能返回 null,表示取不到有效值。 * @type {string || null} */ this.Name = null; /** - * 查询内容审核任务的状态,可选值: -FINISH 已完成 -PENDING 等待中 -RUNNING 进行中 -ERROR 出错 -CANCELLED 已取消 + * 该字段用于返回所查询内容的任务状态。 +
    取值:**FINISH**(任务已完成)、**PENDING** (任务等待中)、**RUNNING** (任务进行中)、**ERROR** (任务出错)、**CANCELLED** (任务已取消)。 注意:此字段可能返回 null,表示取不到有效值。 * @type {string || null} */ this.Status = null; /** - * 任务类型:可选AUDIO(点播音频),LIVE_AUDIO(直播音频) + * 该字段用于返回调用音频审核接口时输入的音频审核类型,取值为:**AUDIO**(点播音频)和**LIVE_AUDIO**(直播音频),默认值为AUDIO。 注意:此字段可能返回 null,表示取不到有效值。 * @type {string || null} */ this.Type = null; /** - * 智能审核服务对于内容违规类型的等级,可选值: -Pass 建议通过; -Reveiw 建议复审; -Block 建议屏蔽; + * 该字段用于返回基于恶意标签的后续操作建议。当您获取到判定结果后,返回值表示系统推荐的后续操作;建议您按照业务所需,对不同违规类型与建议值进行处理。
    返回值:**Block**:建议屏蔽,**Review** :建议人工复审,**Pass**:建议通过 注意:此字段可能返回 null,表示取不到有效值。 * @type {string || null} */ this.Suggestion = null; /** - * 智能审核服务对于内容违规类型的判断,详见返回值列表 -如:Label:Porn(色情); + * 该字段用于返回检测结果所对应的恶意标签。
    返回值:**Normal**:正常,**Porn**:色情,**Abuse**:谩骂,**Ad**:广告,**Custom**:自定义违规;以及其他令人反感、不安全或不适宜的内容类型。 注意:此字段可能返回 null,表示取不到有效值。 * @type {Array. || null} */ this.Labels = null; /** - * 输入的媒体信息 + * 该字段用于返回审核服务的媒体内容信息,主要包括传入文件类型和访问地址。 注意:此字段可能返回 null,表示取不到有效值。 * @type {InputInfo || null} */ this.InputInfo = null; /** - * 音频文本,备注:这里的文本最大只返回前1000个字符 + * 该字段用于返回音频文件识别出的对应文本内容,最大支持**前1000个字符**。 注意:此字段可能返回 null,表示取不到有效值。 * @type {string || null} */ this.AudioText = null; /** - * 音频片段审核信息 + * 该字段用于返回音频片段的审核结果,主要包括开始时间和音频审核的相应结果。
    具体输出内容请参见AudioSegments及AudioResult数据结构的详细描述。 注意:此字段可能返回 null,表示取不到有效值。 * @type {Array. || null} */ this.AudioSegments = null; /** - * 错误类型,如果任务状态为Error,则该字段不为空 + * 当任务状态为Error时,该字段用于返回对应错误的类型;任务状态非Error时,默认返回为空。 注意:此字段可能返回 null,表示取不到有效值。 * @type {string || null} */ this.ErrorType = null; /** - * 错误描述,如果任务状态为Error,则该字段不为空 + * 当任务状态为Error时,该字段用于返回对应错误的详细描述,任务状态非Error时默认返回为空。 注意:此字段可能返回 null,表示取不到有效值。 * @type {string || null} */ this.ErrorDescription = null; /** - * 任务创建时间,格式为 ISO 8601 + * 该字段用于返回被查询任务创建的时间,格式采用 ISO 8601标准。 注意:此字段可能返回 null,表示取不到有效值。 * @type {string || null} */ this.CreatedAt = null; /** - * 任务最后更新时间,格式为 ISO 8601 + * 该字段用于返回被查询任务最后更新时间,格式采用 ISO 8601标准。 注意:此字段可能返回 null,表示取不到有效值。 * @type {string || null} */ @@ -481,31 +631,31 @@ class CreateAudioModerationTaskRequest extends AbstractModel { super(); /** - * 输入的任务信息,最多可以同时创建10个任务 + * 该字段表示输入的音频审核任务信息,具体输入内容请参见TaskInput数据结构的详细描述。
    备注:最多同时可创建**10个任务**。 * @type {Array. || null} */ this.Tasks = null; /** - * 默认为:default,客户可以在音频审核控制台配置自己的BizType + * 该字段表示策略的具体编号,用于接口调度,在内容安全控制台中可配置。若不传入Biztype参数(留空),则代表采用默认的识别策略;传入则会在审核时根据业务场景采取不同的审核策略。
    备注:Biztype仅为数字、字母与下划线的组合,长度为3-32个字符;不同Biztype关联不同的业务场景与识别能力策略,调用前请确认正确的Biztype。 * @type {string || null} */ this.BizType = null; /** - * 审核类型,这里可选:AUDIO (点播音频)和 LIVE_AUDIO(直播音频),默认为 AUDIIO + * 该字段表示输入的音频审核类型,取值为:**AUDIO**(点播音频)和 **LIVE_AUDIO**(直播音频),默认值为AUDIO。 * @type {string || null} */ this.Type = null; /** - * (可选)回调签名key,具体可以查看 回调签名示例 + * 可选参数,该字段表示回调签名的key信息,用于保证数据的安全性。 签名方法为在返回的HTTP头部添加 X-Signature 的字段,值为: seed + body 的 SHA256 编码和Hex字符串,在收到回调数据后,可以根据返回的body,用 **sha256(seed + body)**, 计算出 `X-Signature` 进行验证。
    具体使用实例可参考 [回调签名示例](https://cloud.tencent.com/document/product/1219/53263)。 * @type {string || null} */ this.Seed = null; /** - * 接收审核信息回调地址,如果设置,则审核过程中产生的违规音频片段和画面截帧发送此接口 + * 可选参数,该字段表示接受审核信息回调的地址,格式为URL链接默认格式。配置成功后,审核过程中产生的违规音频片段将通过此接口发送。回调返回内容格式请参考 [回调签名示例](https://cloud.tencent.com/document/product/1219/53257#.E7.A4.BA.E4.BE.8B2-.E5.9B.9E.E8.B0.83.E7.AD.BE.E5.90.8D.E7.A4.BA.E4.BE.8B) * @type {string || null} */ this.CallbackUrl = null; @@ -537,7 +687,7 @@ class CreateAudioModerationTaskRequest extends AbstractModel { } /** - * 音视频任务结构 + * 音视频任务数据结构 * @class */ class TaskInput extends AbstractModel { @@ -545,19 +695,19 @@ class TaskInput extends AbstractModel { super(); /** - * 数据ID + * 选填参数,该字段表示您为待检测对象分配的数据ID,传入后可方便您对文件进行标识和管理。
    取值:由英文字母(大小写均可)、数字及四个特殊符号(_,-,@,#)组成,**长度不超过64个字符**。 * @type {string || null} */ this.DataId = null; /** - * 任务名 + * 选填参数,该字段表示音频审核任务所对应的任务名称,方便后续查询和管理审核任务。 * @type {string || null} */ this.Name = null; /** - * 任务输入 + * 必填参数,该字段表示审核文件的访问参数,用于获取审核媒体文件,该参数内包括访问类型和访问地址。 * @type {StorageInfo || null} */ this.Input = null; @@ -592,13 +742,14 @@ class DescribeTaskDetailRequest extends AbstractModel { super(); /** - * 任务ID,创建任务后返回的TaskId字段 + * 该字段表示创建音频审核任务后返回的任务ID(在Results参数中),用于标识需要查询任务详情的审核任务。 +
    备注:查询接口单次最大查询量为**20条每次**。 * @type {string || null} */ this.TaskId = null; /** - * 是否展示所有分片,默认只展示命中规则的分片 + * 该布尔字段表示是否展示全部的音频片段,取值:True(展示全部的音频分片)、False(只展示命中审核规则的音频分片);默认值为False。 * @type {boolean || null} */ this.ShowAllSegments = null; @@ -619,7 +770,117 @@ class DescribeTaskDetailRequest extends AbstractModel { } /** - * 任务输出标签 + * CreateAudioModerationSyncTask返回参数结构体 + * @class + */ +class CreateAudioModerationSyncTaskResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 请求接口时传入的数据标识 + * @type {string || null} + */ + this.DataId = null; + + /** + * 文件名称,可以由英文字母、数字、下划线、-、@#组成,不超过64个字符 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.Name = null; + + /** + * Biztype为策略的具体的编号,用于接口调度,在内容安全控制台中可配置。不同Biztype关联不同的业务场景与识别能力策略,调用前请确认正确的Biztype。Biztype仅为数字、字母与下划线的组合,长度为3-32个字符;调用时不传入Biztype代表采用默认的识别策略。 + * @type {string || null} + */ + this.BizType = null; + + /** + * 智能审核服务对于内容违规类型的等级,可选值: +Pass 建议通过; +Reveiw 建议复审; +Block 建议屏蔽; +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.Suggestion = null; + + /** + * 智能审核服务对于内容违规类型的判断,详见返回值列表 +如:Label:Porn(色情); +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.Label = null; + + /** + * 音频文本,备注:这里的文本最大只返回前1000个字符 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.AsrText = null; + + /** + * 音频中对话内容审核结果; +注意:此字段可能返回 null,表示取不到有效值。 + * @type {Array. || null} + */ + this.TextResults = null; + + /** + * 音频中低俗内容审核结果; +注意:此字段可能返回 null,表示取不到有效值。 + * @type {Array. || null} + */ + this.MoanResults = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.DataId = 'DataId' in params ? params.DataId : null; + this.Name = 'Name' in params ? params.Name : null; + this.BizType = 'BizType' in params ? params.BizType : null; + this.Suggestion = 'Suggestion' in params ? params.Suggestion : null; + this.Label = 'Label' in params ? params.Label : null; + this.AsrText = 'AsrText' in params ? params.AsrText : null; + + if (params.TextResults) { + this.TextResults = new Array(); + for (let z in params.TextResults) { + let obj = new TextResult(); + obj.deserialize(params.TextResults[z]); + this.TextResults.push(obj); + } + } + + if (params.MoanResults) { + this.MoanResults = new Array(); + for (let z in params.MoanResults) { + let obj = new MoanResult(); + obj.deserialize(params.MoanResults[z]); + this.MoanResults.push(obj); + } + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * 用于返回审核任务输出的标签 * @class */ class TaskLabel extends AbstractModel { @@ -627,28 +888,33 @@ class TaskLabel extends AbstractModel { super(); /** - * 恶意标签,Normal:正常,Porn:色情,Abuse:谩骂,Ad:广告,Custom:自定义词库。 -以及其他令人反感、不安全或不适宜的内容类型。 + * 该字段用于返回检测结果所对应的恶意标签。
    返回值:**Normal**:正常,**Porn**:色情,**Abuse**:谩骂,**Ad**:广告,**Custom**:自定义违规;以及其他令人反感、不安全或不适宜的内容类型。 注意:此字段可能返回 null,表示取不到有效值。 * @type {string || null} */ this.Label = null; /** - * 建议您拿到判断结果后的执行操作。 -建议值,Block:建议屏蔽,Review:建议复审,Pass:建议通过 + * 该字段用于返回当前标签对应的后续操作建议。当您获取到判定结果后,返回值表示系统推荐的后续操作;建议您按照业务所需,对不同违规类型与建议值进行处理。
    返回值:**Block**:建议屏蔽,**Review** :建议人工复审,**Pass**:建议通过 注意:此字段可能返回 null,表示取不到有效值。 * @type {string || null} */ this.Suggestion = null; /** - * 得分,分数是 0 ~ 100 + * 该字段用于返回当前标签(Label)下的置信度,取值范围:0(**置信度最低**)-100(**置信度最高** ),越高代表文本越有可能属于当前返回的标签;如:*色情 99*,则表明该文本非常有可能属于色情内容;*色情 0*,则表明该文本不属于色情内容。 注意:此字段可能返回 null,表示取不到有效值。 * @type {number || null} */ this.Score = null; + /** + * 该字段用于返回当前标签(Lable)下的二级标签。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.SubLabel = null; + } /** @@ -661,6 +927,7 @@ class TaskLabel extends AbstractModel { this.Label = 'Label' in params ? params.Label : null; this.Suggestion = 'Suggestion' in params ? params.Suggestion : null; this.Score = 'Score' in params ? params.Score : null; + this.SubLabel = 'SubLabel' in params ? params.SubLabel : null; } } @@ -674,25 +941,25 @@ class TaskFilter extends AbstractModel { super(); /** - * 任务业务类型 + * 该字段用于传入任务对应的业务类型供筛选器进行筛选。Biztype为策略的具体的编号,用于接口调度,在内容安全控制台中可配置。不同Biztype关联不同的业务场景与审核策略,调用前请确认正确的Biztype。Biztype仅为**数字、字母与下划线的组合**,长度为3-32个字符。
    备注:在不传入该参数时筛选器默认不筛选业务类型。 * @type {string || null} */ this.BizType = null; /** - * 任务类型,可选:VIDEO,AUDIO, LIVE_VIDEO, LIVE_AUDIO + * 该字段用于传入音频审核对应的任务类型供筛选器进行筛选,取值为:**VIDEO**(点播视频审核),**AUDIO**(点播音频审核), **LIVE_VIDEO**(直播视频审核), **LIVE_AUDIO**(直播音频审核)。
    备注:在不传入该参数时筛选器默认不筛选任务类型。 * @type {string || null} */ this.Type = null; /** - * 建议,可选:Pass, Review,Block + * 该字段用于传入音频审核对应的建议操作供筛选器进行筛选,取值为:**Block**:建议屏蔽,**Review**:建议人工复审,**Pass**:建议通过。
    备注:在不传入该参数时筛选器默认不筛选建议操作。 * @type {string || null} */ this.Suggestion = null; /** - * 状态,可选:PENDING,RUNNING,ERROR,FINISH,CANCELLED + * 该字段用于传入审核任务的任务状态供筛选器进行筛选,取值为:**FINISH**(任务已完成)、**PENDING** (任务等待中)、**RUNNING** (任务进行中)、**ERROR** (任务出错)、**CANCELLED** (任务已取消)。
    备注:在不传入该参数时筛选器默认不筛选任务状态。 * @type {string || null} */ this.TaskStatus = null; @@ -723,21 +990,21 @@ class InputInfo extends AbstractModel { super(); /** - * 传入的类型可选:URL,COS + * 该字段表示文件访问类型,取值为**URL**(资源链接)和**COS** (腾讯云对象存储)。 注意:此字段可能返回 null,表示取不到有效值。 * @type {string || null} */ this.Type = null; /** - * Url地址 + * 该字段表示文件访问的链接地址,格式为标准URL格式。
    备注:当Type为URL时此字段不为空。 注意:此字段可能返回 null,表示取不到有效值。 * @type {string || null} */ this.Url = null; /** - * 桶信息。当输入当时COS时,该字段不为空 + * 该字段表示文件访问的腾讯云存储桶信息。
    备注:当Type为COS时此字段不为空。 注意:此字段可能返回 null,表示取不到有效值。 * @type {BucketInfo || null} */ @@ -773,21 +1040,21 @@ class DescribeTasksResponse extends AbstractModel { super(); /** - * 任务总量,为 int 字符串 + * 该字段用于返回当前查询的任务总量,格式为int字符串。 注意:此字段可能返回 null,表示取不到有效值。 * @type {string || null} */ this.Total = null; /** - * 当前页数据 + * 该字段用于返回当前页的任务详细数据,具体输出内容请参见TaskData数据结构的详细描述。 注意:此字段可能返回 null,表示取不到有效值。 * @type {Array. || null} */ this.Data = null; /** - * 翻页Token,当已经到最后一页时,该字段为空 + * 该字段用于返回翻页时使用的Token信息,由系统自动生成,并在翻页时向下一个生成的页面传递此参数,以方便快速翻页功能的实现。当到最后一页时,该字段为空。 注意:此字段可能返回 null,表示取不到有效值。 * @type {string || null} */ @@ -825,7 +1092,7 @@ class DescribeTasksResponse extends AbstractModel { } /** - * 音频小语种检测结果 + * 音频语言种类检测结果 * @class */ class AudioResultDetailLanguageResult extends AbstractModel { @@ -833,35 +1100,35 @@ class AudioResultDetailLanguageResult extends AbstractModel { super(); /** - * 语言信息 + * 该字段用于返回对应的语言种类信息。 注意:此字段可能返回 null,表示取不到有效值。 * @type {string || null} */ this.Label = null; /** - * 得分 + * 该参数用于返回当前标签下的置信度,取值范围:0(**置信度最低**)-100(**置信度最高**),越高代表音频越有可能属于当前返回的语种标签; 注意:此字段可能返回 null,表示取不到有效值。 * @type {number || null} */ this.Score = null; /** - * 开始时间 + * 该参数用于返回对应语种标签的片段在音频文件内的开始时间,单位为毫秒。 注意:此字段可能返回 null,表示取不到有效值。 * @type {number || null} */ this.StartTime = null; /** - * 结束时间 + * 该参数用于返回对应语种标签的片段在音频文件内的结束时间,单位为毫秒。 注意:此字段可能返回 null,表示取不到有效值。 * @type {number || null} */ this.EndTime = null; /** - * 子标签码 + * *内测中,敬请期待* 注意:此字段可能返回 null,表示取不到有效值。 * @type {string || null} */ @@ -885,6 +1152,74 @@ class AudioResultDetailLanguageResult extends AbstractModel { } } +/** + * 呻吟低俗检测结果 + * @class + */ +class MoanResult extends AbstractModel { + constructor(){ + super(); + + /** + * 固定取值为Moan(呻吟/娇喘),如音频中无复杂类型「MoanResult」的返回则代表改音频中无呻吟/娇喘相关违规内容; +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.Label = null; + + /** + * 机器判断当前分类的置信度,取值范围:0~100。分数越高,表示越有可能属于当前分类。 +(如:Moan 99,则该样本属于呻吟/娇喘的置信度非常高。) + * @type {number || null} + */ + this.Score = null; + + /** + * 建议您拿到判断结果后的执行操作。 +建议值,Block:建议屏蔽,Review:建议复审,Pass:建议通过 + * @type {string || null} + */ + this.Suggestion = null; + + /** + * 违规事件开始时间,单位为毫秒(ms); + * @type {number || null} + */ + this.StartTime = null; + + /** + * 违规事件结束时间,单位为毫秒(ms); + * @type {number || null} + */ + this.EndTime = null; + + /** + * 该字段用于返回当前标签(Lable)下的二级标签。 +注意:此字段可能返回null,表示取不到有效值。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.SubLabel = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Label = 'Label' in params ? params.Label : null; + this.Score = 'Score' in params ? params.Score : null; + this.Suggestion = 'Suggestion' in params ? params.Suggestion : null; + this.StartTime = 'StartTime' in params ? params.StartTime : null; + this.EndTime = 'EndTime' in params ? params.EndTime : null; + this.SubLabel = 'SubLabel' in params ? params.SubLabel : null; + + } +} + /** * CancelTask返回参数结构体 * @class @@ -922,53 +1257,61 @@ class AudioResultDetailTextResult extends AbstractModel { super(); /** - * 标签 + * 该字段用于返回检测结果所对应的恶意标签。
    返回值:**Normal**:正常,**Porn**:色情,**Abuse**:谩骂,**Ad**:广告,**Custom**:自定义违规;以及其他令人反感、不安全或不适宜的内容类型。 注意:此字段可能返回 null,表示取不到有效值。 * @type {string || null} */ this.Label = null; /** - * 命中的关键词 + * 该字段用于返回ASR识别出的文本内容命中的关键词信息,用于标注内容违规的具体原因(如:加我微信)。该参数可能会有多个返回值,代表命中的多个关键词;若返回值为空,Score不为空,则代表识别结果所对应的恶意标签(Label)来自于语义模型判断的返回值。 注意:此字段可能返回 null,表示取不到有效值。 * @type {Array. || null} */ this.Keywords = null; /** - * 命中的LibId + * 该字段**仅当Label为Custom:自定义关键词时该参数有效**,用于返回自定义库的ID,以方便自定义库管理和配置。 注意:此字段可能返回 null,表示取不到有效值。 * @type {string || null} */ this.LibId = null; /** - * 命中的LibName + * 该字段**仅当Label为Custom:自定义关键词时该参数有效**,用于返回自定义库的名称,以方便自定义库管理和配置。 注意:此字段可能返回 null,表示取不到有效值。 * @type {string || null} */ this.LibName = null; /** - * 得分 + * 该字段用于返回当前标签下的置信度,取值范围:0(**置信度最低**)-100(**置信度最高**),越高代表文本越有可能属于当前返回的标签;如:*色情 99*,则表明该文本非常有可能属于色情内容。 注意:此字段可能返回 null,表示取不到有效值。 * @type {number || null} */ this.Score = null; /** - * 审核建议 + * 该字段用于返回后续操作建议。当您获取到判定结果后,返回值表示具体的后续建议操作。
    +返回值:**Block**:建议屏蔽,**Review** :建议人工复审,**Pass**:建议通过 注意:此字段可能返回 null,表示取不到有效值。 * @type {string || null} */ this.Suggestion = null; /** - * 词库类型 1 黑白库 2 自定义库 + * 该字段用于返回自定义关键词对应的词库类型,取值为**1**(黑白库)和**2**(自定义关键词库),若未配置自定义关键词库,则默认值为1(黑白库匹配)。 * @type {number || null} */ this.LibType = null; + /** + * 该字段用于返回当前标签(Lable)下的二级标签。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.SubLabel = null; + } /** @@ -985,12 +1328,13 @@ class AudioResultDetailTextResult extends AbstractModel { this.Score = 'Score' in params ? params.Score : null; this.Suggestion = 'Suggestion' in params ? params.Suggestion : null; this.LibType = 'LibType' in params ? params.LibType : null; + this.SubLabel = 'SubLabel' in params ? params.SubLabel : null; } } /** - * 音频输出参数 + * 音频审核输出参数 * @class */ class AudioResult extends AbstractModel { @@ -998,81 +1342,85 @@ class AudioResult extends AbstractModel { super(); /** - * 是否命中 -0 未命中 -1 命中 + * 该字段用于返回审核内容是否命中审核模型;取值:0(**未命中**)、1(**命中**)。 注意:此字段可能返回 null,表示取不到有效值。 * @type {number || null} */ this.HitFlag = null; /** - * 恶意标签,Normal:正常,Porn:色情,Abuse:谩骂,Ad:广告,Custom:自定义词库。 -以及其他令人反感、不安全或不适宜的内容类型。 + * 该字段用于返回检测结果所对应的恶意标签。
    返回值:**Normal**:正常,**Porn**:色情,**Abuse**:谩骂,**Ad**:广告,**Custom**:自定义违规;以及其他令人反感、不安全或不适宜的内容类型。 注意:此字段可能返回 null,表示取不到有效值。 * @type {string || null} */ this.Label = null; /** - * 建议您拿到判断结果后的执行操作。 -建议值,Block:建议屏蔽,Review:建议复审,Pass:建议通过 + * 该字段用于返回后续操作建议。当您获取到判定结果后,返回值表示具体的后续建议操作。
    +返回值:**Block**:建议屏蔽,**Review** :建议人工复审,**Pass**:建议通过 注意:此字段可能返回 null,表示取不到有效值。 * @type {string || null} */ this.Suggestion = null; /** - * 得分,0-100 + * 该字段用于返回当前标签下的置信度,取值范围:0(**置信度最低**)-100(**置信度最高** ),越高代表文本越有可能属于当前返回的标签;如:*色情 99*,则表明该文本非常有可能属于色情内容。 注意:此字段可能返回 null,表示取不到有效值。 * @type {number || null} */ this.Score = null; /** - * 音频ASR文本 + * 该字段用于返回音频文件经ASR识别后的文本信息。最长可识别**5小时**的音频文件,若超出时长限制,接口将会报错。 注意:此字段可能返回 null,表示取不到有效值。 * @type {string || null} */ this.Text = null; /** - * 音频片段存储URL,有效期为1天 + * 该字段用于返回音频片段存储的链接地址,该地址有效期为1天。 注意:此字段可能返回 null,表示取不到有效值。 * @type {string || null} */ this.Url = null; /** - * 音频时长 + * 该字段用于返回音频文件的时长,单位为秒。 * @type {string || null} */ this.Duration = null; /** - * 拓展字段 + * 该字段用于返回额外附加信息,不同客户或Biztype下返回信息不同。 * @type {string || null} */ this.Extra = null; /** - * 文本识别结果 + * 该字段用于返回音频文件经ASR识别后产生的文本的详细审核结果。具体结果内容请参见AudioResultDetailLanguageResult数据结构的细节描述。 * @type {Array. || null} */ this.TextResults = null; /** - * 音频呻吟检测结果 + * 该字段用于返回音频文件呻吟检测的详细审核结果。具体结果内容请参见AudioResultDetailMoanResult数据结构的细节描述。 * @type {Array. || null} */ this.MoanResults = null; /** - * 音频语言检测结果 + * 该字段用于返回音频小语种检测的详细审核结果。具体结果内容请参见AudioResultDetailLanguageResult数据结构的细节描述。 * @type {Array. || null} */ this.LanguageResults = null; + /** + * 该字段用于返回当前标签(Lable)下的二级标签。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.SubLabel = null; + } /** @@ -1117,6 +1465,7 @@ class AudioResult extends AbstractModel { this.LanguageResults.push(obj); } } + this.SubLabel = 'SubLabel' in params ? params.SubLabel : null; } } @@ -1130,36 +1479,43 @@ class AudioResultDetailMoanResult extends AbstractModel { super(); /** - * 固定为Moan(呻吟) + * 该字段用于返回检测结果需要检测的内容类型,此处固定为**Moan**(呻吟)以调用呻吟检测功能。 注意:此字段可能返回 null,表示取不到有效值。 * @type {string || null} */ this.Label = null; /** - * 分数 + * 该字段用于返回呻吟检测的置信度,取值范围:0(**置信度最低**)-100(**置信度最高**),越高代表音频越有可能属于呻吟内容。 * @type {number || null} */ this.Score = null; /** - * 开始时间 + * 该字段用于返回对应呻吟标签的片段在音频文件内的开始时间,单位为毫秒。 * @type {number || null} */ this.StartTime = null; /** - * 结束时间 + * 该字段用于返回对应呻吟标签的片段在音频文件内的结束时间,单位为毫秒。 * @type {number || null} */ this.EndTime = null; /** - * 子标签码 + * *内测中,敬请期待* * @type {string || null} */ this.SubLabelCode = null; + /** + * 该字段用于返回当前标签(Lable)下的二级标签。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.SubLabel = null; + } /** @@ -1174,6 +1530,7 @@ class AudioResultDetailMoanResult extends AbstractModel { this.StartTime = 'StartTime' in params ? params.StartTime : null; this.EndTime = 'EndTime' in params ? params.EndTime : null; this.SubLabelCode = 'SubLabelCode' in params ? params.SubLabelCode : null; + this.SubLabel = 'SubLabel' in params ? params.SubLabel : null; } } @@ -1187,47 +1544,48 @@ class TaskData extends AbstractModel { super(); /** - * 输入的数据ID + * 该字段用于返回音频审核任务数据所对应的数据ID,方便后续查询和管理审核任务。 注意:此字段可能返回 null,表示取不到有效值。 * @type {string || null} */ this.DataId = null; /** - * 任务ID + * 该字段用于返回音频审核任务所生成的任务ID,用于标识具体审核任务,方便后续查询和管理。 * @type {string || null} */ this.TaskId = null; /** - * 状态,可选:PENDING,RUNNING,ERROR,FINISH,CANCELLED + * 该字段用于返回所查询内容的任务状态。 +
    取值:**FINISH**(任务已完成)、**PENDING** (任务等待中)、**RUNNING** (任务进行中)、**ERROR** (任务出错)、**CANCELLED** (任务已取消)。 * @type {string || null} */ this.Status = null; /** - * 任务名称 + * 该字段用于返回音频审核任务所对应的任务名称,方便后续查询和管理审核任务。 注意:此字段可能返回 null,表示取不到有效值。 * @type {string || null} */ this.Name = null; /** - * 业务类型 + * 该字段用于返回调用音频审核接口时传入的BizType参数,方便数据的辨别和管理。 注意:此字段可能返回 null,表示取不到有效值。 * @type {string || null} */ this.BizType = null; /** - * 任务类型 + * 该字段用于返回调用音频审核接口时输入的音频审核类型,取值为:**AUDIO**(点播音频)和**LIVE_AUDIO**(直播音频),默认值为AUDIO。 注意:此字段可能返回 null,表示取不到有效值。 * @type {string || null} */ this.Type = null; /** - * 建议。可选:Pass,Block,Review + * 该字段用于返回基于恶意标签的后续操作建议。当您获取到判定结果后,返回值表示系统推荐的后续操作;建议您按照业务所需,对不同违规类型与建议值进行处理。
    返回值:**Block**:建议屏蔽,**Review** :建议人工复审,**Pass**:建议通过 注意:此字段可能返回 null,表示取不到有效值。 * @type {string || null} */ @@ -1241,20 +1599,20 @@ class TaskData extends AbstractModel { this.MediaInfo = null; /** - * 任务违规标签 + * 该字段用于返回检测结果所对应的恶意标签。
    返回值:**Normal**:正常,**Porn**:色情,**Abuse**:谩骂,**Ad**:广告,**Custom**:自定义违规;以及其他令人反感、不安全或不适宜的内容类型。 注意:此字段可能返回 null,表示取不到有效值。 * @type {Array. || null} */ this.Labels = null; /** - * 创建时间( iso 8601 格式) + * 该字段用于返回被查询任务创建的时间,格式采用 ISO 8601标准。 * @type {string || null} */ this.CreatedAt = null; /** - * 更新时间( iso 8601 格式) + * 该字段用于返回被查询任务最后更新时间,格式采用 ISO 8601标准。 注意:此字段可能返回 null,表示取不到有效值。 * @type {string || null} */ @@ -1306,32 +1664,31 @@ class MediaInfo extends AbstractModel { super(); /** - * 编码格式 + * 该字段用于返回传入的媒体文件的编码格式,如wav、mp3、aac、flac、amr、3gp、 m4a、wma、ogg、ape等。 * @type {string || null} */ this.Codecs = null; /** - * 流检测时分片时长 -注意:此字段可能返回 0,表示取不到有效值。 + * 该字段用于返回对传入的流媒体文件进行分片的片段时长,单位为秒。**默认值为15秒**,支持用户自定义配置。 * @type {number || null} */ this.Duration = null; /** - * 宽,单位为像素 + * *内测中,敬请期待* * @type {number || null} */ this.Width = null; /** - * 高,单位为像素 + * *内测中,敬请期待* * @type {number || null} */ this.Height = null; /** - * 缩略图 + * *内测中,敬请期待* * @type {string || null} */ this.Thumbnail = null; @@ -1355,7 +1712,7 @@ class MediaInfo extends AbstractModel { } /** - * 声音段信息 + * 表示声音段信息 * @class */ class AudioSegments extends AbstractModel { @@ -1363,16 +1720,14 @@ class AudioSegments extends AbstractModel { super(); /** - * 截帧时间, 单位:秒 -点播文件:该值为相对于视频偏移时间,单位为秒,例如:0,5,10 -直播流:该值为时间戳,例如:1594650717 + * 该字段用于返回音频片段的开始时间,单位为秒。对于点播文件,该参数代表对应音频相对于完整音轨的偏移时间,如0(代表不偏移),5(音轨开始后5秒),10(音轨开始后10秒);对于直播文件,该参数则返回对应音频片段开始时的Unix时间戳,如:1594650717。 注意:此字段可能返回 null,表示取不到有效值。 * @type {string || null} */ this.OffsetTime = null; /** - * 结果集 + * 该字段用于返回音频片段的具体审核结果,详细内容敬请参考AudioResult数据结构的描述。 注意:此字段可能返回 null,表示取不到有效值。 * @type {AudioResult || null} */ @@ -1399,8 +1754,10 @@ class AudioSegments extends AbstractModel { } module.exports = { + TextResult: TextResult, DescribeTasksRequest: DescribeTasksRequest, StorageInfo: StorageInfo, + CreateAudioModerationSyncTaskRequest: CreateAudioModerationSyncTaskRequest, BucketInfo: BucketInfo, CreateAudioModerationTaskResponse: CreateAudioModerationTaskResponse, TaskResult: TaskResult, @@ -1409,11 +1766,13 @@ module.exports = { CreateAudioModerationTaskRequest: CreateAudioModerationTaskRequest, TaskInput: TaskInput, DescribeTaskDetailRequest: DescribeTaskDetailRequest, + CreateAudioModerationSyncTaskResponse: CreateAudioModerationSyncTaskResponse, TaskLabel: TaskLabel, TaskFilter: TaskFilter, InputInfo: InputInfo, DescribeTasksResponse: DescribeTasksResponse, AudioResultDetailLanguageResult: AudioResultDetailLanguageResult, + MoanResult: MoanResult, CancelTaskResponse: CancelTaskResponse, AudioResultDetailTextResult: AudioResultDetailTextResult, AudioResult: AudioResult, diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/antiddos/index.js b/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/antiddos/index.js new file mode 100644 index 0000000000..3169f81adc --- /dev/null +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/antiddos/index.js @@ -0,0 +1,3 @@ +module.exports = { + v20200309: require("./v20200309"), +}; diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/antiddos/v20200309/antiddos_client.js b/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/antiddos/v20200309/antiddos_client.js new file mode 100644 index 0000000000..4a61cfa436 --- /dev/null +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/antiddos/v20200309/antiddos_client.js @@ -0,0 +1,1256 @@ +/* + * Copyright (c) 2018 THL A29 Limited, a Tencent company. All Rights Reserved. + * + * 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. + */ +const models = require("./models"); +const AbstractClient = require('../../common/abstract_client') +const CreateDefaultAlarmThresholdRequest = models.CreateDefaultAlarmThresholdRequest; +const DescribeDDoSConnectLimitListRequest = models.DescribeDDoSConnectLimitListRequest; +const DescribeListBGPIPInstancesResponse = models.DescribeListBGPIPInstancesResponse; +const DescribeBlackWhiteIpListResponse = models.DescribeBlackWhiteIpListResponse; +const PacketFilterConfig = models.PacketFilterConfig; +const DescribeOverviewCCTrendRequest = models.DescribeOverviewCCTrendRequest; +const DeleteCCLevelPolicyRequest = models.DeleteCCLevelPolicyRequest; +const ProxyTypeInfo = models.ProxyTypeInfo; +const CreateBoundIPRequest = models.CreateBoundIPRequest; +const CCReqLimitPolicyRecord = models.CCReqLimitPolicyRecord; +const DescribeListSchedulingDomainRequest = models.DescribeListSchedulingDomainRequest; +const CreateWaterPrintConfigRequest = models.CreateWaterPrintConfigRequest; +const DDoSGeoIPBlockConfig = models.DDoSGeoIPBlockConfig; +const CreateBlackWhiteIpListResponse = models.CreateBlackWhiteIpListResponse; +const IPAlarmThresholdRelation = models.IPAlarmThresholdRelation; +const DeleteCCRequestLimitPolicyRequest = models.DeleteCCRequestLimitPolicyRequest; +const DescribeL7RulesBySSLCertIdResponse = models.DescribeL7RulesBySSLCertIdResponse; +const DescribeDDoSBlackWhiteIpListResponse = models.DescribeDDoSBlackWhiteIpListResponse; +const InstanceRelation = models.InstanceRelation; +const ModifyNewDomainRulesRequest = models.ModifyNewDomainRulesRequest; +const RegionInfo = models.RegionInfo; +const DescribeListProtocolBlockConfigResponse = models.DescribeListProtocolBlockConfigResponse; +const DescribeListBGPInstancesRequest = models.DescribeListBGPInstancesRequest; +const KeyValue = models.KeyValue; +const ModifyCcBlackWhiteIpListRequest = models.ModifyCcBlackWhiteIpListRequest; +const DeleteDDoSSpeedLimitConfigRequest = models.DeleteDDoSSpeedLimitConfigRequest; +const CreatePacketFilterConfigResponse = models.CreatePacketFilterConfigResponse; +const CreateCCReqLimitPolicyResponse = models.CreateCCReqLimitPolicyResponse; +const DescribeListWaterPrintConfigRequest = models.DescribeListWaterPrintConfigRequest; +const CreateL7RuleCertsRequest = models.CreateL7RuleCertsRequest; +const CreateCCPrecisionPolicyResponse = models.CreateCCPrecisionPolicyResponse; +const DeleteCcGeoIPBlockConfigResponse = models.DeleteCcGeoIPBlockConfigResponse; +const DeleteDDoSGeoIPBlockConfigRequest = models.DeleteDDoSGeoIPBlockConfigRequest; +const ModifyDDoSGeoIPBlockConfigResponse = models.ModifyDDoSGeoIPBlockConfigResponse; +const DescribeCcBlackWhiteIpListResponse = models.DescribeCcBlackWhiteIpListResponse; +const ModifyCCLevelPolicyResponse = models.ModifyCCLevelPolicyResponse; +const CreateIPAlarmThresholdConfigRequest = models.CreateIPAlarmThresholdConfigRequest; +const CreateCcBlackWhiteIpListResponse = models.CreateCcBlackWhiteIpListResponse; +const DescribeDefaultAlarmThresholdResponse = models.DescribeDefaultAlarmThresholdResponse; +const CreateDDoSAIRequest = models.CreateDDoSAIRequest; +const DescribeListProtectThresholdConfigRequest = models.DescribeListProtectThresholdConfigRequest; +const ModifyNewDomainRulesResponse = models.ModifyNewDomainRulesResponse; +const CcBlackWhiteIpPolicy = models.CcBlackWhiteIpPolicy; +const DescribeDDoSConnectLimitListResponse = models.DescribeDDoSConnectLimitListResponse; +const ModifyPacketFilterConfigResponse = models.ModifyPacketFilterConfigResponse; +const DescribeCCLevelPolicyRequest = models.DescribeCCLevelPolicyRequest; +const CreateWaterPrintConfigResponse = models.CreateWaterPrintConfigResponse; +const DescribeOverviewAttackTrendRequest = models.DescribeOverviewAttackTrendRequest; +const DescribeListBGPIPInstancesRequest = models.DescribeListBGPIPInstancesRequest; +const StaticPackRelation = models.StaticPackRelation; +const CreatePortAclConfigRequest = models.CreatePortAclConfigRequest; +const DescribeCCThresholdListResponse = models.DescribeCCThresholdListResponse; +const DescribeL7RulesBySSLCertIdRequest = models.DescribeL7RulesBySSLCertIdRequest; +const DescribeListPacketFilterConfigResponse = models.DescribeListPacketFilterConfigResponse; +const DeleteBlackWhiteIpListResponse = models.DeleteBlackWhiteIpListResponse; +const CreateSchedulingDomainRequest = models.CreateSchedulingDomainRequest; +const ModifyPortAclConfigRequest = models.ModifyPortAclConfigRequest; +const BoundIpInfo = models.BoundIpInfo; +const CreateDDoSBlackWhiteIpListRequest = models.CreateDDoSBlackWhiteIpListRequest; +const ModifyCCReqLimitPolicyRequest = models.ModifyCCReqLimitPolicyRequest; +const DescribeOverviewDDoSTrendRequest = models.DescribeOverviewDDoSTrendRequest; +const DisassociateDDoSEipAddressResponse = models.DisassociateDDoSEipAddressResponse; +const DeleteCCThresholdPolicyResponse = models.DeleteCCThresholdPolicyResponse; +const DeleteBlackWhiteIpListRequest = models.DeleteBlackWhiteIpListRequest; +const SourceServer = models.SourceServer; +const CCLevelPolicy = models.CCLevelPolicy; +const DescribeOverviewIndexResponse = models.DescribeOverviewIndexResponse; +const CreatePortAclConfigListRequest = models.CreatePortAclConfigListRequest; +const AclConfig = models.AclConfig; +const DisassociateDDoSEipAddressRequest = models.DisassociateDDoSEipAddressRequest; +const SwitchWaterPrintConfigResponse = models.SwitchWaterPrintConfigResponse; +const BlackWhiteIpRelation = models.BlackWhiteIpRelation; +const DeleteWaterPrintKeyResponse = models.DeleteWaterPrintKeyResponse; +const EipAddressPackRelation = models.EipAddressPackRelation; +const CreateDDoSBlackWhiteIpListResponse = models.CreateDDoSBlackWhiteIpListResponse; +const ModifyCcBlackWhiteIpListResponse = models.ModifyCcBlackWhiteIpListResponse; +const ProtocolBlockRelation = models.ProtocolBlockRelation; +const DescribeListPacketFilterConfigRequest = models.DescribeListPacketFilterConfigRequest; +const DescribeOverviewIndexRequest = models.DescribeOverviewIndexRequest; +const BGPIPInstanceUsages = models.BGPIPInstanceUsages; +const ModifyDDoSBlackWhiteIpListRequest = models.ModifyDDoSBlackWhiteIpListRequest; +const DescribeListDDoSGeoIPBlockConfigRequest = models.DescribeListDDoSGeoIPBlockConfigRequest; +const DescribeOverviewDDoSEventListResponse = models.DescribeOverviewDDoSEventListResponse; +const CreateCcGeoIPBlockConfigResponse = models.CreateCcGeoIPBlockConfigResponse; +const DescribeOverviewAttackTrendResponse = models.DescribeOverviewAttackTrendResponse; +const Layer7Rule = models.Layer7Rule; +const ModifyPortAclConfigResponse = models.ModifyPortAclConfigResponse; +const DescribeBasicDeviceStatusRequest = models.DescribeBasicDeviceStatusRequest; +const DeleteCcGeoIPBlockConfigRequest = models.DeleteCcGeoIPBlockConfigRequest; +const DescribeCCLevelListResponse = models.DescribeCCLevelListResponse; +const CreateDDoSSpeedLimitConfigRequest = models.CreateDDoSSpeedLimitConfigRequest; +const CreateDDoSGeoIPBlockConfigRequest = models.CreateDDoSGeoIPBlockConfigRequest; +const CreateProtocolBlockConfigRequest = models.CreateProtocolBlockConfigRequest; +const DeleteWaterPrintKeyRequest = models.DeleteWaterPrintKeyRequest; +const SuccessCode = models.SuccessCode; +const AssociateDDoSEipAddressResponse = models.AssociateDDoSEipAddressResponse; +const DDoSSpeedLimitConfigRelation = models.DDoSSpeedLimitConfigRelation; +const DeleteCCLevelPolicyResponse = models.DeleteCCLevelPolicyResponse; +const ModifyPacketFilterConfigRequest = models.ModifyPacketFilterConfigRequest; +const DescribeBlackWhiteIpListRequest = models.DescribeBlackWhiteIpListRequest; +const CreateCcGeoIPBlockConfigRequest = models.CreateCcGeoIPBlockConfigRequest; +const DeletePortAclConfigResponse = models.DeletePortAclConfigResponse; +const CreateDDoSSpeedLimitConfigResponse = models.CreateDDoSSpeedLimitConfigResponse; +const DeletePacketFilterConfigRequest = models.DeletePacketFilterConfigRequest; +const ModifyL7RulesEdgeRequest = models.ModifyL7RulesEdgeRequest; +const DescribeListDDoSGeoIPBlockConfigResponse = models.DescribeListDDoSGeoIPBlockConfigResponse; +const DescribeBasicDeviceStatusResponse = models.DescribeBasicDeviceStatusResponse; +const WaterPrintConfig = models.WaterPrintConfig; +const L4RuleSource = models.L4RuleSource; +const ProtocolBlockConfig = models.ProtocolBlockConfig; +const DeleteCCPrecisionPolicyRequest = models.DeleteCCPrecisionPolicyRequest; +const BGPIPInstance = models.BGPIPInstance; +const DeleteWaterPrintConfigResponse = models.DeleteWaterPrintConfigResponse; +const Layer4Rule = models.Layer4Rule; +const DeletePacketFilterConfigResponse = models.DeletePacketFilterConfigResponse; +const CreateProtocolBlockConfigResponse = models.CreateProtocolBlockConfigResponse; +const BGPIPInstanceSpecification = models.BGPIPInstanceSpecification; +const CreateIPAlarmThresholdConfigResponse = models.CreateIPAlarmThresholdConfigResponse; +const CreatePortAclConfigListResponse = models.CreatePortAclConfigListResponse; +const DeleteWaterPrintConfigRequest = models.DeleteWaterPrintConfigRequest; +const DescribeDDoSBlackWhiteIpListRequest = models.DescribeDDoSBlackWhiteIpListRequest; +const ConnectLimitRelation = models.ConnectLimitRelation; +const DescribeListBlackWhiteIpListResponse = models.DescribeListBlackWhiteIpListResponse; +const DDoSAIRelation = models.DDoSAIRelation; +const DescribeCCReqLimitPolicyListRequest = models.DescribeCCReqLimitPolicyListRequest; +const AclConfigRelation = models.AclConfigRelation; +const DescribeListDDoSSpeedLimitConfigResponse = models.DescribeListDDoSSpeedLimitConfigResponse; +const ModifyDDoSThresholdResponse = models.ModifyDDoSThresholdResponse; +const CreateDDoSGeoIPBlockConfigResponse = models.CreateDDoSGeoIPBlockConfigResponse; +const CCPrecisionPolicy = models.CCPrecisionPolicy; +const DescribeOverviewDDoSEventListRequest = models.DescribeOverviewDDoSEventListRequest; +const ListenerCcThreholdConfig = models.ListenerCcThreholdConfig; +const EipAddressRelation = models.EipAddressRelation; +const DeleteDDoSBlackWhiteIpListRequest = models.DeleteDDoSBlackWhiteIpListRequest; +const PackInfo = models.PackInfo; +const CreateDDoSConnectLimitResponse = models.CreateDDoSConnectLimitResponse; +const IPLineInfo = models.IPLineInfo; +const DescribeCcBlackWhiteIpListRequest = models.DescribeCcBlackWhiteIpListRequest; +const DescribeListListenerResponse = models.DescribeListListenerResponse; +const DeletePortAclConfigRequest = models.DeletePortAclConfigRequest; +const ProtectThresholdRelation = models.ProtectThresholdRelation; +const CreatePortAclConfigResponse = models.CreatePortAclConfigResponse; +const ModifyDDoSLevelResponse = models.ModifyDDoSLevelResponse; +const CreateL7RuleCertsResponse = models.CreateL7RuleCertsResponse; +const CreateCCPrecisionPolicyRequest = models.CreateCCPrecisionPolicyRequest; +const ConnectLimitConfig = models.ConnectLimitConfig; +const DDoSSpeedLimitConfig = models.DDoSSpeedLimitConfig; +const AssociateDDoSEipLoadBalancerRequest = models.AssociateDDoSEipLoadBalancerRequest; +const DescribeListProtectThresholdConfigResponse = models.DescribeListProtectThresholdConfigResponse; +const CertIdInsL7Rules = models.CertIdInsL7Rules; +const IpSegment = models.IpSegment; +const CreateDefaultAlarmThresholdResponse = models.CreateDefaultAlarmThresholdResponse; +const ModifyDDoSThresholdRequest = models.ModifyDDoSThresholdRequest; +const ModifyDDoSLevelRequest = models.ModifyDDoSLevelRequest; +const DescribeListIPAlarmConfigResponse = models.DescribeListIPAlarmConfigResponse; +const CcGeoIpPolicyNew = models.CcGeoIpPolicyNew; +const ModifyDDoSBlackWhiteIpListResponse = models.ModifyDDoSBlackWhiteIpListResponse; +const CCReqLimitPolicy = models.CCReqLimitPolicy; +const DescribeCCPrecisionPlyListRequest = models.DescribeCCPrecisionPlyListRequest; +const ModifyL7RulesEdgeResponse = models.ModifyL7RulesEdgeResponse; +const ProtocolPort = models.ProtocolPort; +const DescribeCCLevelListRequest = models.DescribeCCLevelListRequest; +const ModifyCCThresholdPolicyRequest = models.ModifyCCThresholdPolicyRequest; +const DeleteDDoSGeoIPBlockConfigResponse = models.DeleteDDoSGeoIPBlockConfigResponse; +const DescribeListDDoSAIRequest = models.DescribeListDDoSAIRequest; +const DescribeListIPAlarmConfigRequest = models.DescribeListIPAlarmConfigRequest; +const PortSegment = models.PortSegment; +const DescribeOverviewCCTrendResponse = models.DescribeOverviewCCTrendResponse; +const ModifyCCReqLimitPolicyResponse = models.ModifyCCReqLimitPolicyResponse; +const DefaultAlarmThreshold = models.DefaultAlarmThreshold; +const ForwardListener = models.ForwardListener; +const BGPInstanceSpecification = models.BGPInstanceSpecification; +const ModifyDomainUsrNameRequest = models.ModifyDomainUsrNameRequest; +const CreateDDoSConnectLimitRequest = models.CreateDDoSConnectLimitRequest; +const CreateWaterPrintKeyRequest = models.CreateWaterPrintKeyRequest; +const WaterPrintRelation = models.WaterPrintRelation; +const InsL7Rules = models.InsL7Rules; +const DescribeCCReqLimitPolicyListResponse = models.DescribeCCReqLimitPolicyListResponse; +const DescribeListDDoSAIResponse = models.DescribeListDDoSAIResponse; +const ModifyCCPrecisionPolicyResponse = models.ModifyCCPrecisionPolicyResponse; +const CcGeoIPBlockConfig = models.CcGeoIPBlockConfig; +const ModifyDDoSSpeedLimitConfigRequest = models.ModifyDDoSSpeedLimitConfigRequest; +const AssociateDDoSEipAddressRequest = models.AssociateDDoSEipAddressRequest; +const AssociateDDoSEipLoadBalancerResponse = models.AssociateDDoSEipLoadBalancerResponse; +const DescribeCCThresholdListRequest = models.DescribeCCThresholdListRequest; +const CreateBlackWhiteIpListRequest = models.CreateBlackWhiteIpListRequest; +const ModifyDDoSGeoIPBlockConfigRequest = models.ModifyDDoSGeoIPBlockConfigRequest; +const DescribeBizTrendResponse = models.DescribeBizTrendResponse; +const NewL7RuleEntry = models.NewL7RuleEntry; +const DeleteCcBlackWhiteIpListResponse = models.DeleteCcBlackWhiteIpListResponse; +const CreateBoundIPResponse = models.CreateBoundIPResponse; +const DescribeListDDoSSpeedLimitConfigRequest = models.DescribeListDDoSSpeedLimitConfigRequest; +const SpeedValue = models.SpeedValue; +const SwitchWaterPrintConfigRequest = models.SwitchWaterPrintConfigRequest; +const DescribeListSchedulingDomainResponse = models.DescribeListSchedulingDomainResponse; +const ModifyCCPrecisionPolicyRequest = models.ModifyCCPrecisionPolicyRequest; +const DeleteDDoSBlackWhiteIpListResponse = models.DeleteDDoSBlackWhiteIpListResponse; +const CCThresholdPolicy = models.CCThresholdPolicy; +const ModifyDomainUsrNameResponse = models.ModifyDomainUsrNameResponse; +const DescribeCCTrendResponse = models.DescribeCCTrendResponse; +const CreateSchedulingDomainResponse = models.CreateSchedulingDomainResponse; +const EipProductInfo = models.EipProductInfo; +const DeleteCcBlackWhiteIpListRequest = models.DeleteCcBlackWhiteIpListRequest; +const DescribeCcGeoIPBlockConfigListResponse = models.DescribeCcGeoIPBlockConfigListResponse; +const CreateDDoSAIResponse = models.CreateDDoSAIResponse; +const DDoSGeoIPBlockConfigRelation = models.DDoSGeoIPBlockConfigRelation; +const DescribeListProtocolBlockConfigRequest = models.DescribeListProtocolBlockConfigRequest; +const DescribeListBGPInstancesResponse = models.DescribeListBGPInstancesResponse; +const DescribeDDoSTrendRequest = models.DescribeDDoSTrendRequest; +const DeleteCCRequestLimitPolicyResponse = models.DeleteCCRequestLimitPolicyResponse; +const CreateCcBlackWhiteIpListRequest = models.CreateCcBlackWhiteIpListRequest; +const BGPInstance = models.BGPInstance; +const DescribeListPortAclListResponse = models.DescribeListPortAclListResponse; +const CCPrecisionPlyRecord = models.CCPrecisionPlyRecord; +const DescribeCCPrecisionPlyListResponse = models.DescribeCCPrecisionPlyListResponse; +const DescribeBizTrendRequest = models.DescribeBizTrendRequest; +const DescribeListPortAclListRequest = models.DescribeListPortAclListRequest; +const OverviewDDoSEvent = models.OverviewDDoSEvent; +const DescribeCCLevelPolicyResponse = models.DescribeCCLevelPolicyResponse; +const DescribeListWaterPrintConfigResponse = models.DescribeListWaterPrintConfigResponse; +const DescribeOverviewDDoSTrendResponse = models.DescribeOverviewDDoSTrendResponse; +const BGPInstanceUsages = models.BGPInstanceUsages; +const DeleteDDoSSpeedLimitConfigResponse = models.DeleteDDoSSpeedLimitConfigResponse; +const DeleteCCThresholdPolicyRequest = models.DeleteCCThresholdPolicyRequest; +const DescribeListListenerRequest = models.DescribeListListenerRequest; +const L7RuleEntry = models.L7RuleEntry; +const ModifyCCThresholdPolicyResponse = models.ModifyCCThresholdPolicyResponse; +const CreateWaterPrintKeyResponse = models.CreateWaterPrintKeyResponse; +const DeleteCCPrecisionPolicyResponse = models.DeleteCCPrecisionPolicyResponse; +const DescribeDDoSTrendResponse = models.DescribeDDoSTrendResponse; +const DescribeListBlackWhiteIpListRequest = models.DescribeListBlackWhiteIpListRequest; +const CreateCCReqLimitPolicyRequest = models.CreateCCReqLimitPolicyRequest; +const ModifyDDoSSpeedLimitConfigResponse = models.ModifyDDoSSpeedLimitConfigResponse; +const SchedulingDomainInfo = models.SchedulingDomainInfo; +const DescribeDefaultAlarmThresholdRequest = models.DescribeDefaultAlarmThresholdRequest; +const WaterPrintKey = models.WaterPrintKey; +const ModifyCCLevelPolicyRequest = models.ModifyCCLevelPolicyRequest; +const DescribeCcGeoIPBlockConfigListRequest = models.DescribeCcGeoIPBlockConfigListRequest; +const PacketFilterRelation = models.PacketFilterRelation; +const RuleInstanceRelation = models.RuleInstanceRelation; +const CreatePacketFilterConfigRequest = models.CreatePacketFilterConfigRequest; +const DescribeCCTrendRequest = models.DescribeCCTrendRequest; + + +/** + * antiddos client + * @class + */ +class AntiddosClient extends AbstractClient { + + constructor(credential, region, profile) { + super("antiddos.tencentcloudapi.com", "2020-03-09", credential, region, profile); + } + + /** + * 修改CC频率限制策略 + * @param {ModifyCCReqLimitPolicyRequest} req + * @param {function(string, ModifyCCReqLimitPolicyResponse):void} cb + * @public + */ + ModifyCCReqLimitPolicy(req, cb) { + let resp = new ModifyCCReqLimitPolicyResponse(); + this.request("ModifyCCReqLimitPolicy", req, resp, cb); + } + + /** + * 修改DDoS黑白名单列表 + * @param {ModifyDDoSBlackWhiteIpListRequest} req + * @param {function(string, ModifyDDoSBlackWhiteIpListResponse):void} cb + * @public + */ + ModifyDDoSBlackWhiteIpList(req, cb) { + let resp = new ModifyDDoSBlackWhiteIpListResponse(); + this.request("ModifyDDoSBlackWhiteIpList", req, resp, cb); + } + + /** + * 查询与证书ID对于域名匹配的七层规则 + * @param {DescribeL7RulesBySSLCertIdRequest} req + * @param {function(string, DescribeL7RulesBySSLCertIdResponse):void} cb + * @public + */ + DescribeL7RulesBySSLCertId(req, cb) { + let resp = new DescribeL7RulesBySSLCertIdResponse(); + this.request("DescribeL7RulesBySSLCertId", req, resp, cb); + } + + /** + * 获取单IP告警阈值配置列表 + * @param {DescribeListIPAlarmConfigRequest} req + * @param {function(string, DescribeListIPAlarmConfigResponse):void} cb + * @public + */ + DescribeListIPAlarmConfig(req, cb) { + let resp = new DescribeListIPAlarmConfigResponse(); + this.request("DescribeListIPAlarmConfig", req, resp, cb); + } + + /** + * 获取单IP默认告警阈值配置 + * @param {DescribeDefaultAlarmThresholdRequest} req + * @param {function(string, DescribeDefaultAlarmThresholdResponse):void} cb + * @public + */ + DescribeDefaultAlarmThreshold(req, cb) { + let resp = new DescribeDefaultAlarmThresholdResponse(); + this.request("DescribeDefaultAlarmThreshold", req, resp, cb); + } + + /** + * 获取DDoS连接抑制配置列表 + * @param {DescribeDDoSConnectLimitListRequest} req + * @param {function(string, DescribeDDoSConnectLimitListResponse):void} cb + * @public + */ + DescribeDDoSConnectLimitList(req, cb) { + let resp = new DescribeDDoSConnectLimitListResponse(); + this.request("DescribeDDoSConnectLimitList", req, resp, cb); + } + + /** + * 获取CC四层黑白名单列表 + * @param {DescribeCcBlackWhiteIpListRequest} req + * @param {function(string, DescribeCcBlackWhiteIpListResponse):void} cb + * @public + */ + DescribeCcBlackWhiteIpList(req, cb) { + let resp = new DescribeCcBlackWhiteIpListResponse(); + this.request("DescribeCcBlackWhiteIpList", req, resp, cb); + } + + /** + * 获取DDoS防护的IP黑白名单 + * @param {DescribeBlackWhiteIpListRequest} req + * @param {function(string, DescribeBlackWhiteIpListResponse):void} cb + * @public + */ + DescribeBlackWhiteIpList(req, cb) { + let resp = new DescribeBlackWhiteIpListResponse(); + this.request("DescribeBlackWhiteIpList", req, resp, cb); + } + + /** + * 获取CC防护等级列表 + * @param {DescribeCCLevelListRequest} req + * @param {function(string, DescribeCCLevelListResponse):void} cb + * @public + */ + DescribeCCLevelList(req, cb) { + let resp = new DescribeCCLevelListResponse(); + this.request("DescribeCCLevelList", req, resp, cb); + } + + /** + * 新增CC精准防护策略 + * @param {CreateCCPrecisionPolicyRequest} req + * @param {function(string, CreateCCPrecisionPolicyResponse):void} cb + * @public + */ + CreateCCPrecisionPolicy(req, cb) { + let resp = new CreateCCPrecisionPolicyResponse(); + this.request("CreateCCPrecisionPolicy", req, resp, cb); + } + + /** + * 获取CC清洗阈值列表 + * @param {DescribeCCThresholdListRequest} req + * @param {function(string, DescribeCCThresholdListResponse):void} cb + * @public + */ + DescribeCCThresholdList(req, cb) { + let resp = new DescribeCCThresholdListResponse(); + this.request("DescribeCCThresholdList", req, resp, cb); + } + + /** + * 设置单IP告警阈值配置 + * @param {CreateIPAlarmThresholdConfigRequest} req + * @param {function(string, CreateIPAlarmThresholdConfigResponse):void} cb + * @public + */ + CreateIPAlarmThresholdConfig(req, cb) { + let resp = new CreateIPAlarmThresholdConfigResponse(); + this.request("CreateIPAlarmThresholdConfig", req, resp, cb); + } + + /** + * 获取DDoS防护的特征过滤规则列表 + * @param {DescribeListPacketFilterConfigRequest} req + * @param {function(string, DescribeListPacketFilterConfigResponse):void} cb + * @public + */ + DescribeListPacketFilterConfig(req, cb) { + let resp = new DescribeListPacketFilterConfigResponse(); + this.request("DescribeListPacketFilterConfig", req, resp, cb); + } + + /** + * 添加DDoS防护的端口acl策略 + * @param {CreatePortAclConfigRequest} req + * @param {function(string, CreatePortAclConfigResponse):void} cb + * @public + */ + CreatePortAclConfig(req, cb) { + let resp = new CreatePortAclConfigResponse(); + this.request("CreatePortAclConfig", req, resp, cb); + } + + /** + * 获取基础防护攻击状态 + * @param {DescribeBasicDeviceStatusRequest} req + * @param {function(string, DescribeBasicDeviceStatusResponse):void} cb + * @public + */ + DescribeBasicDeviceStatus(req, cb) { + let resp = new DescribeBasicDeviceStatusResponse(); + this.request("DescribeBasicDeviceStatus", req, resp, cb); + } + + /** + * 本接口 (AssociateDDoSEipLoadBalancer) 用于将高防弹性公网IP绑定到负载均衡指定内网 IP 上。 + * @param {AssociateDDoSEipLoadBalancerRequest} req + * @param {function(string, AssociateDDoSEipLoadBalancerResponse):void} cb + * @public + */ + AssociateDDoSEipLoadBalancer(req, cb) { + let resp = new AssociateDDoSEipLoadBalancerResponse(); + this.request("AssociateDDoSEipLoadBalancer", req, resp, cb); + } + + /** + * 删除DDoS防护的水印防护配置 + * @param {DeleteWaterPrintConfigRequest} req + * @param {function(string, DeleteWaterPrintConfigResponse):void} cb + * @public + */ + DeleteWaterPrintConfig(req, cb) { + let resp = new DeleteWaterPrintConfigResponse(); + this.request("DeleteWaterPrintConfig", req, resp, cb); + } + + /** + * 新增CC频率限制策略 + * @param {CreateCCReqLimitPolicyRequest} req + * @param {function(string, CreateCCReqLimitPolicyResponse):void} cb + * @public + */ + CreateCCReqLimitPolicy(req, cb) { + let resp = new CreateCCReqLimitPolicyResponse(); + this.request("CreateCCReqLimitPolicy", req, resp, cb); + } + + /** + * 开启或关闭DDoS防护的水印防护配置 + * @param {SwitchWaterPrintConfigRequest} req + * @param {function(string, SwitchWaterPrintConfigResponse):void} cb + * @public + */ + SwitchWaterPrintConfig(req, cb) { + let resp = new SwitchWaterPrintConfigResponse(); + this.request("SwitchWaterPrintConfig", req, resp, cb); + } + + /** + * 获取DDoS防护的协议封禁配置列表 + * @param {DescribeListProtocolBlockConfigRequest} req + * @param {function(string, DescribeListProtocolBlockConfigResponse):void} cb + * @public + */ + DescribeListProtocolBlockConfig(req, cb) { + let resp = new DescribeListProtocolBlockConfigResponse(); + this.request("DescribeListProtocolBlockConfig", req, resp, cb); + } + + /** + * 创建一个域名,可用于在封堵时调度切换IP + * @param {CreateSchedulingDomainRequest} req + * @param {function(string, CreateSchedulingDomainResponse):void} cb + * @public + */ + CreateSchedulingDomain(req, cb) { + let resp = new CreateSchedulingDomainResponse(); + this.request("CreateSchedulingDomain", req, resp, cb); + } + + /** + * 本接口 (DisassociateDDoSEipAddress) 用于解绑高防弹性公网IP。 + * @param {DisassociateDDoSEipAddressRequest} req + * @param {function(string, DisassociateDDoSEipAddressResponse):void} cb + * @public + */ + DisassociateDDoSEipAddress(req, cb) { + let resp = new DisassociateDDoSEipAddressResponse(); + this.request("DisassociateDDoSEipAddress", req, resp, cb); + } + + /** + * 设置DDoS防护的协议封禁配置 + * @param {CreateProtocolBlockConfigRequest} req + * @param {function(string, CreateProtocolBlockConfigResponse):void} cb + * @public + */ + CreateProtocolBlockConfig(req, cb) { + let resp = new CreateProtocolBlockConfigResponse(); + this.request("CreateProtocolBlockConfig", req, resp, cb); + } + + /** + * 删除DDoS防护的IP网段黑白名单 + * @param {DeleteDDoSBlackWhiteIpListRequest} req + * @param {function(string, DeleteDDoSBlackWhiteIpListResponse):void} cb + * @public + */ + DeleteDDoSBlackWhiteIpList(req, cb) { + let resp = new DeleteDDoSBlackWhiteIpListResponse(); + this.request("DeleteDDoSBlackWhiteIpList", req, resp, cb); + } + + /** + * 批量配置L7转发规则的证书供SSL测调用 + * @param {CreateL7RuleCertsRequest} req + * @param {function(string, CreateL7RuleCertsResponse):void} cb + * @public + */ + CreateL7RuleCerts(req, cb) { + let resp = new CreateL7RuleCertsResponse(); + this.request("CreateL7RuleCerts", req, resp, cb); + } + + /** + * 本接口 (AssociateDDoSEipAddress) 用于将高防弹性公网IP绑定到实例或弹性网卡的指定内网 IP 上。 + * @param {AssociateDDoSEipAddressRequest} req + * @param {function(string, AssociateDDoSEipAddressResponse):void} cb + * @public + */ + AssociateDDoSEipAddress(req, cb) { + let resp = new AssociateDDoSEipAddressResponse(); + this.request("AssociateDDoSEipAddress", req, resp, cb); + } + + /** + * 修改智能解析域名名称 + * @param {ModifyDomainUsrNameRequest} req + * @param {function(string, ModifyDomainUsrNameResponse):void} cb + * @public + */ + ModifyDomainUsrName(req, cb) { + let resp = new ModifyDomainUsrNameResponse(); + this.request("ModifyDomainUsrName", req, resp, cb); + } + + /** + * 获取防护概览DDoS攻击流量带宽和攻击包速率数据 + * @param {DescribeOverviewDDoSTrendRequest} req + * @param {function(string, DescribeOverviewDDoSTrendResponse):void} cb + * @public + */ + DescribeOverviewDDoSTrend(req, cb) { + let resp = new DescribeOverviewDDoSTrendResponse(); + this.request("DescribeOverviewDDoSTrend", req, resp, cb); + } + + /** + * 删除DDoS防护的访问限速配置 + * @param {DeleteDDoSSpeedLimitConfigRequest} req + * @param {function(string, DeleteDDoSSpeedLimitConfigResponse):void} cb + * @public + */ + DeleteDDoSSpeedLimitConfig(req, cb) { + let resp = new DeleteDDoSSpeedLimitConfigResponse(); + this.request("DeleteDDoSSpeedLimitConfig", req, resp, cb); + } + + /** + * 修改CC防护等级 + * @param {ModifyCCLevelPolicyRequest} req + * @param {function(string, ModifyCCLevelPolicyResponse):void} cb + * @public + */ + ModifyCCLevelPolicy(req, cb) { + let resp = new ModifyCCLevelPolicyResponse(); + this.request("ModifyCCLevelPolicy", req, resp, cb); + } + + /** + * 获取高防IP资产实例列表 + + * @param {DescribeListBGPIPInstancesRequest} req + * @param {function(string, DescribeListBGPIPInstancesResponse):void} cb + * @public + */ + DescribeListBGPIPInstances(req, cb) { + let resp = new DescribeListBGPIPInstancesResponse(); + this.request("DescribeListBGPIPInstances", req, resp, cb); + } + + /** + * 修改7层转发规则 + * @param {ModifyNewDomainRulesRequest} req + * @param {function(string, ModifyNewDomainRulesResponse):void} cb + * @public + */ + ModifyNewDomainRules(req, cb) { + let resp = new ModifyNewDomainRulesResponse(); + this.request("ModifyNewDomainRules", req, resp, cb); + } + + /** + * 获取防护概览总请求峰值(QPS)和攻击请求(QPS)以及总请求次数和攻击请求次数 + * @param {DescribeOverviewCCTrendRequest} req + * @param {function(string, DescribeOverviewCCTrendResponse):void} cb + * @public + */ + DescribeOverviewCCTrend(req, cb) { + let resp = new DescribeOverviewCCTrendResponse(); + this.request("DescribeOverviewCCTrend", req, resp, cb); + } + + /** + * 获取CC分级策略 + * @param {DescribeCCLevelPolicyRequest} req + * @param {function(string, DescribeCCLevelPolicyResponse):void} cb + * @public + */ + DescribeCCLevelPolicy(req, cb) { + let resp = new DescribeCCLevelPolicyResponse(); + this.request("DescribeCCLevelPolicy", req, resp, cb); + } + + /** + * 获取智能调度域名列表 + * @param {DescribeListSchedulingDomainRequest} req + * @param {function(string, DescribeListSchedulingDomainResponse):void} cb + * @public + */ + DescribeListSchedulingDomain(req, cb) { + let resp = new DescribeListSchedulingDomainResponse(); + this.request("DescribeListSchedulingDomain", req, resp, cb); + } + + /** + * 添加DDoS防护的区域封禁配置 + * @param {CreateDDoSGeoIPBlockConfigRequest} req + * @param {function(string, CreateDDoSGeoIPBlockConfigResponse):void} cb + * @public + */ + CreateDDoSGeoIPBlockConfig(req, cb) { + let resp = new CreateDDoSGeoIPBlockConfigResponse(); + this.request("CreateDDoSGeoIPBlockConfig", req, resp, cb); + } + + /** + * 获取CC频率限制策略列表 + * @param {DescribeCCReqLimitPolicyListRequest} req + * @param {function(string, DescribeCCReqLimitPolicyListResponse):void} cb + * @public + */ + DescribeCCReqLimitPolicyList(req, cb) { + let resp = new DescribeCCReqLimitPolicyListResponse(); + this.request("DescribeCCReqLimitPolicyList", req, resp, cb); + } + + /** + * 删除CC分级策略 + * @param {DeleteCCLevelPolicyRequest} req + * @param {function(string, DeleteCCLevelPolicyResponse):void} cb + * @public + */ + DeleteCCLevelPolicy(req, cb) { + let resp = new DeleteCCLevelPolicyResponse(); + this.request("DeleteCCLevelPolicy", req, resp, cb); + } + + /** + * 拉取防护概览指标 + * @param {DescribeOverviewIndexRequest} req + * @param {function(string, DescribeOverviewIndexResponse):void} cb + * @public + */ + DescribeOverviewIndex(req, cb) { + let resp = new DescribeOverviewIndexResponse(); + this.request("DescribeOverviewIndex", req, resp, cb); + } + + /** + * 添加DDoS防护的访问限速配置 + * @param {CreateDDoSSpeedLimitConfigRequest} req + * @param {function(string, CreateDDoSSpeedLimitConfigResponse):void} cb + * @public + */ + CreateDDoSSpeedLimitConfig(req, cb) { + let resp = new CreateDDoSSpeedLimitConfigResponse(); + this.request("CreateDDoSSpeedLimitConfig", req, resp, cb); + } + + /** + * 获取高防包资产实例列表 + + * @param {DescribeListBGPInstancesRequest} req + * @param {function(string, DescribeListBGPInstancesResponse):void} cb + * @public + */ + DescribeListBGPInstances(req, cb) { + let resp = new DescribeListBGPInstancesResponse(); + this.request("DescribeListBGPInstances", req, resp, cb); + } + + /** + * 删除DDoS防护的IP黑白名单 + * @param {DeleteBlackWhiteIpListRequest} req + * @param {function(string, DeleteBlackWhiteIpListResponse):void} cb + * @public + */ + DeleteBlackWhiteIpList(req, cb) { + let resp = new DeleteBlackWhiteIpListResponse(); + this.request("DeleteBlackWhiteIpList", req, resp, cb); + } + + /** + * 删除DDoS防护的端口acl策略 + * @param {DeletePortAclConfigRequest} req + * @param {function(string, DeletePortAclConfigResponse):void} cb + * @public + */ + DeletePortAclConfig(req, cb) { + let resp = new DeletePortAclConfigResponse(); + this.request("DeletePortAclConfig", req, resp, cb); + } + + /** + * 获取DDoS防护的水印防护配置列表 + * @param {DescribeListWaterPrintConfigRequest} req + * @param {function(string, DescribeListWaterPrintConfigResponse):void} cb + * @public + */ + DescribeListWaterPrintConfig(req, cb) { + let resp = new DescribeListWaterPrintConfigResponse(); + this.request("DescribeListWaterPrintConfig", req, resp, cb); + } + + /** + * 获取DDoS防护的区域封禁配置列表 + * @param {DescribeListDDoSGeoIPBlockConfigRequest} req + * @param {function(string, DescribeListDDoSGeoIPBlockConfigResponse):void} cb + * @public + */ + DescribeListDDoSGeoIPBlockConfig(req, cb) { + let resp = new DescribeListDDoSGeoIPBlockConfigResponse(); + this.request("DescribeListDDoSGeoIPBlockConfig", req, resp, cb); + } + + /** + * 删除CC防护的区域封禁配置 + * @param {DeleteCcGeoIPBlockConfigRequest} req + * @param {function(string, DeleteCcGeoIPBlockConfigResponse):void} cb + * @public + */ + DeleteCcGeoIPBlockConfig(req, cb) { + let resp = new DeleteCcGeoIPBlockConfigResponse(); + this.request("DeleteCcGeoIPBlockConfig", req, resp, cb); + } + + /** + * 获取DDoS防护的端口acl策略列表 + * @param {DescribeListPortAclListRequest} req + * @param {function(string, DescribeListPortAclListResponse):void} cb + * @public + */ + DescribeListPortAclList(req, cb) { + let resp = new DescribeListPortAclListResponse(); + this.request("DescribeListPortAclList", req, resp, cb); + } + + /** + * 获取转发监听器列表 + * @param {DescribeListListenerRequest} req + * @param {function(string, DescribeListListenerResponse):void} cb + * @public + */ + DescribeListListener(req, cb) { + let resp = new DescribeListListenerResponse(); + this.request("DescribeListListener", req, resp, cb); + } + + /** + * 修改DDoS清洗阈值 + * @param {ModifyDDoSThresholdRequest} req + * @param {function(string, ModifyDDoSThresholdResponse):void} cb + * @public + */ + ModifyDDoSThreshold(req, cb) { + let resp = new ModifyDDoSThresholdResponse(); + this.request("ModifyDDoSThreshold", req, resp, cb); + } + + /** + * 修改DDoS防护的特征过滤规则 + * @param {ModifyPacketFilterConfigRequest} req + * @param {function(string, ModifyPacketFilterConfigResponse):void} cb + * @public + */ + ModifyPacketFilterConfig(req, cb) { + let resp = new ModifyPacketFilterConfigResponse(); + this.request("ModifyPacketFilterConfig", req, resp, cb); + } + + /** + * 添加DDoS防护的特征过滤规则 + * @param {CreatePacketFilterConfigRequest} req + * @param {function(string, CreatePacketFilterConfigResponse):void} cb + * @public + */ + CreatePacketFilterConfig(req, cb) { + let resp = new CreatePacketFilterConfigResponse(); + this.request("CreatePacketFilterConfig", req, resp, cb); + } + + /** + * 获取DDoS防护的IP黑白名单列表 + * @param {DescribeListBlackWhiteIpListRequest} req + * @param {function(string, DescribeListBlackWhiteIpListResponse):void} cb + * @public + */ + DescribeListBlackWhiteIpList(req, cb) { + let resp = new DescribeListBlackWhiteIpListResponse(); + this.request("DescribeListBlackWhiteIpList", req, resp, cb); + } + + /** + * 修改CC四层黑白名单 + * @param {ModifyCcBlackWhiteIpListRequest} req + * @param {function(string, ModifyCcBlackWhiteIpListResponse):void} cb + * @public + */ + ModifyCcBlackWhiteIpList(req, cb) { + let resp = new ModifyCcBlackWhiteIpListResponse(); + this.request("ModifyCcBlackWhiteIpList", req, resp, cb); + } + + /** + * 绑定IP到高防包实例,支持独享包、共享包;需要注意的是此接口绑定或解绑IP是异步接口,当处于绑定或解绑中时,则不允许再进行绑定或解绑,需要等待当前绑定或解绑完成。 + * @param {CreateBoundIPRequest} req + * @param {function(string, CreateBoundIPResponse):void} cb + * @public + */ + CreateBoundIP(req, cb) { + let resp = new CreateBoundIPResponse(); + this.request("CreateBoundIP", req, resp, cb); + } + + /** + * 获取防护概览的ddos攻击事件 + * @param {DescribeOverviewDDoSEventListRequest} req + * @param {function(string, DescribeOverviewDDoSEventListResponse):void} cb + * @public + */ + DescribeOverviewDDoSEventList(req, cb) { + let resp = new DescribeOverviewDDoSEventListResponse(); + this.request("DescribeOverviewDDoSEventList", req, resp, cb); + } + + /** + * 设置单IP默认告警阈值配置 + * @param {CreateDefaultAlarmThresholdRequest} req + * @param {function(string, CreateDefaultAlarmThresholdResponse):void} cb + * @public + */ + CreateDefaultAlarmThreshold(req, cb) { + let resp = new CreateDefaultAlarmThresholdResponse(); + this.request("CreateDefaultAlarmThreshold", req, resp, cb); + } + + /** + * 添加DDoS防护的水印防护配置 + * @param {CreateWaterPrintConfigRequest} req + * @param {function(string, CreateWaterPrintConfigResponse):void} cb + * @public + */ + CreateWaterPrintConfig(req, cb) { + let resp = new CreateWaterPrintConfigResponse(); + this.request("CreateWaterPrintConfig", req, resp, cb); + } + + /** + * 获取DDoS防护的AI防护开关列表 + * @param {DescribeListDDoSAIRequest} req + * @param {function(string, DescribeListDDoSAIResponse):void} cb + * @public + */ + DescribeListDDoSAI(req, cb) { + let resp = new DescribeListDDoSAIResponse(); + this.request("DescribeListDDoSAI", req, resp, cb); + } + + /** + * 获取DDoS防护的访问限速配置列表 + * @param {DescribeListDDoSSpeedLimitConfigRequest} req + * @param {function(string, DescribeListDDoSSpeedLimitConfigResponse):void} cb + * @public + */ + DescribeListDDoSSpeedLimitConfig(req, cb) { + let resp = new DescribeListDDoSSpeedLimitConfigResponse(); + this.request("DescribeListDDoSSpeedLimitConfig", req, resp, cb); + } + + /** + * 拉取防护概览攻击趋势 + * @param {DescribeOverviewAttackTrendRequest} req + * @param {function(string, DescribeOverviewAttackTrendResponse):void} cb + * @public + */ + DescribeOverviewAttackTrend(req, cb) { + let resp = new DescribeOverviewAttackTrendResponse(); + this.request("DescribeOverviewAttackTrend", req, resp, cb); + } + + /** + * 添加DDoS防护的IP黑白名单 + * @param {CreateBlackWhiteIpListRequest} req + * @param {function(string, CreateBlackWhiteIpListResponse):void} cb + * @public + */ + CreateBlackWhiteIpList(req, cb) { + let resp = new CreateBlackWhiteIpListResponse(); + this.request("CreateBlackWhiteIpList", req, resp, cb); + } + + /** + * 获取DDoS攻击流量带宽和攻击包速率数据 + * @param {DescribeDDoSTrendRequest} req + * @param {function(string, DescribeDDoSTrendResponse):void} cb + * @public + */ + DescribeDDoSTrend(req, cb) { + let resp = new DescribeDDoSTrendResponse(); + this.request("DescribeDDoSTrend", req, resp, cb); + } + + /** + * 修改边界防护L7转发规则 + * @param {ModifyL7RulesEdgeRequest} req + * @param {function(string, ModifyL7RulesEdgeResponse):void} cb + * @public + */ + ModifyL7RulesEdge(req, cb) { + let resp = new ModifyL7RulesEdgeResponse(); + this.request("ModifyL7RulesEdge", req, resp, cb); + } + + /** + * 设置DDoS防护的AI防护开关 + * @param {CreateDDoSAIRequest} req + * @param {function(string, CreateDDoSAIResponse):void} cb + * @public + */ + CreateDDoSAI(req, cb) { + let resp = new CreateDDoSAIResponse(); + this.request("CreateDDoSAI", req, resp, cb); + } + + /** + * 删除DDoS防护的特征过滤规则 + * @param {DeletePacketFilterConfigRequest} req + * @param {function(string, DeletePacketFilterConfigResponse):void} cb + * @public + */ + DeletePacketFilterConfig(req, cb) { + let resp = new DeletePacketFilterConfigResponse(); + this.request("DeletePacketFilterConfig", req, resp, cb); + } + + /** + * 读取或修改DDoS的防护等级 + * @param {ModifyDDoSLevelRequest} req + * @param {function(string, ModifyDDoSLevelResponse):void} cb + * @public + */ + ModifyDDoSLevel(req, cb) { + let resp = new ModifyDDoSLevelResponse(); + this.request("ModifyDDoSLevel", req, resp, cb); + } + + /** + * 批量添加DDoS防护的端口acl策略 + * @param {CreatePortAclConfigListRequest} req + * @param {function(string, CreatePortAclConfigListResponse):void} cb + * @public + */ + CreatePortAclConfigList(req, cb) { + let resp = new CreatePortAclConfigListResponse(); + this.request("CreatePortAclConfigList", req, resp, cb); + } + + /** + * 新建cc防护的地域封禁配置 + * @param {CreateCcGeoIPBlockConfigRequest} req + * @param {function(string, CreateCcGeoIPBlockConfigResponse):void} cb + * @public + */ + CreateCcGeoIPBlockConfig(req, cb) { + let resp = new CreateCcGeoIPBlockConfigResponse(); + this.request("CreateCcGeoIPBlockConfig", req, resp, cb); + } + + /** + * 新建CC四层黑白名单 + * @param {CreateCcBlackWhiteIpListRequest} req + * @param {function(string, CreateCcBlackWhiteIpListResponse):void} cb + * @public + */ + CreateCcBlackWhiteIpList(req, cb) { + let resp = new CreateCcBlackWhiteIpListResponse(); + this.request("CreateCcBlackWhiteIpList", req, resp, cb); + } + + /** + * 修改DDoS防护的访问限速配置 + * @param {ModifyDDoSSpeedLimitConfigRequest} req + * @param {function(string, ModifyDDoSSpeedLimitConfigResponse):void} cb + * @public + */ + ModifyDDoSSpeedLimitConfig(req, cb) { + let resp = new ModifyDDoSSpeedLimitConfigResponse(); + this.request("ModifyDDoSSpeedLimitConfig", req, resp, cb); + } + + /** + * 获取业务流量曲线 + * @param {DescribeBizTrendRequest} req + * @param {function(string, DescribeBizTrendResponse):void} cb + * @public + */ + DescribeBizTrend(req, cb) { + let resp = new DescribeBizTrendResponse(); + this.request("DescribeBizTrend", req, resp, cb); + } + + /** + * 删除DDoS防护的区域封禁配置 + * @param {DeleteDDoSGeoIPBlockConfigRequest} req + * @param {function(string, DeleteDDoSGeoIPBlockConfigResponse):void} cb + * @public + */ + DeleteDDoSGeoIPBlockConfig(req, cb) { + let resp = new DeleteDDoSGeoIPBlockConfigResponse(); + this.request("DeleteDDoSGeoIPBlockConfig", req, resp, cb); + } + + /** + * 获取CC精准防护列表 + * @param {DescribeCCPrecisionPlyListRequest} req + * @param {function(string, DescribeCCPrecisionPlyListResponse):void} cb + * @public + */ + DescribeCCPrecisionPlyList(req, cb) { + let resp = new DescribeCCPrecisionPlyListResponse(); + this.request("DescribeCCPrecisionPlyList", req, resp, cb); + } + + /** + * 修改DDoS防护的端口acl策略 + * @param {ModifyPortAclConfigRequest} req + * @param {function(string, ModifyPortAclConfigResponse):void} cb + * @public + */ + ModifyPortAclConfig(req, cb) { + let resp = new ModifyPortAclConfigResponse(); + this.request("ModifyPortAclConfig", req, resp, cb); + } + + /** + * 修改CC清洗阈值 + * @param {ModifyCCThresholdPolicyRequest} req + * @param {function(string, ModifyCCThresholdPolicyResponse):void} cb + * @public + */ + ModifyCCThresholdPolicy(req, cb) { + let resp = new ModifyCCThresholdPolicyResponse(); + this.request("ModifyCCThresholdPolicy", req, resp, cb); + } + + /** + * 删除CC清洗阈值策略 + * @param {DeleteCCThresholdPolicyRequest} req + * @param {function(string, DeleteCCThresholdPolicyResponse):void} cb + * @public + */ + DeleteCCThresholdPolicy(req, cb) { + let resp = new DeleteCCThresholdPolicyResponse(); + this.request("DeleteCCThresholdPolicy", req, resp, cb); + } + + /** + * 删除DDoS防护的水印防护密钥 + * @param {DeleteWaterPrintKeyRequest} req + * @param {function(string, DeleteWaterPrintKeyResponse):void} cb + * @public + */ + DeleteWaterPrintKey(req, cb) { + let resp = new DeleteWaterPrintKeyResponse(); + this.request("DeleteWaterPrintKey", req, resp, cb); + } + + /** + * 添加DDoS防护的IP网段黑白名单 + * @param {CreateDDoSBlackWhiteIpListRequest} req + * @param {function(string, CreateDDoSBlackWhiteIpListResponse):void} cb + * @public + */ + CreateDDoSBlackWhiteIpList(req, cb) { + let resp = new CreateDDoSBlackWhiteIpListResponse(); + this.request("CreateDDoSBlackWhiteIpList", req, resp, cb); + } + + /** + * 获取CC攻击指标数据,包括总请求峰值(QPS)和攻击请求(QPS)以及总请求次数和攻击请求次数 + * @param {DescribeCCTrendRequest} req + * @param {function(string, DescribeCCTrendResponse):void} cb + * @public + */ + DescribeCCTrend(req, cb) { + let resp = new DescribeCCTrendResponse(); + this.request("DescribeCCTrend", req, resp, cb); + } + + /** + * 删除CC四层黑白名单 + * @param {DeleteCcBlackWhiteIpListRequest} req + * @param {function(string, DeleteCcBlackWhiteIpListResponse):void} cb + * @public + */ + DeleteCcBlackWhiteIpList(req, cb) { + let resp = new DeleteCcBlackWhiteIpListResponse(); + this.request("DeleteCcBlackWhiteIpList", req, resp, cb); + } + + /** + * 获取防护阈值配置列表,包括DDoS的AI、等级、CC阈值开关等 + * @param {DescribeListProtectThresholdConfigRequest} req + * @param {function(string, DescribeListProtectThresholdConfigResponse):void} cb + * @public + */ + DescribeListProtectThresholdConfig(req, cb) { + let resp = new DescribeListProtectThresholdConfigResponse(); + this.request("DescribeListProtectThresholdConfig", req, resp, cb); + } + + /** + * 删除CC精准防护策略 + * @param {DeleteCCPrecisionPolicyRequest} req + * @param {function(string, DeleteCCPrecisionPolicyResponse):void} cb + * @public + */ + DeleteCCPrecisionPolicy(req, cb) { + let resp = new DeleteCCPrecisionPolicyResponse(); + this.request("DeleteCCPrecisionPolicy", req, resp, cb); + } + + /** + * 获取DDoS防护的IP网段黑白名单 + * @param {DescribeDDoSBlackWhiteIpListRequest} req + * @param {function(string, DescribeDDoSBlackWhiteIpListResponse):void} cb + * @public + */ + DescribeDDoSBlackWhiteIpList(req, cb) { + let resp = new DescribeDDoSBlackWhiteIpListResponse(); + this.request("DescribeDDoSBlackWhiteIpList", req, resp, cb); + } + + /** + * 配置DDoS连接抑制选项 + * @param {CreateDDoSConnectLimitRequest} req + * @param {function(string, CreateDDoSConnectLimitResponse):void} cb + * @public + */ + CreateDDoSConnectLimit(req, cb) { + let resp = new CreateDDoSConnectLimitResponse(); + this.request("CreateDDoSConnectLimit", req, resp, cb); + } + + /** + * 修改CC精准防护策略 + * @param {ModifyCCPrecisionPolicyRequest} req + * @param {function(string, ModifyCCPrecisionPolicyResponse):void} cb + * @public + */ + ModifyCCPrecisionPolicy(req, cb) { + let resp = new ModifyCCPrecisionPolicyResponse(); + this.request("ModifyCCPrecisionPolicy", req, resp, cb); + } + + /** + * 获取CC防护的区域封禁配置列表 + * @param {DescribeCcGeoIPBlockConfigListRequest} req + * @param {function(string, DescribeCcGeoIPBlockConfigListResponse):void} cb + * @public + */ + DescribeCcGeoIPBlockConfigList(req, cb) { + let resp = new DescribeCcGeoIPBlockConfigListResponse(); + this.request("DescribeCcGeoIPBlockConfigList", req, resp, cb); + } + + /** + * 添加DDoS防护的水印防护密钥 + * @param {CreateWaterPrintKeyRequest} req + * @param {function(string, CreateWaterPrintKeyResponse):void} cb + * @public + */ + CreateWaterPrintKey(req, cb) { + let resp = new CreateWaterPrintKeyResponse(); + this.request("CreateWaterPrintKey", req, resp, cb); + } + + /** + * 删除CC频率限制策略 + * @param {DeleteCCRequestLimitPolicyRequest} req + * @param {function(string, DeleteCCRequestLimitPolicyResponse):void} cb + * @public + */ + DeleteCCRequestLimitPolicy(req, cb) { + let resp = new DeleteCCRequestLimitPolicyResponse(); + this.request("DeleteCCRequestLimitPolicy", req, resp, cb); + } + + /** + * 修改DDoS防护的区域封禁配置 + * @param {ModifyDDoSGeoIPBlockConfigRequest} req + * @param {function(string, ModifyDDoSGeoIPBlockConfigResponse):void} cb + * @public + */ + ModifyDDoSGeoIPBlockConfig(req, cb) { + let resp = new ModifyDDoSGeoIPBlockConfigResponse(); + this.request("ModifyDDoSGeoIPBlockConfig", req, resp, cb); + } + + +} +module.exports = AntiddosClient; diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/antiddos/v20200309/index.js b/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/antiddos/v20200309/index.js new file mode 100644 index 0000000000..845a4283b3 --- /dev/null +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/antiddos/v20200309/index.js @@ -0,0 +1,4 @@ +module.exports = { + Client: require("./antiddos_client"), + Models: require("./models"), +}; diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/antiddos/v20200309/models.js b/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/antiddos/v20200309/models.js new file mode 100644 index 0000000000..2fba55095b --- /dev/null +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/antiddos/v20200309/models.js @@ -0,0 +1,12542 @@ +/* + * Copyright (c) 2018 THL A29 Limited, a Tencent company. All Rights Reserved. + * + * 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. + */ +const AbstractModel = require("../../common/abstract_model"); + +/** + * CreateDefaultAlarmThreshold请求参数结构体 + * @class + */ +class CreateDefaultAlarmThresholdRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 默认告警阈值配置 + * @type {DefaultAlarmThreshold || null} + */ + this.DefaultAlarmConfig = null; + + /** + * 产品类型,取值[ +bgp(表示高防包产品) +bgpip(表示高防IP产品) +] + * @type {string || null} + */ + this.InstanceType = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + + if (params.DefaultAlarmConfig) { + let obj = new DefaultAlarmThreshold(); + obj.deserialize(params.DefaultAlarmConfig) + this.DefaultAlarmConfig = obj; + } + this.InstanceType = 'InstanceType' in params ? params.InstanceType : null; + + } +} + +/** + * DescribeDDoSConnectLimitList请求参数结构体 + * @class + */ +class DescribeDDoSConnectLimitListRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 页起始偏移,取值为(页码-1)*一页条数 + * @type {number || null} + */ + this.Offset = null; + + /** + * 一页条数 + * @type {number || null} + */ + this.Limit = null; + + /** + * 可选参数,按照IP进行过滤 + * @type {string || null} + */ + this.FilterIp = null; + + /** + * 可选参数,按照实例id进行过滤 + * @type {string || null} + */ + this.FilterInstanceId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Offset = 'Offset' in params ? params.Offset : null; + this.Limit = 'Limit' in params ? params.Limit : null; + this.FilterIp = 'FilterIp' in params ? params.FilterIp : null; + this.FilterInstanceId = 'FilterInstanceId' in params ? params.FilterInstanceId : null; + + } +} + +/** + * DescribeListBGPIPInstances返回参数结构体 + * @class + */ +class DescribeListBGPIPInstancesResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 总数 + * @type {number || null} + */ + this.Total = null; + + /** + * 高防IP资产实例列表 + * @type {Array. || null} + */ + this.InstanceList = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Total = 'Total' in params ? params.Total : null; + + if (params.InstanceList) { + this.InstanceList = new Array(); + for (let z in params.InstanceList) { + let obj = new BGPIPInstance(); + obj.deserialize(params.InstanceList[z]); + this.InstanceList.push(obj); + } + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * DescribeBlackWhiteIpList返回参数结构体 + * @class + */ +class DescribeBlackWhiteIpListResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 黑名单IP列表 + * @type {Array. || null} + */ + this.BlackIpList = null; + + /** + * 白名单IP列表 + * @type {Array. || null} + */ + this.WhiteIpList = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.BlackIpList = 'BlackIpList' in params ? params.BlackIpList : null; + this.WhiteIpList = 'WhiteIpList' in params ? params.WhiteIpList : null; + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * 特征过滤配置 + * @class + */ +class PacketFilterConfig extends AbstractModel { + constructor(){ + super(); + + /** + * 协议,取值[tcp udp icmp all] + * @type {string || null} + */ + this.Protocol = null; + + /** + * 起始源端口,取值0~65535 + * @type {number || null} + */ + this.SportStart = null; + + /** + * 结束源端口,取值1~65535,必须大于等于起始源端口 + * @type {number || null} + */ + this.SportEnd = null; + + /** + * 起始目的端口,取值0~65535 + * @type {number || null} + */ + this.DportStart = null; + + /** + * 结束目的端口,取值1~65535,必须大于等于起始目的端口 + * @type {number || null} + */ + this.DportEnd = null; + + /** + * 最小报文长度,取值1-1500 + * @type {number || null} + */ + this.PktlenMin = null; + + /** + * 最大报文长度,取值1-1500,必须大于等于最小报文长度 + * @type {number || null} + */ + this.PktlenMax = null; + + /** + * 动作,取值[ +drop(丢弃) +transmit(放行) +drop_black(丢弃并拉黑) +drop_rst(拦截) +drop_black_rst(拦截并拉黑) +forward(继续防护) +] + * @type {string || null} + */ + this.Action = null; + + /** + * 检测位置,取值[ +begin_l3(IP头) +begin_l4(TCP/UDP头) +begin_l5(T载荷) +no_match(不匹配) +] + * @type {string || null} + */ + this.MatchBegin = null; + + /** + * 检测类型,取值[ +sunday(关键字) +pcre(正则表达式) +] + * @type {string || null} + */ + this.MatchType = null; + + /** + * 检测值,关键字符串或正则表达式,取值[ +当检测类型为sunday时,请填写字符串或者16进制字节码,例如\x313233对应的是字符串"123"的16进制字节码; +当检测类型为pcre时, 请填写正则表达式字符串; +] + * @type {string || null} + */ + this.Str = null; + + /** + * 从检测位置开始的检测深度,取值[0,1500] + * @type {number || null} + */ + this.Depth = null; + + /** + * 从检测位置开始的偏移量,取值范围[0,Depth] + * @type {number || null} + */ + this.Offset = null; + + /** + * 是否包含检测值,取值[ +0(包含) +1(不包含) +] + * @type {number || null} + */ + this.IsNot = null; + + /** + * 当有第二个检测条件时,与第一检测条件的且或关系,取值[ +and(且的关系) +none(当没有第二个检测条件时填写此值) +] + * @type {string || null} + */ + this.MatchLogic = null; + + /** + * 第二个检测位置,取值[ +begin_l5(载荷) +no_match(不匹配) +] + * @type {string || null} + */ + this.MatchBegin2 = null; + + /** + * 第二个检测类型,取值[ +sunday(关键字) +pcre(正则表达式) +] + * @type {string || null} + */ + this.MatchType2 = null; + + /** + * 第二个检测值,关键字符串或正则表达式,取值[ +当检测类型为sunday时,请填写字符串或者16进制字节码,例如\x313233对应的是字符串"123"的16进制字节码; +当检测类型为pcre时, 请填写正则表达式字符串; +] + * @type {string || null} + */ + this.Str2 = null; + + /** + * 从第二个检测位置开始的第二个检测深度,取值[0,1500] + * @type {number || null} + */ + this.Depth2 = null; + + /** + * 从第二个检测位置开始的偏移量,取值范围[0,Depth2] + * @type {number || null} + */ + this.Offset2 = null; + + /** + * 第二个检测是否包含检测值,取值[ +0(包含) +1(不包含) +] + * @type {number || null} + */ + this.IsNot2 = null; + + /** + * 特征过滤配置添加成功后自动生成的规则ID,当添加新特征过滤配置时,此字段不用填写; + * @type {string || null} + */ + this.Id = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Protocol = 'Protocol' in params ? params.Protocol : null; + this.SportStart = 'SportStart' in params ? params.SportStart : null; + this.SportEnd = 'SportEnd' in params ? params.SportEnd : null; + this.DportStart = 'DportStart' in params ? params.DportStart : null; + this.DportEnd = 'DportEnd' in params ? params.DportEnd : null; + this.PktlenMin = 'PktlenMin' in params ? params.PktlenMin : null; + this.PktlenMax = 'PktlenMax' in params ? params.PktlenMax : null; + this.Action = 'Action' in params ? params.Action : null; + this.MatchBegin = 'MatchBegin' in params ? params.MatchBegin : null; + this.MatchType = 'MatchType' in params ? params.MatchType : null; + this.Str = 'Str' in params ? params.Str : null; + this.Depth = 'Depth' in params ? params.Depth : null; + this.Offset = 'Offset' in params ? params.Offset : null; + this.IsNot = 'IsNot' in params ? params.IsNot : null; + this.MatchLogic = 'MatchLogic' in params ? params.MatchLogic : null; + this.MatchBegin2 = 'MatchBegin2' in params ? params.MatchBegin2 : null; + this.MatchType2 = 'MatchType2' in params ? params.MatchType2 : null; + this.Str2 = 'Str2' in params ? params.Str2 : null; + this.Depth2 = 'Depth2' in params ? params.Depth2 : null; + this.Offset2 = 'Offset2' in params ? params.Offset2 : null; + this.IsNot2 = 'IsNot2' in params ? params.IsNot2 : null; + this.Id = 'Id' in params ? params.Id : null; + + } +} + +/** + * DescribeOverviewCCTrend请求参数结构体 + * @class + */ +class DescribeOverviewCCTrendRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 大禹子产品代号(bgpip表示高防IP;bgp-multip表示共享包;basic表示DDoS基础防护) + * @type {string || null} + */ + this.Business = null; + + /** + * 统计粒度,取值[300(5分钟),3600(小时),86400(天)] + * @type {number || null} + */ + this.Period = null; + + /** + * 统计开始时间 + * @type {string || null} + */ + this.StartTime = null; + + /** + * 统计结束时间 + * @type {string || null} + */ + this.EndTime = null; + + /** + * 指标,取值[inqps(总请求峰值,dropqps(攻击请求峰值)),incount(请求次数), dropcount(攻击次数)] + * @type {string || null} + */ + this.MetricName = null; + + /** + * 资源的IP + * @type {Array. || null} + */ + this.IpList = null; + + /** + * 资源实例ID + * @type {string || null} + */ + this.Id = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Business = 'Business' in params ? params.Business : null; + this.Period = 'Period' in params ? params.Period : null; + this.StartTime = 'StartTime' in params ? params.StartTime : null; + this.EndTime = 'EndTime' in params ? params.EndTime : null; + this.MetricName = 'MetricName' in params ? params.MetricName : null; + this.IpList = 'IpList' in params ? params.IpList : null; + this.Id = 'Id' in params ? params.Id : null; + + } +} + +/** + * DeleteCCLevelPolicy请求参数结构体 + * @class + */ +class DeleteCCLevelPolicyRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 实例Id + * @type {string || null} + */ + this.InstanceId = null; + + /** + * 配置策略的IP + * @type {string || null} + */ + this.Ip = null; + + /** + * 域名 + * @type {string || null} + */ + this.Domain = null; + + /** + * 协议,可取值http + * @type {string || null} + */ + this.Protocol = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.InstanceId = 'InstanceId' in params ? params.InstanceId : null; + this.Ip = 'Ip' in params ? params.Ip : null; + this.Domain = 'Domain' in params ? params.Domain : null; + this.Protocol = 'Protocol' in params ? params.Protocol : null; + + } +} + +/** + * 转发类型 + * @class + */ +class ProxyTypeInfo extends AbstractModel { + constructor(){ + super(); + + /** + * 转发监听端口列表,端口取值1~65535 + * @type {Array. || null} + */ + this.ProxyPorts = null; + + /** + * 转发协议,取值[ +http(HTTP协议) +https(HTTPS协议) +] + * @type {string || null} + */ + this.ProxyType = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.ProxyPorts = 'ProxyPorts' in params ? params.ProxyPorts : null; + this.ProxyType = 'ProxyType' in params ? params.ProxyType : null; + + } +} + +/** + * CreateBoundIP请求参数结构体 + * @class + */ +class CreateBoundIPRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 大禹子产品代号(bgp表示独享包;bgp-multip表示共享包) + * @type {string || null} + */ + this.Business = null; + + /** + * 资源实例ID + * @type {string || null} + */ + this.Id = null; + + /** + * 绑定到资源实例的IP数组,当资源实例为高防包(独享包)时,数组只允许填1个IP;当没有要绑定的IP时可以为空数组;但是BoundDevList和UnBoundDevList至少有一个不为空; + * @type {Array. || null} + */ + this.BoundDevList = null; + + /** + * 与资源实例解绑的IP数组,当资源实例为高防包(独享包)时,数组只允许填1个IP;当没有要解绑的IP时可以为空数组;但是BoundDevList和UnBoundDevList至少有一个不为空; + * @type {Array. || null} + */ + this.UnBoundDevList = null; + + /** + * 已弃用,不填 + * @type {string || null} + */ + this.CopyPolicy = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Business = 'Business' in params ? params.Business : null; + this.Id = 'Id' in params ? params.Id : null; + + if (params.BoundDevList) { + this.BoundDevList = new Array(); + for (let z in params.BoundDevList) { + let obj = new BoundIpInfo(); + obj.deserialize(params.BoundDevList[z]); + this.BoundDevList.push(obj); + } + } + + if (params.UnBoundDevList) { + this.UnBoundDevList = new Array(); + for (let z in params.UnBoundDevList) { + let obj = new BoundIpInfo(); + obj.deserialize(params.UnBoundDevList[z]); + this.UnBoundDevList.push(obj); + } + } + this.CopyPolicy = 'CopyPolicy' in params ? params.CopyPolicy : null; + + } +} + +/** + * CC频率限制策略项字段 + * @class + */ +class CCReqLimitPolicyRecord extends AbstractModel { + constructor(){ + super(); + + /** + * 统计周期,可取值1,10,30,60,单位秒 + * @type {number || null} + */ + this.Period = null; + + /** + * 请求数,取值1~20000 + * @type {number || null} + */ + this.RequestNum = null; + + /** + * 频率限制策略方式,可取值alg表示验证码,drop表示丢弃 + * @type {string || null} + */ + this.Action = null; + + /** + * 频率限制策略时长,可取值1~86400,单位秒 + * @type {number || null} + */ + this.ExecuteDuration = null; + + /** + * 策略项比对方式,可取值include表示包含,equal表示等于 + * @type {string || null} + */ + this.Mode = null; + + /** + * Uri,三个策略项仅可填其中之一 + * @type {string || null} + */ + this.Uri = null; + + /** + * User-Agent,三个策略项仅可填其中之一 + * @type {string || null} + */ + this.UserAgent = null; + + /** + * Cookie,三个策略项仅可填其中之一 + * @type {string || null} + */ + this.Cookie = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Period = 'Period' in params ? params.Period : null; + this.RequestNum = 'RequestNum' in params ? params.RequestNum : null; + this.Action = 'Action' in params ? params.Action : null; + this.ExecuteDuration = 'ExecuteDuration' in params ? params.ExecuteDuration : null; + this.Mode = 'Mode' in params ? params.Mode : null; + this.Uri = 'Uri' in params ? params.Uri : null; + this.UserAgent = 'UserAgent' in params ? params.UserAgent : null; + this.Cookie = 'Cookie' in params ? params.Cookie : null; + + } +} + +/** + * DescribeListSchedulingDomain请求参数结构体 + * @class + */ +class DescribeListSchedulingDomainRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 页起始偏移,取值为(页码-1)*一页条数 + * @type {number || null} + */ + this.Offset = null; + + /** + * 一页条数,当Limit=0时,默认一页条数为20;最大取值为100 + * @type {number || null} + */ + this.Limit = null; + + /** + * 调度域名搜索 + * @type {string || null} + */ + this.FilterDomain = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Offset = 'Offset' in params ? params.Offset : null; + this.Limit = 'Limit' in params ? params.Limit : null; + this.FilterDomain = 'FilterDomain' in params ? params.FilterDomain : null; + + } +} + +/** + * CreateWaterPrintConfig请求参数结构体 + * @class + */ +class CreateWaterPrintConfigRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 资源实例ID + * @type {string || null} + */ + this.InstanceId = null; + + /** + * 水印防护配置 + * @type {WaterPrintConfig || null} + */ + this.WaterPrintConfig = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.InstanceId = 'InstanceId' in params ? params.InstanceId : null; + + if (params.WaterPrintConfig) { + let obj = new WaterPrintConfig(); + obj.deserialize(params.WaterPrintConfig) + this.WaterPrintConfig = obj; + } + + } +} + +/** + * DDoS防护的区域封禁配置 + * @class + */ +class DDoSGeoIPBlockConfig extends AbstractModel { + constructor(){ + super(); + + /** + * 区域类型,取值[ +oversea(境外) +china(国内) +customized(自定义地区) +] + * @type {string || null} + */ + this.RegionType = null; + + /** + * 封禁动作,取值[ +drop(拦截) +trans(放行) +] + * @type {string || null} + */ + this.Action = null; + + /** + * 配置ID,配置添加成功后生成;添加新配置时不用填写此字段,修改或删除配置时需要填写配置ID + * @type {string || null} + */ + this.Id = null; + + /** + * 当RegionType为customized时,必须填写AreaList,且最多填写128个; + * @type {Array. || null} + */ + this.AreaList = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.RegionType = 'RegionType' in params ? params.RegionType : null; + this.Action = 'Action' in params ? params.Action : null; + this.Id = 'Id' in params ? params.Id : null; + this.AreaList = 'AreaList' in params ? params.AreaList : null; + + } +} + +/** + * CreateBlackWhiteIpList返回参数结构体 + * @class + */ +class CreateBlackWhiteIpListResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * 单IP告警阈值配置 + * @class + */ +class IPAlarmThresholdRelation extends AbstractModel { + constructor(){ + super(); + + /** + * 告警阈值类型,取值[ +1(入流量告警阈值) +2(攻击清洗流量告警阈值) +] + * @type {number || null} + */ + this.AlarmType = null; + + /** + * 告警阈值,单位Mbps,取值>=0;当作为输入参数时,设置0会删除告警阈值配置; + * @type {number || null} + */ + this.AlarmThreshold = null; + + /** + * 告警阈值所属的资源实例 + * @type {Array. || null} + */ + this.InstanceDetailList = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.AlarmType = 'AlarmType' in params ? params.AlarmType : null; + this.AlarmThreshold = 'AlarmThreshold' in params ? params.AlarmThreshold : null; + + if (params.InstanceDetailList) { + this.InstanceDetailList = new Array(); + for (let z in params.InstanceDetailList) { + let obj = new InstanceRelation(); + obj.deserialize(params.InstanceDetailList[z]); + this.InstanceDetailList.push(obj); + } + } + + } +} + +/** + * DeleteCCRequestLimitPolicy请求参数结构体 + * @class + */ +class DeleteCCRequestLimitPolicyRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 实例Id + * @type {string || null} + */ + this.InstanceId = null; + + /** + * 策略Id + * @type {string || null} + */ + this.PolicyId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.InstanceId = 'InstanceId' in params ? params.InstanceId : null; + this.PolicyId = 'PolicyId' in params ? params.PolicyId : null; + + } +} + +/** + * DescribeL7RulesBySSLCertId返回参数结构体 + * @class + */ +class DescribeL7RulesBySSLCertIdResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 证书规则集合 + * @type {Array. || null} + */ + this.CertSet = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + + if (params.CertSet) { + this.CertSet = new Array(); + for (let z in params.CertSet) { + let obj = new CertIdInsL7Rules(); + obj.deserialize(params.CertSet[z]); + this.CertSet.push(obj); + } + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * DescribeDDoSBlackWhiteIpList返回参数结构体 + * @class + */ +class DescribeDDoSBlackWhiteIpListResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 黑名单IP列表 + * @type {Array. || null} + */ + this.BlackIpList = null; + + /** + * 白名单IP列表 + * @type {Array. || null} + */ + this.WhiteIpList = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + + if (params.BlackIpList) { + this.BlackIpList = new Array(); + for (let z in params.BlackIpList) { + let obj = new IpSegment(); + obj.deserialize(params.BlackIpList[z]); + this.BlackIpList.push(obj); + } + } + + if (params.WhiteIpList) { + this.WhiteIpList = new Array(); + for (let z in params.WhiteIpList) { + let obj = new IpSegment(); + obj.deserialize(params.WhiteIpList[z]); + this.WhiteIpList.push(obj); + } + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * 资源实例IP信息 + * @class + */ +class InstanceRelation extends AbstractModel { + constructor(){ + super(); + + /** + * 资源实例的IP + * @type {Array. || null} + */ + this.EipList = null; + + /** + * 资源实例的ID + * @type {string || null} + */ + this.InstanceId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.EipList = 'EipList' in params ? params.EipList : null; + this.InstanceId = 'InstanceId' in params ? params.InstanceId : null; + + } +} + +/** + * ModifyNewDomainRules请求参数结构体 + * @class + */ +class ModifyNewDomainRulesRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 大禹子产品代号(bgpip表示高防IP) + * @type {string || null} + */ + this.Business = null; + + /** + * 资源ID + * @type {string || null} + */ + this.Id = null; + + /** + * 域名转发规则 + * @type {NewL7RuleEntry || null} + */ + this.Rule = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Business = 'Business' in params ? params.Business : null; + this.Id = 'Id' in params ? params.Id : null; + + if (params.Rule) { + let obj = new NewL7RuleEntry(); + obj.deserialize(params.Rule) + this.Rule = obj; + } + + } +} + +/** + * 地域信息 + * @class + */ +class RegionInfo extends AbstractModel { + constructor(){ + super(); + + /** + * 地域名称,例如,ap-guangzhou + * @type {string || null} + */ + this.Region = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Region = 'Region' in params ? params.Region : null; + + } +} + +/** + * DescribeListProtocolBlockConfig返回参数结构体 + * @class + */ +class DescribeListProtocolBlockConfigResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 总数 + * @type {number || null} + */ + this.Total = null; + + /** + * 协议封禁配置 + * @type {Array. || null} + */ + this.ConfigList = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Total = 'Total' in params ? params.Total : null; + + if (params.ConfigList) { + this.ConfigList = new Array(); + for (let z in params.ConfigList) { + let obj = new ProtocolBlockRelation(); + obj.deserialize(params.ConfigList[z]); + this.ConfigList.push(obj); + } + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * DescribeListBGPInstances请求参数结构体 + * @class + */ +class DescribeListBGPInstancesRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 页起始偏移,取值为(页码-1)*一页条数 + * @type {number || null} + */ + this.Offset = null; + + /** + * 一页条数,当Limit=0时,默认一页条数为20;最大取值为100 + * @type {number || null} + */ + this.Limit = null; + + /** + * IP搜索 + * @type {string || null} + */ + this.FilterIp = null; + + /** + * 资产实例ID搜索,例如,bgp-00000001 + * @type {string || null} + */ + this.FilterInstanceId = null; + + /** + * 地域搜索,例如,ap-guangzhou + * @type {string || null} + */ + this.FilterRegion = null; + + /** + * 名称搜索 + * @type {string || null} + */ + this.FilterName = null; + + /** + * 按照线路搜索, 1: BGP; 2: 三网 + * @type {number || null} + */ + this.FilterLine = null; + + /** + * 状态搜索,idle:运行中;attacking:攻击中;blocking:封堵中 + * @type {string || null} + */ + this.FilterStatus = null; + + /** + * 高防包绑定状态搜索,bounding:绑定中; failed:绑定失败 + * @type {string || null} + */ + this.FilterBoundStatus = null; + + /** + * 实例id数组 + * @type {Array. || null} + */ + this.FilterInstanceIdList = null; + + /** + * 企业版搜索 + * @type {number || null} + */ + this.FilterEnterpriseFlag = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Offset = 'Offset' in params ? params.Offset : null; + this.Limit = 'Limit' in params ? params.Limit : null; + this.FilterIp = 'FilterIp' in params ? params.FilterIp : null; + this.FilterInstanceId = 'FilterInstanceId' in params ? params.FilterInstanceId : null; + this.FilterRegion = 'FilterRegion' in params ? params.FilterRegion : null; + this.FilterName = 'FilterName' in params ? params.FilterName : null; + this.FilterLine = 'FilterLine' in params ? params.FilterLine : null; + this.FilterStatus = 'FilterStatus' in params ? params.FilterStatus : null; + this.FilterBoundStatus = 'FilterBoundStatus' in params ? params.FilterBoundStatus : null; + this.FilterInstanceIdList = 'FilterInstanceIdList' in params ? params.FilterInstanceIdList : null; + this.FilterEnterpriseFlag = 'FilterEnterpriseFlag' in params ? params.FilterEnterpriseFlag : null; + + } +} + +/** + * 字段值,K-V形式 + * @class + */ +class KeyValue extends AbstractModel { + constructor(){ + super(); + + /** + * 字段名称 + * @type {string || null} + */ + this.Key = null; + + /** + * 字段取值 + * @type {string || null} + */ + this.Value = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Key = 'Key' in params ? params.Key : null; + this.Value = 'Value' in params ? params.Value : null; + + } +} + +/** + * ModifyCcBlackWhiteIpList请求参数结构体 + * @class + */ +class ModifyCcBlackWhiteIpListRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 资源实例ID + * @type {string || null} + */ + this.InstanceId = null; + + /** + * IP列表 + * @type {Array. || null} + */ + this.IpList = null; + + /** + * IP类型,取值[black(黑名单IP), white(白名单IP)] + * @type {string || null} + */ + this.Type = null; + + /** + * 策略Id + * @type {string || null} + */ + this.PolicyId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.InstanceId = 'InstanceId' in params ? params.InstanceId : null; + + if (params.IpList) { + this.IpList = new Array(); + for (let z in params.IpList) { + let obj = new IpSegment(); + obj.deserialize(params.IpList[z]); + this.IpList.push(obj); + } + } + this.Type = 'Type' in params ? params.Type : null; + this.PolicyId = 'PolicyId' in params ? params.PolicyId : null; + + } +} + +/** + * DeleteDDoSSpeedLimitConfig请求参数结构体 + * @class + */ +class DeleteDDoSSpeedLimitConfigRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 资源实例ID + * @type {string || null} + */ + this.InstanceId = null; + + /** + * 访问限速配置,填写参数时配置ID不能为空 + * @type {DDoSSpeedLimitConfig || null} + */ + this.DDoSSpeedLimitConfig = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.InstanceId = 'InstanceId' in params ? params.InstanceId : null; + + if (params.DDoSSpeedLimitConfig) { + let obj = new DDoSSpeedLimitConfig(); + obj.deserialize(params.DDoSSpeedLimitConfig) + this.DDoSSpeedLimitConfig = obj; + } + + } +} + +/** + * CreatePacketFilterConfig返回参数结构体 + * @class + */ +class CreatePacketFilterConfigResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * CreateCCReqLimitPolicy返回参数结构体 + * @class + */ +class CreateCCReqLimitPolicyResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * DescribeListWaterPrintConfig请求参数结构体 + * @class + */ +class DescribeListWaterPrintConfigRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 页起始偏移,取值为(页码-1)*一页条数 + * @type {number || null} + */ + this.Offset = null; + + /** + * 一页条数,当Limit=0时,默认一页条数为100;最大取值为100 + * @type {number || null} + */ + this.Limit = null; + + /** + * 资源实例ID搜索, 支持资源实例前缀通配搜索,例如bgp-*表示获取高防包类型的资源实例 + * @type {string || null} + */ + this.FilterInstanceId = null; + + /** + * IP搜索 + * @type {string || null} + */ + this.FilterIp = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Offset = 'Offset' in params ? params.Offset : null; + this.Limit = 'Limit' in params ? params.Limit : null; + this.FilterInstanceId = 'FilterInstanceId' in params ? params.FilterInstanceId : null; + this.FilterIp = 'FilterIp' in params ? params.FilterIp : null; + + } +} + +/** + * CreateL7RuleCerts请求参数结构体 + * @class + */ +class CreateL7RuleCertsRequest extends AbstractModel { + constructor(){ + super(); + + /** + * SSL证书ID + * @type {string || null} + */ + this.CertId = null; + + /** + * L7域名转发规则列表 + * @type {Array. || null} + */ + this.L7Rules = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.CertId = 'CertId' in params ? params.CertId : null; + + if (params.L7Rules) { + this.L7Rules = new Array(); + for (let z in params.L7Rules) { + let obj = new InsL7Rules(); + obj.deserialize(params.L7Rules[z]); + this.L7Rules.push(obj); + } + } + + } +} + +/** + * CreateCCPrecisionPolicy返回参数结构体 + * @class + */ +class CreateCCPrecisionPolicyResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * DeleteCcGeoIPBlockConfig返回参数结构体 + * @class + */ +class DeleteCcGeoIPBlockConfigResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * DeleteDDoSGeoIPBlockConfig请求参数结构体 + * @class + */ +class DeleteDDoSGeoIPBlockConfigRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 资源实例ID + * @type {string || null} + */ + this.InstanceId = null; + + /** + * DDoS区域封禁配置,填写参数时配置ID不能为空 + * @type {DDoSGeoIPBlockConfig || null} + */ + this.DDoSGeoIPBlockConfig = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.InstanceId = 'InstanceId' in params ? params.InstanceId : null; + + if (params.DDoSGeoIPBlockConfig) { + let obj = new DDoSGeoIPBlockConfig(); + obj.deserialize(params.DDoSGeoIPBlockConfig) + this.DDoSGeoIPBlockConfig = obj; + } + + } +} + +/** + * ModifyDDoSGeoIPBlockConfig返回参数结构体 + * @class + */ +class ModifyDDoSGeoIPBlockConfigResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * DescribeCcBlackWhiteIpList返回参数结构体 + * @class + */ +class DescribeCcBlackWhiteIpListResponse extends AbstractModel { + constructor(){ + super(); + + /** + * CC四层黑白名单策略列表总数 + * @type {number || null} + */ + this.Total = null; + + /** + * CC四层黑白名单策略列表详情 + * @type {Array. || null} + */ + this.CcBlackWhiteIpList = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Total = 'Total' in params ? params.Total : null; + + if (params.CcBlackWhiteIpList) { + this.CcBlackWhiteIpList = new Array(); + for (let z in params.CcBlackWhiteIpList) { + let obj = new CcBlackWhiteIpPolicy(); + obj.deserialize(params.CcBlackWhiteIpList[z]); + this.CcBlackWhiteIpList.push(obj); + } + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * ModifyCCLevelPolicy返回参数结构体 + * @class + */ +class ModifyCCLevelPolicyResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * CreateIPAlarmThresholdConfig请求参数结构体 + * @class + */ +class CreateIPAlarmThresholdConfigRequest extends AbstractModel { + constructor(){ + super(); + + /** + * IP告警阈值配置列表 + * @type {Array. || null} + */ + this.IpAlarmThresholdConfigList = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + + if (params.IpAlarmThresholdConfigList) { + this.IpAlarmThresholdConfigList = new Array(); + for (let z in params.IpAlarmThresholdConfigList) { + let obj = new IPAlarmThresholdRelation(); + obj.deserialize(params.IpAlarmThresholdConfigList[z]); + this.IpAlarmThresholdConfigList.push(obj); + } + } + + } +} + +/** + * CreateCcBlackWhiteIpList返回参数结构体 + * @class + */ +class CreateCcBlackWhiteIpListResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * DescribeDefaultAlarmThreshold返回参数结构体 + * @class + */ +class DescribeDefaultAlarmThresholdResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 默认告警阈值配置 + * @type {Array. || null} + */ + this.DefaultAlarmConfigList = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + + if (params.DefaultAlarmConfigList) { + this.DefaultAlarmConfigList = new Array(); + for (let z in params.DefaultAlarmConfigList) { + let obj = new DefaultAlarmThreshold(); + obj.deserialize(params.DefaultAlarmConfigList[z]); + this.DefaultAlarmConfigList.push(obj); + } + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * CreateDDoSAI请求参数结构体 + * @class + */ +class CreateDDoSAIRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 资源实例ID列表 + * @type {Array. || null} + */ + this.InstanceIdList = null; + + /** + * AI防护开关,取值[ +on(开启) +off(关闭) +] + * @type {string || null} + */ + this.DDoSAI = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.InstanceIdList = 'InstanceIdList' in params ? params.InstanceIdList : null; + this.DDoSAI = 'DDoSAI' in params ? params.DDoSAI : null; + + } +} + +/** + * DescribeListProtectThresholdConfig请求参数结构体 + * @class + */ +class DescribeListProtectThresholdConfigRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 页起始偏移,取值为(页码-1)*一页条数 + * @type {number || null} + */ + this.Offset = null; + + /** + * 一页条数,当Limit=0时,默认一页条数为100;最大取值为100 + * @type {number || null} + */ + this.Limit = null; + + /** + * 资源实例ID搜索, 支持资源实例前缀通配搜索,例如bgp-*表示获取高防包类型的资源实例 + * @type {string || null} + */ + this.FilterInstanceId = null; + + /** + * IP搜索 + * @type {string || null} + */ + this.FilterIp = null; + + /** + * 域名搜索(查询域名与协议的CC防护阈值时使用) + * @type {string || null} + */ + this.FilterDomain = null; + + /** + * 协议搜索(查询域名与协议的CC防护阈值时使用) + * @type {string || null} + */ + this.FilterProtocol = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Offset = 'Offset' in params ? params.Offset : null; + this.Limit = 'Limit' in params ? params.Limit : null; + this.FilterInstanceId = 'FilterInstanceId' in params ? params.FilterInstanceId : null; + this.FilterIp = 'FilterIp' in params ? params.FilterIp : null; + this.FilterDomain = 'FilterDomain' in params ? params.FilterDomain : null; + this.FilterProtocol = 'FilterProtocol' in params ? params.FilterProtocol : null; + + } +} + +/** + * ModifyNewDomainRules返回参数结构体 + * @class + */ +class ModifyNewDomainRulesResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 成功码 + * @type {SuccessCode || null} + */ + this.Success = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + + if (params.Success) { + let obj = new SuccessCode(); + obj.deserialize(params.Success) + this.Success = obj; + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * CC四层黑白名单列表 + * @class + */ +class CcBlackWhiteIpPolicy extends AbstractModel { + constructor(){ + super(); + + /** + * 策略Id + * @type {string || null} + */ + this.PolicyId = null; + + /** + * 实例Id + * @type {string || null} + */ + this.InstanceId = null; + + /** + * IP地址 + * @type {string || null} + */ + this.Ip = null; + + /** + * 域名 + * @type {string || null} + */ + this.Domain = null; + + /** + * 协议 + * @type {string || null} + */ + this.Protocol = null; + + /** + * IP类型,取值[black(黑名单IP), white(白名单IP)] + * @type {string || null} + */ + this.Type = null; + + /** + * 黑白名单IP地址 + * @type {string || null} + */ + this.BlackWhiteIp = null; + + /** + * 掩码 + * @type {number || null} + */ + this.Mask = null; + + /** + * 创建时间 + * @type {string || null} + */ + this.CreateTime = null; + + /** + * 修改时间 + * @type {string || null} + */ + this.ModifyTime = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.PolicyId = 'PolicyId' in params ? params.PolicyId : null; + this.InstanceId = 'InstanceId' in params ? params.InstanceId : null; + this.Ip = 'Ip' in params ? params.Ip : null; + this.Domain = 'Domain' in params ? params.Domain : null; + this.Protocol = 'Protocol' in params ? params.Protocol : null; + this.Type = 'Type' in params ? params.Type : null; + this.BlackWhiteIp = 'BlackWhiteIp' in params ? params.BlackWhiteIp : null; + this.Mask = 'Mask' in params ? params.Mask : null; + this.CreateTime = 'CreateTime' in params ? params.CreateTime : null; + this.ModifyTime = 'ModifyTime' in params ? params.ModifyTime : null; + + } +} + +/** + * DescribeDDoSConnectLimitList返回参数结构体 + * @class + */ +class DescribeDDoSConnectLimitListResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 连接抑制配置总数 + * @type {number || null} + */ + this.Total = null; + + /** + * 连接抑制配置详情信息 + * @type {Array. || null} + */ + this.ConfigList = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Total = 'Total' in params ? params.Total : null; + + if (params.ConfigList) { + this.ConfigList = new Array(); + for (let z in params.ConfigList) { + let obj = new ConnectLimitRelation(); + obj.deserialize(params.ConfigList[z]); + this.ConfigList.push(obj); + } + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * ModifyPacketFilterConfig返回参数结构体 + * @class + */ +class ModifyPacketFilterConfigResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * DescribeCCLevelPolicy请求参数结构体 + * @class + */ +class DescribeCCLevelPolicyRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 实例Id + * @type {string || null} + */ + this.InstanceId = null; + + /** + * IP值 + * @type {string || null} + */ + this.Ip = null; + + /** + * 域名 + * @type {string || null} + */ + this.Domain = null; + + /** + * 协议,可取值HTTP,HTTPS + * @type {string || null} + */ + this.Protocol = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.InstanceId = 'InstanceId' in params ? params.InstanceId : null; + this.Ip = 'Ip' in params ? params.Ip : null; + this.Domain = 'Domain' in params ? params.Domain : null; + this.Protocol = 'Protocol' in params ? params.Protocol : null; + + } +} + +/** + * CreateWaterPrintConfig返回参数结构体 + * @class + */ +class CreateWaterPrintConfigResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * DescribeOverviewAttackTrend请求参数结构体 + * @class + */ +class DescribeOverviewAttackTrendRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 攻击类型,取值ddos, cc + * @type {string || null} + */ + this.Type = null; + + /** + * 纬度,当前仅支持attackcount + * @type {string || null} + */ + this.Dimension = null; + + /** + * 周期,当前仅支持86400 + * @type {number || null} + */ + this.Period = null; + + /** + * 起始时间 + * @type {string || null} + */ + this.StartTime = null; + + /** + * 结束时间 + * @type {string || null} + */ + this.EndTime = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Type = 'Type' in params ? params.Type : null; + this.Dimension = 'Dimension' in params ? params.Dimension : null; + this.Period = 'Period' in params ? params.Period : null; + this.StartTime = 'StartTime' in params ? params.StartTime : null; + this.EndTime = 'EndTime' in params ? params.EndTime : null; + + } +} + +/** + * DescribeListBGPIPInstances请求参数结构体 + * @class + */ +class DescribeListBGPIPInstancesRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 页起始偏移,取值为(页码-1)*一页条数 + * @type {number || null} + */ + this.Offset = null; + + /** + * 一页条数,当Limit=0时,默认一页条数为20;最大取值为100 + * @type {number || null} + */ + this.Limit = null; + + /** + * IP搜索 + * @type {string || null} + */ + this.FilterIp = null; + + /** + * 资产实例ID搜索,例如,bgpip-00000001 + * @type {string || null} + */ + this.FilterInstanceId = null; + + /** + * 高防IP线路搜索,取值为[ +1:BGP线路 +2:电信 +3:联通 +4:移动 +99:第三方合作线路 +] + * @type {number || null} + */ + this.FilterLine = null; + + /** + * 地域搜索,例如,ap-guangzhou + * @type {string || null} + */ + this.FilterRegion = null; + + /** + * 名称搜索 + * @type {string || null} + */ + this.FilterName = null; + + /** + * 是否只获取高防弹性公网IP实例。填写时,只能填写1或者0。当填写1时,表示返回高防弹性公网IP实例。当填写0时,表示返回非高防弹性公网IP实例。 + * @type {number || null} + */ + this.FilterEipType = null; + + /** + * 高防弹性公网IP实例的绑定状态搜索条件,取值范围 [BINDING、 BIND、UNBINDING、UNBIND]。该搜索条件只在FilterEipType=1时才有效。 + * @type {Array. || null} + */ + this.FilterEipEipAddressStatus = null; + + /** + * 是否只获取安全加速实例。填写时,只能填写1或者0。当填写1时,表示返回安全加速实例。当填写0时,表示返回非安全加速实例。 + * @type {number || null} + */ + this.FilterDamDDoSStatus = null; + + /** + * 获取特定状态的资源,运行中填idle,攻击中填attacking,封堵中填blocking + * @type {string || null} + */ + this.FilterStatus = null; + + /** + * 获取特定的实例Cname + * @type {string || null} + */ + this.FilterCname = null; + + /** + * 批量查询实例ID对应的高防IP实例资源 + * @type {Array. || null} + */ + this.FilterInstanceIdList = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Offset = 'Offset' in params ? params.Offset : null; + this.Limit = 'Limit' in params ? params.Limit : null; + this.FilterIp = 'FilterIp' in params ? params.FilterIp : null; + this.FilterInstanceId = 'FilterInstanceId' in params ? params.FilterInstanceId : null; + this.FilterLine = 'FilterLine' in params ? params.FilterLine : null; + this.FilterRegion = 'FilterRegion' in params ? params.FilterRegion : null; + this.FilterName = 'FilterName' in params ? params.FilterName : null; + this.FilterEipType = 'FilterEipType' in params ? params.FilterEipType : null; + this.FilterEipEipAddressStatus = 'FilterEipEipAddressStatus' in params ? params.FilterEipEipAddressStatus : null; + this.FilterDamDDoSStatus = 'FilterDamDDoSStatus' in params ? params.FilterDamDDoSStatus : null; + this.FilterStatus = 'FilterStatus' in params ? params.FilterStatus : null; + this.FilterCname = 'FilterCname' in params ? params.FilterCname : null; + this.FilterInstanceIdList = 'FilterInstanceIdList' in params ? params.FilterInstanceIdList : null; + + } +} + +/** + * 三网高防套餐详情 + * @class + */ +class StaticPackRelation extends AbstractModel { + constructor(){ + super(); + + /** + * 保底带宽 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {number || null} + */ + this.ProtectBandwidth = null; + + /** + * 业务带宽 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {number || null} + */ + this.NormalBandwidth = null; + + /** + * 转发规则 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {number || null} + */ + this.ForwardRulesLimit = null; + + /** + * 自动续费标记 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {number || null} + */ + this.AutoRenewFlag = null; + + /** + * 到期时间 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.CurDeadline = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.ProtectBandwidth = 'ProtectBandwidth' in params ? params.ProtectBandwidth : null; + this.NormalBandwidth = 'NormalBandwidth' in params ? params.NormalBandwidth : null; + this.ForwardRulesLimit = 'ForwardRulesLimit' in params ? params.ForwardRulesLimit : null; + this.AutoRenewFlag = 'AutoRenewFlag' in params ? params.AutoRenewFlag : null; + this.CurDeadline = 'CurDeadline' in params ? params.CurDeadline : null; + + } +} + +/** + * CreatePortAclConfig请求参数结构体 + * @class + */ +class CreatePortAclConfigRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 资源实例ID + * @type {string || null} + */ + this.InstanceId = null; + + /** + * 端口acl策略 + * @type {AclConfig || null} + */ + this.AclConfig = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.InstanceId = 'InstanceId' in params ? params.InstanceId : null; + + if (params.AclConfig) { + let obj = new AclConfig(); + obj.deserialize(params.AclConfig) + this.AclConfig = obj; + } + + } +} + +/** + * DescribeCCThresholdList返回参数结构体 + * @class + */ +class DescribeCCThresholdListResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 清洗阈值策略列表总数 + * @type {number || null} + */ + this.Total = null; + + /** + * 清洗阈值策略列表详情 + * @type {Array. || null} + */ + this.ThresholdList = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Total = 'Total' in params ? params.Total : null; + + if (params.ThresholdList) { + this.ThresholdList = new Array(); + for (let z in params.ThresholdList) { + let obj = new CCThresholdPolicy(); + obj.deserialize(params.ThresholdList[z]); + this.ThresholdList.push(obj); + } + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * DescribeL7RulesBySSLCertId请求参数结构体 + * @class + */ +class DescribeL7RulesBySSLCertIdRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 域名状态,可取bindable, binded, opened, closed, all,all表示全部状态 + * @type {string || null} + */ + this.Status = null; + + /** + * 证书ID列表 + * @type {Array. || null} + */ + this.CertIds = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Status = 'Status' in params ? params.Status : null; + this.CertIds = 'CertIds' in params ? params.CertIds : null; + + } +} + +/** + * DescribeListPacketFilterConfig返回参数结构体 + * @class + */ +class DescribeListPacketFilterConfigResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 总数 + * @type {number || null} + */ + this.Total = null; + + /** + * 特征过滤配置 + * @type {Array. || null} + */ + this.ConfigList = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Total = 'Total' in params ? params.Total : null; + + if (params.ConfigList) { + this.ConfigList = new Array(); + for (let z in params.ConfigList) { + let obj = new PacketFilterRelation(); + obj.deserialize(params.ConfigList[z]); + this.ConfigList.push(obj); + } + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * DeleteBlackWhiteIpList返回参数结构体 + * @class + */ +class DeleteBlackWhiteIpListResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * CreateSchedulingDomain请求参数结构体 + * @class + */ +class CreateSchedulingDomainRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 代表是否混合云本地化的产品。 +hybrid: 宙斯盾本地化 +不填写:其他 + * @type {string || null} + */ + this.Product = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Product = 'Product' in params ? params.Product : null; + + } +} + +/** + * ModifyPortAclConfig请求参数结构体 + * @class + */ +class ModifyPortAclConfigRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 资源实例ID + * @type {string || null} + */ + this.InstanceId = null; + + /** + * 旧端口acl策略 + * @type {AclConfig || null} + */ + this.OldAclConfig = null; + + /** + * 新端口acl策略 + * @type {AclConfig || null} + */ + this.NewAclConfig = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.InstanceId = 'InstanceId' in params ? params.InstanceId : null; + + if (params.OldAclConfig) { + let obj = new AclConfig(); + obj.deserialize(params.OldAclConfig) + this.OldAclConfig = obj; + } + + if (params.NewAclConfig) { + let obj = new AclConfig(); + obj.deserialize(params.NewAclConfig) + this.NewAclConfig = obj; + } + + } +} + +/** + * 高防包绑定IP对象 + * @class + */ +class BoundIpInfo extends AbstractModel { + constructor(){ + super(); + + /** + * IP地址 + * @type {string || null} + */ + this.Ip = null; + + /** + * 绑定的产品分类,绑定操作为必填项,解绑操作可不填。取值[public(CVM、CLB产品),bm(黑石产品),eni(弹性网卡),vpngw(VPN网关), natgw(NAT网关),waf(Web应用安全产品),fpc(金融产品),gaap(GAAP产品), other(托管IP)] + * @type {string || null} + */ + this.BizType = null; + + /** + * IP所属的资源实例ID,绑定操作为必填项,解绑操作可不填。例如是弹性网卡的IP,则InstanceId填写弹性网卡的ID(eni-*); 如果绑定的是托管IP没有对应的资源实例ID,请填写"none"; + * @type {string || null} + */ + this.InstanceId = null; + + /** + * 产品分类下的子类型,绑定操作为必填项,解绑操作可不填。取值[cvm(CVM),lb(负载均衡器),eni(弹性网卡),vpngw(VPN),natgw(NAT),waf(WAF),fpc(金融),gaap(GAAP),other(托管IP),eip(黑石弹性IP)] + * @type {string || null} + */ + this.DeviceType = null; + + /** + * 运营商,绑定操作为必填项,解绑操作可不填。0:电信;1:联通;2:移动;5:BGP + * @type {number || null} + */ + this.IspCode = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Ip = 'Ip' in params ? params.Ip : null; + this.BizType = 'BizType' in params ? params.BizType : null; + this.InstanceId = 'InstanceId' in params ? params.InstanceId : null; + this.DeviceType = 'DeviceType' in params ? params.DeviceType : null; + this.IspCode = 'IspCode' in params ? params.IspCode : null; + + } +} + +/** + * CreateDDoSBlackWhiteIpList请求参数结构体 + * @class + */ +class CreateDDoSBlackWhiteIpListRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 资源实例ID + * @type {string || null} + */ + this.InstanceId = null; + + /** + * IP列表 + * @type {Array. || null} + */ + this.IpList = null; + + /** + * IP类型,取值[black(黑名单IP), white(白名单IP)] + * @type {string || null} + */ + this.Type = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.InstanceId = 'InstanceId' in params ? params.InstanceId : null; + + if (params.IpList) { + this.IpList = new Array(); + for (let z in params.IpList) { + let obj = new IpSegment(); + obj.deserialize(params.IpList[z]); + this.IpList.push(obj); + } + } + this.Type = 'Type' in params ? params.Type : null; + + } +} + +/** + * ModifyCCReqLimitPolicy请求参数结构体 + * @class + */ +class ModifyCCReqLimitPolicyRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 实例Id + * @type {string || null} + */ + this.InstanceId = null; + + /** + * 策略Id + * @type {string || null} + */ + this.PolicyId = null; + + /** + * 策略项 + * @type {CCReqLimitPolicyRecord || null} + */ + this.Policy = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.InstanceId = 'InstanceId' in params ? params.InstanceId : null; + this.PolicyId = 'PolicyId' in params ? params.PolicyId : null; + + if (params.Policy) { + let obj = new CCReqLimitPolicyRecord(); + obj.deserialize(params.Policy) + this.Policy = obj; + } + + } +} + +/** + * DescribeOverviewDDoSTrend请求参数结构体 + * @class + */ +class DescribeOverviewDDoSTrendRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 大禹子产品代号(bgpip表示高防IP;bgp-multip表示高防包;basic表示DDoS基础防护) + * @type {string || null} + */ + this.Business = null; + + /** + * 统计粒度,取值[300(5分钟),3600(小时),86400(天)] + * @type {number || null} + */ + this.Period = null; + + /** + * 统计开始时间 + * @type {string || null} + */ + this.StartTime = null; + + /** + * 统计结束时间 + * @type {string || null} + */ + this.EndTime = null; + + /** + * 指标,取值[bps(攻击流量带宽,pps(攻击包速率))] + * @type {string || null} + */ + this.MetricName = null; + + /** + * 资源实例的IP列表 + * @type {Array. || null} + */ + this.IpList = null; + + /** + * 资源实例ID + * @type {string || null} + */ + this.Id = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Business = 'Business' in params ? params.Business : null; + this.Period = 'Period' in params ? params.Period : null; + this.StartTime = 'StartTime' in params ? params.StartTime : null; + this.EndTime = 'EndTime' in params ? params.EndTime : null; + this.MetricName = 'MetricName' in params ? params.MetricName : null; + this.IpList = 'IpList' in params ? params.IpList : null; + this.Id = 'Id' in params ? params.Id : null; + + } +} + +/** + * DisassociateDDoSEipAddress返回参数结构体 + * @class + */ +class DisassociateDDoSEipAddressResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * DeleteCCThresholdPolicy返回参数结构体 + * @class + */ +class DeleteCCThresholdPolicyResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * DeleteBlackWhiteIpList请求参数结构体 + * @class + */ +class DeleteBlackWhiteIpListRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 资源实例ID + * @type {string || null} + */ + this.InstanceId = null; + + /** + * IP列表 + * @type {Array. || null} + */ + this.IpList = null; + + /** + * IP类型,取值[black(黑名单IP), white(白名单IP)] + * @type {string || null} + */ + this.Type = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.InstanceId = 'InstanceId' in params ? params.InstanceId : null; + this.IpList = 'IpList' in params ? params.IpList : null; + this.Type = 'Type' in params ? params.Type : null; + + } +} + +/** + * 源站信息 + * @class + */ +class SourceServer extends AbstractModel { + constructor(){ + super(); + + /** + * 源站的地址(IP或者域名) + * @type {string || null} + */ + this.RealServer = null; + + /** + * 源站的地址类型,取值[ +1(域名地址) +2(IP地址) +] + * @type {number || null} + */ + this.RsType = null; + + /** + * 源站的回源权重,取值1~100 + * @type {number || null} + */ + this.Weight = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.RealServer = 'RealServer' in params ? params.RealServer : null; + this.RsType = 'RsType' in params ? params.RsType : null; + this.Weight = 'Weight' in params ? params.Weight : null; + + } +} + +/** + * CC分级策略 + * @class + */ +class CCLevelPolicy extends AbstractModel { + constructor(){ + super(); + + /** + * 实例Id + * @type {string || null} + */ + this.InstanceId = null; + + /** + * Ip + * @type {string || null} + */ + this.Ip = null; + + /** + * 协议 + * @type {string || null} + */ + this.Protocol = null; + + /** + * 域名 + * @type {string || null} + */ + this.Domain = null; + + /** + * 防护等级,可取值default表示默认策略,loose表示宽松,strict表示严格 + * @type {string || null} + */ + this.Level = null; + + /** + * 创建时间 + * @type {string || null} + */ + this.CreateTime = null; + + /** + * 修改时间 + * @type {string || null} + */ + this.ModifyTime = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.InstanceId = 'InstanceId' in params ? params.InstanceId : null; + this.Ip = 'Ip' in params ? params.Ip : null; + this.Protocol = 'Protocol' in params ? params.Protocol : null; + this.Domain = 'Domain' in params ? params.Domain : null; + this.Level = 'Level' in params ? params.Level : null; + this.CreateTime = 'CreateTime' in params ? params.CreateTime : null; + this.ModifyTime = 'ModifyTime' in params ? params.ModifyTime : null; + + } +} + +/** + * DescribeOverviewIndex返回参数结构体 + * @class + */ +class DescribeOverviewIndexResponse extends AbstractModel { + constructor(){ + super(); + + /** + * IP总数 + * @type {number || null} + */ + this.AllIpCount = null; + + /** + * 高防IP总数(包含高防包+高防IP) + * @type {number || null} + */ + this.AntiddosIpCount = null; + + /** + * 攻击IP总数 + * @type {number || null} + */ + this.AttackIpCount = null; + + /** + * 封堵IP总数 + * @type {number || null} + */ + this.BlockIpCount = null; + + /** + * 高防域名总数 + * @type {number || null} + */ + this.AntiddosDomainCount = null; + + /** + * 攻击域名总数 + * @type {number || null} + */ + this.AttackDomainCount = null; + + /** + * 攻击流量峰值 + * @type {number || null} + */ + this.MaxAttackFlow = null; + + /** + * 当前最近一条攻击中的起始时间 + * @type {string || null} + */ + this.NewAttackTime = null; + + /** + * 当前最近一条攻击中的IP + * @type {string || null} + */ + this.NewAttackIp = null; + + /** + * 当前最近一条攻击中的攻击类型 + * @type {string || null} + */ + this.NewAttackType = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.AllIpCount = 'AllIpCount' in params ? params.AllIpCount : null; + this.AntiddosIpCount = 'AntiddosIpCount' in params ? params.AntiddosIpCount : null; + this.AttackIpCount = 'AttackIpCount' in params ? params.AttackIpCount : null; + this.BlockIpCount = 'BlockIpCount' in params ? params.BlockIpCount : null; + this.AntiddosDomainCount = 'AntiddosDomainCount' in params ? params.AntiddosDomainCount : null; + this.AttackDomainCount = 'AttackDomainCount' in params ? params.AttackDomainCount : null; + this.MaxAttackFlow = 'MaxAttackFlow' in params ? params.MaxAttackFlow : null; + this.NewAttackTime = 'NewAttackTime' in params ? params.NewAttackTime : null; + this.NewAttackIp = 'NewAttackIp' in params ? params.NewAttackIp : null; + this.NewAttackType = 'NewAttackType' in params ? params.NewAttackType : null; + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * CreatePortAclConfigList请求参数结构体 + * @class + */ +class CreatePortAclConfigListRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 资源实例ID列表 + * @type {Array. || null} + */ + this.InstanceIdList = null; + + /** + * 端口acl策略 + * @type {AclConfig || null} + */ + this.AclConfig = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.InstanceIdList = 'InstanceIdList' in params ? params.InstanceIdList : null; + + if (params.AclConfig) { + let obj = new AclConfig(); + obj.deserialize(params.AclConfig) + this.AclConfig = obj; + } + + } +} + +/** + * 基于端口的acl策略 + * @class + */ +class AclConfig extends AbstractModel { + constructor(){ + super(); + + /** + * 协议类型, 可取值tcp, udp, all + * @type {string || null} + */ + this.ForwardProtocol = null; + + /** + * 目的端口起始,可取值范围0~65535 + * @type {number || null} + */ + this.DPortStart = null; + + /** + * 目的端口结束,可取值范围0~65535 + * @type {number || null} + */ + this.DPortEnd = null; + + /** + * 来源端口起始,可取值范围0~65535 + * @type {number || null} + */ + this.SPortStart = null; + + /** + * 来源端口结束,可取值范围0~65535 + * @type {number || null} + */ + this.SPortEnd = null; + + /** + * 动作,可取值:drop, transmit, forward + * @type {string || null} + */ + this.Action = null; + + /** + * 策略优先级,数字越小,级别越高,该规则越靠前匹配,取值1-1000 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {number || null} + */ + this.Priority = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.ForwardProtocol = 'ForwardProtocol' in params ? params.ForwardProtocol : null; + this.DPortStart = 'DPortStart' in params ? params.DPortStart : null; + this.DPortEnd = 'DPortEnd' in params ? params.DPortEnd : null; + this.SPortStart = 'SPortStart' in params ? params.SPortStart : null; + this.SPortEnd = 'SPortEnd' in params ? params.SPortEnd : null; + this.Action = 'Action' in params ? params.Action : null; + this.Priority = 'Priority' in params ? params.Priority : null; + + } +} + +/** + * DisassociateDDoSEipAddress请求参数结构体 + * @class + */ +class DisassociateDDoSEipAddressRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 资源实例ID,实例ID形如:bgpip-0000011x。只能填写高防IP实例。 + * @type {string || null} + */ + this.InstanceId = null; + + /** + * 资源实例ID对应的高防弹性公网IP。 + * @type {string || null} + */ + this.Eip = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.InstanceId = 'InstanceId' in params ? params.InstanceId : null; + this.Eip = 'Eip' in params ? params.Eip : null; + + } +} + +/** + * SwitchWaterPrintConfig返回参数结构体 + * @class + */ +class SwitchWaterPrintConfigResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * 黑白名单IP + * @class + */ +class BlackWhiteIpRelation extends AbstractModel { + constructor(){ + super(); + + /** + * IP地址 + * @type {string || null} + */ + this.Ip = null; + + /** + * IP类型,取值[black(黑IP),white(白IP)] + * @type {string || null} + */ + this.Type = null; + + /** + * 黑白IP所属的实例 + * @type {Array. || null} + */ + this.InstanceDetailList = null; + + /** + * ip掩码,0表示32位完整ip + * @type {number || null} + */ + this.Mask = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Ip = 'Ip' in params ? params.Ip : null; + this.Type = 'Type' in params ? params.Type : null; + + if (params.InstanceDetailList) { + this.InstanceDetailList = new Array(); + for (let z in params.InstanceDetailList) { + let obj = new InstanceRelation(); + obj.deserialize(params.InstanceDetailList[z]); + this.InstanceDetailList.push(obj); + } + } + this.Mask = 'Mask' in params ? params.Mask : null; + + } +} + +/** + * DeleteWaterPrintKey返回参数结构体 + * @class + */ +class DeleteWaterPrintKeyResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * Anycast高防套餐详情 + * @class + */ +class EipAddressPackRelation extends AbstractModel { + constructor(){ + super(); + + /** + * 套餐IP数量 + * @type {number || null} + */ + this.IpCount = null; + + /** + * 自动续费标记 + * @type {number || null} + */ + this.AutoRenewFlag = null; + + /** + * 当前到期时间 + * @type {string || null} + */ + this.CurDeadline = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.IpCount = 'IpCount' in params ? params.IpCount : null; + this.AutoRenewFlag = 'AutoRenewFlag' in params ? params.AutoRenewFlag : null; + this.CurDeadline = 'CurDeadline' in params ? params.CurDeadline : null; + + } +} + +/** + * CreateDDoSBlackWhiteIpList返回参数结构体 + * @class + */ +class CreateDDoSBlackWhiteIpListResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * ModifyCcBlackWhiteIpList返回参数结构体 + * @class + */ +class ModifyCcBlackWhiteIpListResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * 协议封禁相关信息 + * @class + */ +class ProtocolBlockRelation extends AbstractModel { + constructor(){ + super(); + + /** + * 协议封禁配置 + * @type {ProtocolBlockConfig || null} + */ + this.ProtocolBlockConfig = null; + + /** + * 协议封禁配置所属的实例 + * @type {Array. || null} + */ + this.InstanceDetailList = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + + if (params.ProtocolBlockConfig) { + let obj = new ProtocolBlockConfig(); + obj.deserialize(params.ProtocolBlockConfig) + this.ProtocolBlockConfig = obj; + } + + if (params.InstanceDetailList) { + this.InstanceDetailList = new Array(); + for (let z in params.InstanceDetailList) { + let obj = new InstanceRelation(); + obj.deserialize(params.InstanceDetailList[z]); + this.InstanceDetailList.push(obj); + } + } + + } +} + +/** + * DescribeListPacketFilterConfig请求参数结构体 + * @class + */ +class DescribeListPacketFilterConfigRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 页起始偏移,取值为(页码-1)*一页条数 + * @type {number || null} + */ + this.Offset = null; + + /** + * 一页条数,当Limit=0时,默认一页条数为100;最大取值为100 + * @type {number || null} + */ + this.Limit = null; + + /** + * 资源实例ID搜索, 支持资源实例前缀通配搜索,例如bgp-*表示获取高防包类型的资源实例 + * @type {string || null} + */ + this.FilterInstanceId = null; + + /** + * IP搜索 + * @type {string || null} + */ + this.FilterIp = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Offset = 'Offset' in params ? params.Offset : null; + this.Limit = 'Limit' in params ? params.Limit : null; + this.FilterInstanceId = 'FilterInstanceId' in params ? params.FilterInstanceId : null; + this.FilterIp = 'FilterIp' in params ? params.FilterIp : null; + + } +} + +/** + * DescribeOverviewIndex请求参数结构体 + * @class + */ +class DescribeOverviewIndexRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 拉取指标起始时间 + * @type {string || null} + */ + this.StartTime = null; + + /** + * 拉取指标结束时间 + * @type {string || null} + */ + this.EndTime = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.StartTime = 'StartTime' in params ? params.StartTime : null; + this.EndTime = 'EndTime' in params ? params.EndTime : null; + + } +} + +/** + * 高防IP资产实例的使用信息统计 + * @class + */ +class BGPIPInstanceUsages extends AbstractModel { + constructor(){ + super(); + + /** + * 已使用的端口规则数,单位条 + * @type {number || null} + */ + this.PortRulesUsage = null; + + /** + * 已使用的域名规则数,单位条 + * @type {number || null} + */ + this.DomainRulesUsage = null; + + /** + * 最近7天的攻击次数,单位次 + * @type {number || null} + */ + this.Last7DayAttackCount = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.PortRulesUsage = 'PortRulesUsage' in params ? params.PortRulesUsage : null; + this.DomainRulesUsage = 'DomainRulesUsage' in params ? params.DomainRulesUsage : null; + this.Last7DayAttackCount = 'Last7DayAttackCount' in params ? params.Last7DayAttackCount : null; + + } +} + +/** + * ModifyDDoSBlackWhiteIpList请求参数结构体 + * @class + */ +class ModifyDDoSBlackWhiteIpListRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 资源Id + * @type {string || null} + */ + this.InstanceId = null; + + /** + * 当前黑名单类型,取值black时黑名单;取值white时白名单 + * @type {string || null} + */ + this.OldIpType = null; + + /** + * 当前配置的Ip段,包含ip与掩码 + * @type {IpSegment || null} + */ + this.OldIp = null; + + /** + * 修改后黑白名单类型,取值black时黑名单,取值white时白名单 + * @type {string || null} + */ + this.NewIpType = null; + + /** + * 当前配置的Ip段,包含ip与掩码 + * @type {IpSegment || null} + */ + this.NewIp = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.InstanceId = 'InstanceId' in params ? params.InstanceId : null; + this.OldIpType = 'OldIpType' in params ? params.OldIpType : null; + + if (params.OldIp) { + let obj = new IpSegment(); + obj.deserialize(params.OldIp) + this.OldIp = obj; + } + this.NewIpType = 'NewIpType' in params ? params.NewIpType : null; + + if (params.NewIp) { + let obj = new IpSegment(); + obj.deserialize(params.NewIp) + this.NewIp = obj; + } + + } +} + +/** + * DescribeListDDoSGeoIPBlockConfig请求参数结构体 + * @class + */ +class DescribeListDDoSGeoIPBlockConfigRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 页起始偏移,取值为(页码-1)*一页条数 + * @type {number || null} + */ + this.Offset = null; + + /** + * 一页条数,当Limit=0时,默认一页条数为100;最大取值为100 + * @type {number || null} + */ + this.Limit = null; + + /** + * 资源实例ID搜索, 支持资源实例前缀通配搜索,例如bgp-*表示获取高防包类型的资源实例 + * @type {string || null} + */ + this.FilterInstanceId = null; + + /** + * IP搜索 + * @type {string || null} + */ + this.FilterIp = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Offset = 'Offset' in params ? params.Offset : null; + this.Limit = 'Limit' in params ? params.Limit : null; + this.FilterInstanceId = 'FilterInstanceId' in params ? params.FilterInstanceId : null; + this.FilterIp = 'FilterIp' in params ? params.FilterIp : null; + + } +} + +/** + * DescribeOverviewDDoSEventList返回参数结构体 + * @class + */ +class DescribeOverviewDDoSEventListResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 记录总数 + * @type {number || null} + */ + this.Total = null; + + /** + * 事件列表 + * @type {Array. || null} + */ + this.EventList = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Total = 'Total' in params ? params.Total : null; + + if (params.EventList) { + this.EventList = new Array(); + for (let z in params.EventList) { + let obj = new OverviewDDoSEvent(); + obj.deserialize(params.EventList[z]); + this.EventList.push(obj); + } + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * CreateCcGeoIPBlockConfig返回参数结构体 + * @class + */ +class CreateCcGeoIPBlockConfigResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * DescribeOverviewAttackTrend返回参数结构体 + * @class + */ +class DescribeOverviewAttackTrendResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 攻击类型 + * @type {string || null} + */ + this.Type = null; + + /** + * 起始时间 + * @type {string || null} + */ + this.StartTime = null; + + /** + * 结束时间 + * @type {string || null} + */ + this.EndTime = null; + + /** + * 周期 + * @type {number || null} + */ + this.Period = null; + + /** + * 每个周期点的攻击次数 + * @type {Array. || null} + */ + this.Data = null; + + /** + * 包含的周期点数 + * @type {number || null} + */ + this.Count = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Type = 'Type' in params ? params.Type : null; + this.StartTime = 'StartTime' in params ? params.StartTime : null; + this.EndTime = 'EndTime' in params ? params.EndTime : null; + this.Period = 'Period' in params ? params.Period : null; + this.Data = 'Data' in params ? params.Data : null; + this.Count = 'Count' in params ? params.Count : null; + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * 7层转发规则 + * @class + */ +class Layer7Rule extends AbstractModel { + constructor(){ + super(); + + /** + * 域名 + * @type {string || null} + */ + this.Domain = null; + + /** + * 转发类型列表 + * @type {Array. || null} + */ + this.ProxyTypeList = null; + + /** + * 源站列表 + * @type {Array. || null} + */ + this.RealServers = null; + + /** + * 资源实例 + * @type {Array. || null} + */ + this.InstanceDetails = null; + + /** + * 规则所属的资源实例 + * @type {Array. || null} + */ + this.InstanceDetailRule = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Domain = 'Domain' in params ? params.Domain : null; + + if (params.ProxyTypeList) { + this.ProxyTypeList = new Array(); + for (let z in params.ProxyTypeList) { + let obj = new ProxyTypeInfo(); + obj.deserialize(params.ProxyTypeList[z]); + this.ProxyTypeList.push(obj); + } + } + + if (params.RealServers) { + this.RealServers = new Array(); + for (let z in params.RealServers) { + let obj = new SourceServer(); + obj.deserialize(params.RealServers[z]); + this.RealServers.push(obj); + } + } + + if (params.InstanceDetails) { + this.InstanceDetails = new Array(); + for (let z in params.InstanceDetails) { + let obj = new InstanceRelation(); + obj.deserialize(params.InstanceDetails[z]); + this.InstanceDetails.push(obj); + } + } + + if (params.InstanceDetailRule) { + this.InstanceDetailRule = new Array(); + for (let z in params.InstanceDetailRule) { + let obj = new RuleInstanceRelation(); + obj.deserialize(params.InstanceDetailRule[z]); + this.InstanceDetailRule.push(obj); + } + } + + } +} + +/** + * ModifyPortAclConfig返回参数结构体 + * @class + */ +class ModifyPortAclConfigResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * DescribeBasicDeviceStatus请求参数结构体 + * @class + */ +class DescribeBasicDeviceStatusRequest extends AbstractModel { + constructor(){ + super(); + + /** + * IP 资源列表 + * @type {Array. || null} + */ + this.IpList = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.IpList = 'IpList' in params ? params.IpList : null; + + } +} + +/** + * DeleteCcGeoIPBlockConfig请求参数结构体 + * @class + */ +class DeleteCcGeoIPBlockConfigRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 资源实例ID + * @type {string || null} + */ + this.InstanceId = null; + + /** + * CC区域封禁配置,填写参数时配置ID不能为空 + * @type {CcGeoIPBlockConfig || null} + */ + this.CcGeoIPBlockConfig = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.InstanceId = 'InstanceId' in params ? params.InstanceId : null; + + if (params.CcGeoIPBlockConfig) { + let obj = new CcGeoIPBlockConfig(); + obj.deserialize(params.CcGeoIPBlockConfig) + this.CcGeoIPBlockConfig = obj; + } + + } +} + +/** + * DescribeCCLevelList返回参数结构体 + * @class + */ +class DescribeCCLevelListResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 分级策略列表总数 + * @type {number || null} + */ + this.Total = null; + + /** + * 分级策略列表详情 + * @type {Array. || null} + */ + this.LevelList = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Total = 'Total' in params ? params.Total : null; + + if (params.LevelList) { + this.LevelList = new Array(); + for (let z in params.LevelList) { + let obj = new CCLevelPolicy(); + obj.deserialize(params.LevelList[z]); + this.LevelList.push(obj); + } + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * CreateDDoSSpeedLimitConfig请求参数结构体 + * @class + */ +class CreateDDoSSpeedLimitConfigRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 资源实例ID + * @type {string || null} + */ + this.InstanceId = null; + + /** + * 访问限速配置,填写参数时配置ID请为空 + * @type {DDoSSpeedLimitConfig || null} + */ + this.DDoSSpeedLimitConfig = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.InstanceId = 'InstanceId' in params ? params.InstanceId : null; + + if (params.DDoSSpeedLimitConfig) { + let obj = new DDoSSpeedLimitConfig(); + obj.deserialize(params.DDoSSpeedLimitConfig) + this.DDoSSpeedLimitConfig = obj; + } + + } +} + +/** + * CreateDDoSGeoIPBlockConfig请求参数结构体 + * @class + */ +class CreateDDoSGeoIPBlockConfigRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 资源实例ID + * @type {string || null} + */ + this.InstanceId = null; + + /** + * DDoS区域封禁配置,填写参数时配置ID请为空 + * @type {DDoSGeoIPBlockConfig || null} + */ + this.DDoSGeoIPBlockConfig = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.InstanceId = 'InstanceId' in params ? params.InstanceId : null; + + if (params.DDoSGeoIPBlockConfig) { + let obj = new DDoSGeoIPBlockConfig(); + obj.deserialize(params.DDoSGeoIPBlockConfig) + this.DDoSGeoIPBlockConfig = obj; + } + + } +} + +/** + * CreateProtocolBlockConfig请求参数结构体 + * @class + */ +class CreateProtocolBlockConfigRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 资源实例ID + * @type {string || null} + */ + this.InstanceId = null; + + /** + * 协议封禁配置 + * @type {ProtocolBlockConfig || null} + */ + this.ProtocolBlockConfig = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.InstanceId = 'InstanceId' in params ? params.InstanceId : null; + + if (params.ProtocolBlockConfig) { + let obj = new ProtocolBlockConfig(); + obj.deserialize(params.ProtocolBlockConfig) + this.ProtocolBlockConfig = obj; + } + + } +} + +/** + * DeleteWaterPrintKey请求参数结构体 + * @class + */ +class DeleteWaterPrintKeyRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 资源实例ID + * @type {string || null} + */ + this.InstanceId = null; + + /** + * 水印密钥ID + * @type {string || null} + */ + this.KeyId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.InstanceId = 'InstanceId' in params ? params.InstanceId : null; + this.KeyId = 'KeyId' in params ? params.KeyId : null; + + } +} + +/** + * 操作返回码,只用于返回成功的情况 + * @class + */ +class SuccessCode extends AbstractModel { + constructor(){ + super(); + + /** + * 描述 + * @type {string || null} + */ + this.Message = null; + + /** + * 成功/错误码 + * @type {string || null} + */ + this.Code = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Message = 'Message' in params ? params.Message : null; + this.Code = 'Code' in params ? params.Code : null; + + } +} + +/** + * AssociateDDoSEipAddress返回参数结构体 + * @class + */ +class AssociateDDoSEipAddressResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * DDoS访问限速配置相关信息 + * @class + */ +class DDoSSpeedLimitConfigRelation extends AbstractModel { + constructor(){ + super(); + + /** + * DDoS访问限速配置 + * @type {DDoSSpeedLimitConfig || null} + */ + this.SpeedLimitConfig = null; + + /** + * 配置所属的资源实例 + * @type {Array. || null} + */ + this.InstanceDetailList = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + + if (params.SpeedLimitConfig) { + let obj = new DDoSSpeedLimitConfig(); + obj.deserialize(params.SpeedLimitConfig) + this.SpeedLimitConfig = obj; + } + + if (params.InstanceDetailList) { + this.InstanceDetailList = new Array(); + for (let z in params.InstanceDetailList) { + let obj = new InstanceRelation(); + obj.deserialize(params.InstanceDetailList[z]); + this.InstanceDetailList.push(obj); + } + } + + } +} + +/** + * DeleteCCLevelPolicy返回参数结构体 + * @class + */ +class DeleteCCLevelPolicyResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * ModifyPacketFilterConfig请求参数结构体 + * @class + */ +class ModifyPacketFilterConfigRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 资源实例ID + * @type {string || null} + */ + this.InstanceId = null; + + /** + * 特征过滤配置 + * @type {PacketFilterConfig || null} + */ + this.PacketFilterConfig = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.InstanceId = 'InstanceId' in params ? params.InstanceId : null; + + if (params.PacketFilterConfig) { + let obj = new PacketFilterConfig(); + obj.deserialize(params.PacketFilterConfig) + this.PacketFilterConfig = obj; + } + + } +} + +/** + * DescribeBlackWhiteIpList请求参数结构体 + * @class + */ +class DescribeBlackWhiteIpListRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 资源实例ID + * @type {string || null} + */ + this.InstanceId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.InstanceId = 'InstanceId' in params ? params.InstanceId : null; + + } +} + +/** + * CreateCcGeoIPBlockConfig请求参数结构体 + * @class + */ +class CreateCcGeoIPBlockConfigRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 实例id + * @type {string || null} + */ + this.InstanceId = null; + + /** + * ip地址 + * @type {string || null} + */ + this.IP = null; + + /** + * 域名 + * @type {string || null} + */ + this.Domain = null; + + /** + * 协议类型 + * @type {string || null} + */ + this.Protocol = null; + + /** + * CC区域封禁配置,填写参数时配置ID请为空 + * @type {CcGeoIPBlockConfig || null} + */ + this.CcGeoIPBlockConfig = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.InstanceId = 'InstanceId' in params ? params.InstanceId : null; + this.IP = 'IP' in params ? params.IP : null; + this.Domain = 'Domain' in params ? params.Domain : null; + this.Protocol = 'Protocol' in params ? params.Protocol : null; + + if (params.CcGeoIPBlockConfig) { + let obj = new CcGeoIPBlockConfig(); + obj.deserialize(params.CcGeoIPBlockConfig) + this.CcGeoIPBlockConfig = obj; + } + + } +} + +/** + * DeletePortAclConfig返回参数结构体 + * @class + */ +class DeletePortAclConfigResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * CreateDDoSSpeedLimitConfig返回参数结构体 + * @class + */ +class CreateDDoSSpeedLimitConfigResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * DeletePacketFilterConfig请求参数结构体 + * @class + */ +class DeletePacketFilterConfigRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 资源实例ID + * @type {string || null} + */ + this.InstanceId = null; + + /** + * 特征过滤配置 + * @type {PacketFilterConfig || null} + */ + this.PacketFilterConfig = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.InstanceId = 'InstanceId' in params ? params.InstanceId : null; + + if (params.PacketFilterConfig) { + let obj = new PacketFilterConfig(); + obj.deserialize(params.PacketFilterConfig) + this.PacketFilterConfig = obj; + } + + } +} + +/** + * ModifyL7RulesEdge请求参数结构体 + * @class + */ +class ModifyL7RulesEdgeRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 大禹子产品代号(edge表示边界防护产品) + * @type {string || null} + */ + this.Business = null; + + /** + * 资源ID + * @type {string || null} + */ + this.Id = null; + + /** + * 规则 + * @type {L7RuleEntry || null} + */ + this.Rule = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Business = 'Business' in params ? params.Business : null; + this.Id = 'Id' in params ? params.Id : null; + + if (params.Rule) { + let obj = new L7RuleEntry(); + obj.deserialize(params.Rule) + this.Rule = obj; + } + + } +} + +/** + * DescribeListDDoSGeoIPBlockConfig返回参数结构体 + * @class + */ +class DescribeListDDoSGeoIPBlockConfigResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 总数 + * @type {number || null} + */ + this.Total = null; + + /** + * DDoS区域封禁配置列表 + * @type {Array. || null} + */ + this.ConfigList = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Total = 'Total' in params ? params.Total : null; + + if (params.ConfigList) { + this.ConfigList = new Array(); + for (let z in params.ConfigList) { + let obj = new DDoSGeoIPBlockConfigRelation(); + obj.deserialize(params.ConfigList[z]); + this.ConfigList.push(obj); + } + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * DescribeBasicDeviceStatus返回参数结构体 + * @class + */ +class DescribeBasicDeviceStatusResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 返回资源及状态,状态码: +1 - 封堵状态 +2 - 正常状态 +3 - 攻击状态 + * @type {Array. || null} + */ + this.Data = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + + if (params.Data) { + this.Data = new Array(); + for (let z in params.Data) { + let obj = new KeyValue(); + obj.deserialize(params.Data[z]); + this.Data.push(obj); + } + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * 水印防护配置 + * @class + */ +class WaterPrintConfig extends AbstractModel { + constructor(){ + super(); + + /** + * 水印偏移量,取值范围[0, 100) + * @type {number || null} + */ + this.Offset = null; + + /** + * 是否开启,取值[ +0(手动开启) +1(立即运行) +] + * @type {number || null} + */ + this.OpenStatus = null; + + /** + * 水印所属的转发监听器列表 + * @type {Array. || null} + */ + this.Listeners = null; + + /** + * 水印添加成功后生成的水印密钥列表,一条水印最少1个密钥,最多2个密钥 + * @type {Array. || null} + */ + this.Keys = null; + + /** + * 水印检查模式, 取值[ +checkall(普通模式) +shortfpcheckall(精简模式) +] + * @type {string || null} + */ + this.Verify = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Offset = 'Offset' in params ? params.Offset : null; + this.OpenStatus = 'OpenStatus' in params ? params.OpenStatus : null; + + if (params.Listeners) { + this.Listeners = new Array(); + for (let z in params.Listeners) { + let obj = new ForwardListener(); + obj.deserialize(params.Listeners[z]); + this.Listeners.push(obj); + } + } + + if (params.Keys) { + this.Keys = new Array(); + for (let z in params.Keys) { + let obj = new WaterPrintKey(); + obj.deserialize(params.Keys[z]); + this.Keys.push(obj); + } + } + this.Verify = 'Verify' in params ? params.Verify : null; + + } +} + +/** + * L4规则回源列表 + * @class + */ +class L4RuleSource extends AbstractModel { + constructor(){ + super(); + + /** + * 回源IP或域名 + * @type {string || null} + */ + this.Source = null; + + /** + * 权重值,取值[0,100] + * @type {number || null} + */ + this.Weight = null; + + /** + * 8000 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {number || null} + */ + this.Port = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Source = 'Source' in params ? params.Source : null; + this.Weight = 'Weight' in params ? params.Weight : null; + this.Port = 'Port' in params ? params.Port : null; + + } +} + +/** + * 协议封禁配置 + * @class + */ +class ProtocolBlockConfig extends AbstractModel { + constructor(){ + super(); + + /** + * TCP封禁,取值[0(封禁关),1(封禁开)] + * @type {number || null} + */ + this.DropTcp = null; + + /** + * UDP封禁,取值[0(封禁关),1(封禁开)] + * @type {number || null} + */ + this.DropUdp = null; + + /** + * ICMP封禁,取值[0(封禁关),1(封禁开)] + * @type {number || null} + */ + this.DropIcmp = null; + + /** + * 其他协议封禁,取值[0(封禁关),1(封禁开)] + * @type {number || null} + */ + this.DropOther = null; + + /** + * 异常空连接防护,取值[0(防护关),1(防护开)] + * @type {number || null} + */ + this.CheckExceptNullConnect = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.DropTcp = 'DropTcp' in params ? params.DropTcp : null; + this.DropUdp = 'DropUdp' in params ? params.DropUdp : null; + this.DropIcmp = 'DropIcmp' in params ? params.DropIcmp : null; + this.DropOther = 'DropOther' in params ? params.DropOther : null; + this.CheckExceptNullConnect = 'CheckExceptNullConnect' in params ? params.CheckExceptNullConnect : null; + + } +} + +/** + * DeleteCCPrecisionPolicy请求参数结构体 + * @class + */ +class DeleteCCPrecisionPolicyRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 实例Id + * @type {string || null} + */ + this.InstanceId = null; + + /** + * 策略Id + * @type {string || null} + */ + this.PolicyId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.InstanceId = 'InstanceId' in params ? params.InstanceId : null; + this.PolicyId = 'PolicyId' in params ? params.PolicyId : null; + + } +} + +/** + * 高防IP资产实例信息 + * @class + */ +class BGPIPInstance extends AbstractModel { + constructor(){ + super(); + + /** + * 资产实例的详细信息 + * @type {InstanceRelation || null} + */ + this.InstanceDetail = null; + + /** + * 资产实例的规格信息 + * @type {BGPIPInstanceSpecification || null} + */ + this.SpecificationLimit = null; + + /** + * 资产实例的使用统计信息 + * @type {BGPIPInstanceUsages || null} + */ + this.Usage = null; + + /** + * 资产实例所在的地域 + * @type {RegionInfo || null} + */ + this.Region = null; + + /** + * 资产实例的防护状态,状态码如下: +"idle":正常状态(无攻击) +"attacking":攻击中 +"blocking":封堵中 +"creating":创建中 +"deblocking":解封中 +"isolate":回收隔离中 + * @type {string || null} + */ + this.Status = null; + + /** + * 购买时间 + * @type {string || null} + */ + this.ExpiredTime = null; + + /** + * 到期时间 + * @type {string || null} + */ + this.CreatedTime = null; + + /** + * 资产实例的名称 + * @type {string || null} + */ + this.Name = null; + + /** + * 资产实例所属的套餐包信息, +注意:当资产实例不是套餐包的实例时,此字段为null +注意:此字段可能返回 null,表示取不到有效值。 + * @type {PackInfo || null} + */ + this.PackInfo = null; + + /** + * 资产实例所属的三网套餐包详情, +注意:当资产实例不是三网套餐包的实例时,此字段为null +注意:此字段可能返回 null,表示取不到有效值。 + * @type {StaticPackRelation || null} + */ + this.StaticPackRelation = null; + + /** + * 区分高防IP境外线路 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {number || null} + */ + this.ZoneId = null; + + /** + * 区分集群 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {number || null} + */ + this.Tgw = null; + + /** + * 高防弹性公网IP状态,包含'CREATING'(创建中),'BINDING'(绑定中),'BIND'(已绑定),'UNBINDING'(解绑中),'UNBIND'(已解绑),'OFFLINING'(释放中),'BIND_ENI'(绑定悬空弹性网卡)。只对高防弹性公网IP实例有效。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.EipAddressStatus = null; + + /** + * 是否高防弹性公网IP实例,是为1,否为0。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {number || null} + */ + this.EipFlag = null; + + /** + * 资产实例所属的高防弹性公网IP套餐包详情, +注意:当资产实例不是高防弹性公网IP套餐包的实例时,此字段为null +注意:此字段可能返回 null,表示取不到有效值。 + * @type {EipAddressPackRelation || null} + */ + this.EipAddressPackRelation = null; + + /** + * 高防弹性公网IP关联的实例信息。 +注意:当资产实例不是高防弹性公网IP实例时,此字段为null +注意:此字段可能返回 null,表示取不到有效值。 + * @type {EipAddressRelation || null} + */ + this.EipAddressInfo = null; + + /** + * 建议客户接入的域名,客户可使用域名接入。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.Domain = null; + + /** + * 是否开启安全加速,是为1,否为0。 + * @type {number || null} + */ + this.DamDDoSStatus = null; + + /** + * 是否Ipv6版本的IP, 是为1,否为0 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {number || null} + */ + this.V6Flag = null; + + /** + * 是否渠道版高防IP,是为1,否为0 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {number || null} + */ + this.BGPIPChannelFlag = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + + if (params.InstanceDetail) { + let obj = new InstanceRelation(); + obj.deserialize(params.InstanceDetail) + this.InstanceDetail = obj; + } + + if (params.SpecificationLimit) { + let obj = new BGPIPInstanceSpecification(); + obj.deserialize(params.SpecificationLimit) + this.SpecificationLimit = obj; + } + + if (params.Usage) { + let obj = new BGPIPInstanceUsages(); + obj.deserialize(params.Usage) + this.Usage = obj; + } + + if (params.Region) { + let obj = new RegionInfo(); + obj.deserialize(params.Region) + this.Region = obj; + } + this.Status = 'Status' in params ? params.Status : null; + this.ExpiredTime = 'ExpiredTime' in params ? params.ExpiredTime : null; + this.CreatedTime = 'CreatedTime' in params ? params.CreatedTime : null; + this.Name = 'Name' in params ? params.Name : null; + + if (params.PackInfo) { + let obj = new PackInfo(); + obj.deserialize(params.PackInfo) + this.PackInfo = obj; + } + + if (params.StaticPackRelation) { + let obj = new StaticPackRelation(); + obj.deserialize(params.StaticPackRelation) + this.StaticPackRelation = obj; + } + this.ZoneId = 'ZoneId' in params ? params.ZoneId : null; + this.Tgw = 'Tgw' in params ? params.Tgw : null; + this.EipAddressStatus = 'EipAddressStatus' in params ? params.EipAddressStatus : null; + this.EipFlag = 'EipFlag' in params ? params.EipFlag : null; + + if (params.EipAddressPackRelation) { + let obj = new EipAddressPackRelation(); + obj.deserialize(params.EipAddressPackRelation) + this.EipAddressPackRelation = obj; + } + + if (params.EipAddressInfo) { + let obj = new EipAddressRelation(); + obj.deserialize(params.EipAddressInfo) + this.EipAddressInfo = obj; + } + this.Domain = 'Domain' in params ? params.Domain : null; + this.DamDDoSStatus = 'DamDDoSStatus' in params ? params.DamDDoSStatus : null; + this.V6Flag = 'V6Flag' in params ? params.V6Flag : null; + this.BGPIPChannelFlag = 'BGPIPChannelFlag' in params ? params.BGPIPChannelFlag : null; + + } +} + +/** + * DeleteWaterPrintConfig返回参数结构体 + * @class + */ +class DeleteWaterPrintConfigResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * 4层转发规则 + * @class + */ +class Layer4Rule extends AbstractModel { + constructor(){ + super(); + + /** + * 源站端口,取值1~65535 + * @type {number || null} + */ + this.BackendPort = null; + + /** + * 转发端口,取值1~65535 + * @type {number || null} + */ + this.FrontendPort = null; + + /** + * 转发协议,取值[ +TCP(TCP协议) +UDP(UDP协议) +] + * @type {string || null} + */ + this.Protocol = null; + + /** + * 源站列表 + * @type {Array. || null} + */ + this.RealServers = null; + + /** + * 资源实例 + * @type {Array. || null} + */ + this.InstanceDetails = null; + + /** + * 规则所属的资源实例 + * @type {Array. || null} + */ + this.InstanceDetailRule = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.BackendPort = 'BackendPort' in params ? params.BackendPort : null; + this.FrontendPort = 'FrontendPort' in params ? params.FrontendPort : null; + this.Protocol = 'Protocol' in params ? params.Protocol : null; + + if (params.RealServers) { + this.RealServers = new Array(); + for (let z in params.RealServers) { + let obj = new SourceServer(); + obj.deserialize(params.RealServers[z]); + this.RealServers.push(obj); + } + } + + if (params.InstanceDetails) { + this.InstanceDetails = new Array(); + for (let z in params.InstanceDetails) { + let obj = new InstanceRelation(); + obj.deserialize(params.InstanceDetails[z]); + this.InstanceDetails.push(obj); + } + } + + if (params.InstanceDetailRule) { + this.InstanceDetailRule = new Array(); + for (let z in params.InstanceDetailRule) { + let obj = new RuleInstanceRelation(); + obj.deserialize(params.InstanceDetailRule[z]); + this.InstanceDetailRule.push(obj); + } + } + + } +} + +/** + * DeletePacketFilterConfig返回参数结构体 + * @class + */ +class DeletePacketFilterConfigResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * CreateProtocolBlockConfig返回参数结构体 + * @class + */ +class CreateProtocolBlockConfigResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * 高防IP资产实例的规格信息 + * @class + */ +class BGPIPInstanceSpecification extends AbstractModel { + constructor(){ + super(); + + /** + * 保底防护峰值,单位Mbps + * @type {number || null} + */ + this.ProtectBandwidth = null; + + /** + * CC防护峰值,单位qps + * @type {number || null} + */ + this.ProtectCCQPS = null; + + /** + * 正常业务带宽,单位Mbps + * @type {number || null} + */ + this.NormalBandwidth = null; + + /** + * 转发规则数,单位条 + * @type {number || null} + */ + this.ForwardRulesLimit = null; + + /** + * 自动续费状态,取值[ +0:没有开启自动续费 +1:开启了自动续费 +] + * @type {number || null} + */ + this.AutoRenewFlag = null; + + /** + * 高防IP线路,取值为[ +1:BGP线路 +2:电信 +3:联通 +4:移动 +99:第三方合作线路 +] + * @type {number || null} + */ + this.Line = null; + + /** + * 弹性防护峰值,单位Mbps + * @type {number || null} + */ + this.ElasticBandwidth = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.ProtectBandwidth = 'ProtectBandwidth' in params ? params.ProtectBandwidth : null; + this.ProtectCCQPS = 'ProtectCCQPS' in params ? params.ProtectCCQPS : null; + this.NormalBandwidth = 'NormalBandwidth' in params ? params.NormalBandwidth : null; + this.ForwardRulesLimit = 'ForwardRulesLimit' in params ? params.ForwardRulesLimit : null; + this.AutoRenewFlag = 'AutoRenewFlag' in params ? params.AutoRenewFlag : null; + this.Line = 'Line' in params ? params.Line : null; + this.ElasticBandwidth = 'ElasticBandwidth' in params ? params.ElasticBandwidth : null; + + } +} + +/** + * CreateIPAlarmThresholdConfig返回参数结构体 + * @class + */ +class CreateIPAlarmThresholdConfigResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * CreatePortAclConfigList返回参数结构体 + * @class + */ +class CreatePortAclConfigListResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * DeleteWaterPrintConfig请求参数结构体 + * @class + */ +class DeleteWaterPrintConfigRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 资源实例ID + * @type {string || null} + */ + this.InstanceId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.InstanceId = 'InstanceId' in params ? params.InstanceId : null; + + } +} + +/** + * DescribeDDoSBlackWhiteIpList请求参数结构体 + * @class + */ +class DescribeDDoSBlackWhiteIpListRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 资源实例ID + * @type {string || null} + */ + this.InstanceId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.InstanceId = 'InstanceId' in params ? params.InstanceId : null; + + } +} + +/** + * 连接抑制列表 + * @class + */ +class ConnectLimitRelation extends AbstractModel { + constructor(){ + super(); + + /** + * 连接抑制配置 + * @type {ConnectLimitConfig || null} + */ + this.ConnectLimitConfig = null; + + /** + * 连接抑制关联的实例信息 + * @type {Array. || null} + */ + this.InstanceDetailList = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + + if (params.ConnectLimitConfig) { + let obj = new ConnectLimitConfig(); + obj.deserialize(params.ConnectLimitConfig) + this.ConnectLimitConfig = obj; + } + + if (params.InstanceDetailList) { + this.InstanceDetailList = new Array(); + for (let z in params.InstanceDetailList) { + let obj = new InstanceRelation(); + obj.deserialize(params.InstanceDetailList[z]); + this.InstanceDetailList.push(obj); + } + } + + } +} + +/** + * DescribeListBlackWhiteIpList返回参数结构体 + * @class + */ +class DescribeListBlackWhiteIpListResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 总数 + * @type {number || null} + */ + this.Total = null; + + /** + * 黑白IP列表 + * @type {Array. || null} + */ + this.IpList = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Total = 'Total' in params ? params.Total : null; + + if (params.IpList) { + this.IpList = new Array(); + for (let z in params.IpList) { + let obj = new BlackWhiteIpRelation(); + obj.deserialize(params.IpList[z]); + this.IpList.push(obj); + } + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * DDoS防护的AI防护开关 + * @class + */ +class DDoSAIRelation extends AbstractModel { + constructor(){ + super(); + + /** + * AI防护开关,取值[ +on(开启) +off(关闭) +] + * @type {string || null} + */ + this.DDoSAI = null; + + /** + * AI防护开关所属的资源实例 + * @type {Array. || null} + */ + this.InstanceDetailList = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.DDoSAI = 'DDoSAI' in params ? params.DDoSAI : null; + + if (params.InstanceDetailList) { + this.InstanceDetailList = new Array(); + for (let z in params.InstanceDetailList) { + let obj = new InstanceRelation(); + obj.deserialize(params.InstanceDetailList[z]); + this.InstanceDetailList.push(obj); + } + } + + } +} + +/** + * DescribeCCReqLimitPolicyList请求参数结构体 + * @class + */ +class DescribeCCReqLimitPolicyListRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 大禹子产品代号(bgp-multip表示高防包,bgpip表示高防IP) + * @type {string || null} + */ + this.Business = null; + + /** + * 页起始偏移,取值为(页码-1)*一页条数 + * @type {number || null} + */ + this.Offset = null; + + /** + * 一页条数 + * @type {number || null} + */ + this.Limit = null; + + /** + * 指定实例Id + * @type {string || null} + */ + this.InstanceId = null; + + /** + * IP地址,普通高防IP要传该字段 + * @type {string || null} + */ + this.Ip = null; + + /** + * 域名,普通高防IP要传该字段 + * @type {string || null} + */ + this.Domain = null; + + /** + * 协议,普通高防IP要传该字段 + * @type {string || null} + */ + this.Protocol = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Business = 'Business' in params ? params.Business : null; + this.Offset = 'Offset' in params ? params.Offset : null; + this.Limit = 'Limit' in params ? params.Limit : null; + this.InstanceId = 'InstanceId' in params ? params.InstanceId : null; + this.Ip = 'Ip' in params ? params.Ip : null; + this.Domain = 'Domain' in params ? params.Domain : null; + this.Protocol = 'Protocol' in params ? params.Protocol : null; + + } +} + +/** + * 端口acl策略配置与高防资源关联 + * @class + */ +class AclConfigRelation extends AbstractModel { + constructor(){ + super(); + + /** + * acl策略 + * @type {AclConfig || null} + */ + this.AclConfig = null; + + /** + * 实例列表 + * @type {Array. || null} + */ + this.InstanceDetailList = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + + if (params.AclConfig) { + let obj = new AclConfig(); + obj.deserialize(params.AclConfig) + this.AclConfig = obj; + } + + if (params.InstanceDetailList) { + this.InstanceDetailList = new Array(); + for (let z in params.InstanceDetailList) { + let obj = new InstanceRelation(); + obj.deserialize(params.InstanceDetailList[z]); + this.InstanceDetailList.push(obj); + } + } + + } +} + +/** + * DescribeListDDoSSpeedLimitConfig返回参数结构体 + * @class + */ +class DescribeListDDoSSpeedLimitConfigResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 总数 + * @type {number || null} + */ + this.Total = null; + + /** + * 访问限速配置列表 + * @type {Array. || null} + */ + this.ConfigList = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Total = 'Total' in params ? params.Total : null; + + if (params.ConfigList) { + this.ConfigList = new Array(); + for (let z in params.ConfigList) { + let obj = new DDoSSpeedLimitConfigRelation(); + obj.deserialize(params.ConfigList[z]); + this.ConfigList.push(obj); + } + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * ModifyDDoSThreshold返回参数结构体 + * @class + */ +class ModifyDDoSThresholdResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 成功码 + * @type {SuccessCode || null} + */ + this.Success = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + + if (params.Success) { + let obj = new SuccessCode(); + obj.deserialize(params.Success) + this.Success = obj; + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * CreateDDoSGeoIPBlockConfig返回参数结构体 + * @class + */ +class CreateDDoSGeoIPBlockConfigResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * CC精准防护策略信息 + * @class + */ +class CCPrecisionPolicy extends AbstractModel { + constructor(){ + super(); + + /** + * 策略Id + * @type {string || null} + */ + this.PolicyId = null; + + /** + * 实例Id + * @type {string || null} + */ + this.InstanceId = null; + + /** + * Ip地址 + * @type {string || null} + */ + this.Ip = null; + + /** + * 协议 + * @type {string || null} + */ + this.Protocol = null; + + /** + * 域名 + * @type {string || null} + */ + this.Domain = null; + + /** + * 策略方式(丢弃或验证码) + * @type {string || null} + */ + this.PolicyAction = null; + + /** + * 策略列表 + * @type {Array. || null} + */ + this.PolicyList = null; + + /** + * 创建时间 + * @type {string || null} + */ + this.CreateTime = null; + + /** + * 修改时间 + * @type {string || null} + */ + this.ModifyTime = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.PolicyId = 'PolicyId' in params ? params.PolicyId : null; + this.InstanceId = 'InstanceId' in params ? params.InstanceId : null; + this.Ip = 'Ip' in params ? params.Ip : null; + this.Protocol = 'Protocol' in params ? params.Protocol : null; + this.Domain = 'Domain' in params ? params.Domain : null; + this.PolicyAction = 'PolicyAction' in params ? params.PolicyAction : null; + + if (params.PolicyList) { + this.PolicyList = new Array(); + for (let z in params.PolicyList) { + let obj = new CCPrecisionPlyRecord(); + obj.deserialize(params.PolicyList[z]); + this.PolicyList.push(obj); + } + } + this.CreateTime = 'CreateTime' in params ? params.CreateTime : null; + this.ModifyTime = 'ModifyTime' in params ? params.ModifyTime : null; + + } +} + +/** + * DescribeOverviewDDoSEventList请求参数结构体 + * @class + */ +class DescribeOverviewDDoSEventListRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 起始时间 + * @type {string || null} + */ + this.StartTime = null; + + /** + * 结束时间 + * @type {string || null} + */ + this.EndTime = null; + + /** + * 可选按攻击状态过滤,start:攻击中;end:攻击结束 + * @type {string || null} + */ + this.AttackStatus = null; + + /** + * 偏移量 + * @type {number || null} + */ + this.Offset = null; + + /** + * 记录条数 + * @type {number || null} + */ + this.Limit = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.StartTime = 'StartTime' in params ? params.StartTime : null; + this.EndTime = 'EndTime' in params ? params.EndTime : null; + this.AttackStatus = 'AttackStatus' in params ? params.AttackStatus : null; + this.Offset = 'Offset' in params ? params.Offset : null; + this.Limit = 'Limit' in params ? params.Limit : null; + + } +} + +/** + * 域名与协议纬度的CC防护阈值 + * @class + */ +class ListenerCcThreholdConfig extends AbstractModel { + constructor(){ + super(); + + /** + * 域名 + * @type {string || null} + */ + this.Domain = null; + + /** + * 协议(可取值htttps) + * @type {string || null} + */ + this.Protocol = null; + + /** + * 开关状态(0:关闭,1:开启) + * @type {number || null} + */ + this.CCEnable = null; + + /** + * cc防护阈值 + * @type {number || null} + */ + this.CCThreshold = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Domain = 'Domain' in params ? params.Domain : null; + this.Protocol = 'Protocol' in params ? params.Protocol : null; + this.CCEnable = 'CCEnable' in params ? params.CCEnable : null; + this.CCThreshold = 'CCThreshold' in params ? params.CCThreshold : null; + + } +} + +/** + * 高防弹性公网IP关联信息 + * @class + */ +class EipAddressRelation extends AbstractModel { + constructor(){ + super(); + + /** + * 高防弹性公网IP绑定的实例地区,例如hk代表香港 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.EipAddressRegion = null; + + /** + * 绑定的资源实例ID。可能是一个CVM。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.EipBoundRscIns = null; + + /** + * 绑定的弹性网卡ID +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.EipBoundRscEni = null; + + /** + * 绑定的资源内网ip +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.EipBoundRscVip = null; + + /** + * 修改时间 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.ModifyTime = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.EipAddressRegion = 'EipAddressRegion' in params ? params.EipAddressRegion : null; + this.EipBoundRscIns = 'EipBoundRscIns' in params ? params.EipBoundRscIns : null; + this.EipBoundRscEni = 'EipBoundRscEni' in params ? params.EipBoundRscEni : null; + this.EipBoundRscVip = 'EipBoundRscVip' in params ? params.EipBoundRscVip : null; + this.ModifyTime = 'ModifyTime' in params ? params.ModifyTime : null; + + } +} + +/** + * DeleteDDoSBlackWhiteIpList请求参数结构体 + * @class + */ +class DeleteDDoSBlackWhiteIpListRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 资源实例ID + * @type {string || null} + */ + this.InstanceId = null; + + /** + * IP列表 + * @type {Array. || null} + */ + this.IpList = null; + + /** + * IP类型,取值[black(黑名单IP), white(白名单IP)] + * @type {string || null} + */ + this.Type = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.InstanceId = 'InstanceId' in params ? params.InstanceId : null; + + if (params.IpList) { + this.IpList = new Array(); + for (let z in params.IpList) { + let obj = new IpSegment(); + obj.deserialize(params.IpList[z]); + this.IpList.push(obj); + } + } + this.Type = 'Type' in params ? params.Type : null; + + } +} + +/** + * 套餐包信息 + * @class + */ +class PackInfo extends AbstractModel { + constructor(){ + super(); + + /** + * 套餐包的类型,取值[ +staticpack:高防IP三网套餐包 +insurance:保险套餐包 +] + * @type {string || null} + */ + this.PackType = null; + + /** + * 套餐包的ID + * @type {string || null} + */ + this.PackId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.PackType = 'PackType' in params ? params.PackType : null; + this.PackId = 'PackId' in params ? params.PackId : null; + + } +} + +/** + * CreateDDoSConnectLimit返回参数结构体 + * @class + */ +class CreateDDoSConnectLimitResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * IP线路信息 + * @class + */ +class IPLineInfo extends AbstractModel { + constructor(){ + super(); + + /** + * IP线路类型,取值[ +"bgp":BGP线路IP +"ctcc":电信线路IP +"cucc":联通线路IP +"cmcc":移动线路IP +"abroad":境外线路IP +] + * @type {string || null} + */ + this.Type = null; + + /** + * 线路IP + * @type {string || null} + */ + this.Eip = null; + + /** + * 实例对应的cname + * @type {string || null} + */ + this.Cname = null; + + /** + * 资源flag,0:高防包资源,1:高防IP资源,2:非高防资源IP + * @type {number || null} + */ + this.ResourceFlag = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Type = 'Type' in params ? params.Type : null; + this.Eip = 'Eip' in params ? params.Eip : null; + this.Cname = 'Cname' in params ? params.Cname : null; + this.ResourceFlag = 'ResourceFlag' in params ? params.ResourceFlag : null; + + } +} + +/** + * DescribeCcBlackWhiteIpList请求参数结构体 + * @class + */ +class DescribeCcBlackWhiteIpListRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 大禹子产品代号(bgp-multip:表示高防包;bgpip:表示高防IP) + * @type {string || null} + */ + this.Business = null; + + /** + * 指定特定实例Id + * @type {string || null} + */ + this.InstanceId = null; + + /** + * 页起始偏移,取值为(页码-1)*一页条数 + * @type {number || null} + */ + this.Offset = null; + + /** + * 一页条数 + * @type {number || null} + */ + this.Limit = null; + + /** + * IP地址,普通高防IP要传该字段 + * @type {string || null} + */ + this.Ip = null; + + /** + * 域名,普通高防IP要传该字段 + * @type {string || null} + */ + this.Domain = null; + + /** + * 协议,普通高防IP要传该字段 + * @type {string || null} + */ + this.Protocol = null; + + /** + * 筛选IP,需要筛选黑白名单IP时传该字段 + * @type {string || null} + */ + this.FilterIp = null; + + /** + * 黑白名单筛选字段,需要筛选黑白名单列表时传该字段 + * @type {string || null} + */ + this.FilterType = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Business = 'Business' in params ? params.Business : null; + this.InstanceId = 'InstanceId' in params ? params.InstanceId : null; + this.Offset = 'Offset' in params ? params.Offset : null; + this.Limit = 'Limit' in params ? params.Limit : null; + this.Ip = 'Ip' in params ? params.Ip : null; + this.Domain = 'Domain' in params ? params.Domain : null; + this.Protocol = 'Protocol' in params ? params.Protocol : null; + this.FilterIp = 'FilterIp' in params ? params.FilterIp : null; + this.FilterType = 'FilterType' in params ? params.FilterType : null; + + } +} + +/** + * DescribeListListener返回参数结构体 + * @class + */ +class DescribeListListenerResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 4层转发监听器列表 + * @type {Array. || null} + */ + this.Layer4Listeners = null; + + /** + * 7层转发监听器列表 + * @type {Array. || null} + */ + this.Layer7Listeners = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + + if (params.Layer4Listeners) { + this.Layer4Listeners = new Array(); + for (let z in params.Layer4Listeners) { + let obj = new Layer4Rule(); + obj.deserialize(params.Layer4Listeners[z]); + this.Layer4Listeners.push(obj); + } + } + + if (params.Layer7Listeners) { + this.Layer7Listeners = new Array(); + for (let z in params.Layer7Listeners) { + let obj = new Layer7Rule(); + obj.deserialize(params.Layer7Listeners[z]); + this.Layer7Listeners.push(obj); + } + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * DeletePortAclConfig请求参数结构体 + * @class + */ +class DeletePortAclConfigRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 资源实例ID + * @type {string || null} + */ + this.InstanceId = null; + + /** + * 端口acl策略 + * @type {AclConfig || null} + */ + this.AclConfig = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.InstanceId = 'InstanceId' in params ? params.InstanceId : null; + + if (params.AclConfig) { + let obj = new AclConfig(); + obj.deserialize(params.AclConfig) + this.AclConfig = obj; + } + + } +} + +/** + * 防护阈值配置相关信息 + * @class + */ +class ProtectThresholdRelation extends AbstractModel { + constructor(){ + super(); + + /** + * DDoS防护等级,取值[ +low(宽松) +middle(适中) +high(严格) +] + * @type {string || null} + */ + this.DDoSLevel = null; + + /** + * DDoS清洗阈值,单位Mbps + * @type {number || null} + */ + this.DDoSThreshold = null; + + /** + * DDoS的AI防护开关,取值[ +on(开启) +off(关闭) +] + * @type {string || null} + */ + this.DDoSAI = null; + + /** + * CC清洗开关,取值[ +0(关闭) +1(开启) +] + * @type {number || null} + */ + this.CCEnable = null; + + /** + * CC清洗阈值,单位QPS + * @type {number || null} + */ + this.CCThreshold = null; + + /** + * 所属的资源实例 + * @type {Array. || null} + */ + this.InstanceDetailList = null; + + /** + * 域名与协议纬度的防护阈值 + * @type {Array. || null} + */ + this.ListenerCcThresholdList = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.DDoSLevel = 'DDoSLevel' in params ? params.DDoSLevel : null; + this.DDoSThreshold = 'DDoSThreshold' in params ? params.DDoSThreshold : null; + this.DDoSAI = 'DDoSAI' in params ? params.DDoSAI : null; + this.CCEnable = 'CCEnable' in params ? params.CCEnable : null; + this.CCThreshold = 'CCThreshold' in params ? params.CCThreshold : null; + + if (params.InstanceDetailList) { + this.InstanceDetailList = new Array(); + for (let z in params.InstanceDetailList) { + let obj = new InstanceRelation(); + obj.deserialize(params.InstanceDetailList[z]); + this.InstanceDetailList.push(obj); + } + } + + if (params.ListenerCcThresholdList) { + this.ListenerCcThresholdList = new Array(); + for (let z in params.ListenerCcThresholdList) { + let obj = new ListenerCcThreholdConfig(); + obj.deserialize(params.ListenerCcThresholdList[z]); + this.ListenerCcThresholdList.push(obj); + } + } + + } +} + +/** + * CreatePortAclConfig返回参数结构体 + * @class + */ +class CreatePortAclConfigResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * ModifyDDoSLevel返回参数结构体 + * @class + */ +class ModifyDDoSLevelResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 防护等级,取值[low,middle,high] + * @type {string || null} + */ + this.DDoSLevel = null; + + /** + * 资源ID + * @type {string || null} + */ + this.Id = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.DDoSLevel = 'DDoSLevel' in params ? params.DDoSLevel : null; + this.Id = 'Id' in params ? params.Id : null; + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * CreateL7RuleCerts返回参数结构体 + * @class + */ +class CreateL7RuleCertsResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 成功码 + * @type {SuccessCode || null} + */ + this.Success = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + + if (params.Success) { + let obj = new SuccessCode(); + obj.deserialize(params.Success) + this.Success = obj; + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * CreateCCPrecisionPolicy请求参数结构体 + * @class + */ +class CreateCCPrecisionPolicyRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 实例Id + * @type {string || null} + */ + this.InstanceId = null; + + /** + * IP值 + * @type {string || null} + */ + this.Ip = null; + + /** + * 协议, 可取值HTTP,HTTPS + * @type {string || null} + */ + this.Protocol = null; + + /** + * 域名 + * @type {string || null} + */ + this.Domain = null; + + /** + * 策略方式,可取值alg表示验证码,drop表示丢弃 + * @type {string || null} + */ + this.PolicyAction = null; + + /** + * 策略记录 + * @type {Array. || null} + */ + this.PolicyList = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.InstanceId = 'InstanceId' in params ? params.InstanceId : null; + this.Ip = 'Ip' in params ? params.Ip : null; + this.Protocol = 'Protocol' in params ? params.Protocol : null; + this.Domain = 'Domain' in params ? params.Domain : null; + this.PolicyAction = 'PolicyAction' in params ? params.PolicyAction : null; + + if (params.PolicyList) { + this.PolicyList = new Array(); + for (let z in params.PolicyList) { + let obj = new CCPrecisionPlyRecord(); + obj.deserialize(params.PolicyList[z]); + this.PolicyList.push(obj); + } + } + + } +} + +/** + * 连接抑制相关配置 + * @class + */ +class ConnectLimitConfig extends AbstractModel { + constructor(){ + super(); + + /** + * 基于源IP+目的IP的每秒新建数限制 + * @type {number || null} + */ + this.SdNewLimit = null; + + /** + * 基于目的IP的每秒新建数限制 + * @type {number || null} + */ + this.DstNewLimit = null; + + /** + * 基于源IP+目的IP的并发连接控制 + * @type {number || null} + */ + this.SdConnLimit = null; + + /** + * 基于目的IP+目的端口的并发连接控制 + * @type {number || null} + */ + this.DstConnLimit = null; + + /** + * 基于连接抑制触发阈值,取值范围[0,4294967295] + * @type {number || null} + */ + this.BadConnThreshold = null; + + /** + * 异常连接检测条件,空连接防护开关,,取值范围[0,1] + * @type {number || null} + */ + this.NullConnEnable = null; + + /** + * 异常连接检测条件,连接超时,,取值范围[0,65535] + * @type {number || null} + */ + this.ConnTimeout = null; + + /** + * 异常连接检测条件,syn占比ack百分比,,取值范围[0,100] + * @type {number || null} + */ + this.SynRate = null; + + /** + * 异常连接检测条件,syn阈值,取值范围[0,100] + * @type {number || null} + */ + this.SynLimit = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.SdNewLimit = 'SdNewLimit' in params ? params.SdNewLimit : null; + this.DstNewLimit = 'DstNewLimit' in params ? params.DstNewLimit : null; + this.SdConnLimit = 'SdConnLimit' in params ? params.SdConnLimit : null; + this.DstConnLimit = 'DstConnLimit' in params ? params.DstConnLimit : null; + this.BadConnThreshold = 'BadConnThreshold' in params ? params.BadConnThreshold : null; + this.NullConnEnable = 'NullConnEnable' in params ? params.NullConnEnable : null; + this.ConnTimeout = 'ConnTimeout' in params ? params.ConnTimeout : null; + this.SynRate = 'SynRate' in params ? params.SynRate : null; + this.SynLimit = 'SynLimit' in params ? params.SynLimit : null; + + } +} + +/** + * DDoS访问限速配置 + * @class + */ +class DDoSSpeedLimitConfig extends AbstractModel { + constructor(){ + super(); + + /** + * 限速模式,取值[ +1(基于源IP限速) +2(基于目的端口限速) +] + * @type {number || null} + */ + this.Mode = null; + + /** + * 限速值,每种类型的限速值最多支持1个;该字段数组至少有一种限速值 + * @type {Array. || null} + */ + this.SpeedValues = null; + + /** + * 此字段已弃用,请填写新字段DstPortList。 + * @type {Array. || null} + */ + this.DstPortScopes = null; + + /** + * 配置ID,配置添加成功后生成;添加新限制配置时不用填写此字段,修改或删除限速配置时需要填写配置ID + * @type {string || null} + */ + this.Id = null; + + /** + * IP protocol numbers, 取值[ +ALL(所有协议) +TCP(tcp协议) +UDP(udp协议) +SMP(smp协议) +1;2-100(自定义协议号范围,最多8个) +] +注意:当自定义协议号范围时,只能填写协议号,多个范围;分隔;当填写ALL时不能再填写其他协议或协议号。 + * @type {string || null} + */ + this.ProtocolList = null; + + /** + * 端口范围列表,最多8个,多个;分隔,范围表示用-;此端口范围必须填写;填写样式1:0-65535,样式2:80;443;1000-2000 + * @type {string || null} + */ + this.DstPortList = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Mode = 'Mode' in params ? params.Mode : null; + + if (params.SpeedValues) { + this.SpeedValues = new Array(); + for (let z in params.SpeedValues) { + let obj = new SpeedValue(); + obj.deserialize(params.SpeedValues[z]); + this.SpeedValues.push(obj); + } + } + + if (params.DstPortScopes) { + this.DstPortScopes = new Array(); + for (let z in params.DstPortScopes) { + let obj = new PortSegment(); + obj.deserialize(params.DstPortScopes[z]); + this.DstPortScopes.push(obj); + } + } + this.Id = 'Id' in params ? params.Id : null; + this.ProtocolList = 'ProtocolList' in params ? params.ProtocolList : null; + this.DstPortList = 'DstPortList' in params ? params.DstPortList : null; + + } +} + +/** + * AssociateDDoSEipLoadBalancer请求参数结构体 + * @class + */ +class AssociateDDoSEipLoadBalancerRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 资源实例ID,实例ID形如:bgpip-0000011x。只能填写高防IP实例。 + * @type {string || null} + */ + this.InstanceId = null; + + /** + * 资源实例ID对应的高防弹性公网IP。 + * @type {string || null} + */ + this.Eip = null; + + /** + * 要绑定的负载均衡ID。负载均衡 ID 形如:lb-0000002i。可通过登录控制台查询,也可通过 DescribeLoadBalancers 接口返回值中的LoadBalancerId获取。 + * @type {string || null} + */ + this.LoadBalancerID = null; + + /** + * CLB所在地域,例如:ap-hongkong。 + * @type {string || null} + */ + this.LoadBalancerRegion = null; + + /** + * CLB内网IP + * @type {string || null} + */ + this.Vip = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.InstanceId = 'InstanceId' in params ? params.InstanceId : null; + this.Eip = 'Eip' in params ? params.Eip : null; + this.LoadBalancerID = 'LoadBalancerID' in params ? params.LoadBalancerID : null; + this.LoadBalancerRegion = 'LoadBalancerRegion' in params ? params.LoadBalancerRegion : null; + this.Vip = 'Vip' in params ? params.Vip : null; + + } +} + +/** + * DescribeListProtectThresholdConfig返回参数结构体 + * @class + */ +class DescribeListProtectThresholdConfigResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 总记录数 + * @type {number || null} + */ + this.Total = null; + + /** + * 防护阈值配置列表 + * @type {Array. || null} + */ + this.ConfigList = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Total = 'Total' in params ? params.Total : null; + + if (params.ConfigList) { + this.ConfigList = new Array(); + for (let z in params.ConfigList) { + let obj = new ProtectThresholdRelation(); + obj.deserialize(params.ConfigList[z]); + this.ConfigList.push(obj); + } + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * 使用证书的规则集合 + * @class + */ +class CertIdInsL7Rules extends AbstractModel { + constructor(){ + super(); + + /** + * 使用证书的规则列表 + * @type {Array. || null} + */ + this.L7Rules = null; + + /** + * 证书ID + * @type {string || null} + */ + this.CertId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + + if (params.L7Rules) { + this.L7Rules = new Array(); + for (let z in params.L7Rules) { + let obj = new InsL7Rules(); + obj.deserialize(params.L7Rules[z]); + this.L7Rules.push(obj); + } + } + this.CertId = 'CertId' in params ? params.CertId : null; + + } +} + +/** + * ip段数据结构 + * @class + */ +class IpSegment extends AbstractModel { + constructor(){ + super(); + + /** + * ip地址 + * @type {string || null} + */ + this.Ip = null; + + /** + * ip掩码,如果为32位ip,填0 + * @type {number || null} + */ + this.Mask = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Ip = 'Ip' in params ? params.Ip : null; + this.Mask = 'Mask' in params ? params.Mask : null; + + } +} + +/** + * CreateDefaultAlarmThreshold返回参数结构体 + * @class + */ +class CreateDefaultAlarmThresholdResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * ModifyDDoSThreshold请求参数结构体 + * @class + */ +class ModifyDDoSThresholdRequest extends AbstractModel { + constructor(){ + super(); + + /** + * DDoS清洗阈值,取值[0, 60, 80, 100, 150, 200, 250, 300, 400, 500, 700, 1000]; +当设置值为0时,表示采用默认值; + * @type {number || null} + */ + this.Threshold = null; + + /** + * 资源ID + * @type {string || null} + */ + this.Id = null; + + /** + * 大禹子产品代号(bgpip表示高防IP;bgp表示独享包;bgp-multip表示共享包;net表示高防IP专业版) + * @type {string || null} + */ + this.Business = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Threshold = 'Threshold' in params ? params.Threshold : null; + this.Id = 'Id' in params ? params.Id : null; + this.Business = 'Business' in params ? params.Business : null; + + } +} + +/** + * ModifyDDoSLevel请求参数结构体 + * @class + */ +class ModifyDDoSLevelRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 资源ID + * @type {string || null} + */ + this.Id = null; + + /** + * 大禹子产品代号(bgpip表示高防IP;bgp表示独享包;bgp-multip表示共享包;net表示高防IP专业版) + * @type {string || null} + */ + this.Business = null; + + /** + * =get表示读取防护等级;=set表示修改防护等级 + * @type {string || null} + */ + this.Method = null; + + /** + * 防护等级,取值[low,middle,high];当Method=set时必填 + * @type {string || null} + */ + this.DDoSLevel = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Id = 'Id' in params ? params.Id : null; + this.Business = 'Business' in params ? params.Business : null; + this.Method = 'Method' in params ? params.Method : null; + this.DDoSLevel = 'DDoSLevel' in params ? params.DDoSLevel : null; + + } +} + +/** + * DescribeListIPAlarmConfig返回参数结构体 + * @class + */ +class DescribeListIPAlarmConfigResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 总数 + * @type {number || null} + */ + this.Total = null; + + /** + * IP告警阈值配置列表 + * @type {Array. || null} + */ + this.ConfigList = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Total = 'Total' in params ? params.Total : null; + + if (params.ConfigList) { + this.ConfigList = new Array(); + for (let z in params.ConfigList) { + let obj = new IPAlarmThresholdRelation(); + obj.deserialize(params.ConfigList[z]); + this.ConfigList.push(obj); + } + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * CC地域封禁列表详情 + * @class + */ +class CcGeoIpPolicyNew extends AbstractModel { + constructor(){ + super(); + + /** + * 策略Id + * @type {string || null} + */ + this.PolicyId = null; + + /** + * 实例Id + * @type {string || null} + */ + this.InstanceId = null; + + /** + * IP地址 + * @type {string || null} + */ + this.Ip = null; + + /** + * 域名 + * @type {string || null} + */ + this.Domain = null; + + /** + * 协议,可取值HTTP,HTTPS + * @type {string || null} + */ + this.Protocol = null; + + /** + * 用户动作,drop或alg + * @type {string || null} + */ + this.Action = null; + + /** + * 地域类型,分为china, oversea与customized + * @type {string || null} + */ + this.RegionType = null; + + /** + * 用户选择封禁的地域ID列表 + * @type {Array. || null} + */ + this.AreaList = null; + + /** + * 创建时间 + * @type {string || null} + */ + this.CreateTime = null; + + /** + * 修改时间 + * @type {string || null} + */ + this.ModifyTime = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.PolicyId = 'PolicyId' in params ? params.PolicyId : null; + this.InstanceId = 'InstanceId' in params ? params.InstanceId : null; + this.Ip = 'Ip' in params ? params.Ip : null; + this.Domain = 'Domain' in params ? params.Domain : null; + this.Protocol = 'Protocol' in params ? params.Protocol : null; + this.Action = 'Action' in params ? params.Action : null; + this.RegionType = 'RegionType' in params ? params.RegionType : null; + this.AreaList = 'AreaList' in params ? params.AreaList : null; + this.CreateTime = 'CreateTime' in params ? params.CreateTime : null; + this.ModifyTime = 'ModifyTime' in params ? params.ModifyTime : null; + + } +} + +/** + * ModifyDDoSBlackWhiteIpList返回参数结构体 + * @class + */ +class ModifyDDoSBlackWhiteIpListResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * CC频率限制策略 + * @class + */ +class CCReqLimitPolicy extends AbstractModel { + constructor(){ + super(); + + /** + * 策略Id + * @type {string || null} + */ + this.PolicyId = null; + + /** + * 实例Id + * @type {string || null} + */ + this.InstanceId = null; + + /** + * Ip地址 + * @type {string || null} + */ + this.Ip = null; + + /** + * 协议,可取值HTTP,HTTPS + * @type {string || null} + */ + this.Protocol = null; + + /** + * 域名 + * @type {string || null} + */ + this.Domain = null; + + /** + * 策略项 + * @type {CCReqLimitPolicyRecord || null} + */ + this.PolicyRecord = null; + + /** + * 创建时间 + * @type {string || null} + */ + this.CreateTime = null; + + /** + * 修改时间 + * @type {string || null} + */ + this.ModifyTime = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.PolicyId = 'PolicyId' in params ? params.PolicyId : null; + this.InstanceId = 'InstanceId' in params ? params.InstanceId : null; + this.Ip = 'Ip' in params ? params.Ip : null; + this.Protocol = 'Protocol' in params ? params.Protocol : null; + this.Domain = 'Domain' in params ? params.Domain : null; + + if (params.PolicyRecord) { + let obj = new CCReqLimitPolicyRecord(); + obj.deserialize(params.PolicyRecord) + this.PolicyRecord = obj; + } + this.CreateTime = 'CreateTime' in params ? params.CreateTime : null; + this.ModifyTime = 'ModifyTime' in params ? params.ModifyTime : null; + + } +} + +/** + * DescribeCCPrecisionPlyList请求参数结构体 + * @class + */ +class DescribeCCPrecisionPlyListRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 大禹子产品代号(bgpip-multip:表示高防包;bgpip:表示高防IP) + * @type {string || null} + */ + this.Business = null; + + /** + * 页起始偏移,取值为(页码-1)*一页条数 + * @type {number || null} + */ + this.Offset = null; + + /** + * 一页条数 + * @type {number || null} + */ + this.Limit = null; + + /** + * 指定特定实例Id + * @type {string || null} + */ + this.InstanceId = null; + + /** + * IP地址,普通高防IP要传该字段 + * @type {string || null} + */ + this.Ip = null; + + /** + * 域名,普通高防IP要传该字段 + * @type {string || null} + */ + this.Domain = null; + + /** + * 协议,普通高防IP要传该字段 + * @type {string || null} + */ + this.Protocol = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Business = 'Business' in params ? params.Business : null; + this.Offset = 'Offset' in params ? params.Offset : null; + this.Limit = 'Limit' in params ? params.Limit : null; + this.InstanceId = 'InstanceId' in params ? params.InstanceId : null; + this.Ip = 'Ip' in params ? params.Ip : null; + this.Domain = 'Domain' in params ? params.Domain : null; + this.Protocol = 'Protocol' in params ? params.Protocol : null; + + } +} + +/** + * ModifyL7RulesEdge返回参数结构体 + * @class + */ +class ModifyL7RulesEdgeResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 成功码 + * @type {SuccessCode || null} + */ + this.Success = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + + if (params.Success) { + let obj = new SuccessCode(); + obj.deserialize(params.Success) + this.Success = obj; + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * Protocol、Port参数 + * @class + */ +class ProtocolPort extends AbstractModel { + constructor(){ + super(); + + /** + * 协议(tcp;udp) + * @type {string || null} + */ + this.Protocol = null; + + /** + * 端口 + * @type {number || null} + */ + this.Port = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Protocol = 'Protocol' in params ? params.Protocol : null; + this.Port = 'Port' in params ? params.Port : null; + + } +} + +/** + * DescribeCCLevelList请求参数结构体 + * @class + */ +class DescribeCCLevelListRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 大禹子产品代号(bgp-multip表示高防包) + * @type {string || null} + */ + this.Business = null; + + /** + * 页起始偏移,取值为(页码-1)*一页条数 + * @type {number || null} + */ + this.Offset = null; + + /** + * 一页条数 + * @type {number || null} + */ + this.Limit = null; + + /** + * 指定实例Id + * @type {string || null} + */ + this.InstanceId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Business = 'Business' in params ? params.Business : null; + this.Offset = 'Offset' in params ? params.Offset : null; + this.Limit = 'Limit' in params ? params.Limit : null; + this.InstanceId = 'InstanceId' in params ? params.InstanceId : null; + + } +} + +/** + * ModifyCCThresholdPolicy请求参数结构体 + * @class + */ +class ModifyCCThresholdPolicyRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 实例Id + * @type {string || null} + */ + this.InstanceId = null; + + /** + * IP地址 + * @type {string || null} + */ + this.Ip = null; + + /** + * 域名 + * @type {string || null} + */ + this.Domain = null; + + /** + * 协议,可取值HTTP,HTTPS + * @type {string || null} + */ + this.Protocol = null; + + /** + * 清洗阈值,-1表示开启“默认”模式 + * @type {number || null} + */ + this.Threshold = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.InstanceId = 'InstanceId' in params ? params.InstanceId : null; + this.Ip = 'Ip' in params ? params.Ip : null; + this.Domain = 'Domain' in params ? params.Domain : null; + this.Protocol = 'Protocol' in params ? params.Protocol : null; + this.Threshold = 'Threshold' in params ? params.Threshold : null; + + } +} + +/** + * DeleteDDoSGeoIPBlockConfig返回参数结构体 + * @class + */ +class DeleteDDoSGeoIPBlockConfigResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * DescribeListDDoSAI请求参数结构体 + * @class + */ +class DescribeListDDoSAIRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 页起始偏移,取值为(页码-1)*一页条数 + * @type {number || null} + */ + this.Offset = null; + + /** + * 一页条数,当Limit=0时,默认一页条数为100;最大取值为100 + * @type {number || null} + */ + this.Limit = null; + + /** + * 资源实例ID搜索, 支持资源实例前缀通配搜索,例如bgp-*表示获取高防包类型的资源实例 + * @type {string || null} + */ + this.FilterInstanceId = null; + + /** + * IP搜索 + * @type {string || null} + */ + this.FilterIp = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Offset = 'Offset' in params ? params.Offset : null; + this.Limit = 'Limit' in params ? params.Limit : null; + this.FilterInstanceId = 'FilterInstanceId' in params ? params.FilterInstanceId : null; + this.FilterIp = 'FilterIp' in params ? params.FilterIp : null; + + } +} + +/** + * DescribeListIPAlarmConfig请求参数结构体 + * @class + */ +class DescribeListIPAlarmConfigRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 页起始偏移,取值为(页码-1)*一页条数 + * @type {number || null} + */ + this.Offset = null; + + /** + * 一页条数,当Limit=0时,默认一页条数为100;最大取值为100 + * @type {number || null} + */ + this.Limit = null; + + /** + * 资源实例ID搜索, 支持资源实例前缀通配搜索,例如bgp-*表示获取高防包类型的资源实例 + * @type {string || null} + */ + this.FilterInstanceId = null; + + /** + * 告警阈值类型搜索,取值[ +1(入流量告警阈值) +2(攻击清洗流量告警阈值) +] + * @type {number || null} + */ + this.FilterAlarmType = null; + + /** + * IP搜索 + * @type {string || null} + */ + this.FilterIp = null; + + /** + * 高防IP实例资源的cname + * @type {string || null} + */ + this.FilterCname = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Offset = 'Offset' in params ? params.Offset : null; + this.Limit = 'Limit' in params ? params.Limit : null; + this.FilterInstanceId = 'FilterInstanceId' in params ? params.FilterInstanceId : null; + this.FilterAlarmType = 'FilterAlarmType' in params ? params.FilterAlarmType : null; + this.FilterIp = 'FilterIp' in params ? params.FilterIp : null; + this.FilterCname = 'FilterCname' in params ? params.FilterCname : null; + + } +} + +/** + * 端口段信息 + * @class + */ +class PortSegment extends AbstractModel { + constructor(){ + super(); + + /** + * 起始端口,取值1~65535 + * @type {number || null} + */ + this.BeginPort = null; + + /** + * 结束端口,取值1~65535,必须不小于起始端口 + * @type {number || null} + */ + this.EndPort = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.BeginPort = 'BeginPort' in params ? params.BeginPort : null; + this.EndPort = 'EndPort' in params ? params.EndPort : null; + + } +} + +/** + * DescribeOverviewCCTrend返回参数结构体 + * @class + */ +class DescribeOverviewCCTrendResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 值个数 + * @type {number || null} + */ + this.Count = null; + + /** + * 值数组 + * @type {Array. || null} + */ + this.Data = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Count = 'Count' in params ? params.Count : null; + this.Data = 'Data' in params ? params.Data : null; + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * ModifyCCReqLimitPolicy返回参数结构体 + * @class + */ +class ModifyCCReqLimitPolicyResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * 单IP默认告警阈值配置 + * @class + */ +class DefaultAlarmThreshold extends AbstractModel { + constructor(){ + super(); + + /** + * 告警阈值类型,取值[ +1(入流量告警阈值) +2(攻击清洗流量告警阈值) +] + * @type {number || null} + */ + this.AlarmType = null; + + /** + * 告警阈值,单位Mbps,取值>=0;当作为输入参数时,设置0会删除告警阈值配置; + * @type {number || null} + */ + this.AlarmThreshold = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.AlarmType = 'AlarmType' in params ? params.AlarmType : null; + this.AlarmThreshold = 'AlarmThreshold' in params ? params.AlarmThreshold : null; + + } +} + +/** + * 转发监听器 + * @class + */ +class ForwardListener extends AbstractModel { + constructor(){ + super(); + + /** + * 转发监听端口下限,取值1~65535 + * @type {number || null} + */ + this.FrontendPort = null; + + /** + * 转发协议,取值[ +TCP +UDP +] + * @type {string || null} + */ + this.ForwardProtocol = null; + + /** + * 转发监听端口上限,取值1~65535 + * @type {number || null} + */ + this.FrontendPortEnd = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.FrontendPort = 'FrontendPort' in params ? params.FrontendPort : null; + this.ForwardProtocol = 'ForwardProtocol' in params ? params.ForwardProtocol : null; + this.FrontendPortEnd = 'FrontendPortEnd' in params ? params.FrontendPortEnd : null; + + } +} + +/** + * 高防包资产实例的规格信息 + * @class + */ +class BGPInstanceSpecification extends AbstractModel { + constructor(){ + super(); + + /** + * 保底防护峰值,单位Gbps + * @type {number || null} + */ + this.ProtectBandwidth = null; + + /** + * 防护次数,单位次 + * @type {number || null} + */ + this.ProtectCountLimit = null; + + /** + * 防护IP数,单位个 + * @type {number || null} + */ + this.ProtectIPNumberLimit = null; + + /** + * 自动续费状态,取值[ +0:没有开启自动续费 +1:开启了自动续费 +] + * @type {number || null} + */ + this.AutoRenewFlag = null; + + /** + * 联合产品标记,0代表普通高防包,1代表联合高防包 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {number || null} + */ + this.UnionPackFlag = null; + + /** + * 业务带宽 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {number || null} + */ + this.ServiceBandWidth = null; + + /** + * 战斗服版本标记,0表示普通高防包,1表示战斗服高防包 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {number || null} + */ + this.BattleEditionFlag = null; + + /** + * 渠道版标记,0表示普通高防包,1表示渠道版高防包 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {number || null} + */ + this.ChannelEditionFlag = null; + + /** + * 高防包企业版标记,0表示普通高防包;1表示企业版高防包 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {number || null} + */ + this.EnterpriseFlag = null; + + /** + * 高防包企业版弹性阈值,0表示未开启;大于0为弹性防护阈值 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {number || null} + */ + this.ElasticLimit = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.ProtectBandwidth = 'ProtectBandwidth' in params ? params.ProtectBandwidth : null; + this.ProtectCountLimit = 'ProtectCountLimit' in params ? params.ProtectCountLimit : null; + this.ProtectIPNumberLimit = 'ProtectIPNumberLimit' in params ? params.ProtectIPNumberLimit : null; + this.AutoRenewFlag = 'AutoRenewFlag' in params ? params.AutoRenewFlag : null; + this.UnionPackFlag = 'UnionPackFlag' in params ? params.UnionPackFlag : null; + this.ServiceBandWidth = 'ServiceBandWidth' in params ? params.ServiceBandWidth : null; + this.BattleEditionFlag = 'BattleEditionFlag' in params ? params.BattleEditionFlag : null; + this.ChannelEditionFlag = 'ChannelEditionFlag' in params ? params.ChannelEditionFlag : null; + this.EnterpriseFlag = 'EnterpriseFlag' in params ? params.EnterpriseFlag : null; + this.ElasticLimit = 'ElasticLimit' in params ? params.ElasticLimit : null; + + } +} + +/** + * ModifyDomainUsrName请求参数结构体 + * @class + */ +class ModifyDomainUsrNameRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 用户CNAME + * @type {string || null} + */ + this.DomainName = null; + + /** + * 域名名称 + * @type {string || null} + */ + this.DomainUserName = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.DomainName = 'DomainName' in params ? params.DomainName : null; + this.DomainUserName = 'DomainUserName' in params ? params.DomainUserName : null; + + } +} + +/** + * CreateDDoSConnectLimit请求参数结构体 + * @class + */ +class CreateDDoSConnectLimitRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 资源实例Id + * @type {string || null} + */ + this.InstanceId = null; + + /** + * 连接抑制配置 + * @type {ConnectLimitConfig || null} + */ + this.ConnectLimitConfig = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.InstanceId = 'InstanceId' in params ? params.InstanceId : null; + + if (params.ConnectLimitConfig) { + let obj = new ConnectLimitConfig(); + obj.deserialize(params.ConnectLimitConfig) + this.ConnectLimitConfig = obj; + } + + } +} + +/** + * CreateWaterPrintKey请求参数结构体 + * @class + */ +class CreateWaterPrintKeyRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 资源实例ID + * @type {string || null} + */ + this.InstanceId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.InstanceId = 'InstanceId' in params ? params.InstanceId : null; + + } +} + +/** + * 水印配置相关信息 + * @class + */ +class WaterPrintRelation extends AbstractModel { + constructor(){ + super(); + + /** + * 水印配置 + * @type {WaterPrintConfig || null} + */ + this.WaterPrintConfig = null; + + /** + * 水印配置所属的资源实例 + * @type {Array. || null} + */ + this.InstanceDetailList = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + + if (params.WaterPrintConfig) { + let obj = new WaterPrintConfig(); + obj.deserialize(params.WaterPrintConfig) + this.WaterPrintConfig = obj; + } + + if (params.InstanceDetailList) { + this.InstanceDetailList = new Array(); + for (let z in params.InstanceDetailList) { + let obj = new InstanceRelation(); + obj.deserialize(params.InstanceDetailList[z]); + this.InstanceDetailList.push(obj); + } + } + + } +} + +/** + * 实例7层规则 + * @class + */ +class InsL7Rules extends AbstractModel { + constructor(){ + super(); + + /** + * 规则状态,0: 正常运行中, 1: 配置规则中(配置生效中), 2: 配置规则失败(配置生效失败), 3: 删除规则中(删除生效中), 5: 删除规则失败(删除失败), 6: 等待添加规则, 7: 等待删除规则, 8: 等待上传证书, 9: 规则对应的资源不存在,被隔离, 10:等待修改规则, 11:配置修改中 + * @type {number || null} + */ + this.Status = null; + + /** + * 域名 + * @type {string || null} + */ + this.Domain = null; + + /** + * 协议 + * @type {string || null} + */ + this.Protocol = null; + + /** + * 实例ID + * @type {string || null} + */ + this.InsId = null; + + /** + * 用户AppID + * @type {string || null} + */ + this.AppId = null; + + /** + * 高防端口 + * @type {string || null} + */ + this.VirtualPort = null; + + /** + * 证书ID + * @type {string || null} + */ + this.SSLId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Status = 'Status' in params ? params.Status : null; + this.Domain = 'Domain' in params ? params.Domain : null; + this.Protocol = 'Protocol' in params ? params.Protocol : null; + this.InsId = 'InsId' in params ? params.InsId : null; + this.AppId = 'AppId' in params ? params.AppId : null; + this.VirtualPort = 'VirtualPort' in params ? params.VirtualPort : null; + this.SSLId = 'SSLId' in params ? params.SSLId : null; + + } +} + +/** + * DescribeCCReqLimitPolicyList返回参数结构体 + * @class + */ +class DescribeCCReqLimitPolicyListResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 频率限制列表总数 + * @type {number || null} + */ + this.Total = null; + + /** + * 频率限制列表详情 + * @type {Array. || null} + */ + this.RequestLimitPolicyList = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Total = 'Total' in params ? params.Total : null; + + if (params.RequestLimitPolicyList) { + this.RequestLimitPolicyList = new Array(); + for (let z in params.RequestLimitPolicyList) { + let obj = new CCReqLimitPolicy(); + obj.deserialize(params.RequestLimitPolicyList[z]); + this.RequestLimitPolicyList.push(obj); + } + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * DescribeListDDoSAI返回参数结构体 + * @class + */ +class DescribeListDDoSAIResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 总数 + * @type {number || null} + */ + this.Total = null; + + /** + * AI防护开关列表 + * @type {Array. || null} + */ + this.ConfigList = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Total = 'Total' in params ? params.Total : null; + + if (params.ConfigList) { + this.ConfigList = new Array(); + for (let z in params.ConfigList) { + let obj = new DDoSAIRelation(); + obj.deserialize(params.ConfigList[z]); + this.ConfigList.push(obj); + } + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * ModifyCCPrecisionPolicy返回参数结构体 + * @class + */ +class ModifyCCPrecisionPolicyResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * DDoS防护的区域封禁配置 + * @class + */ +class CcGeoIPBlockConfig extends AbstractModel { + constructor(){ + super(); + + /** + * 区域类型,取值[ +oversea(海外) +china(国内) +customized(自定义地区) +] + * @type {string || null} + */ + this.RegionType = null; + + /** + * 封禁动作,取值[ +drop(拦截) +alg(人机校验) +] + * @type {string || null} + */ + this.Action = null; + + /** + * 配置ID,配置添加成功后生成;添加新配置时不用填写此字段,修改或删除配置时需要填写配置ID + * @type {string || null} + */ + this.Id = null; + + /** + * 当RegionType为customized时,必须填写AreaList;当RegionType为china或oversea时,AreaList为空 + * @type {Array. || null} + */ + this.AreaList = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.RegionType = 'RegionType' in params ? params.RegionType : null; + this.Action = 'Action' in params ? params.Action : null; + this.Id = 'Id' in params ? params.Id : null; + this.AreaList = 'AreaList' in params ? params.AreaList : null; + + } +} + +/** + * ModifyDDoSSpeedLimitConfig请求参数结构体 + * @class + */ +class ModifyDDoSSpeedLimitConfigRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 资源实例ID + * @type {string || null} + */ + this.InstanceId = null; + + /** + * 访问限速配置,填写参数时配置ID不能为空 + * @type {DDoSSpeedLimitConfig || null} + */ + this.DDoSSpeedLimitConfig = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.InstanceId = 'InstanceId' in params ? params.InstanceId : null; + + if (params.DDoSSpeedLimitConfig) { + let obj = new DDoSSpeedLimitConfig(); + obj.deserialize(params.DDoSSpeedLimitConfig) + this.DDoSSpeedLimitConfig = obj; + } + + } +} + +/** + * AssociateDDoSEipAddress请求参数结构体 + * @class + */ +class AssociateDDoSEipAddressRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 资源实例ID,实例ID形如:bgpip-0000011x。只能填写高防IP实例。 + * @type {string || null} + */ + this.InstanceId = null; + + /** + * 资源实例ID对应的高防弹性公网IP。 + * @type {string || null} + */ + this.Eip = null; + + /** + * 要绑定的实例 ID。实例 ID 形如:ins-11112222。可通过登录控制台查询,也可通过 DescribeInstances 接口返回值中的InstanceId获取。 + * @type {string || null} + */ + this.CvmInstanceID = null; + + /** + * cvm实例所在地域,例如:ap-hongkong。 + * @type {string || null} + */ + this.CvmRegion = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.InstanceId = 'InstanceId' in params ? params.InstanceId : null; + this.Eip = 'Eip' in params ? params.Eip : null; + this.CvmInstanceID = 'CvmInstanceID' in params ? params.CvmInstanceID : null; + this.CvmRegion = 'CvmRegion' in params ? params.CvmRegion : null; + + } +} + +/** + * AssociateDDoSEipLoadBalancer返回参数结构体 + * @class + */ +class AssociateDDoSEipLoadBalancerResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * DescribeCCThresholdList请求参数结构体 + * @class + */ +class DescribeCCThresholdListRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 大禹子产品代号(bgp-multip表示高防包) + * @type {string || null} + */ + this.Business = null; + + /** + * 页起始偏移,取值为(页码-1)*一页条数 + * @type {number || null} + */ + this.Offset = null; + + /** + * 一页条数 + * @type {number || null} + */ + this.Limit = null; + + /** + * 指定实例Id + * @type {string || null} + */ + this.InstanceId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Business = 'Business' in params ? params.Business : null; + this.Offset = 'Offset' in params ? params.Offset : null; + this.Limit = 'Limit' in params ? params.Limit : null; + this.InstanceId = 'InstanceId' in params ? params.InstanceId : null; + + } +} + +/** + * CreateBlackWhiteIpList请求参数结构体 + * @class + */ +class CreateBlackWhiteIpListRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 资源实例ID + * @type {string || null} + */ + this.InstanceId = null; + + /** + * IP列表 + * @type {Array. || null} + */ + this.IpList = null; + + /** + * IP类型,取值[black(黑名单IP), white(白名单IP)] + * @type {string || null} + */ + this.Type = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.InstanceId = 'InstanceId' in params ? params.InstanceId : null; + this.IpList = 'IpList' in params ? params.IpList : null; + this.Type = 'Type' in params ? params.Type : null; + + } +} + +/** + * ModifyDDoSGeoIPBlockConfig请求参数结构体 + * @class + */ +class ModifyDDoSGeoIPBlockConfigRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 资源实例ID + * @type {string || null} + */ + this.InstanceId = null; + + /** + * DDoS区域封禁配置,填写参数时配置ID不能为空 + * @type {DDoSGeoIPBlockConfig || null} + */ + this.DDoSGeoIPBlockConfig = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.InstanceId = 'InstanceId' in params ? params.InstanceId : null; + + if (params.DDoSGeoIPBlockConfig) { + let obj = new DDoSGeoIPBlockConfig(); + obj.deserialize(params.DDoSGeoIPBlockConfig) + this.DDoSGeoIPBlockConfig = obj; + } + + } +} + +/** + * DescribeBizTrend返回参数结构体 + * @class + */ +class DescribeBizTrendResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 曲线图各个时间点的值 + * @type {Array. || null} + */ + this.DataList = null; + + /** + * 统计纬度 + * @type {string || null} + */ + this.MetricName = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.DataList = 'DataList' in params ? params.DataList : null; + this.MetricName = 'MetricName' in params ? params.MetricName : null; + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * L7规则 + * @class + */ +class NewL7RuleEntry extends AbstractModel { + constructor(){ + super(); + + /** + * 转发协议,取值[http, https] + * @type {string || null} + */ + this.Protocol = null; + + /** + * 转发域名 + * @type {string || null} + */ + this.Domain = null; + + /** + * 负载均衡方式,取值[1(加权轮询)] + * @type {number || null} + */ + this.LbType = null; + + /** + * 会话保持开关,取值[0(会话保持关闭),1(会话保持开启)] + * @type {number || null} + */ + this.KeepEnable = null; + + /** + * 会话保持时间,单位秒 + * @type {number || null} + */ + this.KeepTime = null; + + /** + * 回源方式,取值[1(域名回源),2(IP回源)] + * @type {number || null} + */ + this.SourceType = null; + + /** + * 回源列表 + * @type {Array. || null} + */ + this.SourceList = null; + + /** + * 区域码 + * @type {number || null} + */ + this.Region = null; + + /** + * 资源Id + * @type {string || null} + */ + this.Id = null; + + /** + * 资源Ip + * @type {string || null} + */ + this.Ip = null; + + /** + * 规则ID,当添加新规则时可以不用填写此字段;当修改或者删除规则时需要填写此字段; + * @type {string || null} + */ + this.RuleId = null; + + /** + * 规则描述 + * @type {string || null} + */ + this.RuleName = null; + + /** + * 证书来源,当转发协议为https时必须填,取值[2(腾讯云托管证书)],当转发协议为http时也可以填0 + * @type {number || null} + */ + this.CertType = null; + + /** + * 当证书来源为腾讯云托管证书时,此字段必须填写托管证书ID + * @type {string || null} + */ + this.SSLId = null; + + /** + * 当证书来源为自有证书时,此字段必须填写证书内容;(因已不再支持自有证书,此字段已弃用,请不用填写此字段) + * @type {string || null} + */ + this.Cert = null; + + /** + * 当证书来源为自有证书时,此字段必须填写证书密钥;(因已不再支持自有证书,此字段已弃用,请不用填写此字段) + * @type {string || null} + */ + this.PrivateKey = null; + + /** + * 规则状态,取值[0(规则配置成功),1(规则配置生效中),2(规则配置失败),3(规则删除生效中),5(规则删除失败),6(规则等待配置),7(规则等待删除),8(规则待配置证书)] + * @type {number || null} + */ + this.Status = null; + + /** + * cc防护状态,取值[0(关闭), 1(开启)] + * @type {number || null} + */ + this.CCStatus = null; + + /** + * HTTPS协议的CC防护状态,取值[0(关闭), 1(开启)] + * @type {number || null} + */ + this.CCEnable = null; + + /** + * HTTPS协议的CC防护阈值 + * @type {number || null} + */ + this.CCThreshold = null; + + /** + * HTTPS协议的CC防护等级 + * @type {string || null} + */ + this.CCLevel = null; + + /** + * 修改时间 + * @type {string || null} + */ + this.ModifyTime = null; + + /** + * 是否开启Https协议使用Http回源,取值[0(关闭), 1(开启)],不填写默认是关闭 + * @type {number || null} + */ + this.HttpsToHttpEnable = null; + + /** + * 接入端口值 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {number || null} + */ + this.VirtualPort = null; + + /** + * http强制跳转https,1表示打开,0表示关闭 + * @type {number || null} + */ + this.RewriteHttps = null; + + /** + * 规则配置失败时的详细错误原因(仅当Status=2时有效),1001证书不存在,1002证书获取失败,1003证书上传失败,1004证书已过期 + * @type {number || null} + */ + this.ErrCode = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Protocol = 'Protocol' in params ? params.Protocol : null; + this.Domain = 'Domain' in params ? params.Domain : null; + this.LbType = 'LbType' in params ? params.LbType : null; + this.KeepEnable = 'KeepEnable' in params ? params.KeepEnable : null; + this.KeepTime = 'KeepTime' in params ? params.KeepTime : null; + this.SourceType = 'SourceType' in params ? params.SourceType : null; + + if (params.SourceList) { + this.SourceList = new Array(); + for (let z in params.SourceList) { + let obj = new L4RuleSource(); + obj.deserialize(params.SourceList[z]); + this.SourceList.push(obj); + } + } + this.Region = 'Region' in params ? params.Region : null; + this.Id = 'Id' in params ? params.Id : null; + this.Ip = 'Ip' in params ? params.Ip : null; + this.RuleId = 'RuleId' in params ? params.RuleId : null; + this.RuleName = 'RuleName' in params ? params.RuleName : null; + this.CertType = 'CertType' in params ? params.CertType : null; + this.SSLId = 'SSLId' in params ? params.SSLId : null; + this.Cert = 'Cert' in params ? params.Cert : null; + this.PrivateKey = 'PrivateKey' in params ? params.PrivateKey : null; + this.Status = 'Status' in params ? params.Status : null; + this.CCStatus = 'CCStatus' in params ? params.CCStatus : null; + this.CCEnable = 'CCEnable' in params ? params.CCEnable : null; + this.CCThreshold = 'CCThreshold' in params ? params.CCThreshold : null; + this.CCLevel = 'CCLevel' in params ? params.CCLevel : null; + this.ModifyTime = 'ModifyTime' in params ? params.ModifyTime : null; + this.HttpsToHttpEnable = 'HttpsToHttpEnable' in params ? params.HttpsToHttpEnable : null; + this.VirtualPort = 'VirtualPort' in params ? params.VirtualPort : null; + this.RewriteHttps = 'RewriteHttps' in params ? params.RewriteHttps : null; + this.ErrCode = 'ErrCode' in params ? params.ErrCode : null; + + } +} + +/** + * DeleteCcBlackWhiteIpList返回参数结构体 + * @class + */ +class DeleteCcBlackWhiteIpListResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * CreateBoundIP返回参数结构体 + * @class + */ +class CreateBoundIPResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 成功码 + * @type {SuccessCode || null} + */ + this.Success = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + + if (params.Success) { + let obj = new SuccessCode(); + obj.deserialize(params.Success) + this.Success = obj; + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * DescribeListDDoSSpeedLimitConfig请求参数结构体 + * @class + */ +class DescribeListDDoSSpeedLimitConfigRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 页起始偏移,取值为(页码-1)*一页条数 + * @type {number || null} + */ + this.Offset = null; + + /** + * 一页条数,当Limit=0时,默认一页条数为100;最大取值为100 + * @type {number || null} + */ + this.Limit = null; + + /** + * 资源实例ID搜索, 支持资源实例前缀通配搜索,例如bgp-*表示获取高防包类型的资源实例 + * @type {string || null} + */ + this.FilterInstanceId = null; + + /** + * IP搜索 + * @type {string || null} + */ + this.FilterIp = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Offset = 'Offset' in params ? params.Offset : null; + this.Limit = 'Limit' in params ? params.Limit : null; + this.FilterInstanceId = 'FilterInstanceId' in params ? params.FilterInstanceId : null; + this.FilterIp = 'FilterIp' in params ? params.FilterIp : null; + + } +} + +/** + * 限速值类型,例如:包速率pps、带宽bps + * @class + */ +class SpeedValue extends AbstractModel { + constructor(){ + super(); + + /** + * 限速值类型,取值[ +1(包速率pps) +2(带宽bps) +] + * @type {number || null} + */ + this.Type = null; + + /** + * 值大小 + * @type {number || null} + */ + this.Value = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Type = 'Type' in params ? params.Type : null; + this.Value = 'Value' in params ? params.Value : null; + + } +} + +/** + * SwitchWaterPrintConfig请求参数结构体 + * @class + */ +class SwitchWaterPrintConfigRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 资源实例ID + * @type {string || null} + */ + this.InstanceId = null; + + /** + * 水印开启/关闭状态,1表示开启;0表示关闭 + * @type {number || null} + */ + this.OpenStatus = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.InstanceId = 'InstanceId' in params ? params.InstanceId : null; + this.OpenStatus = 'OpenStatus' in params ? params.OpenStatus : null; + + } +} + +/** + * DescribeListSchedulingDomain返回参数结构体 + * @class + */ +class DescribeListSchedulingDomainResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 总数 + * @type {number || null} + */ + this.Total = null; + + /** + * 调度域名信息列表 + * @type {Array. || null} + */ + this.DomainList = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Total = 'Total' in params ? params.Total : null; + + if (params.DomainList) { + this.DomainList = new Array(); + for (let z in params.DomainList) { + let obj = new SchedulingDomainInfo(); + obj.deserialize(params.DomainList[z]); + this.DomainList.push(obj); + } + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * ModifyCCPrecisionPolicy请求参数结构体 + * @class + */ +class ModifyCCPrecisionPolicyRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 实例Id + * @type {string || null} + */ + this.InstanceId = null; + + /** + * 策略Id + * @type {string || null} + */ + this.PolicyId = null; + + /** + * 策略方式。可取值:alg、drop。alg指返回验证码方式验证,drop表示该访问丢弃。 + * @type {string || null} + */ + this.PolicyAction = null; + + /** + * 策略记录 + * @type {Array. || null} + */ + this.PolicyList = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.InstanceId = 'InstanceId' in params ? params.InstanceId : null; + this.PolicyId = 'PolicyId' in params ? params.PolicyId : null; + this.PolicyAction = 'PolicyAction' in params ? params.PolicyAction : null; + + if (params.PolicyList) { + this.PolicyList = new Array(); + for (let z in params.PolicyList) { + let obj = new CCPrecisionPlyRecord(); + obj.deserialize(params.PolicyList[z]); + this.PolicyList.push(obj); + } + } + + } +} + +/** + * DeleteDDoSBlackWhiteIpList返回参数结构体 + * @class + */ +class DeleteDDoSBlackWhiteIpListResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * CC清洗阈值策略 + * @class + */ +class CCThresholdPolicy extends AbstractModel { + constructor(){ + super(); + + /** + * 实例Id + * @type {string || null} + */ + this.InstanceId = null; + + /** + * Ip地址 + * @type {string || null} + */ + this.Ip = null; + + /** + * 协议 + * @type {string || null} + */ + this.Protocol = null; + + /** + * 域名 + * @type {string || null} + */ + this.Domain = null; + + /** + * 清洗阈值 + * @type {number || null} + */ + this.Threshold = null; + + /** + * 创建时间 + * @type {string || null} + */ + this.CreateTime = null; + + /** + * 修改时间 + * @type {string || null} + */ + this.ModifyTime = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.InstanceId = 'InstanceId' in params ? params.InstanceId : null; + this.Ip = 'Ip' in params ? params.Ip : null; + this.Protocol = 'Protocol' in params ? params.Protocol : null; + this.Domain = 'Domain' in params ? params.Domain : null; + this.Threshold = 'Threshold' in params ? params.Threshold : null; + this.CreateTime = 'CreateTime' in params ? params.CreateTime : null; + this.ModifyTime = 'ModifyTime' in params ? params.ModifyTime : null; + + } +} + +/** + * ModifyDomainUsrName返回参数结构体 + * @class + */ +class ModifyDomainUsrNameResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * DescribeCCTrend返回参数结构体 + * @class + */ +class DescribeCCTrendResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 值个数 + * @type {number || null} + */ + this.Count = null; + + /** + * 大禹子产品代号(bgpip表示高防IP;bgp表示独享包;bgp-multip表示共享包;net表示高防IP专业版;basic表示DDoS基础防护) + * @type {string || null} + */ + this.Business = null; + + /** + * 资源的IP + * @type {string || null} + */ + this.Ip = null; + + /** + * 统计粒度,取值[300(5分钟),3600(小时),86400(天)] + * @type {number || null} + */ + this.Period = null; + + /** + * 统计开始时间 + * @type {string || null} + */ + this.StartTime = null; + + /** + * 统计结束时间 + * @type {string || null} + */ + this.EndTime = null; + + /** + * 值数组 + * @type {Array. || null} + */ + this.Data = null; + + /** + * 资源ID +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.Id = null; + + /** + * 指标,取值[inqps(总请求峰值,dropqps(攻击请求峰值)),incount(请求次数), dropcount(攻击次数)] + * @type {string || null} + */ + this.MetricName = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Count = 'Count' in params ? params.Count : null; + this.Business = 'Business' in params ? params.Business : null; + this.Ip = 'Ip' in params ? params.Ip : null; + this.Period = 'Period' in params ? params.Period : null; + this.StartTime = 'StartTime' in params ? params.StartTime : null; + this.EndTime = 'EndTime' in params ? params.EndTime : null; + this.Data = 'Data' in params ? params.Data : null; + this.Id = 'Id' in params ? params.Id : null; + this.MetricName = 'MetricName' in params ? params.MetricName : null; + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * CreateSchedulingDomain返回参数结构体 + * @class + */ +class CreateSchedulingDomainResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 新创建的域名 + * @type {string || null} + */ + this.Domain = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Domain = 'Domain' in params ? params.Domain : null; + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * EIP所属的云产品信息 + * @class + */ +class EipProductInfo extends AbstractModel { + constructor(){ + super(); + + /** + * IP地址 + * @type {string || null} + */ + this.Ip = null; + + /** + * 云产品类型,取值[ +public(CVM产品), +bm(黑石产品), +eni(弹性网卡), +vpngw(VPN网关), + natgw(NAT网关), +waf(Web应用安全产品), +fpc(金融产品), +gaap(GAAP产品), +other(托管IP) +] + * @type {string || null} + */ + this.BizType = null; + + /** + * 云产品子类型,取值[cvm(CVM),lb(负载均衡器),eni(弹性网卡),vpngw(VPN),natgw(NAT),waf(WAF),fpc(金融),gaap(GAAP),other(托管IP),eip(黑石弹性IP)] + * @type {string || null} + */ + this.DeviceType = null; + + /** + * IP所属的云产品实例ID,例如是弹性网卡的IP,InstanceId为弹性网卡的ID(eni-*); 如果是托管IP没有对应的资源实例ID,InstanceId为"" + * @type {string || null} + */ + this.InstanceId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Ip = 'Ip' in params ? params.Ip : null; + this.BizType = 'BizType' in params ? params.BizType : null; + this.DeviceType = 'DeviceType' in params ? params.DeviceType : null; + this.InstanceId = 'InstanceId' in params ? params.InstanceId : null; + + } +} + +/** + * DeleteCcBlackWhiteIpList请求参数结构体 + * @class + */ +class DeleteCcBlackWhiteIpListRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 资源实例ID + * @type {string || null} + */ + this.InstanceId = null; + + /** + * 策略Id + * @type {string || null} + */ + this.PolicyId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.InstanceId = 'InstanceId' in params ? params.InstanceId : null; + this.PolicyId = 'PolicyId' in params ? params.PolicyId : null; + + } +} + +/** + * DescribeCcGeoIPBlockConfigList返回参数结构体 + * @class + */ +class DescribeCcGeoIPBlockConfigListResponse extends AbstractModel { + constructor(){ + super(); + + /** + * CC地域封禁策略列表总数 + * @type {number || null} + */ + this.Total = null; + + /** + * CC地域封禁策略列表详情 + * @type {Array. || null} + */ + this.CcGeoIpPolicyList = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Total = 'Total' in params ? params.Total : null; + + if (params.CcGeoIpPolicyList) { + this.CcGeoIpPolicyList = new Array(); + for (let z in params.CcGeoIpPolicyList) { + let obj = new CcGeoIpPolicyNew(); + obj.deserialize(params.CcGeoIpPolicyList[z]); + this.CcGeoIpPolicyList.push(obj); + } + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * CreateDDoSAI返回参数结构体 + * @class + */ +class CreateDDoSAIResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * DDoS区域封禁配置相关信息 + * @class + */ +class DDoSGeoIPBlockConfigRelation extends AbstractModel { + constructor(){ + super(); + + /** + * DDoS区域封禁配置 + * @type {DDoSGeoIPBlockConfig || null} + */ + this.GeoIPBlockConfig = null; + + /** + * 配置所属的资源实例 + * @type {Array. || null} + */ + this.InstanceDetailList = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + + if (params.GeoIPBlockConfig) { + let obj = new DDoSGeoIPBlockConfig(); + obj.deserialize(params.GeoIPBlockConfig) + this.GeoIPBlockConfig = obj; + } + + if (params.InstanceDetailList) { + this.InstanceDetailList = new Array(); + for (let z in params.InstanceDetailList) { + let obj = new InstanceRelation(); + obj.deserialize(params.InstanceDetailList[z]); + this.InstanceDetailList.push(obj); + } + } + + } +} + +/** + * DescribeListProtocolBlockConfig请求参数结构体 + * @class + */ +class DescribeListProtocolBlockConfigRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 页起始偏移,取值为(页码-1)*一页条数 + * @type {number || null} + */ + this.Offset = null; + + /** + * 一页条数,当Limit=0时,默认一页条数为100;最大取值为100 + * @type {number || null} + */ + this.Limit = null; + + /** + * 资源实例ID搜索, 支持资源实例前缀通配搜索,例如bgp-*表示获取高防包类型的资源实例 + * @type {string || null} + */ + this.FilterInstanceId = null; + + /** + * IP搜索 + * @type {string || null} + */ + this.FilterIp = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Offset = 'Offset' in params ? params.Offset : null; + this.Limit = 'Limit' in params ? params.Limit : null; + this.FilterInstanceId = 'FilterInstanceId' in params ? params.FilterInstanceId : null; + this.FilterIp = 'FilterIp' in params ? params.FilterIp : null; + + } +} + +/** + * DescribeListBGPInstances返回参数结构体 + * @class + */ +class DescribeListBGPInstancesResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 总数 + * @type {number || null} + */ + this.Total = null; + + /** + * 高防包资产实例列表 + * @type {Array. || null} + */ + this.InstanceList = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Total = 'Total' in params ? params.Total : null; + + if (params.InstanceList) { + this.InstanceList = new Array(); + for (let z in params.InstanceList) { + let obj = new BGPInstance(); + obj.deserialize(params.InstanceList[z]); + this.InstanceList.push(obj); + } + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * DescribeDDoSTrend请求参数结构体 + * @class + */ +class DescribeDDoSTrendRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 大禹子产品代号(bgpip表示高防IP;bgp表示独享包;bgp-multip表示共享包;net表示高防IP专业版;basic表示DDoS基础防护) + * @type {string || null} + */ + this.Business = null; + + /** + * 资源实例的IP + * @type {string || null} + */ + this.Ip = null; + + /** + * 统计粒度,取值[300(5分钟),3600(小时),86400(天)] + * @type {number || null} + */ + this.Period = null; + + /** + * 统计开始时间 + * @type {string || null} + */ + this.StartTime = null; + + /** + * 统计结束时间 + * @type {string || null} + */ + this.EndTime = null; + + /** + * 指标,取值[bps(攻击流量带宽,pps(攻击包速率))] + * @type {string || null} + */ + this.MetricName = null; + + /** + * 资源实例ID,当Business为basic时,此字段不用填写(因为基础防护没有资源实例) + * @type {string || null} + */ + this.Id = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Business = 'Business' in params ? params.Business : null; + this.Ip = 'Ip' in params ? params.Ip : null; + this.Period = 'Period' in params ? params.Period : null; + this.StartTime = 'StartTime' in params ? params.StartTime : null; + this.EndTime = 'EndTime' in params ? params.EndTime : null; + this.MetricName = 'MetricName' in params ? params.MetricName : null; + this.Id = 'Id' in params ? params.Id : null; + + } +} + +/** + * DeleteCCRequestLimitPolicy返回参数结构体 + * @class + */ +class DeleteCCRequestLimitPolicyResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * CreateCcBlackWhiteIpList请求参数结构体 + * @class + */ +class CreateCcBlackWhiteIpListRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 资源实例ID + * @type {string || null} + */ + this.InstanceId = null; + + /** + * IP列表 + * @type {Array. || null} + */ + this.IpList = null; + + /** + * IP类型,取值[black(黑名单IP), white(白名单IP)] + * @type {string || null} + */ + this.Type = null; + + /** + * Ip地址 + * @type {string || null} + */ + this.Ip = null; + + /** + * 域名 + * @type {string || null} + */ + this.Domain = null; + + /** + * 协议 + * @type {string || null} + */ + this.Protocol = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.InstanceId = 'InstanceId' in params ? params.InstanceId : null; + + if (params.IpList) { + this.IpList = new Array(); + for (let z in params.IpList) { + let obj = new IpSegment(); + obj.deserialize(params.IpList[z]); + this.IpList.push(obj); + } + } + this.Type = 'Type' in params ? params.Type : null; + this.Ip = 'Ip' in params ? params.Ip : null; + this.Domain = 'Domain' in params ? params.Domain : null; + this.Protocol = 'Protocol' in params ? params.Protocol : null; + + } +} + +/** + * 高防包资产实例信息 + * @class + */ +class BGPInstance extends AbstractModel { + constructor(){ + super(); + + /** + * 资产实例的详细信息 + * @type {InstanceRelation || null} + */ + this.InstanceDetail = null; + + /** + * 资产实例的规格信息 + * @type {BGPInstanceSpecification || null} + */ + this.SpecificationLimit = null; + + /** + * 资产实例的使用统计信息 + * @type {BGPInstanceUsages || null} + */ + this.Usage = null; + + /** + * 资产实例所在的地域 + * @type {RegionInfo || null} + */ + this.Region = null; + + /** + * 资产实例的防护状态,状态码如下: +"idle":正常状态(无攻击) +"attacking":攻击中 +"blocking":封堵中 +"creating":创建中 +"deblocking":解封中 +"isolate":回收隔离中 + * @type {string || null} + */ + this.Status = null; + + /** + * 购买时间 + * @type {string || null} + */ + this.CreatedTime = null; + + /** + * 到期时间 + * @type {string || null} + */ + this.ExpiredTime = null; + + /** + * 资产实例的名称 + * @type {string || null} + */ + this.Name = null; + + /** + * 资产实例所属的套餐包信息, +注意:当资产实例不是套餐包的实例时,此字段为null +注意:此字段可能返回 null,表示取不到有效值。 + * @type {PackInfo || null} + */ + this.PackInfo = null; + + /** + * 高防包绑定的EIP属于的云产品信息 + * @type {Array. || null} + */ + this.EipProductInfos = null; + + /** + * 高防包绑定状态,取值[ +"idle":绑定已完成 + "bounding":正在绑定中 +"failed":绑定失败 +] + * @type {string || null} + */ + this.BoundStatus = null; + + /** + * 四层防护严格级别 + * @type {string || null} + */ + this.DDoSLevel = null; + + /** + * CC防护开关 + * @type {number || null} + */ + this.CCEnable = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + + if (params.InstanceDetail) { + let obj = new InstanceRelation(); + obj.deserialize(params.InstanceDetail) + this.InstanceDetail = obj; + } + + if (params.SpecificationLimit) { + let obj = new BGPInstanceSpecification(); + obj.deserialize(params.SpecificationLimit) + this.SpecificationLimit = obj; + } + + if (params.Usage) { + let obj = new BGPInstanceUsages(); + obj.deserialize(params.Usage) + this.Usage = obj; + } + + if (params.Region) { + let obj = new RegionInfo(); + obj.deserialize(params.Region) + this.Region = obj; + } + this.Status = 'Status' in params ? params.Status : null; + this.CreatedTime = 'CreatedTime' in params ? params.CreatedTime : null; + this.ExpiredTime = 'ExpiredTime' in params ? params.ExpiredTime : null; + this.Name = 'Name' in params ? params.Name : null; + + if (params.PackInfo) { + let obj = new PackInfo(); + obj.deserialize(params.PackInfo) + this.PackInfo = obj; + } + + if (params.EipProductInfos) { + this.EipProductInfos = new Array(); + for (let z in params.EipProductInfos) { + let obj = new EipProductInfo(); + obj.deserialize(params.EipProductInfos[z]); + this.EipProductInfos.push(obj); + } + } + this.BoundStatus = 'BoundStatus' in params ? params.BoundStatus : null; + this.DDoSLevel = 'DDoSLevel' in params ? params.DDoSLevel : null; + this.CCEnable = 'CCEnable' in params ? params.CCEnable : null; + + } +} + +/** + * DescribeListPortAclList返回参数结构体 + * @class + */ +class DescribeListPortAclListResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 总数 + * @type {number || null} + */ + this.Total = null; + + /** + * 端口acl策略 + * @type {Array. || null} + */ + this.AclList = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Total = 'Total' in params ? params.Total : null; + + if (params.AclList) { + this.AclList = new Array(); + for (let z in params.AclList) { + let obj = new AclConfigRelation(); + obj.deserialize(params.AclList[z]); + this.AclList.push(obj); + } + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * CC精准防护配置项 + * @class + */ +class CCPrecisionPlyRecord extends AbstractModel { + constructor(){ + super(); + + /** + * 配置项类型,当前仅支持value + * @type {string || null} + */ + this.FieldType = null; + + /** + * 配置字段,可取值cgi, ua, cookie, referer, accept, srcip + * @type {string || null} + */ + this.FieldName = null; + + /** + * 配置取值 + * @type {string || null} + */ + this.Value = null; + + /** + * 配置项值比对方式,可取值equal ,not_equal, include + * @type {string || null} + */ + this.ValueOperator = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.FieldType = 'FieldType' in params ? params.FieldType : null; + this.FieldName = 'FieldName' in params ? params.FieldName : null; + this.Value = 'Value' in params ? params.Value : null; + this.ValueOperator = 'ValueOperator' in params ? params.ValueOperator : null; + + } +} + +/** + * DescribeCCPrecisionPlyList返回参数结构体 + * @class + */ +class DescribeCCPrecisionPlyListResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 策略列表总数 + * @type {number || null} + */ + this.Total = null; + + /** + * 策略列表详情 + * @type {Array. || null} + */ + this.PrecisionPolicyList = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Total = 'Total' in params ? params.Total : null; + + if (params.PrecisionPolicyList) { + this.PrecisionPolicyList = new Array(); + for (let z in params.PrecisionPolicyList) { + let obj = new CCPrecisionPolicy(); + obj.deserialize(params.PrecisionPolicyList[z]); + this.PrecisionPolicyList.push(obj); + } + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * DescribeBizTrend请求参数结构体 + * @class + */ +class DescribeBizTrendRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 统计方式,可取值max, min, avg, sum, 如统计纬度是流量速率或包量速率,仅可取值max + * @type {string || null} + */ + this.Statistics = null; + + /** + * 大禹子产品代号(bgpip表示高防IP) + * @type {string || null} + */ + this.Business = null; + + /** + * 统计周期,可取值300,1800,3600,21600,86400,单位秒 + * @type {number || null} + */ + this.Period = null; + + /** + * 统计开始时间。 例:“2020-09-22 00:00:00” + * @type {string || null} + */ + this.StartTime = null; + + /** + * 统计结束时间。 例:“2020-09-22 00:00:00” + * @type {string || null} + */ + this.EndTime = null; + + /** + * 资源实例ID + * @type {string || null} + */ + this.Id = null; + + /** + * 统计纬度,可取值connum, new_conn, inactive_conn, intraffic, outtraffic, inpkg, outpkg, qps + * @type {string || null} + */ + this.MetricName = null; + + /** + * 统计纬度为qps时,可选特定域名查询 + * @type {string || null} + */ + this.Domain = null; + + /** + * 协议及端口列表,协议可取值TCP, UDP, HTTP, HTTPS,仅统计纬度为连接数时有效 + * @type {Array. || null} + */ + this.ProtoInfo = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Statistics = 'Statistics' in params ? params.Statistics : null; + this.Business = 'Business' in params ? params.Business : null; + this.Period = 'Period' in params ? params.Period : null; + this.StartTime = 'StartTime' in params ? params.StartTime : null; + this.EndTime = 'EndTime' in params ? params.EndTime : null; + this.Id = 'Id' in params ? params.Id : null; + this.MetricName = 'MetricName' in params ? params.MetricName : null; + this.Domain = 'Domain' in params ? params.Domain : null; + + if (params.ProtoInfo) { + this.ProtoInfo = new Array(); + for (let z in params.ProtoInfo) { + let obj = new ProtocolPort(); + obj.deserialize(params.ProtoInfo[z]); + this.ProtoInfo.push(obj); + } + } + + } +} + +/** + * DescribeListPortAclList请求参数结构体 + * @class + */ +class DescribeListPortAclListRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 页起始偏移,取值为(页码-1)*一页条数 + * @type {number || null} + */ + this.Offset = null; + + /** + * 一页条数,当Limit=0时,默认一页条数为100;最大取值为100 + * @type {number || null} + */ + this.Limit = null; + + /** + * 资源实例ID搜索, 支持资源实例前缀通配搜索,例如bgp-*表示获取高防包类型的资源实例 + * @type {string || null} + */ + this.FilterInstanceId = null; + + /** + * ip搜索 + * @type {string || null} + */ + this.FilterIp = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Offset = 'Offset' in params ? params.Offset : null; + this.Limit = 'Limit' in params ? params.Limit : null; + this.FilterInstanceId = 'FilterInstanceId' in params ? params.FilterInstanceId : null; + this.FilterIp = 'FilterIp' in params ? params.FilterIp : null; + + } +} + +/** + * 防护概览DDoS攻击事件 + * @class + */ +class OverviewDDoSEvent extends AbstractModel { + constructor(){ + super(); + + /** + * 事件Id + * @type {string || null} + */ + this.Id = null; + + /** + * ip + * @type {string || null} + */ + this.Vip = null; + + /** + * 开始时间 + * @type {string || null} + */ + this.StartTime = null; + + /** + * 结束时间 + * @type {string || null} + */ + this.EndTime = null; + + /** + * 攻击类型 + * @type {string || null} + */ + this.AttackType = null; + + /** + * 攻击状态,0:攻击中;1:攻击结束 + * @type {number || null} + */ + this.AttackStatus = null; + + /** + * 攻击流量,单位Mbps + * @type {number || null} + */ + this.Mbps = null; + + /** + * 攻击包量,单位pps + * @type {number || null} + */ + this.Pps = null; + + /** + * 业务类型,bgp-multip:高防包;bgpip:高防ip;basic:基础防护 + * @type {string || null} + */ + this.Business = null; + + /** + * 高防实例Id + * @type {string || null} + */ + this.InstanceId = null; + + /** + * 高防实例名称 + * @type {string || null} + */ + this.InstanceName = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Id = 'Id' in params ? params.Id : null; + this.Vip = 'Vip' in params ? params.Vip : null; + this.StartTime = 'StartTime' in params ? params.StartTime : null; + this.EndTime = 'EndTime' in params ? params.EndTime : null; + this.AttackType = 'AttackType' in params ? params.AttackType : null; + this.AttackStatus = 'AttackStatus' in params ? params.AttackStatus : null; + this.Mbps = 'Mbps' in params ? params.Mbps : null; + this.Pps = 'Pps' in params ? params.Pps : null; + this.Business = 'Business' in params ? params.Business : null; + this.InstanceId = 'InstanceId' in params ? params.InstanceId : null; + this.InstanceName = 'InstanceName' in params ? params.InstanceName : null; + + } +} + +/** + * DescribeCCLevelPolicy返回参数结构体 + * @class + */ +class DescribeCCLevelPolicyResponse extends AbstractModel { + constructor(){ + super(); + + /** + * CC防护等级,可取值loose表示宽松,strict表示严格,normal表示适中, emergency表示攻击紧急, sup_loose表示超级宽松,default表示默认策略(无频控配置下发),customized表示自定义策略 + * @type {string || null} + */ + this.Level = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Level = 'Level' in params ? params.Level : null; + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * DescribeListWaterPrintConfig返回参数结构体 + * @class + */ +class DescribeListWaterPrintConfigResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 总数 + * @type {number || null} + */ + this.Total = null; + + /** + * 水印配置列表 + * @type {Array. || null} + */ + this.ConfigList = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Total = 'Total' in params ? params.Total : null; + + if (params.ConfigList) { + this.ConfigList = new Array(); + for (let z in params.ConfigList) { + let obj = new WaterPrintRelation(); + obj.deserialize(params.ConfigList[z]); + this.ConfigList.push(obj); + } + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * DescribeOverviewDDoSTrend返回参数结构体 + * @class + */ +class DescribeOverviewDDoSTrendResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 值个数 + * @type {number || null} + */ + this.Count = null; + + /** + * 值数组,攻击流量带宽单位为Mbps,包速率单位为pps + * @type {Array. || null} + */ + this.Data = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Count = 'Count' in params ? params.Count : null; + this.Data = 'Data' in params ? params.Data : null; + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * 高防包资产实例的使用信息统计 + * @class + */ +class BGPInstanceUsages extends AbstractModel { + constructor(){ + super(); + + /** + * 已使用的防护次数,单位次 + * @type {number || null} + */ + this.ProtectCountUsage = null; + + /** + * 已防护的IP数,单位个 + * @type {number || null} + */ + this.ProtectIPNumberUsage = null; + + /** + * 最近7天的攻击次数,单位次 + * @type {number || null} + */ + this.Last7DayAttackCount = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.ProtectCountUsage = 'ProtectCountUsage' in params ? params.ProtectCountUsage : null; + this.ProtectIPNumberUsage = 'ProtectIPNumberUsage' in params ? params.ProtectIPNumberUsage : null; + this.Last7DayAttackCount = 'Last7DayAttackCount' in params ? params.Last7DayAttackCount : null; + + } +} + +/** + * DeleteDDoSSpeedLimitConfig返回参数结构体 + * @class + */ +class DeleteDDoSSpeedLimitConfigResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * DeleteCCThresholdPolicy请求参数结构体 + * @class + */ +class DeleteCCThresholdPolicyRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 实例Id + * @type {string || null} + */ + this.InstanceId = null; + + /** + * 配置策略的IP + * @type {string || null} + */ + this.Ip = null; + + /** + * 域名 + * @type {string || null} + */ + this.Domain = null; + + /** + * 协议,可取值http + * @type {string || null} + */ + this.Protocol = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.InstanceId = 'InstanceId' in params ? params.InstanceId : null; + this.Ip = 'Ip' in params ? params.Ip : null; + this.Domain = 'Domain' in params ? params.Domain : null; + this.Protocol = 'Protocol' in params ? params.Protocol : null; + + } +} + +/** + * DescribeListListener请求参数结构体 + * @class + */ +class DescribeListListenerRequest extends AbstractModel { + constructor(){ + super(); + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + + } +} + +/** + * L7规则 + * @class + */ +class L7RuleEntry extends AbstractModel { + constructor(){ + super(); + + /** + * 会话保持时间,单位秒 + * @type {number || null} + */ + this.KeepTime = null; + + /** + * 转发域名 + * @type {string || null} + */ + this.Domain = null; + + /** + * 转发协议,取值[http, https] + * @type {string || null} + */ + this.Protocol = null; + + /** + * 回源方式,取值[1(域名回源),2(IP回源)] + * @type {number || null} + */ + this.SourceType = null; + + /** + * 负载均衡方式,取值[1(加权轮询)] + * @type {number || null} + */ + this.LbType = null; + + /** + * 回源列表 + * @type {Array. || null} + */ + this.SourceList = null; + + /** + * 会话保持开关,取值[0(会话保持关闭),1(会话保持开启)] + * @type {number || null} + */ + this.KeepEnable = null; + + /** + * 规则状态,取值[0(规则配置成功),1(规则配置生效中),2(规则配置失败),3(规则删除生效中),5(规则删除失败),6(规则等待配置),7(规则等待删除),8(规则待配置证书)] + * @type {number || null} + */ + this.Status = null; + + /** + * 规则ID,当添加新规则时可以不用填写此字段;当修改或者删除规则时需要填写此字段; + * @type {string || null} + */ + this.RuleId = null; + + /** + * HTTPS协议的CC防护阈值 + * @type {number || null} + */ + this.CCThreshold = null; + + /** + * 当证书来源为自有证书时,此字段必须填写证书密钥;(因已不再支持自有证书,此字段已弃用,请不用填写此字段) + * @type {string || null} + */ + this.PrivateKey = null; + + /** + * HTTPS协议的CC防护状态,取值[0(关闭), 1(开启)] + * @type {number || null} + */ + this.CCEnable = null; + + /** + * 是否开启Https协议使用Http回源,取值[0(关闭), 1(开启)],不填写默认是关闭 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {number || null} + */ + this.HttpsToHttpEnable = null; + + /** + * 证书来源,当转发协议为https时必须填,取值[2(腾讯云托管证书)],当转发协议为http时也可以填0 + * @type {number || null} + */ + this.CertType = null; + + /** + * 当证书来源为自有证书时,此字段必须填写证书内容;(因已不再支持自有证书,此字段已弃用,请不用填写此字段) + * @type {string || null} + */ + this.Cert = null; + + /** + * HTTPS协议的CC防护等级 + * @type {string || null} + */ + this.CCLevel = null; + + /** + * 规则描述 + * @type {string || null} + */ + this.RuleName = null; + + /** + * cc防护状态,取值[0(关闭), 1(开启)] + * @type {number || null} + */ + this.CCStatus = null; + + /** + * 接入端口值 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {number || null} + */ + this.VirtualPort = null; + + /** + * 当证书来源为腾讯云托管证书时,此字段必须填写托管证书ID + * @type {string || null} + */ + this.SSLId = null; + + /** + * 同ruleId + * @type {string || null} + */ + this.Id = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.KeepTime = 'KeepTime' in params ? params.KeepTime : null; + this.Domain = 'Domain' in params ? params.Domain : null; + this.Protocol = 'Protocol' in params ? params.Protocol : null; + this.SourceType = 'SourceType' in params ? params.SourceType : null; + this.LbType = 'LbType' in params ? params.LbType : null; + + if (params.SourceList) { + this.SourceList = new Array(); + for (let z in params.SourceList) { + let obj = new L4RuleSource(); + obj.deserialize(params.SourceList[z]); + this.SourceList.push(obj); + } + } + this.KeepEnable = 'KeepEnable' in params ? params.KeepEnable : null; + this.Status = 'Status' in params ? params.Status : null; + this.RuleId = 'RuleId' in params ? params.RuleId : null; + this.CCThreshold = 'CCThreshold' in params ? params.CCThreshold : null; + this.PrivateKey = 'PrivateKey' in params ? params.PrivateKey : null; + this.CCEnable = 'CCEnable' in params ? params.CCEnable : null; + this.HttpsToHttpEnable = 'HttpsToHttpEnable' in params ? params.HttpsToHttpEnable : null; + this.CertType = 'CertType' in params ? params.CertType : null; + this.Cert = 'Cert' in params ? params.Cert : null; + this.CCLevel = 'CCLevel' in params ? params.CCLevel : null; + this.RuleName = 'RuleName' in params ? params.RuleName : null; + this.CCStatus = 'CCStatus' in params ? params.CCStatus : null; + this.VirtualPort = 'VirtualPort' in params ? params.VirtualPort : null; + this.SSLId = 'SSLId' in params ? params.SSLId : null; + this.Id = 'Id' in params ? params.Id : null; + + } +} + +/** + * ModifyCCThresholdPolicy返回参数结构体 + * @class + */ +class ModifyCCThresholdPolicyResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * CreateWaterPrintKey返回参数结构体 + * @class + */ +class CreateWaterPrintKeyResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * DeleteCCPrecisionPolicy返回参数结构体 + * @class + */ +class DeleteCCPrecisionPolicyResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * DescribeDDoSTrend返回参数结构体 + * @class + */ +class DescribeDDoSTrendResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 值个数 + * @type {number || null} + */ + this.Count = null; + + /** + * 大禹子产品代号(bgpip表示高防IP;bgp表示独享包;bgp-multip表示共享包;net表示高防IP专业版;basic表示DDoS基础防护) + * @type {string || null} + */ + this.Business = null; + + /** + * 资源的IP + * @type {string || null} + */ + this.Ip = null; + + /** + * 统计粒度,取值[300(5分钟),3600(小时),86400(天)] + * @type {number || null} + */ + this.Period = null; + + /** + * 统计开始时间 + * @type {string || null} + */ + this.StartTime = null; + + /** + * 统计结束时间 + * @type {string || null} + */ + this.EndTime = null; + + /** + * 值数组,攻击流量带宽单位为Mbps,包速率单位为pps + * @type {Array. || null} + */ + this.Data = null; + + /** + * 资源ID +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.Id = null; + + /** + * 指标,取值[bps(攻击流量带宽,pps(攻击包速率))] + * @type {string || null} + */ + this.MetricName = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Count = 'Count' in params ? params.Count : null; + this.Business = 'Business' in params ? params.Business : null; + this.Ip = 'Ip' in params ? params.Ip : null; + this.Period = 'Period' in params ? params.Period : null; + this.StartTime = 'StartTime' in params ? params.StartTime : null; + this.EndTime = 'EndTime' in params ? params.EndTime : null; + this.Data = 'Data' in params ? params.Data : null; + this.Id = 'Id' in params ? params.Id : null; + this.MetricName = 'MetricName' in params ? params.MetricName : null; + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * DescribeListBlackWhiteIpList请求参数结构体 + * @class + */ +class DescribeListBlackWhiteIpListRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 页起始偏移,取值为(页码-1)*一页条数 + * @type {number || null} + */ + this.Offset = null; + + /** + * 一页条数,当Limit=0时,默认一页条数为100;最大取值为100 + * @type {number || null} + */ + this.Limit = null; + + /** + * 资源实例ID搜索, 支持资源实例前缀通配搜索,例如bgp-*表示获取高防包类型的资源实例 + * @type {string || null} + */ + this.FilterInstanceId = null; + + /** + * IP搜索 + * @type {string || null} + */ + this.FilterIp = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Offset = 'Offset' in params ? params.Offset : null; + this.Limit = 'Limit' in params ? params.Limit : null; + this.FilterInstanceId = 'FilterInstanceId' in params ? params.FilterInstanceId : null; + this.FilterIp = 'FilterIp' in params ? params.FilterIp : null; + + } +} + +/** + * CreateCCReqLimitPolicy请求参数结构体 + * @class + */ +class CreateCCReqLimitPolicyRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 实例Id + * @type {string || null} + */ + this.InstanceId = null; + + /** + * IP值 + * @type {string || null} + */ + this.Ip = null; + + /** + * 协议,可取值HTTP,HTTPS + * @type {string || null} + */ + this.Protocol = null; + + /** + * 域名 + * @type {string || null} + */ + this.Domain = null; + + /** + * 策略项 + * @type {CCReqLimitPolicyRecord || null} + */ + this.Policy = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.InstanceId = 'InstanceId' in params ? params.InstanceId : null; + this.Ip = 'Ip' in params ? params.Ip : null; + this.Protocol = 'Protocol' in params ? params.Protocol : null; + this.Domain = 'Domain' in params ? params.Domain : null; + + if (params.Policy) { + let obj = new CCReqLimitPolicyRecord(); + obj.deserialize(params.Policy) + this.Policy = obj; + } + + } +} + +/** + * ModifyDDoSSpeedLimitConfig返回参数结构体 + * @class + */ +class ModifyDDoSSpeedLimitConfigResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * 调度域名信息 + * @class + */ +class SchedulingDomainInfo extends AbstractModel { + constructor(){ + super(); + + /** + * 调度域名 + * @type {string || null} + */ + this.Domain = null; + + /** + * 线路IP列表 + * @type {Array. || null} + */ + this.LineIPList = null; + + /** + * 调度方式,当前仅支持优先级的方式,取值[priority] + * @type {string || null} + */ + this.Method = null; + + /** + * 调度域名解析记录的TTL值 + * @type {number || null} + */ + this.TTL = null; + + /** + * 运行状态,取值[ +0:未运行 +1:运行中 +2:运行异常 +] + * @type {number || null} + */ + this.Status = null; + + /** + * 创建时间 + * @type {string || null} + */ + this.CreatedTime = null; + + /** + * 最后修改时间 + * @type {string || null} + */ + this.ModifyTime = null; + + /** + * 域名名称 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.UsrDomainName = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Domain = 'Domain' in params ? params.Domain : null; + + if (params.LineIPList) { + this.LineIPList = new Array(); + for (let z in params.LineIPList) { + let obj = new IPLineInfo(); + obj.deserialize(params.LineIPList[z]); + this.LineIPList.push(obj); + } + } + this.Method = 'Method' in params ? params.Method : null; + this.TTL = 'TTL' in params ? params.TTL : null; + this.Status = 'Status' in params ? params.Status : null; + this.CreatedTime = 'CreatedTime' in params ? params.CreatedTime : null; + this.ModifyTime = 'ModifyTime' in params ? params.ModifyTime : null; + this.UsrDomainName = 'UsrDomainName' in params ? params.UsrDomainName : null; + + } +} + +/** + * DescribeDefaultAlarmThreshold请求参数结构体 + * @class + */ +class DescribeDefaultAlarmThresholdRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 产品类型,取值[ +bgp(表示高防包产品) +bgpip(表示高防IP产品) +] + * @type {string || null} + */ + this.InstanceType = null; + + /** + * 告警阈值类型搜索,取值[ +1(入流量告警阈值) +2(攻击清洗流量告警阈值) +] + * @type {number || null} + */ + this.FilterAlarmType = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.InstanceType = 'InstanceType' in params ? params.InstanceType : null; + this.FilterAlarmType = 'FilterAlarmType' in params ? params.FilterAlarmType : null; + + } +} + +/** + * 生成的水印密钥 + * @class + */ +class WaterPrintKey extends AbstractModel { + constructor(){ + super(); + + /** + * 密钥版本号 + * @type {string || null} + */ + this.KeyVersion = null; + + /** + * 密钥内容 + * @type {string || null} + */ + this.KeyContent = null; + + /** + * 密钥ID + * @type {string || null} + */ + this.KeyId = null; + + /** + * 密钥启用状态,只有一个取值1(启用) + * @type {number || null} + */ + this.KeyOpenStatus = null; + + /** + * 密钥生成时间 + * @type {string || null} + */ + this.CreateTime = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.KeyVersion = 'KeyVersion' in params ? params.KeyVersion : null; + this.KeyContent = 'KeyContent' in params ? params.KeyContent : null; + this.KeyId = 'KeyId' in params ? params.KeyId : null; + this.KeyOpenStatus = 'KeyOpenStatus' in params ? params.KeyOpenStatus : null; + this.CreateTime = 'CreateTime' in params ? params.CreateTime : null; + + } +} + +/** + * ModifyCCLevelPolicy请求参数结构体 + * @class + */ +class ModifyCCLevelPolicyRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 实例Id + * @type {string || null} + */ + this.InstanceId = null; + + /** + * IP地址 + * @type {string || null} + */ + this.Ip = null; + + /** + * 域名 + * @type {string || null} + */ + this.Domain = null; + + /** + * 协议,可取值HTTP,HTTPS + * @type {string || null} + */ + this.Protocol = null; + + /** + * CC防护等级,可取值loose表示宽松,strict表示严格,normal表示适中, emergency表示攻击紧急, sup_loose表示超级宽松,default表示默认策略(无频控配置下发),customized表示自定义策略 + * @type {string || null} + */ + this.Level = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.InstanceId = 'InstanceId' in params ? params.InstanceId : null; + this.Ip = 'Ip' in params ? params.Ip : null; + this.Domain = 'Domain' in params ? params.Domain : null; + this.Protocol = 'Protocol' in params ? params.Protocol : null; + this.Level = 'Level' in params ? params.Level : null; + + } +} + +/** + * DescribeCcGeoIPBlockConfigList请求参数结构体 + * @class + */ +class DescribeCcGeoIPBlockConfigListRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 大禹子产品代号(bgpip-multip:表示高防包;bgpip:表示高防IP) + * @type {string || null} + */ + this.Business = null; + + /** + * 页起始偏移,取值为(页码-1)*一页条数 + * @type {number || null} + */ + this.Offset = null; + + /** + * 一页条数 + * @type {number || null} + */ + this.Limit = null; + + /** + * 指定特定实例ID + * @type {string || null} + */ + this.InstanceId = null; + + /** + * IP地址,普通高防IP要传该字段 + * @type {string || null} + */ + this.Ip = null; + + /** + * 域名,普通高防IP要传该字段 + * @type {string || null} + */ + this.Domain = null; + + /** + * 协议,普通高防IP要传该字段 + * @type {string || null} + */ + this.Protocol = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Business = 'Business' in params ? params.Business : null; + this.Offset = 'Offset' in params ? params.Offset : null; + this.Limit = 'Limit' in params ? params.Limit : null; + this.InstanceId = 'InstanceId' in params ? params.InstanceId : null; + this.Ip = 'Ip' in params ? params.Ip : null; + this.Domain = 'Domain' in params ? params.Domain : null; + this.Protocol = 'Protocol' in params ? params.Protocol : null; + + } +} + +/** + * 特征过滤相关信息 + * @class + */ +class PacketFilterRelation extends AbstractModel { + constructor(){ + super(); + + /** + * 特征过滤配置 + * @type {PacketFilterConfig || null} + */ + this.PacketFilterConfig = null; + + /** + * 特征过滤配置所属的实例 + * @type {Array. || null} + */ + this.InstanceDetailList = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + + if (params.PacketFilterConfig) { + let obj = new PacketFilterConfig(); + obj.deserialize(params.PacketFilterConfig) + this.PacketFilterConfig = obj; + } + + if (params.InstanceDetailList) { + this.InstanceDetailList = new Array(); + for (let z in params.InstanceDetailList) { + let obj = new InstanceRelation(); + obj.deserialize(params.InstanceDetailList[z]); + this.InstanceDetailList.push(obj); + } + } + + } +} + +/** + * 四七层规则的 + * @class + */ +class RuleInstanceRelation extends AbstractModel { + constructor(){ + super(); + + /** + * 资源实例的IP + * @type {Array. || null} + */ + this.EipList = null; + + /** + * 资源实例的ID + * @type {string || null} + */ + this.InstanceId = null; + + /** + * 资源实例的Cname + * @type {string || null} + */ + this.Cname = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.EipList = 'EipList' in params ? params.EipList : null; + this.InstanceId = 'InstanceId' in params ? params.InstanceId : null; + this.Cname = 'Cname' in params ? params.Cname : null; + + } +} + +/** + * CreatePacketFilterConfig请求参数结构体 + * @class + */ +class CreatePacketFilterConfigRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 资源实例ID + * @type {string || null} + */ + this.InstanceId = null; + + /** + * 特征过滤规则 + * @type {PacketFilterConfig || null} + */ + this.PacketFilterConfig = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.InstanceId = 'InstanceId' in params ? params.InstanceId : null; + + if (params.PacketFilterConfig) { + let obj = new PacketFilterConfig(); + obj.deserialize(params.PacketFilterConfig) + this.PacketFilterConfig = obj; + } + + } +} + +/** + * DescribeCCTrend请求参数结构体 + * @class + */ +class DescribeCCTrendRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 大禹子产品代号(bgpip表示高防IP;bgp表示独享包;bgp-multip表示共享包;net表示高防IP专业版;basic表示DDoS基础防护) + * @type {string || null} + */ + this.Business = null; + + /** + * 资源的IP + * @type {string || null} + */ + this.Ip = null; + + /** + * 统计粒度,取值[300(5分钟),3600(小时),86400(天)] + * @type {number || null} + */ + this.Period = null; + + /** + * 统计开始时间 + * @type {string || null} + */ + this.StartTime = null; + + /** + * 统计结束时间 + * @type {string || null} + */ + this.EndTime = null; + + /** + * 指标,取值[inqps(总请求峰值,dropqps(攻击请求峰值)),incount(请求次数), dropcount(攻击次数)] + * @type {string || null} + */ + this.MetricName = null; + + /** + * 域名,可选 + * @type {string || null} + */ + this.Domain = null; + + /** + * 资源实例ID,当Business为basic时,此字段不用填写(因为基础防护没有资源实例) + * @type {string || null} + */ + this.Id = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Business = 'Business' in params ? params.Business : null; + this.Ip = 'Ip' in params ? params.Ip : null; + this.Period = 'Period' in params ? params.Period : null; + this.StartTime = 'StartTime' in params ? params.StartTime : null; + this.EndTime = 'EndTime' in params ? params.EndTime : null; + this.MetricName = 'MetricName' in params ? params.MetricName : null; + this.Domain = 'Domain' in params ? params.Domain : null; + this.Id = 'Id' in params ? params.Id : null; + + } +} + +module.exports = { + CreateDefaultAlarmThresholdRequest: CreateDefaultAlarmThresholdRequest, + DescribeDDoSConnectLimitListRequest: DescribeDDoSConnectLimitListRequest, + DescribeListBGPIPInstancesResponse: DescribeListBGPIPInstancesResponse, + DescribeBlackWhiteIpListResponse: DescribeBlackWhiteIpListResponse, + PacketFilterConfig: PacketFilterConfig, + DescribeOverviewCCTrendRequest: DescribeOverviewCCTrendRequest, + DeleteCCLevelPolicyRequest: DeleteCCLevelPolicyRequest, + ProxyTypeInfo: ProxyTypeInfo, + CreateBoundIPRequest: CreateBoundIPRequest, + CCReqLimitPolicyRecord: CCReqLimitPolicyRecord, + DescribeListSchedulingDomainRequest: DescribeListSchedulingDomainRequest, + CreateWaterPrintConfigRequest: CreateWaterPrintConfigRequest, + DDoSGeoIPBlockConfig: DDoSGeoIPBlockConfig, + CreateBlackWhiteIpListResponse: CreateBlackWhiteIpListResponse, + IPAlarmThresholdRelation: IPAlarmThresholdRelation, + DeleteCCRequestLimitPolicyRequest: DeleteCCRequestLimitPolicyRequest, + DescribeL7RulesBySSLCertIdResponse: DescribeL7RulesBySSLCertIdResponse, + DescribeDDoSBlackWhiteIpListResponse: DescribeDDoSBlackWhiteIpListResponse, + InstanceRelation: InstanceRelation, + ModifyNewDomainRulesRequest: ModifyNewDomainRulesRequest, + RegionInfo: RegionInfo, + DescribeListProtocolBlockConfigResponse: DescribeListProtocolBlockConfigResponse, + DescribeListBGPInstancesRequest: DescribeListBGPInstancesRequest, + KeyValue: KeyValue, + ModifyCcBlackWhiteIpListRequest: ModifyCcBlackWhiteIpListRequest, + DeleteDDoSSpeedLimitConfigRequest: DeleteDDoSSpeedLimitConfigRequest, + CreatePacketFilterConfigResponse: CreatePacketFilterConfigResponse, + CreateCCReqLimitPolicyResponse: CreateCCReqLimitPolicyResponse, + DescribeListWaterPrintConfigRequest: DescribeListWaterPrintConfigRequest, + CreateL7RuleCertsRequest: CreateL7RuleCertsRequest, + CreateCCPrecisionPolicyResponse: CreateCCPrecisionPolicyResponse, + DeleteCcGeoIPBlockConfigResponse: DeleteCcGeoIPBlockConfigResponse, + DeleteDDoSGeoIPBlockConfigRequest: DeleteDDoSGeoIPBlockConfigRequest, + ModifyDDoSGeoIPBlockConfigResponse: ModifyDDoSGeoIPBlockConfigResponse, + DescribeCcBlackWhiteIpListResponse: DescribeCcBlackWhiteIpListResponse, + ModifyCCLevelPolicyResponse: ModifyCCLevelPolicyResponse, + CreateIPAlarmThresholdConfigRequest: CreateIPAlarmThresholdConfigRequest, + CreateCcBlackWhiteIpListResponse: CreateCcBlackWhiteIpListResponse, + DescribeDefaultAlarmThresholdResponse: DescribeDefaultAlarmThresholdResponse, + CreateDDoSAIRequest: CreateDDoSAIRequest, + DescribeListProtectThresholdConfigRequest: DescribeListProtectThresholdConfigRequest, + ModifyNewDomainRulesResponse: ModifyNewDomainRulesResponse, + CcBlackWhiteIpPolicy: CcBlackWhiteIpPolicy, + DescribeDDoSConnectLimitListResponse: DescribeDDoSConnectLimitListResponse, + ModifyPacketFilterConfigResponse: ModifyPacketFilterConfigResponse, + DescribeCCLevelPolicyRequest: DescribeCCLevelPolicyRequest, + CreateWaterPrintConfigResponse: CreateWaterPrintConfigResponse, + DescribeOverviewAttackTrendRequest: DescribeOverviewAttackTrendRequest, + DescribeListBGPIPInstancesRequest: DescribeListBGPIPInstancesRequest, + StaticPackRelation: StaticPackRelation, + CreatePortAclConfigRequest: CreatePortAclConfigRequest, + DescribeCCThresholdListResponse: DescribeCCThresholdListResponse, + DescribeL7RulesBySSLCertIdRequest: DescribeL7RulesBySSLCertIdRequest, + DescribeListPacketFilterConfigResponse: DescribeListPacketFilterConfigResponse, + DeleteBlackWhiteIpListResponse: DeleteBlackWhiteIpListResponse, + CreateSchedulingDomainRequest: CreateSchedulingDomainRequest, + ModifyPortAclConfigRequest: ModifyPortAclConfigRequest, + BoundIpInfo: BoundIpInfo, + CreateDDoSBlackWhiteIpListRequest: CreateDDoSBlackWhiteIpListRequest, + ModifyCCReqLimitPolicyRequest: ModifyCCReqLimitPolicyRequest, + DescribeOverviewDDoSTrendRequest: DescribeOverviewDDoSTrendRequest, + DisassociateDDoSEipAddressResponse: DisassociateDDoSEipAddressResponse, + DeleteCCThresholdPolicyResponse: DeleteCCThresholdPolicyResponse, + DeleteBlackWhiteIpListRequest: DeleteBlackWhiteIpListRequest, + SourceServer: SourceServer, + CCLevelPolicy: CCLevelPolicy, + DescribeOverviewIndexResponse: DescribeOverviewIndexResponse, + CreatePortAclConfigListRequest: CreatePortAclConfigListRequest, + AclConfig: AclConfig, + DisassociateDDoSEipAddressRequest: DisassociateDDoSEipAddressRequest, + SwitchWaterPrintConfigResponse: SwitchWaterPrintConfigResponse, + BlackWhiteIpRelation: BlackWhiteIpRelation, + DeleteWaterPrintKeyResponse: DeleteWaterPrintKeyResponse, + EipAddressPackRelation: EipAddressPackRelation, + CreateDDoSBlackWhiteIpListResponse: CreateDDoSBlackWhiteIpListResponse, + ModifyCcBlackWhiteIpListResponse: ModifyCcBlackWhiteIpListResponse, + ProtocolBlockRelation: ProtocolBlockRelation, + DescribeListPacketFilterConfigRequest: DescribeListPacketFilterConfigRequest, + DescribeOverviewIndexRequest: DescribeOverviewIndexRequest, + BGPIPInstanceUsages: BGPIPInstanceUsages, + ModifyDDoSBlackWhiteIpListRequest: ModifyDDoSBlackWhiteIpListRequest, + DescribeListDDoSGeoIPBlockConfigRequest: DescribeListDDoSGeoIPBlockConfigRequest, + DescribeOverviewDDoSEventListResponse: DescribeOverviewDDoSEventListResponse, + CreateCcGeoIPBlockConfigResponse: CreateCcGeoIPBlockConfigResponse, + DescribeOverviewAttackTrendResponse: DescribeOverviewAttackTrendResponse, + Layer7Rule: Layer7Rule, + ModifyPortAclConfigResponse: ModifyPortAclConfigResponse, + DescribeBasicDeviceStatusRequest: DescribeBasicDeviceStatusRequest, + DeleteCcGeoIPBlockConfigRequest: DeleteCcGeoIPBlockConfigRequest, + DescribeCCLevelListResponse: DescribeCCLevelListResponse, + CreateDDoSSpeedLimitConfigRequest: CreateDDoSSpeedLimitConfigRequest, + CreateDDoSGeoIPBlockConfigRequest: CreateDDoSGeoIPBlockConfigRequest, + CreateProtocolBlockConfigRequest: CreateProtocolBlockConfigRequest, + DeleteWaterPrintKeyRequest: DeleteWaterPrintKeyRequest, + SuccessCode: SuccessCode, + AssociateDDoSEipAddressResponse: AssociateDDoSEipAddressResponse, + DDoSSpeedLimitConfigRelation: DDoSSpeedLimitConfigRelation, + DeleteCCLevelPolicyResponse: DeleteCCLevelPolicyResponse, + ModifyPacketFilterConfigRequest: ModifyPacketFilterConfigRequest, + DescribeBlackWhiteIpListRequest: DescribeBlackWhiteIpListRequest, + CreateCcGeoIPBlockConfigRequest: CreateCcGeoIPBlockConfigRequest, + DeletePortAclConfigResponse: DeletePortAclConfigResponse, + CreateDDoSSpeedLimitConfigResponse: CreateDDoSSpeedLimitConfigResponse, + DeletePacketFilterConfigRequest: DeletePacketFilterConfigRequest, + ModifyL7RulesEdgeRequest: ModifyL7RulesEdgeRequest, + DescribeListDDoSGeoIPBlockConfigResponse: DescribeListDDoSGeoIPBlockConfigResponse, + DescribeBasicDeviceStatusResponse: DescribeBasicDeviceStatusResponse, + WaterPrintConfig: WaterPrintConfig, + L4RuleSource: L4RuleSource, + ProtocolBlockConfig: ProtocolBlockConfig, + DeleteCCPrecisionPolicyRequest: DeleteCCPrecisionPolicyRequest, + BGPIPInstance: BGPIPInstance, + DeleteWaterPrintConfigResponse: DeleteWaterPrintConfigResponse, + Layer4Rule: Layer4Rule, + DeletePacketFilterConfigResponse: DeletePacketFilterConfigResponse, + CreateProtocolBlockConfigResponse: CreateProtocolBlockConfigResponse, + BGPIPInstanceSpecification: BGPIPInstanceSpecification, + CreateIPAlarmThresholdConfigResponse: CreateIPAlarmThresholdConfigResponse, + CreatePortAclConfigListResponse: CreatePortAclConfigListResponse, + DeleteWaterPrintConfigRequest: DeleteWaterPrintConfigRequest, + DescribeDDoSBlackWhiteIpListRequest: DescribeDDoSBlackWhiteIpListRequest, + ConnectLimitRelation: ConnectLimitRelation, + DescribeListBlackWhiteIpListResponse: DescribeListBlackWhiteIpListResponse, + DDoSAIRelation: DDoSAIRelation, + DescribeCCReqLimitPolicyListRequest: DescribeCCReqLimitPolicyListRequest, + AclConfigRelation: AclConfigRelation, + DescribeListDDoSSpeedLimitConfigResponse: DescribeListDDoSSpeedLimitConfigResponse, + ModifyDDoSThresholdResponse: ModifyDDoSThresholdResponse, + CreateDDoSGeoIPBlockConfigResponse: CreateDDoSGeoIPBlockConfigResponse, + CCPrecisionPolicy: CCPrecisionPolicy, + DescribeOverviewDDoSEventListRequest: DescribeOverviewDDoSEventListRequest, + ListenerCcThreholdConfig: ListenerCcThreholdConfig, + EipAddressRelation: EipAddressRelation, + DeleteDDoSBlackWhiteIpListRequest: DeleteDDoSBlackWhiteIpListRequest, + PackInfo: PackInfo, + CreateDDoSConnectLimitResponse: CreateDDoSConnectLimitResponse, + IPLineInfo: IPLineInfo, + DescribeCcBlackWhiteIpListRequest: DescribeCcBlackWhiteIpListRequest, + DescribeListListenerResponse: DescribeListListenerResponse, + DeletePortAclConfigRequest: DeletePortAclConfigRequest, + ProtectThresholdRelation: ProtectThresholdRelation, + CreatePortAclConfigResponse: CreatePortAclConfigResponse, + ModifyDDoSLevelResponse: ModifyDDoSLevelResponse, + CreateL7RuleCertsResponse: CreateL7RuleCertsResponse, + CreateCCPrecisionPolicyRequest: CreateCCPrecisionPolicyRequest, + ConnectLimitConfig: ConnectLimitConfig, + DDoSSpeedLimitConfig: DDoSSpeedLimitConfig, + AssociateDDoSEipLoadBalancerRequest: AssociateDDoSEipLoadBalancerRequest, + DescribeListProtectThresholdConfigResponse: DescribeListProtectThresholdConfigResponse, + CertIdInsL7Rules: CertIdInsL7Rules, + IpSegment: IpSegment, + CreateDefaultAlarmThresholdResponse: CreateDefaultAlarmThresholdResponse, + ModifyDDoSThresholdRequest: ModifyDDoSThresholdRequest, + ModifyDDoSLevelRequest: ModifyDDoSLevelRequest, + DescribeListIPAlarmConfigResponse: DescribeListIPAlarmConfigResponse, + CcGeoIpPolicyNew: CcGeoIpPolicyNew, + ModifyDDoSBlackWhiteIpListResponse: ModifyDDoSBlackWhiteIpListResponse, + CCReqLimitPolicy: CCReqLimitPolicy, + DescribeCCPrecisionPlyListRequest: DescribeCCPrecisionPlyListRequest, + ModifyL7RulesEdgeResponse: ModifyL7RulesEdgeResponse, + ProtocolPort: ProtocolPort, + DescribeCCLevelListRequest: DescribeCCLevelListRequest, + ModifyCCThresholdPolicyRequest: ModifyCCThresholdPolicyRequest, + DeleteDDoSGeoIPBlockConfigResponse: DeleteDDoSGeoIPBlockConfigResponse, + DescribeListDDoSAIRequest: DescribeListDDoSAIRequest, + DescribeListIPAlarmConfigRequest: DescribeListIPAlarmConfigRequest, + PortSegment: PortSegment, + DescribeOverviewCCTrendResponse: DescribeOverviewCCTrendResponse, + ModifyCCReqLimitPolicyResponse: ModifyCCReqLimitPolicyResponse, + DefaultAlarmThreshold: DefaultAlarmThreshold, + ForwardListener: ForwardListener, + BGPInstanceSpecification: BGPInstanceSpecification, + ModifyDomainUsrNameRequest: ModifyDomainUsrNameRequest, + CreateDDoSConnectLimitRequest: CreateDDoSConnectLimitRequest, + CreateWaterPrintKeyRequest: CreateWaterPrintKeyRequest, + WaterPrintRelation: WaterPrintRelation, + InsL7Rules: InsL7Rules, + DescribeCCReqLimitPolicyListResponse: DescribeCCReqLimitPolicyListResponse, + DescribeListDDoSAIResponse: DescribeListDDoSAIResponse, + ModifyCCPrecisionPolicyResponse: ModifyCCPrecisionPolicyResponse, + CcGeoIPBlockConfig: CcGeoIPBlockConfig, + ModifyDDoSSpeedLimitConfigRequest: ModifyDDoSSpeedLimitConfigRequest, + AssociateDDoSEipAddressRequest: AssociateDDoSEipAddressRequest, + AssociateDDoSEipLoadBalancerResponse: AssociateDDoSEipLoadBalancerResponse, + DescribeCCThresholdListRequest: DescribeCCThresholdListRequest, + CreateBlackWhiteIpListRequest: CreateBlackWhiteIpListRequest, + ModifyDDoSGeoIPBlockConfigRequest: ModifyDDoSGeoIPBlockConfigRequest, + DescribeBizTrendResponse: DescribeBizTrendResponse, + NewL7RuleEntry: NewL7RuleEntry, + DeleteCcBlackWhiteIpListResponse: DeleteCcBlackWhiteIpListResponse, + CreateBoundIPResponse: CreateBoundIPResponse, + DescribeListDDoSSpeedLimitConfigRequest: DescribeListDDoSSpeedLimitConfigRequest, + SpeedValue: SpeedValue, + SwitchWaterPrintConfigRequest: SwitchWaterPrintConfigRequest, + DescribeListSchedulingDomainResponse: DescribeListSchedulingDomainResponse, + ModifyCCPrecisionPolicyRequest: ModifyCCPrecisionPolicyRequest, + DeleteDDoSBlackWhiteIpListResponse: DeleteDDoSBlackWhiteIpListResponse, + CCThresholdPolicy: CCThresholdPolicy, + ModifyDomainUsrNameResponse: ModifyDomainUsrNameResponse, + DescribeCCTrendResponse: DescribeCCTrendResponse, + CreateSchedulingDomainResponse: CreateSchedulingDomainResponse, + EipProductInfo: EipProductInfo, + DeleteCcBlackWhiteIpListRequest: DeleteCcBlackWhiteIpListRequest, + DescribeCcGeoIPBlockConfigListResponse: DescribeCcGeoIPBlockConfigListResponse, + CreateDDoSAIResponse: CreateDDoSAIResponse, + DDoSGeoIPBlockConfigRelation: DDoSGeoIPBlockConfigRelation, + DescribeListProtocolBlockConfigRequest: DescribeListProtocolBlockConfigRequest, + DescribeListBGPInstancesResponse: DescribeListBGPInstancesResponse, + DescribeDDoSTrendRequest: DescribeDDoSTrendRequest, + DeleteCCRequestLimitPolicyResponse: DeleteCCRequestLimitPolicyResponse, + CreateCcBlackWhiteIpListRequest: CreateCcBlackWhiteIpListRequest, + BGPInstance: BGPInstance, + DescribeListPortAclListResponse: DescribeListPortAclListResponse, + CCPrecisionPlyRecord: CCPrecisionPlyRecord, + DescribeCCPrecisionPlyListResponse: DescribeCCPrecisionPlyListResponse, + DescribeBizTrendRequest: DescribeBizTrendRequest, + DescribeListPortAclListRequest: DescribeListPortAclListRequest, + OverviewDDoSEvent: OverviewDDoSEvent, + DescribeCCLevelPolicyResponse: DescribeCCLevelPolicyResponse, + DescribeListWaterPrintConfigResponse: DescribeListWaterPrintConfigResponse, + DescribeOverviewDDoSTrendResponse: DescribeOverviewDDoSTrendResponse, + BGPInstanceUsages: BGPInstanceUsages, + DeleteDDoSSpeedLimitConfigResponse: DeleteDDoSSpeedLimitConfigResponse, + DeleteCCThresholdPolicyRequest: DeleteCCThresholdPolicyRequest, + DescribeListListenerRequest: DescribeListListenerRequest, + L7RuleEntry: L7RuleEntry, + ModifyCCThresholdPolicyResponse: ModifyCCThresholdPolicyResponse, + CreateWaterPrintKeyResponse: CreateWaterPrintKeyResponse, + DeleteCCPrecisionPolicyResponse: DeleteCCPrecisionPolicyResponse, + DescribeDDoSTrendResponse: DescribeDDoSTrendResponse, + DescribeListBlackWhiteIpListRequest: DescribeListBlackWhiteIpListRequest, + CreateCCReqLimitPolicyRequest: CreateCCReqLimitPolicyRequest, + ModifyDDoSSpeedLimitConfigResponse: ModifyDDoSSpeedLimitConfigResponse, + SchedulingDomainInfo: SchedulingDomainInfo, + DescribeDefaultAlarmThresholdRequest: DescribeDefaultAlarmThresholdRequest, + WaterPrintKey: WaterPrintKey, + ModifyCCLevelPolicyRequest: ModifyCCLevelPolicyRequest, + DescribeCcGeoIPBlockConfigListRequest: DescribeCcGeoIPBlockConfigListRequest, + PacketFilterRelation: PacketFilterRelation, + RuleInstanceRelation: RuleInstanceRelation, + CreatePacketFilterConfigRequest: CreatePacketFilterConfigRequest, + DescribeCCTrendRequest: DescribeCCTrendRequest, + +} diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/api/v20201106/api_client.js b/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/api/v20201106/api_client.js index 5113d44f51..c7642065ee 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/api/v20201106/api_client.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/api/v20201106/api_client.js @@ -16,6 +16,9 @@ */ const models = require("./models"); const AbstractClient = require('../../common/abstract_client') +const RegionProduct = models.RegionProduct; +const DescribeProductsRequest = models.DescribeProductsRequest; +const DescribeProductsResponse = models.DescribeProductsResponse; const ZoneInfo = models.ZoneInfo; const DescribeZonesRequest = models.DescribeZonesRequest; const DescribeZonesResponse = models.DescribeZonesResponse; @@ -35,7 +38,18 @@ class ApiClient extends AbstractClient { } /** - * 本接口(DescribeRegions)用于查询各个产品支持地域信息,当前只支持cvm。 + * 本接口(DescribeProducts)用于查询各个支持地域列表查询的产品信息。 + * @param {DescribeProductsRequest} req + * @param {function(string, DescribeProductsResponse):void} cb + * @public + */ + DescribeProducts(req, cb) { + let resp = new DescribeProductsResponse(); + this.request("DescribeProducts", req, resp, cb); + } + + /** + * 本接口(DescribeRegions)用于查询各个产品支持地域信息。 * @param {DescribeRegionsRequest} req * @param {function(string, DescribeRegionsResponse):void} cb * @public @@ -46,7 +60,7 @@ class ApiClient extends AbstractClient { } /** - * 本接口(DescribeZones)用于查询产品可用区信息,当前只支持cvm。 + * 本接口(DescribeZones)用于查询产品可用区信息。 * @param {DescribeZonesRequest} req * @param {function(string, DescribeZonesResponse):void} cb * @public diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/api/v20201106/models.js b/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/api/v20201106/models.js index e92743f3d2..a35e1b22cc 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/api/v20201106/models.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/api/v20201106/models.js @@ -16,6 +16,119 @@ */ const AbstractModel = require("../../common/abstract_model"); +/** + * 地域管理系统支持的产品信息 + * @class + */ +class RegionProduct extends AbstractModel { + constructor(){ + super(); + + /** + * 产品名称,如cvm + * @type {string || null} + */ + this.Name = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Name = 'Name' in params ? params.Name : null; + + } +} + +/** + * DescribeProducts请求参数结构体 + * @class + */ +class DescribeProductsRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 返回数量,默认为 20,最大值为 100。 + * @type {number || null} + */ + this.Limit = null; + + /** + * 偏移量,默认为 0。 + * @type {number || null} + */ + this.Offset = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Limit = 'Limit' in params ? params.Limit : null; + this.Offset = 'Offset' in params ? params.Offset : null; + + } +} + +/** + * DescribeProducts返回参数结构体 + * @class + */ +class DescribeProductsResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 产品详细信息列表。 + * @type {Array. || null} + */ + this.Products = null; + + /** + * 产品总数量。 + * @type {number || null} + */ + this.TotalCount = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + + if (params.Products) { + this.Products = new Array(); + for (let z in params.Products) { + let obj = new RegionProduct(); + obj.deserialize(params.Products[z]); + this.Products.push(obj); + } + } + this.TotalCount = 'TotalCount' in params ? params.TotalCount : null; + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + /** * 可用区信息 * @class @@ -118,7 +231,7 @@ class DescribeZonesRequest extends AbstractModel { super(); /** - * 待查询产品的名称,例如cvm、vpc + * 待查询产品的名称,例如cvm * @type {string || null} */ this.Product = null; @@ -288,7 +401,7 @@ class DescribeRegionsRequest extends AbstractModel { super(); /** - * 待查询产品的名称,例如cvm、vpc + * 待查询产品的名称,例如cvm * @type {string || null} */ this.Product = null; @@ -308,6 +421,9 @@ class DescribeRegionsRequest extends AbstractModel { } module.exports = { + RegionProduct: RegionProduct, + DescribeProductsRequest: DescribeProductsRequest, + DescribeProductsResponse: DescribeProductsResponse, ZoneInfo: ZoneInfo, DescribeZonesRequest: DescribeZonesRequest, DescribeZonesResponse: DescribeZonesResponse, diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/apigateway/v20180808/apigateway_client.js b/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/apigateway/v20180808/apigateway_client.js index 4a89f5d1c4..c8d405d62f 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/apigateway/v20180808/apigateway_client.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/apigateway/v20180808/apigateway_client.js @@ -21,45 +21,58 @@ const UpdateApiKeyRequest = models.UpdateApiKeyRequest; const Service = models.Service; const DeleteAPIDocRequest = models.DeleteAPIDocRequest; const ApiUsagePlanSet = models.ApiUsagePlanSet; -const DemoteServiceUsagePlanRequest = models.DemoteServiceUsagePlanRequest; const DescribeAPIDocDetailRequest = models.DescribeAPIDocDetailRequest; const ModifyAPIDocResponse = models.ModifyAPIDocResponse; +const AttachedApiSummary = models.AttachedApiSummary; const DescribeUsagePlanRequest = models.DescribeUsagePlanRequest; const DeleteUsagePlanResponse = models.DeleteUsagePlanResponse; const DisableApiKeyResponse = models.DisableApiKeyResponse; +const DescribeApiResponse = models.DescribeApiResponse; const UnReleaseServiceRequest = models.UnReleaseServiceRequest; +const DetachPluginRequest = models.DetachPluginRequest; const ModifySubDomainRequest = models.ModifySubDomainRequest; +const DescribeApiAppsStatusRequest = models.DescribeApiAppsStatusRequest; const DescribeServiceUsagePlanRequest = models.DescribeServiceUsagePlanRequest; const DescribeServiceEnvironmentListResponse = models.DescribeServiceEnvironmentListResponse; +const DescribeApiAppBindApisStatusRequest = models.DescribeApiAppBindApisStatusRequest; const ModifyApiResponse = models.ModifyApiResponse; const ServiceEnvironmentStrategy = models.ServiceEnvironmentStrategy; -const DescribeApiResponse = models.DescribeApiResponse; +const ApiInfo = models.ApiInfo; const TargetServicesReq = models.TargetServicesReq; +const DescribeUsagePlansStatusRequest = models.DescribeUsagePlansStatusRequest; const TsfLoadBalanceConfResp = models.TsfLoadBalanceConfResp; const CreateIPStrategyRequest = models.CreateIPStrategyRequest; const IPStrategy = models.IPStrategy; const DescribeUsagePlansStatusResponse = models.DescribeUsagePlansStatusResponse; const HealthCheckConf = models.HealthCheckConf; +const DeleteUpstreamRequest = models.DeleteUpstreamRequest; const Plugin = models.Plugin; +const UnbindApiAppResponse = models.UnbindApiAppResponse; +const ModifyUpstreamRequest = models.ModifyUpstreamRequest; const DescribeApiUsagePlanResponse = models.DescribeApiUsagePlanResponse; const DeleteIPStrategyRequest = models.DeleteIPStrategyRequest; -const ModifyAPIDocRequest = models.ModifyAPIDocRequest; -const DomainSets = models.DomainSets; +const DescribeApiAppRequest = models.DescribeApiAppRequest; +const DescribePluginResponse = models.DescribePluginResponse; +const DescribeUpstreamBindApisRequest = models.DescribeUpstreamBindApisRequest; +const DescribeExclusiveInstancesResponse = models.DescribeExclusiveInstancesResponse; +const K8sService = models.K8sService; const DeleteUsagePlanRequest = models.DeleteUsagePlanRequest; const DeleteServiceRequest = models.DeleteServiceRequest; const DescribeApiEnvironmentStrategyRequest = models.DescribeApiEnvironmentStrategyRequest; -const UpdateServiceResponse = models.UpdateServiceResponse; +const UpstreamHealthCheckerReqHeaders = models.UpstreamHealthCheckerReqHeaders; +const DescribeServiceForApiAppResponse = models.DescribeServiceForApiAppResponse; const ServiceConfig = models.ServiceConfig; -const ServiceEnvironmentSet = models.ServiceEnvironmentSet; +const DeleteApiAppResponse = models.DeleteApiAppResponse; const DescribeServiceResponse = models.DescribeServiceResponse; const UsagePlanEnvironmentStatus = models.UsagePlanEnvironmentStatus; -const ModifyIPStrategyResponse = models.ModifyIPStrategyResponse; +const DescribeExclusiveInstancesRequest = models.DescribeExclusiveInstancesRequest; const BindSubDomainResponse = models.BindSubDomainResponse; const BindEnvironmentResponse = models.BindEnvironmentResponse; const Tag = models.Tag; -const DescribeIPStrategysStatusRequest = models.DescribeIPStrategysStatusRequest; +const DescribeExclusiveInstanceDetailResponse = models.DescribeExclusiveInstanceDetailResponse; +const DescribeApiBindApiAppsStatusResponse = models.DescribeApiBindApiAppsStatusResponse; const ConstantParameter = models.ConstantParameter; -const UsagePlansStatus = models.UsagePlansStatus; +const DescribeApiForApiAppRequest = models.DescribeApiForApiAppRequest; const APIDocs = models.APIDocs; const LogQuery = models.LogQuery; const ServiceParameter = models.ServiceParameter; @@ -67,134 +80,194 @@ const ModifyServiceResponse = models.ModifyServiceResponse; const DisableApiKeyRequest = models.DisableApiKeyRequest; const PathMapping = models.PathMapping; const UnBindIPStrategyResponse = models.UnBindIPStrategyResponse; +const DescribeExclusiveInstanceDetailRequest = models.DescribeExclusiveInstanceDetailRequest; +const ModifyPluginRequest = models.ModifyPluginRequest; const BindIPStrategyResponse = models.BindIPStrategyResponse; +const AvailableApiInfo = models.AvailableApiInfo; const DescribeApisStatusRequest = models.DescribeApisStatusRequest; const DeleteServiceSubDomainMappingRequest = models.DeleteServiceSubDomainMappingRequest; +const BindApiAppRequest = models.BindApiAppRequest; const IPStrategyApi = models.IPStrategyApi; const DescribeIPStrategyResponse = models.DescribeIPStrategyResponse; +const DescribePluginRequest = models.DescribePluginRequest; const DocumentSDK = models.DocumentSDK; -const DeleteApiResponse = models.DeleteApiResponse; +const AttachedApiInfo = models.AttachedApiInfo; const CreateApiResponse = models.CreateApiResponse; const DescribeIPStrategyApisStatusRequest = models.DescribeIPStrategyApisStatusRequest; -const UnBindEnvironmentRequest = models.UnBindEnvironmentRequest; -const OauthConfig = models.OauthConfig; +const ModifyIPStrategyResponse = models.ModifyIPStrategyResponse; +const DescribeUpstreamInfo = models.DescribeUpstreamInfo; const ModifyApiEnvironmentStrategyRequest = models.ModifyApiEnvironmentStrategyRequest; +const NetworkConfig = models.NetworkConfig; +const ServiceReleaseHistory = models.ServiceReleaseHistory; const ModifyUsagePlanResponse = models.ModifyUsagePlanResponse; const CreateUsagePlanResponse = models.CreateUsagePlanResponse; -const ReqParameter = models.ReqParameter; +const DomainSets = models.DomainSets; +const DeletePluginRequest = models.DeletePluginRequest; const Base64EncodedTriggerRule = models.Base64EncodedTriggerRule; const RequestConfig = models.RequestConfig; const DeleteApiKeyResponse = models.DeleteApiKeyResponse; +const UpstreamInfo = models.UpstreamInfo; +const ModifyExclusiveInstanceRequest = models.ModifyExclusiveInstanceRequest; const UsagePlan = models.UsagePlan; const DescribeServiceReleaseVersionRequest = models.DescribeServiceReleaseVersionRequest; const DescribeUsagePlanSecretIdsRequest = models.DescribeUsagePlanSecretIdsRequest; const DescribeLogSearchResponse = models.DescribeLogSearchResponse; +const ModifyAPIDocRequest = models.ModifyAPIDocRequest; const UnBindIPStrategyRequest = models.UnBindIPStrategyRequest; +const DescribeUpstreamsResponse = models.DescribeUpstreamsResponse; +const DescribePluginApisRequest = models.DescribePluginApisRequest; const ResponseErrorCodeReq = models.ResponseErrorCodeReq; const CreateServiceRequest = models.CreateServiceRequest; -const DescribeServiceEnvironmentStrategyResponse = models.DescribeServiceEnvironmentStrategyResponse; +const DescribeIPStrategysStatusRequest = models.DescribeIPStrategysStatusRequest; const DemoteServiceUsagePlanResponse = models.DemoteServiceUsagePlanResponse; +const DescribePluginApisResponse = models.DescribePluginApisResponse; const EnableApiKeyResponse = models.EnableApiKeyResponse; -const ServiceReleaseHistory = models.ServiceReleaseHistory; +const DeleteApiAppRequest = models.DeleteApiAppRequest; const UnReleaseServiceResponse = models.UnReleaseServiceResponse; const CreateAPIDocResponse = models.CreateAPIDocResponse; const DescribeServiceRequest = models.DescribeServiceRequest; +const UsagePlansStatus = models.UsagePlansStatus; const CreateUsagePlanRequest = models.CreateUsagePlanRequest; const DescribeUsagePlanSecretIdsResponse = models.DescribeUsagePlanSecretIdsResponse; -const UpdateServiceRequest = models.UpdateServiceRequest; +const CreatePluginRequest = models.CreatePluginRequest; const MicroServiceReq = models.MicroServiceReq; const ModifySubDomainResponse = models.ModifySubDomainResponse; const DescribePluginsRequest = models.DescribePluginsRequest; const BindSecretIdsRequest = models.BindSecretIdsRequest; -const UnBindEnvironmentResponse = models.UnBindEnvironmentResponse; +const ParameterInfo = models.ParameterInfo; const UsagePlanBindSecret = models.UsagePlanBindSecret; const DeleteApiKeyRequest = models.DeleteApiKeyRequest; -const ModifyApiEnvironmentStrategyResponse = models.ModifyApiEnvironmentStrategyResponse; +const DescribeIPStrategyApisStatusResponse = models.DescribeIPStrategyApisStatusResponse; +const ModifyApiAppResponse = models.ModifyApiAppResponse; +const UpdateApiAppKeyRequest = models.UpdateApiAppKeyRequest; const DomainSetList = models.DomainSetList; const IPStrategysStatus = models.IPStrategysStatus; const DescribeApiKeyResponse = models.DescribeApiKeyResponse; const ModifyApiIncrementResponse = models.ModifyApiIncrementResponse; const ModifyApiRequest = models.ModifyApiRequest; +const DescribeAllPluginApisResponse = models.DescribeAllPluginApisResponse; const ModifyUsagePlanRequest = models.ModifyUsagePlanRequest; const ApiRequestConfig = models.ApiRequestConfig; const ModifyServiceRequest = models.ModifyServiceRequest; +const DescribeAllPluginApisRequest = models.DescribeAllPluginApisRequest; const ApiIdStatus = models.ApiIdStatus; const CreateApiRequest = models.CreateApiRequest; const DescribeServiceEnvironmentStrategyRequest = models.DescribeServiceEnvironmentStrategyRequest; +const DescribeUpstreamBindApisResponse = models.DescribeUpstreamBindApisResponse; const ReleaseServiceRequest = models.ReleaseServiceRequest; const DeleteServiceResponse = models.DeleteServiceResponse; const DescribeServiceEnvironmentReleaseHistoryResponse = models.DescribeServiceEnvironmentReleaseHistoryResponse; const Environment = models.Environment; const DescribeAPIDocsRequest = models.DescribeAPIDocsRequest; +const UsagePlanStatusInfo = models.UsagePlanStatusInfo; const ServiceReleaseHistoryInfo = models.ServiceReleaseHistoryInfo; +const CreatePluginResponse = models.CreatePluginResponse; +const ModifyExclusiveInstanceResponse = models.ModifyExclusiveInstanceResponse; +const K8sLabel = models.K8sLabel; const DescribePluginsResponse = models.DescribePluginsResponse; const ReleaseServiceResponse = models.ReleaseServiceResponse; const APIDocInfo = models.APIDocInfo; -const PluginSummary = models.PluginSummary; +const CosConfig = models.CosConfig; const ModifyApiIncrementRequest = models.ModifyApiIncrementRequest; const GenerateApiDocumentRequest = models.GenerateApiDocumentRequest; const ServiceUsagePlanSet = models.ServiceUsagePlanSet; -const DescribeIPStrategyApisStatusResponse = models.DescribeIPStrategyApisStatusResponse; +const CreateUpstreamRequest = models.CreateUpstreamRequest; const ModifyServiceEnvironmentStrategyResponse = models.ModifyServiceEnvironmentStrategyResponse; const UpdateApiKeyResponse = models.UpdateApiKeyResponse; +const DescribeApiBindApiAppsStatusRequest = models.DescribeApiBindApiAppsStatusRequest; const DescribeApisStatusResponse = models.DescribeApisStatusResponse; const DescribeApiKeysStatusRequest = models.DescribeApiKeysStatusRequest; -const ApiInfo = models.ApiInfo; +const DemoteServiceUsagePlanRequest = models.DemoteServiceUsagePlanRequest; const BindSecretIdsResponse = models.BindSecretIdsResponse; const CreateApiRsp = models.CreateApiRsp; const UsagePlanBindEnvironment = models.UsagePlanBindEnvironment; +const InstanceInfo = models.InstanceInfo; const DeleteApiRequest = models.DeleteApiRequest; const DescribeServiceSubDomainMappingsRequest = models.DescribeServiceSubDomainMappingsRequest; +const DescribeApiAppResponse = models.DescribeApiAppResponse; const DescribeServiceSubDomainMappingsResponse = models.DescribeServiceSubDomainMappingsResponse; -const DescribeServiceEnvironmentListRequest = models.DescribeServiceEnvironmentListRequest; +const OauthConfig = models.OauthConfig; +const DescribeApiAppsStatusResponse = models.DescribeApiAppsStatusResponse; const ServiceSubDomainMappings = models.ServiceSubDomainMappings; const DescribeApiKeyRequest = models.DescribeApiKeyRequest; const DescribeAPIDocDetailResponse = models.DescribeAPIDocDetailResponse; const Filter = models.Filter; +const BindApiAppResponse = models.BindApiAppResponse; const UsagePlanBindSecretStatus = models.UsagePlanBindSecretStatus; const DeleteServiceSubDomainMappingResponse = models.DeleteServiceSubDomainMappingResponse; const CreateApiKeyResponse = models.CreateApiKeyResponse; -const DescribeUsagePlansStatusRequest = models.DescribeUsagePlansStatusRequest; +const DescribeUpstreamsRequest = models.DescribeUpstreamsRequest; const UsagePlanEnvironment = models.UsagePlanEnvironment; const ModifyIPStrategyRequest = models.ModifyIPStrategyRequest; +const ModifyPluginResponse = models.ModifyPluginResponse; const UnBindSecretIdsRequest = models.UnBindSecretIdsRequest; -const ApiEnvironmentStrategy = models.ApiEnvironmentStrategy; -const UnBindSecretIdsResponse = models.UnBindSecretIdsResponse; +const DescribeApiRequest = models.DescribeApiRequest; +const VpcConfig = models.VpcConfig; +const CreateUpstreamResponse = models.CreateUpstreamResponse; const ResetAPIDocPasswordRequest = models.ResetAPIDocPasswordRequest; const ApiUsagePlan = models.ApiUsagePlan; const BuildAPIDocRequest = models.BuildAPIDocRequest; const DescribeAPIDocsResponse = models.DescribeAPIDocsResponse; +const DetachPluginResponse = models.DetachPluginResponse; +const DeletePluginResponse = models.DeletePluginResponse; +const DescribeUpstreamBindApis = models.DescribeUpstreamBindApis; const ModifyServiceEnvironmentStrategyRequest = models.ModifyServiceEnvironmentStrategyRequest; const CreateAPIDocRequest = models.CreateAPIDocRequest; +const DescribeApiAppBindApisStatusResponse = models.DescribeApiAppBindApisStatusResponse; const DescribeServiceSubDomainsRequest = models.DescribeServiceSubDomainsRequest; +const ModifyApiAppRequest = models.ModifyApiAppRequest; const GenerateApiDocumentResponse = models.GenerateApiDocumentResponse; const DescribeUsagePlanEnvironmentsResponse = models.DescribeUsagePlanEnvironmentsResponse; const DescribeServiceSubDomainsResponse = models.DescribeServiceSubDomainsResponse; +const AttachPluginRequest = models.AttachPluginRequest; +const DescribeServiceForApiAppRequest = models.DescribeServiceForApiAppRequest; +const ModifyApiEnvironmentStrategyResponse = models.ModifyApiEnvironmentStrategyResponse; const BindSubDomainRequest = models.BindSubDomainRequest; +const ApiAppInfos = models.ApiAppInfos; const IPStrategyApiStatus = models.IPStrategyApiStatus; const CreateIPStrategyResponse = models.CreateIPStrategyResponse; -const AttachedApiInfo = models.AttachedApiInfo; +const UnBindEnvironmentResponse = models.UnBindEnvironmentResponse; +const DeleteApiResponse = models.DeleteApiResponse; const BindIPStrategyRequest = models.BindIPStrategyRequest; +const UpdateServiceRequest = models.UpdateServiceRequest; const BuildAPIDocResponse = models.BuildAPIDocResponse; const ErrorCodes = models.ErrorCodes; +const DescribeServiceEnvironmentListRequest = models.DescribeServiceEnvironmentListRequest; const ServiceEnvironmentStrategyStatus = models.ServiceEnvironmentStrategyStatus; +const ReqParameter = models.ReqParameter; const DescribeApiEnvironmentStrategyResponse = models.DescribeApiEnvironmentStrategyResponse; const MicroService = models.MicroService; const ApiEnvironmentStrategyStataus = models.ApiEnvironmentStrategyStataus; +const PluginSummary = models.PluginSummary; +const ApiAppInfo = models.ApiAppInfo; const DeleteIPStrategyResponse = models.DeleteIPStrategyResponse; +const ApiInfoSummary = models.ApiInfoSummary; const ApiKey = models.ApiKey; +const BindApiInfo = models.BindApiInfo; +const ApiAppApiInfo = models.ApiAppApiInfo; const DescribeUsagePlanResponse = models.DescribeUsagePlanResponse; +const UnBindEnvironmentRequest = models.UnBindEnvironmentRequest; +const AttachPluginResponse = models.AttachPluginResponse; const BindEnvironmentRequest = models.BindEnvironmentRequest; +const ModifyUpstreamResponse = models.ModifyUpstreamResponse; const DescribeIPStrategyRequest = models.DescribeIPStrategyRequest; +const DescribeApiForApiAppResponse = models.DescribeApiForApiAppResponse; +const EnvironmentStrategy = models.EnvironmentStrategy; +const InstanceParameterInput = models.InstanceParameterInput; const DescribeUsagePlanEnvironmentsRequest = models.DescribeUsagePlanEnvironmentsRequest; const DescribeServiceReleaseVersionResponse = models.DescribeServiceReleaseVersionResponse; -const RequestParameter = models.RequestParameter; +const UpstreamNode = models.UpstreamNode; +const ApiAppApiInfos = models.ApiAppApiInfos; +const DeleteUpstreamResponse = models.DeleteUpstreamResponse; +const UpdateServiceResponse = models.UpdateServiceResponse; const UsagePlanInfo = models.UsagePlanInfo; const DescribeServiceEnvironmentReleaseHistoryRequest = models.DescribeServiceEnvironmentReleaseHistoryRequest; -const UsagePlanStatusInfo = models.UsagePlanStatusInfo; +const UnbindApiAppRequest = models.UnbindApiAppRequest; const ReleaseService = models.ReleaseService; +const ServiceEnvironmentSet = models.ServiceEnvironmentSet; const CreateServiceResponse = models.CreateServiceResponse; const DeleteAPIDocResponse = models.DeleteAPIDocResponse; +const DescribeServiceEnvironmentStrategyResponse = models.DescribeServiceEnvironmentStrategyResponse; const DesApisStatus = models.DesApisStatus; const DescribeApiKeysStatusResponse = models.DescribeApiKeysStatusResponse; const ServicesStatus = models.ServicesStatus; @@ -203,14 +276,21 @@ const ApisStatus = models.ApisStatus; const ApiKeysStatus = models.ApiKeysStatus; const APIDoc = models.APIDoc; const DescribeServiceUsagePlanResponse = models.DescribeServiceUsagePlanResponse; +const CreateApiAppResponse = models.CreateApiAppResponse; const DescribeApiUsagePlanRequest = models.DescribeApiUsagePlanRequest; const UnBindSubDomainRequest = models.UnBindSubDomainRequest; -const DescribeApiRequest = models.DescribeApiRequest; +const ApiEnvironmentStrategy = models.ApiEnvironmentStrategy; const DescribeIPStrategysStatusResponse = models.DescribeIPStrategysStatusResponse; -const EnvironmentStrategy = models.EnvironmentStrategy; +const UpdateApiAppKeyResponse = models.UpdateApiAppKeyResponse; +const InstanceDetail = models.InstanceDetail; +const UnBindSecretIdsResponse = models.UnBindSecretIdsResponse; +const CreateApiAppRequest = models.CreateApiAppRequest; const EnableApiKeyRequest = models.EnableApiKeyRequest; const ResetAPIDocPasswordResponse = models.ResetAPIDocPasswordResponse; const DescribeServicesStatusRequest = models.DescribeServicesStatusRequest; +const RequestParameter = models.RequestParameter; +const UpstreamHealthChecker = models.UpstreamHealthChecker; +const InstanceChargePrepaid = models.InstanceChargePrepaid; const ServiceReleaseVersion = models.ServiceReleaseVersion; const DescribeServicesStatusResponse = models.DescribeServicesStatusResponse; const CreateApiKeyRequest = models.CreateApiKeyRequest; @@ -228,7 +308,7 @@ class ApigatewayClient extends AbstractClient { /** * 本接口(CreateService)用于创建服务。 -API 网关使用的最大单元为服务,每个服务中可创建多个 API 接口。每个服务有一个默认域名供客户调用,用户也可绑定自定义域名到此服务中。 +API 网关使用的最大单元为服务,每个服务中可创建多个 API 接口。每个服务有一个默认域名供客户调用,用户也可绑定自定义域名到此服务中。 * @param {CreateServiceRequest} req * @param {function(string, CreateServiceResponse):void} cb * @public @@ -238,17 +318,6 @@ API 网关使用的最大单元为服务,每个服务中可创建多个 API this.request("CreateService", req, resp, cb); } - /** - * 构建 API 文档 - * @param {BuildAPIDocRequest} req - * @param {function(string, BuildAPIDocResponse):void} cb - * @public - */ - BuildAPIDoc(req, cb) { - let resp = new BuildAPIDocResponse(); - this.request("BuildAPIDoc", req, resp, cb); - } - /** * 本接口(DescribeUsagePlanStatus)用于查询使用计划的列表。 * @param {DescribeUsagePlansStatusRequest} req @@ -260,17 +329,6 @@ API 网关使用的最大单元为服务,每个服务中可创建多个 API this.request("DescribeUsagePlansStatus", req, resp, cb); } - /** - * 本接口(DeleteUsagePlan)用于删除使用计划。 - * @param {DeleteUsagePlanRequest} req - * @param {function(string, DeleteUsagePlanResponse):void} cb - * @public - */ - DeleteUsagePlan(req, cb) { - let resp = new DeleteUsagePlanResponse(); - this.request("DeleteUsagePlan", req, resp, cb); - } - /** * 查询 API 文档详情 * @param {DescribeAPIDocDetailRequest} req @@ -283,129 +341,126 @@ API 网关使用的最大单元为服务,每个服务中可创建多个 API } /** - * 本接口(ModifyApi)用于修改 API 接口,可调用此接口对已经配置的 API 接口进行编辑修改。修改后的 API 需要重新发布 API 所在的服务到对应环境方能生效。 - * @param {ModifyApiRequest} req - * @param {function(string, ModifyApiResponse):void} cb + * 本接口(DescribeApiAppBindApisStatus)查询应用绑定的Api列表。 + * @param {DescribeApiAppBindApisStatusRequest} req + * @param {function(string, DescribeApiAppBindApisStatusResponse):void} cb * @public */ - ModifyApi(req, cb) { - let resp = new ModifyApiResponse(); - this.request("ModifyApi", req, resp, cb); + DescribeApiAppBindApisStatus(req, cb) { + let resp = new DescribeApiAppBindApisStatusResponse(); + this.request("DescribeApiAppBindApisStatus", req, resp, cb); } /** - * 本接口(DemoteServiceUsagePlan)用于将某个服务在某个环境的使用计划,降级到API上。 -如果服务内没有API不允许进行此操作。 -如果当前环境没有发布,不允许进行此操作。 - * @param {DemoteServiceUsagePlanRequest} req - * @param {function(string, DemoteServiceUsagePlanResponse):void} cb + * 本接口(DescribeUsagePlanSecretIds)用于查询使用计划绑定的密钥列表。 +在 API 网关中,一个使用计划可绑定多个密钥对,可使用本接口查询使用计划绑定的密钥列表。 + * @param {DescribeUsagePlanSecretIdsRequest} req + * @param {function(string, DescribeUsagePlanSecretIdsResponse):void} cb * @public */ - DemoteServiceUsagePlan(req, cb) { - let resp = new DemoteServiceUsagePlanResponse(); - this.request("DemoteServiceUsagePlan", req, resp, cb); + DescribeUsagePlanSecretIds(req, cb) { + let resp = new DescribeUsagePlanSecretIdsResponse(); + this.request("DescribeUsagePlanSecretIds", req, resp, cb); } /** - * 本接口(DescribeApiKeysStatus)用于查询密钥列表。 -当用户创建了多个密钥对时,可使用本接口查询一个或多个 API 密钥信息,本接口不会显示密钥 Key。 - * @param {DescribeApiKeysStatusRequest} req - * @param {function(string, DescribeApiKeysStatusResponse):void} cb + * 本接口(DescribeServiceForApiApp)用于应用使用者查询一个服务的详细信息、包括服务的描述、域名、协议等信息。 + * @param {DescribeServiceForApiAppRequest} req + * @param {function(string, DescribeServiceForApiAppResponse):void} cb * @public */ - DescribeApiKeysStatus(req, cb) { - let resp = new DescribeApiKeysStatusResponse(); - this.request("DescribeApiKeysStatus", req, resp, cb); + DescribeServiceForApiApp(req, cb) { + let resp = new DescribeServiceForApiAppResponse(); + this.request("DescribeServiceForApiApp", req, resp, cb); } /** - * 本接口(ModifySubDomain)用于修改服务的自定义域名设置中的路径映射,可以修改绑定自定义域名之前的路径映射规则。 - * @param {ModifySubDomainRequest} req - * @param {function(string, ModifySubDomainResponse):void} cb + * 本接口(ModifyIPStrategy)用于修改服务IP策略。 + * @param {ModifyIPStrategyRequest} req + * @param {function(string, ModifyIPStrategyResponse):void} cb * @public */ - ModifySubDomain(req, cb) { - let resp = new ModifySubDomainResponse(); - this.request("ModifySubDomain", req, resp, cb); + ModifyIPStrategy(req, cb) { + let resp = new ModifyIPStrategyResponse(); + this.request("ModifyIPStrategy", req, resp, cb); } /** - * 本接口(ModifyApiEnvironmentStrategy)用于修改API限流策略 - * @param {ModifyApiEnvironmentStrategyRequest} req - * @param {function(string, ModifyApiEnvironmentStrategyResponse):void} cb + * 本接口(UpdateService)用于从服务发布的环境中运行版本切换到特定版本。用户在使用 API 网关创建服务并发布服务到某个环境后,多因为开发过程会产生多个版本,此时可调用本接口。 + * @param {UpdateServiceRequest} req + * @param {function(string, UpdateServiceResponse):void} cb * @public */ - ModifyApiEnvironmentStrategy(req, cb) { - let resp = new ModifyApiEnvironmentStrategyResponse(); - this.request("ModifyApiEnvironmentStrategy", req, resp, cb); + UpdateService(req, cb) { + let resp = new UpdateServiceResponse(); + this.request("UpdateService", req, resp, cb); } /** - * 本接口(ModifyUsagePlan)用于修改使用计划的名称,描述及 QPS。 - * @param {ModifyUsagePlanRequest} req - * @param {function(string, ModifyUsagePlanResponse):void} cb + * 修改API网关插件。 + * @param {ModifyPluginRequest} req + * @param {function(string, ModifyPluginResponse):void} cb * @public */ - ModifyUsagePlan(req, cb) { - let resp = new ModifyUsagePlanResponse(); - this.request("ModifyUsagePlan", req, resp, cb); + ModifyPlugin(req, cb) { + let resp = new ModifyPluginResponse(); + this.request("ModifyPlugin", req, resp, cb); } /** - * 本接口DescribeLogSearch用于搜索日志 - * @param {DescribeLogSearchRequest} req - * @param {function(string, DescribeLogSearchResponse):void} cb + * 本接口(DeleteApiApp)用于删除已经创建的应用。 + * @param {DeleteApiAppRequest} req + * @param {function(string, DeleteApiAppResponse):void} cb * @public */ - DescribeLogSearch(req, cb) { - let resp = new DescribeLogSearchResponse(); - this.request("DescribeLogSearch", req, resp, cb); + DeleteApiApp(req, cb) { + let resp = new DeleteApiAppResponse(); + this.request("DeleteApiApp", req, resp, cb); } /** - * 本接口(DescribeUsagePlanSecretIds)用于查询使用计划绑定的密钥列表。 -在 API 网关中,一个使用计划可绑定多个密钥对,可使用本接口查询使用计划绑定的密钥列表。 - * @param {DescribeUsagePlanSecretIdsRequest} req - * @param {function(string, DescribeUsagePlanSecretIdsResponse):void} cb + * 本接口(DescribeServicesStatus)用于搜索查询某一个服务或多个服务的列表,并返回服务相关的域名、时间等信息。 + * @param {DescribeServicesStatusRequest} req + * @param {function(string, DescribeServicesStatusResponse):void} cb * @public */ - DescribeUsagePlanSecretIds(req, cb) { - let resp = new DescribeUsagePlanSecretIdsResponse(); - this.request("DescribeUsagePlanSecretIds", req, resp, cb); + DescribeServicesStatus(req, cb) { + let resp = new DescribeServicesStatusResponse(); + this.request("DescribeServicesStatus", req, resp, cb); } /** - * 本接口(DescribeServiceSubDomains)用于查询自定义域名列表。 -API 网关可绑定自定义域名到服务,用于服务调用。此接口用于查询用户绑定在服务的自定义域名列表。 - * @param {DescribeServiceSubDomainsRequest} req - * @param {function(string, DescribeServiceSubDomainsResponse):void} cb + * 查询 API 文档列表 + * @param {DescribeAPIDocsRequest} req + * @param {function(string, DescribeAPIDocsResponse):void} cb * @public */ - DescribeServiceSubDomains(req, cb) { - let resp = new DescribeServiceSubDomainsResponse(); - this.request("DescribeServiceSubDomains", req, resp, cb); + DescribeAPIDocs(req, cb) { + let resp = new DescribeAPIDocsResponse(); + this.request("DescribeAPIDocs", req, resp, cb); } /** - * 本接口(ModifyIPStrategy)用于修改服务IP策略。 - * @param {ModifyIPStrategyRequest} req - * @param {function(string, ModifyIPStrategyResponse):void} cb + * 本接口(DescribeServiceSubDomainMappings)用于查询自定义域名的路径映射。 +API 网关可绑定自定义域名到服务,并且可以对自定义域名的路径进行映射,可自定义不同的路径映射到服务中的三个环境,本接口用于查询绑定服务的自定义域名的路径映射列表。 + * @param {DescribeServiceSubDomainMappingsRequest} req + * @param {function(string, DescribeServiceSubDomainMappingsResponse):void} cb * @public */ - ModifyIPStrategy(req, cb) { - let resp = new ModifyIPStrategyResponse(); - this.request("ModifyIPStrategy", req, resp, cb); + DescribeServiceSubDomainMappings(req, cb) { + let resp = new DescribeServiceSubDomainMappingsResponse(); + this.request("DescribeServiceSubDomainMappings", req, resp, cb); } /** - * 本接口(DeleteService)用于删除 API 网关中某个服务。 - * @param {DeleteServiceRequest} req - * @param {function(string, DeleteServiceResponse):void} cb + * 展示插件相关的API列表,包括已绑定的和未绑定的API信息。 + * @param {DescribeAllPluginApisRequest} req + * @param {function(string, DescribeAllPluginApisResponse):void} cb * @public */ - DeleteService(req, cb) { - let resp = new DeleteServiceResponse(); - this.request("DeleteService", req, resp, cb); + DescribeAllPluginApis(req, cb) { + let resp = new DescribeAllPluginApisResponse(); + this.request("DescribeAllPluginApis", req, resp, cb); } /** @@ -420,185 +475,226 @@ API 网关可绑定自定义域名到服务,用于服务调用。此接口用 } /** - * 创建 API 文档 - * @param {CreateAPIDocRequest} req - * @param {function(string, CreateAPIDocResponse):void} cb + * 重置API文档密码 + * @param {ResetAPIDocPasswordRequest} req + * @param {function(string, ResetAPIDocPasswordResponse):void} cb * @public */ - CreateAPIDoc(req, cb) { - let resp = new CreateAPIDocResponse(); - this.request("CreateAPIDoc", req, resp, cb); + ResetAPIDocPassword(req, cb) { + let resp = new ResetAPIDocPasswordResponse(); + this.request("ResetAPIDocPassword", req, resp, cb); } /** - * 本接口(UpdateService)用于从服务发布的环境中运行版本切换到特定版本。用户在使用 API 网关创建服务并发布服务到某个环境后,多因为开发过程会产生多个版本,此时可调用本接口。 - * @param {UpdateServiceRequest} req - * @param {function(string, UpdateServiceResponse):void} cb + * 查询指定插件下绑定的API信息 + * @param {DescribePluginApisRequest} req + * @param {function(string, DescribePluginApisResponse):void} cb * @public */ - UpdateService(req, cb) { - let resp = new UpdateServiceResponse(); - this.request("UpdateService", req, resp, cb); + DescribePluginApis(req, cb) { + let resp = new DescribePluginApisResponse(); + this.request("DescribePluginApis", req, resp, cb); } /** - * 本接口(DescribeIPStrategyApisStatus)用于查询IP策略可以绑定的API列表。即服务下所有API和该策略已绑定API的差集。 - * @param {DescribeIPStrategyApisStatusRequest} req - * @param {function(string, DescribeIPStrategyApisStatusResponse):void} cb + * 本接口(DisableApiKey)用于禁用一对 API 密钥。 + * @param {DisableApiKeyRequest} req + * @param {function(string, DisableApiKeyResponse):void} cb * @public */ - DescribeIPStrategyApisStatus(req, cb) { - let resp = new DescribeIPStrategyApisStatusResponse(); - this.request("DescribeIPStrategyApisStatus", req, resp, cb); + DisableApiKey(req, cb) { + let resp = new DisableApiKeyResponse(); + this.request("DisableApiKey", req, resp, cb); } /** - * 本接口(UnReleaseService)用于下线服务。 -用户发布服务到某个环境后,此服务中的 API 方可被调用者进行调用,当用户需要将此服务从发布环境中下线时,可调用此 API。下线后的服务不可被调用。 - * @param {UnReleaseServiceRequest} req - * @param {function(string, UnReleaseServiceResponse):void} cb + * 本接口(DescribeApiEnvironmentStrategy)用于展示API绑定的限流策略。 + * @param {DescribeApiEnvironmentStrategyRequest} req + * @param {function(string, DescribeApiEnvironmentStrategyResponse):void} cb * @public */ - UnReleaseService(req, cb) { - let resp = new UnReleaseServiceResponse(); - this.request("UnReleaseService", req, resp, cb); + DescribeApiEnvironmentStrategy(req, cb) { + let resp = new DescribeApiEnvironmentStrategyResponse(); + this.request("DescribeApiEnvironmentStrategy", req, resp, cb); } /** - * 提供增量更新API能力,主要是给程序调用(区别于ModifyApi,该接口是需要传入API的全量参数,对console使用较友好) - * @param {ModifyApiIncrementRequest} req - * @param {function(string, ModifyApiIncrementResponse):void} cb + * 本接口(DescribeApiAppsStatus)查询应用列表。 + * @param {DescribeApiAppsStatusRequest} req + * @param {function(string, DescribeApiAppsStatusResponse):void} cb * @public */ - ModifyApiIncrement(req, cb) { - let resp = new ModifyApiIncrementResponse(); - this.request("ModifyApiIncrement", req, resp, cb); + DescribeApiAppsStatus(req, cb) { + let resp = new DescribeApiAppsStatusResponse(); + this.request("DescribeApiAppsStatus", req, resp, cb); } /** - * 本接口(DescribeServiceEnvironmentReleaseHistory)用于查询服务环境的发布历史。 -用户在创建好服务后需要发布到某个环境中才能进行使用,本接口用于查询一个服务某个环境的发布记录。 - * @param {DescribeServiceEnvironmentReleaseHistoryRequest} req - * @param {function(string, DescribeServiceEnvironmentReleaseHistoryResponse):void} cb + * 本接口(DescribeApiApp)用于根据应用ID搜索应用。 + * @param {DescribeApiAppRequest} req + * @param {function(string, DescribeApiAppResponse):void} cb * @public */ - DescribeServiceEnvironmentReleaseHistory(req, cb) { - let resp = new DescribeServiceEnvironmentReleaseHistoryResponse(); - this.request("DescribeServiceEnvironmentReleaseHistory", req, resp, cb); + DescribeApiApp(req, cb) { + let resp = new DescribeApiAppResponse(); + this.request("DescribeApiApp", req, resp, cb); } /** - * 本接口(DescribeApiUsagePlan)用于查询服务中 API 使用计划详情。 -服务若需要鉴权限流生效,则需要绑定使用计划到此服务中,本接口用于查询绑定到一个服务及其中 API 的所有使用计划。 - * @param {DescribeApiUsagePlanRequest} req - * @param {function(string, DescribeApiUsagePlanResponse):void} cb + * 查询后端通道列表详情 + * @param {DescribeUpstreamsRequest} req + * @param {function(string, DescribeUpstreamsResponse):void} cb * @public */ - DescribeApiUsagePlan(req, cb) { - let resp = new DescribeApiUsagePlanResponse(); - this.request("DescribeApiUsagePlan", req, resp, cb); + DescribeUpstreams(req, cb) { + let resp = new DescribeUpstreamsResponse(); + this.request("DescribeUpstreams", req, resp, cb); } /** - * 本接口(DeleteApi)用于删除已经创建的API。 - * @param {DeleteApiRequest} req - * @param {function(string, DeleteApiResponse):void} cb + * 本接口(DescribeApi)用于查询用户 API 网关的 API 接口的详细信息。​ + * @param {DescribeApiRequest} req + * @param {function(string, DescribeApiResponse):void} cb * @public */ - DeleteApi(req, cb) { - let resp = new DeleteApiResponse(); - this.request("DeleteApi", req, resp, cb); + DescribeApi(req, cb) { + let resp = new DescribeApiResponse(); + this.request("DescribeApi", req, resp, cb); } /** - * 查询 API 文档列表 - * @param {DescribeAPIDocsRequest} req - * @param {function(string, DescribeAPIDocsResponse):void} cb + * 本接口(GenerateApiDocument)用于自动生成 API 文档和 SDK,一个服务的一个环境生成一份文档和 SDK。 + * @param {GenerateApiDocumentRequest} req + * @param {function(string, GenerateApiDocumentResponse):void} cb * @public */ - DescribeAPIDocs(req, cb) { - let resp = new DescribeAPIDocsResponse(); - this.request("DescribeAPIDocs", req, resp, cb); + GenerateApiDocument(req, cb) { + let resp = new GenerateApiDocumentResponse(); + this.request("GenerateApiDocument", req, resp, cb); } /** - * 本接口(DescribeIPStrategysStatus)用于查询服务IP策略列表。 - * @param {DescribeIPStrategysStatusRequest} req - * @param {function(string, DescribeIPStrategysStatusResponse):void} cb + * 本接口(UnbindApiApp)用于解除应用和API绑定。 + * @param {UnbindApiAppRequest} req + * @param {function(string, UnbindApiAppResponse):void} cb * @public */ - DescribeIPStrategysStatus(req, cb) { - let resp = new DescribeIPStrategysStatusResponse(); - this.request("DescribeIPStrategysStatus", req, resp, cb); + UnbindApiApp(req, cb) { + let resp = new UnbindApiAppResponse(); + this.request("UnbindApiApp", req, resp, cb); } /** - * 本接口(DescribeServiceEnvironmentList)用于查询一个服务的环境列表,可查询到此服务下所有环境及其状态。 - * @param {DescribeServiceEnvironmentListRequest} req - * @param {function(string, DescribeServiceEnvironmentListResponse):void} cb + * 本接口(DeleteUsagePlan)用于删除使用计划。 + * @param {DeleteUsagePlanRequest} req + * @param {function(string, DeleteUsagePlanResponse):void} cb * @public */ - DescribeServiceEnvironmentList(req, cb) { - let resp = new DescribeServiceEnvironmentListResponse(); - this.request("DescribeServiceEnvironmentList", req, resp, cb); + DeleteUsagePlan(req, cb) { + let resp = new DeleteUsagePlanResponse(); + this.request("DeleteUsagePlan", req, resp, cb); } /** - * 本接口(DescribeServiceUsagePlan)用于查询服务使用计划详情。 -服务若需要鉴权限流生效,则需要绑定使用计划到此服务中,本接口用于查询绑定到一个服务的所有使用计划。 - * @param {DescribeServiceUsagePlanRequest} req - * @param {function(string, DescribeServiceUsagePlanResponse):void} cb + * 本接口(CreateApiApp)用于创建应用。 + * @param {CreateApiAppRequest} req + * @param {function(string, CreateApiAppResponse):void} cb * @public */ - DescribeServiceUsagePlan(req, cb) { - let resp = new DescribeServiceUsagePlanResponse(); - this.request("DescribeServiceUsagePlan", req, resp, cb); + CreateApiApp(req, cb) { + let resp = new CreateApiAppResponse(); + this.request("CreateApiApp", req, resp, cb); } /** - * 本接口(ModifyServiceEnvironmentStrategy)用于修改服务限流策略 - * @param {ModifyServiceEnvironmentStrategyRequest} req - * @param {function(string, ModifyServiceEnvironmentStrategyResponse):void} cb + * 本接口(DescribeApiKeysStatus)用于查询密钥列表。 +当用户创建了多个密钥对时,可使用本接口查询一个或多个 API 密钥信息。 + * @param {DescribeApiKeysStatusRequest} req + * @param {function(string, DescribeApiKeysStatusResponse):void} cb * @public */ - ModifyServiceEnvironmentStrategy(req, cb) { - let resp = new ModifyServiceEnvironmentStrategyResponse(); - this.request("ModifyServiceEnvironmentStrategy", req, resp, cb); + DescribeApiKeysStatus(req, cb) { + let resp = new DescribeApiKeysStatusResponse(); + this.request("DescribeApiKeysStatus", req, resp, cb); } /** - * 本接口(CreateUsagePlan)用于创建使用计划。 -用户在使用 API 网关时,需要创建使用计划并将其绑定到服务的环境中使用。 - * @param {CreateUsagePlanRequest} req - * @param {function(string, CreateUsagePlanResponse):void} cb + * 创建 API 文档 + * @param {CreateAPIDocRequest} req + * @param {function(string, CreateAPIDocResponse):void} cb * @public */ - CreateUsagePlan(req, cb) { - let resp = new CreateUsagePlanResponse(); - this.request("CreateUsagePlan", req, resp, cb); + CreateAPIDoc(req, cb) { + let resp = new CreateAPIDocResponse(); + this.request("CreateAPIDoc", req, resp, cb); } /** - * 本接口(UpdateApiKey)用于更换用户已创建的一对 API 密钥。 - * @param {UpdateApiKeyRequest} req - * @param {function(string, UpdateApiKeyResponse):void} cb + * 本接口(DescribeIPStrategyApisStatus)用于查询IP策略可以绑定的API列表。即服务下所有API和该策略已绑定API的差集。 + * @param {DescribeIPStrategyApisStatusRequest} req + * @param {function(string, DescribeIPStrategyApisStatusResponse):void} cb * @public */ - UpdateApiKey(req, cb) { - let resp = new UpdateApiKeyResponse(); - this.request("UpdateApiKey", req, resp, cb); + DescribeIPStrategyApisStatus(req, cb) { + let resp = new DescribeIPStrategyApisStatusResponse(); + this.request("DescribeIPStrategyApisStatus", req, resp, cb); } /** - * 本接口(DescribeServiceSubDomainMappings)用于查询自定义域名的路径映射。 -API 网关可绑定自定义域名到服务,并且可以对自定义域名的路径进行映射,可自定义不同的路径映射到服务中的三个环境,本接口用于查询绑定服务的自定义域名的路径映射列表。 - * @param {DescribeServiceSubDomainMappingsRequest} req - * @param {function(string, DescribeServiceSubDomainMappingsResponse):void} cb + * 本接口(UnReleaseService)用于下线服务。 +用户发布服务到某个环境后,此服务中的 API 方可被调用者进行调用,当用户需要将此服务从发布环境中下线时,可调用此 API。下线后的服务不可被调用。 + * @param {UnReleaseServiceRequest} req + * @param {function(string, UnReleaseServiceResponse):void} cb * @public */ - DescribeServiceSubDomainMappings(req, cb) { - let resp = new DescribeServiceSubDomainMappingsResponse(); - this.request("DescribeServiceSubDomainMappings", req, resp, cb); + UnReleaseService(req, cb) { + let resp = new UnReleaseServiceResponse(); + this.request("UnReleaseService", req, resp, cb); + } + + /** + * 本接口(DescribeServiceEnvironmentReleaseHistory)用于查询服务环境的发布历史。 +用户在创建好服务后需要发布到某个环境中才能进行使用,本接口用于查询一个服务某个环境的发布记录。 + * @param {DescribeServiceEnvironmentReleaseHistoryRequest} req + * @param {function(string, DescribeServiceEnvironmentReleaseHistoryResponse):void} cb + * @public + */ + DescribeServiceEnvironmentReleaseHistory(req, cb) { + let resp = new DescribeServiceEnvironmentReleaseHistoryResponse(); + this.request("DescribeServiceEnvironmentReleaseHistory", req, resp, cb); + } + + /** + * 本接口(DeleteApi)用于删除已经创建的API。 + * @param {DeleteApiRequest} req + * @param {function(string, DeleteApiResponse):void} cb + * @public + */ + DeleteApi(req, cb) { + let resp = new DeleteApiResponse(); + this.request("DeleteApi", req, resp, cb); + } + + /** + * 本接口(UpdateApiAppKey)用于更新应用密钥。 + * @param {UpdateApiAppKeyRequest} req + * @param {function(string, UpdateApiAppKeyResponse):void} cb + * @public + */ + UpdateApiAppKey(req, cb) { + let resp = new UpdateApiAppKeyResponse(); + this.request("UpdateApiAppKey", req, resp, cb); + } + + /** + * 本接口(ModifyUsagePlan)用于修改使用计划的名称,描述及 QPS。 + * @param {ModifyUsagePlanRequest} req + * @param {function(string, ModifyUsagePlanResponse):void} cb + * @public + */ + ModifyUsagePlan(req, cb) { + let resp = new ModifyUsagePlanResponse(); + this.request("ModifyUsagePlan", req, resp, cb); } /** @@ -636,28 +732,6 @@ API 网关可绑定自定义域名到服务,并且可以对自定义域名的 this.request("UnBindSecretIds", req, resp, cb); } - /** - * 本接口(BindIPStrategy)用于API绑定IP策略。 - * @param {BindIPStrategyRequest} req - * @param {function(string, BindIPStrategyResponse):void} cb - * @public - */ - BindIPStrategy(req, cb) { - let resp = new BindIPStrategyResponse(); - this.request("BindIPStrategy", req, resp, cb); - } - - /** - * 本接口(DescribeServicesStatus)用于搜索查询某一个服务或多个服务的列表,并返回服务相关的域名、时间等信息。 - * @param {DescribeServicesStatusRequest} req - * @param {function(string, DescribeServicesStatusResponse):void} cb - * @public - */ - DescribeServicesStatus(req, cb) { - let resp = new DescribeServicesStatusResponse(); - this.request("DescribeServicesStatus", req, resp, cb); - } - /** * 本接口(DescribeIPStrategy)用于查询IP策略详情。 * @param {DescribeIPStrategyRequest} req @@ -670,48 +744,14 @@ API 网关可绑定自定义域名到服务,并且可以对自定义域名的 } /** - * 本接口(DescribeUsagePlanEnvironments)用于查询使用计划绑定的环境列表。 -用户在绑定了某个使用计划到环境后,可使用本接口查询这个使用计划绑定的所有服务的环境。 - * @param {DescribeUsagePlanEnvironmentsRequest} req - * @param {function(string, DescribeUsagePlanEnvironmentsResponse):void} cb - * @public - */ - DescribeUsagePlanEnvironments(req, cb) { - let resp = new DescribeUsagePlanEnvironmentsResponse(); - this.request("DescribeUsagePlanEnvironments", req, resp, cb); - } - - /** - * 本接口(EnableApiKey)用于启动一对被禁用的 API 密钥。 - * @param {EnableApiKeyRequest} req - * @param {function(string, EnableApiKeyResponse):void} cb - * @public - */ - EnableApiKey(req, cb) { - let resp = new EnableApiKeyResponse(); - this.request("EnableApiKey", req, resp, cb); - } - - /** - * 重置API文档密码 - * @param {ResetAPIDocPasswordRequest} req - * @param {function(string, ResetAPIDocPasswordResponse):void} cb - * @public - */ - ResetAPIDocPassword(req, cb) { - let resp = new ResetAPIDocPasswordResponse(); - this.request("ResetAPIDocPassword", req, resp, cb); - } - - /** - * 本接口(CreateIPStrategy)用于创建服务IP策略。 - * @param {CreateIPStrategyRequest} req - * @param {function(string, CreateIPStrategyResponse):void} cb + * 修改后端通道 + * @param {ModifyUpstreamRequest} req + * @param {function(string, ModifyUpstreamResponse):void} cb * @public */ - CreateIPStrategy(req, cb) { - let resp = new CreateIPStrategyResponse(); - this.request("CreateIPStrategy", req, resp, cb); + ModifyUpstream(req, cb) { + let resp = new ModifyUpstreamResponse(); + this.request("ModifyUpstream", req, resp, cb); } /** @@ -749,14 +789,14 @@ API 网关可绑定自定义域名到服务,并且可以对自定义域名的 } /** - * 删除 API 文档 - * @param {DeleteAPIDocRequest} req - * @param {function(string, DeleteAPIDocResponse):void} cb + * 本接口(ModifySubDomain)用于修改服务的自定义域名设置中的路径映射,可以修改绑定自定义域名之前的路径映射规则。 + * @param {ModifySubDomainRequest} req + * @param {function(string, ModifySubDomainResponse):void} cb * @public */ - DeleteAPIDoc(req, cb) { - let resp = new DeleteAPIDocResponse(); - this.request("DeleteAPIDoc", req, resp, cb); + ModifySubDomain(req, cb) { + let resp = new ModifySubDomainResponse(); + this.request("ModifySubDomain", req, resp, cb); } /** @@ -770,29 +810,6 @@ API 网关可绑定自定义域名到服务,并且可以对自定义域名的 this.request("DeleteIPStrategy", req, resp, cb); } - /** - * 本接口(ReleaseService)用于发布服务。 -API 网关的服务创建后,需要发布到某个环境方生效后,使用者才能进行调用,此接口用于发布服务到环境,如 release 环境。 - * @param {ReleaseServiceRequest} req - * @param {function(string, ReleaseServiceResponse):void} cb - * @public - */ - ReleaseService(req, cb) { - let resp = new ReleaseServiceResponse(); - this.request("ReleaseService", req, resp, cb); - } - - /** - * 本接口(DisableApiKey)用于禁用一对 API 密钥。 - * @param {DisableApiKeyRequest} req - * @param {function(string, DisableApiKeyResponse):void} cb - * @public - */ - DisableApiKey(req, cb) { - let resp = new DisableApiKeyResponse(); - this.request("DisableApiKey", req, resp, cb); - } - /** * 本接口(ModifyService)用于修改服务的相关信息。当服务创建后,服务的名称、描述和服务类型均可被修改。 * @param {ModifyServiceRequest} req @@ -805,37 +822,270 @@ API 网关的服务创建后,需要发布到某个环境方生效后,使用 } /** - * 本接口(UnBindEnvironment)用于将使用计划从特定环境解绑。 - * @param {UnBindEnvironmentRequest} req - * @param {function(string, UnBindEnvironmentResponse):void} cb + * 本接口(DescribeExclusiveInstances)用于查询独享实例列表信息。​ + * @param {DescribeExclusiveInstancesRequest} req + * @param {function(string, DescribeExclusiveInstancesResponse):void} cb * @public */ - UnBindEnvironment(req, cb) { - let resp = new UnBindEnvironmentResponse(); - this.request("UnBindEnvironment", req, resp, cb); + DescribeExclusiveInstances(req, cb) { + let resp = new DescribeExclusiveInstancesResponse(); + this.request("DescribeExclusiveInstances", req, resp, cb); } /** - * 本接口(DescribeApiEnvironmentStrategy)用于展示API绑定的限流策略。 - * @param {DescribeApiEnvironmentStrategyRequest} req - * @param {function(string, DescribeApiEnvironmentStrategyResponse):void} cb + * 本接口(DescribeService)用于查询一个服务的详细信息、包括服务的描述、域名、协议、创建时间、发布情况等信息。 + * @param {DescribeServiceRequest} req + * @param {function(string, DescribeServiceResponse):void} cb * @public */ - DescribeApiEnvironmentStrategy(req, cb) { - let resp = new DescribeApiEnvironmentStrategyResponse(); - this.request("DescribeApiEnvironmentStrategy", req, resp, cb); + DescribeService(req, cb) { + let resp = new DescribeServiceResponse(); + this.request("DescribeService", req, resp, cb); } /** - * 本接口(BindSecretIds)用于为使用计划绑定密钥。 -将密钥绑定到某个使用计划,并将此使用计划绑定到某个服务发布的环境上,调用者方可使用此密钥调用这个服务中的 API,可使用本接口为使用计划绑定密钥。 - * @param {BindSecretIdsRequest} req - * @param {function(string, BindSecretIdsResponse):void} cb + * 创建API网关插件。 + * @param {CreatePluginRequest} req + * @param {function(string, CreatePluginResponse):void} cb * @public */ - BindSecretIds(req, cb) { - let resp = new BindSecretIdsResponse(); - this.request("BindSecretIds", req, resp, cb); + CreatePlugin(req, cb) { + let resp = new CreatePluginResponse(); + this.request("CreatePlugin", req, resp, cb); + } + + /** + * 展示插件列表和详情,支持分页,支持按照插件类型查询,支持按照插件ID批量查询,支持按照插件名称查询。 + * @param {DescribePluginsRequest} req + * @param {function(string, DescribePluginsResponse):void} cb + * @public + */ + DescribePlugins(req, cb) { + let resp = new DescribePluginsResponse(); + this.request("DescribePlugins", req, resp, cb); + } + + /** + * 本接口(DeleteApiKey)用于删除一对 API 密钥。 + * @param {DeleteApiKeyRequest} req + * @param {function(string, DeleteApiKeyResponse):void} cb + * @public + */ + DeleteApiKey(req, cb) { + let resp = new DeleteApiKeyResponse(); + this.request("DeleteApiKey", req, resp, cb); + } + + /** + * 本接口(CreateApi)用于创建 API 接口,创建 API 前,用户需要先创建服务,每个 API 都有自己归属的服务。 + * @param {CreateApiRequest} req + * @param {function(string, CreateApiResponse):void} cb + * @public + */ + CreateApi(req, cb) { + let resp = new CreateApiResponse(); + this.request("CreateApi", req, resp, cb); + } + + /** + * 本接口(DescribeExclusiveInstanceDetail)用于查询独享实例详情信息。​ + * @param {DescribeExclusiveInstanceDetailRequest} req + * @param {function(string, DescribeExclusiveInstanceDetailResponse):void} cb + * @public + */ + DescribeExclusiveInstanceDetail(req, cb) { + let resp = new DescribeExclusiveInstanceDetailResponse(); + this.request("DescribeExclusiveInstanceDetail", req, resp, cb); + } + + /** + * 绑定插件到API上。 + * @param {AttachPluginRequest} req + * @param {function(string, AttachPluginResponse):void} cb + * @public + */ + AttachPlugin(req, cb) { + let resp = new AttachPluginResponse(); + this.request("AttachPlugin", req, resp, cb); + } + + /** + * 本接口(BindApiApp)用于绑定应用到API。 + * @param {BindApiAppRequest} req + * @param {function(string, BindApiAppResponse):void} cb + * @public + */ + BindApiApp(req, cb) { + let resp = new BindApiAppResponse(); + this.request("BindApiApp", req, resp, cb); + } + + /** + * 本接口(DescribeApiBindApiAppsStatus)查询Api绑定的应用列表。 + * @param {DescribeApiBindApiAppsStatusRequest} req + * @param {function(string, DescribeApiBindApiAppsStatusResponse):void} cb + * @public + */ + DescribeApiBindApiAppsStatus(req, cb) { + let resp = new DescribeApiBindApiAppsStatusResponse(); + this.request("DescribeApiBindApiAppsStatus", req, resp, cb); + } + + /** + * 本接口DescribeLogSearch用于搜索日志 + * @param {DescribeLogSearchRequest} req + * @param {function(string, DescribeLogSearchResponse):void} cb + * @public + */ + DescribeLogSearch(req, cb) { + let resp = new DescribeLogSearchResponse(); + this.request("DescribeLogSearch", req, resp, cb); + } + + /** + * 本接口(DeleteService)用于删除 API 网关中某个服务。 + * @param {DeleteServiceRequest} req + * @param {function(string, DeleteServiceResponse):void} cb + * @public + */ + DeleteService(req, cb) { + let resp = new DeleteServiceResponse(); + this.request("DeleteService", req, resp, cb); + } + + /** + * 提供增量更新API能力,主要是给程序调用(区别于ModifyApi,该接口是需要传入API的全量参数,对console使用较友好) + * @param {ModifyApiIncrementRequest} req + * @param {function(string, ModifyApiIncrementResponse):void} cb + * @public + */ + ModifyApiIncrement(req, cb) { + let resp = new ModifyApiIncrementResponse(); + this.request("ModifyApiIncrement", req, resp, cb); + } + + /** + * 本接口(DescribeApiUsagePlan)用于查询服务中 API 使用计划详情。 +服务若需要鉴权限流生效,则需要绑定使用计划到此服务中,本接口用于查询绑定到一个服务及其中 API 的所有使用计划。 + * @param {DescribeApiUsagePlanRequest} req + * @param {function(string, DescribeApiUsagePlanResponse):void} cb + * @public + */ + DescribeApiUsagePlan(req, cb) { + let resp = new DescribeApiUsagePlanResponse(); + this.request("DescribeApiUsagePlan", req, resp, cb); + } + + /** + * 本接口(DescribeIPStrategysStatus)用于查询服务IP策略列表。 + * @param {DescribeIPStrategysStatusRequest} req + * @param {function(string, DescribeIPStrategysStatusResponse):void} cb + * @public + */ + DescribeIPStrategysStatus(req, cb) { + let resp = new DescribeIPStrategysStatusResponse(); + this.request("DescribeIPStrategysStatus", req, resp, cb); + } + + /** + * 本接口(ModifyServiceEnvironmentStrategy)用于修改服务限流策略 + * @param {ModifyServiceEnvironmentStrategyRequest} req + * @param {function(string, ModifyServiceEnvironmentStrategyResponse):void} cb + * @public + */ + ModifyServiceEnvironmentStrategy(req, cb) { + let resp = new ModifyServiceEnvironmentStrategyResponse(); + this.request("ModifyServiceEnvironmentStrategy", req, resp, cb); + } + + /** + * 本接口(ModifyExclusiveInstance)用于修改独享实例信息。​ + * @param {ModifyExclusiveInstanceRequest} req + * @param {function(string, ModifyExclusiveInstanceResponse):void} cb + * @public + */ + ModifyExclusiveInstance(req, cb) { + let resp = new ModifyExclusiveInstanceResponse(); + this.request("ModifyExclusiveInstance", req, resp, cb); + } + + /** + * 用于创建创建后端通道 + * @param {CreateUpstreamRequest} req + * @param {function(string, CreateUpstreamResponse):void} cb + * @public + */ + CreateUpstream(req, cb) { + let resp = new CreateUpstreamResponse(); + this.request("CreateUpstream", req, resp, cb); + } + + /** + * 本接口(DescribeUsagePlanEnvironments)用于查询使用计划绑定的环境列表。 +用户在绑定了某个使用计划到环境后,可使用本接口查询这个使用计划绑定的所有服务的环境。 + * @param {DescribeUsagePlanEnvironmentsRequest} req + * @param {function(string, DescribeUsagePlanEnvironmentsResponse):void} cb + * @public + */ + DescribeUsagePlanEnvironments(req, cb) { + let resp = new DescribeUsagePlanEnvironmentsResponse(); + this.request("DescribeUsagePlanEnvironments", req, resp, cb); + } + + /** + * 展示插件详情,支持按照插件ID进行。 + * @param {DescribePluginRequest} req + * @param {function(string, DescribePluginResponse):void} cb + * @public + */ + DescribePlugin(req, cb) { + let resp = new DescribePluginResponse(); + this.request("DescribePlugin", req, resp, cb); + } + + /** + * 解除插件与API绑定 + * @param {DetachPluginRequest} req + * @param {function(string, DetachPluginResponse):void} cb + * @public + */ + DetachPlugin(req, cb) { + let resp = new DetachPluginResponse(); + this.request("DetachPlugin", req, resp, cb); + } + + /** + * 本接口(DescribeServiceEnvironmentList)用于查询一个服务的环境列表,可查询到此服务下所有环境及其状态。 + * @param {DescribeServiceEnvironmentListRequest} req + * @param {function(string, DescribeServiceEnvironmentListResponse):void} cb + * @public + */ + DescribeServiceEnvironmentList(req, cb) { + let resp = new DescribeServiceEnvironmentListResponse(); + this.request("DescribeServiceEnvironmentList", req, resp, cb); + } + + /** + * 删除后端通道,需要注意有API绑定时,不允许删除 + * @param {DeleteUpstreamRequest} req + * @param {function(string, DeleteUpstreamResponse):void} cb + * @public + */ + DeleteUpstream(req, cb) { + let resp = new DeleteUpstreamResponse(); + this.request("DeleteUpstream", req, resp, cb); + } + + /** + * 本接口(UnBindSubDomain)用于解绑自定义域名。 +用户使用 API 网关绑定了自定义域名到服务中后,若想要解绑此自定义域名,可使用此接口。 + * @param {UnBindSubDomainRequest} req + * @param {function(string, UnBindSubDomainResponse):void} cb + * @public + */ + UnBindSubDomain(req, cb) { + let resp = new UnBindSubDomainResponse(); + this.request("UnBindSubDomain", req, resp, cb); } /** @@ -849,17 +1099,6 @@ API 网关的服务创建后,需要发布到某个环境方生效后,使用 this.request("DescribeServiceEnvironmentStrategy", req, resp, cb); } - /** - * 本接口(DescribeService)用于查询一个服务的详细信息、包括服务的描述、域名、协议、创建时间、发布情况等信息。 - * @param {DescribeServiceRequest} req - * @param {function(string, DescribeServiceResponse):void} cb - * @public - */ - DescribeService(req, cb) { - let resp = new DescribeServiceResponse(); - this.request("DescribeService", req, resp, cb); - } - /** * 本接口(DeleteServiceSubDomainMapping)用于删除服务中某个环境的自定义域名映射。 当用户使用自定义域名,并使用了自定义映射时,可使用此接口。但需注意,若删除了所有环境的映射时,调用此 API 均会返回失败。 @@ -885,93 +1124,242 @@ API 网关的服务创建后,需要发布到某个环境方生效后,使用 } /** - * 展示插件列表和详情,支持分页,支持按照插件类型查询,支持按照插件ID批量查询,支持按照插件名称查询。 - * @param {DescribePluginsRequest} req - * @param {function(string, DescribePluginsResponse):void} cb + * 查询后端通道所绑定的API列表 + * @param {DescribeUpstreamBindApisRequest} req + * @param {function(string, DescribeUpstreamBindApisResponse):void} cb * @public */ - DescribePlugins(req, cb) { - let resp = new DescribePluginsResponse(); - this.request("DescribePlugins", req, resp, cb); + DescribeUpstreamBindApis(req, cb) { + let resp = new DescribeUpstreamBindApisResponse(); + this.request("DescribeUpstreamBindApis", req, resp, cb); } /** - * 本接口(DescribeUsagePlan)用于查询一个使用计划的详细信息,包括名称、QPS、创建时间绑定的环境等。 - * @param {DescribeUsagePlanRequest} req - * @param {function(string, DescribeUsagePlanResponse):void} cb + * 本接口(ReleaseService)用于发布服务。 +API 网关的服务创建后,需要发布到某个环境方生效后,使用者才能进行调用,此接口用于发布服务到环境,如 release 环境。 + * @param {ReleaseServiceRequest} req + * @param {function(string, ReleaseServiceResponse):void} cb * @public */ - DescribeUsagePlan(req, cb) { - let resp = new DescribeUsagePlanResponse(); - this.request("DescribeUsagePlan", req, resp, cb); + ReleaseService(req, cb) { + let resp = new ReleaseServiceResponse(); + this.request("ReleaseService", req, resp, cb); } /** - * 本接口(UnBindSubDomain)用于解绑自定义域名。 -用户使用 API 网关绑定了自定义域名到服务中后,若想要解绑此自定义域名,可使用此接口。 - * @param {UnBindSubDomainRequest} req - * @param {function(string, UnBindSubDomainResponse):void} cb + * 本接口(BindSecretIds)用于为使用计划绑定密钥。 +将密钥绑定到某个使用计划,并将此使用计划绑定到某个服务发布的环境上,调用者方可使用此密钥调用这个服务中的 API,可使用本接口为使用计划绑定密钥。 + * @param {BindSecretIdsRequest} req + * @param {function(string, BindSecretIdsResponse):void} cb * @public */ - UnBindSubDomain(req, cb) { - let resp = new UnBindSubDomainResponse(); - this.request("UnBindSubDomain", req, resp, cb); + BindSecretIds(req, cb) { + let resp = new BindSecretIdsResponse(); + this.request("BindSecretIds", req, resp, cb); } /** - * 本接口(BindSubDomain)用于绑定自定义域名到服务。 -API 网关中每个服务都会提供一个默认的域名供用户调用,但当用户想使用自己的已有域名时,也可以将自定义域名绑定到此服务,在做好备案、与默认域名的 CNAME 后,可直接调用自定义域名。 - * @param {BindSubDomainRequest} req - * @param {function(string, BindSubDomainResponse):void} cb + * 本接口(DescribeApiForApiApp)用于应用使用者查询部署于 API 网关的 API 接口的详细信息。​ + * @param {DescribeApiForApiAppRequest} req + * @param {function(string, DescribeApiForApiAppResponse):void} cb * @public */ - BindSubDomain(req, cb) { - let resp = new BindSubDomainResponse(); - this.request("BindSubDomain", req, resp, cb); + DescribeApiForApiApp(req, cb) { + let resp = new DescribeApiForApiAppResponse(); + this.request("DescribeApiForApiApp", req, resp, cb); } /** - * 本接口(DescribeApi)用于查询用户 API 网关的 API 接口的详细信息。​ - * @param {DescribeApiRequest} req - * @param {function(string, DescribeApiResponse):void} cb + * 构建 API 文档 + * @param {BuildAPIDocRequest} req + * @param {function(string, BuildAPIDocResponse):void} cb * @public */ - DescribeApi(req, cb) { - let resp = new DescribeApiResponse(); - this.request("DescribeApi", req, resp, cb); + BuildAPIDoc(req, cb) { + let resp = new BuildAPIDocResponse(); + this.request("BuildAPIDoc", req, resp, cb); } /** - * 本接口(DeleteApiKey)用于删除一对 API 密钥。 - * @param {DeleteApiKeyRequest} req - * @param {function(string, DeleteApiKeyResponse):void} cb + * 本接口(ModifyApiEnvironmentStrategy)用于修改API限流策略 + * @param {ModifyApiEnvironmentStrategyRequest} req + * @param {function(string, ModifyApiEnvironmentStrategyResponse):void} cb * @public */ - DeleteApiKey(req, cb) { - let resp = new DeleteApiKeyResponse(); - this.request("DeleteApiKey", req, resp, cb); + ModifyApiEnvironmentStrategy(req, cb) { + let resp = new ModifyApiEnvironmentStrategyResponse(); + this.request("ModifyApiEnvironmentStrategy", req, resp, cb); } /** - * 本接口(CreateApi)用于创建 API 接口,创建 API 前,用户需要先创建服务,每个 API 都有自己归属的服务。 - * @param {CreateApiRequest} req - * @param {function(string, CreateApiResponse):void} cb + * 本接口(ModifyApi)用于修改 API 接口,可调用此接口对已经配置的 API 接口进行编辑修改。修改后的 API 需要重新发布 API 所在的服务到对应环境方能生效。 + * @param {ModifyApiRequest} req + * @param {function(string, ModifyApiResponse):void} cb * @public */ - CreateApi(req, cb) { - let resp = new CreateApiResponse(); - this.request("CreateApi", req, resp, cb); + ModifyApi(req, cb) { + let resp = new ModifyApiResponse(); + this.request("ModifyApi", req, resp, cb); } /** - * 本接口(GenerateApiDocument)用于自动生成 API 文档和 SDK,一个服务的一个环境生成一份文档和 SDK。 - * @param {GenerateApiDocumentRequest} req - * @param {function(string, GenerateApiDocumentResponse):void} cb + * 本接口(DemoteServiceUsagePlan)用于将某个服务在某个环境的使用计划,降级到API上。 +如果服务内没有API不允许进行此操作。 +如果当前环境没有发布,不允许进行此操作。 + * @param {DemoteServiceUsagePlanRequest} req + * @param {function(string, DemoteServiceUsagePlanResponse):void} cb * @public */ - GenerateApiDocument(req, cb) { - let resp = new GenerateApiDocumentResponse(); - this.request("GenerateApiDocument", req, resp, cb); + DemoteServiceUsagePlan(req, cb) { + let resp = new DemoteServiceUsagePlanResponse(); + this.request("DemoteServiceUsagePlan", req, resp, cb); + } + + /** + * 本接口(DescribeServiceSubDomains)用于查询自定义域名列表。 +API 网关可绑定自定义域名到服务,用于服务调用。此接口用于查询用户绑定在服务的自定义域名列表。 + * @param {DescribeServiceSubDomainsRequest} req + * @param {function(string, DescribeServiceSubDomainsResponse):void} cb + * @public + */ + DescribeServiceSubDomains(req, cb) { + let resp = new DescribeServiceSubDomainsResponse(); + this.request("DescribeServiceSubDomains", req, resp, cb); + } + + /** + * 本接口(DescribeServiceUsagePlan)用于查询服务使用计划详情。 +服务若需要鉴权限流生效,则需要绑定使用计划到此服务中,本接口用于查询绑定到一个服务的所有使用计划。 + * @param {DescribeServiceUsagePlanRequest} req + * @param {function(string, DescribeServiceUsagePlanResponse):void} cb + * @public + */ + DescribeServiceUsagePlan(req, cb) { + let resp = new DescribeServiceUsagePlanResponse(); + this.request("DescribeServiceUsagePlan", req, resp, cb); + } + + /** + * 本接口(CreateUsagePlan)用于创建使用计划。 +用户在使用 API 网关时,需要创建使用计划并将其绑定到服务的环境中使用。 + * @param {CreateUsagePlanRequest} req + * @param {function(string, CreateUsagePlanResponse):void} cb + * @public + */ + CreateUsagePlan(req, cb) { + let resp = new CreateUsagePlanResponse(); + this.request("CreateUsagePlan", req, resp, cb); + } + + /** + * 本接口(UpdateApiKey)用于更换用户已创建的一对 API 密钥。 + * @param {UpdateApiKeyRequest} req + * @param {function(string, UpdateApiKeyResponse):void} cb + * @public + */ + UpdateApiKey(req, cb) { + let resp = new UpdateApiKeyResponse(); + this.request("UpdateApiKey", req, resp, cb); + } + + /** + * 删除API网关插件 + * @param {DeletePluginRequest} req + * @param {function(string, DeletePluginResponse):void} cb + * @public + */ + DeletePlugin(req, cb) { + let resp = new DeletePluginResponse(); + this.request("DeletePlugin", req, resp, cb); + } + + /** + * 本接口(BindIPStrategy)用于API绑定IP策略。 + * @param {BindIPStrategyRequest} req + * @param {function(string, BindIPStrategyResponse):void} cb + * @public + */ + BindIPStrategy(req, cb) { + let resp = new BindIPStrategyResponse(); + this.request("BindIPStrategy", req, resp, cb); + } + + /** + * 本接口(EnableApiKey)用于启动一对被禁用的 API 密钥。 + * @param {EnableApiKeyRequest} req + * @param {function(string, EnableApiKeyResponse):void} cb + * @public + */ + EnableApiKey(req, cb) { + let resp = new EnableApiKeyResponse(); + this.request("EnableApiKey", req, resp, cb); + } + + /** + * 本接口(CreateIPStrategy)用于创建服务IP策略。 + * @param {CreateIPStrategyRequest} req + * @param {function(string, CreateIPStrategyResponse):void} cb + * @public + */ + CreateIPStrategy(req, cb) { + let resp = new CreateIPStrategyResponse(); + this.request("CreateIPStrategy", req, resp, cb); + } + + /** + * 删除 API 文档 + * @param {DeleteAPIDocRequest} req + * @param {function(string, DeleteAPIDocResponse):void} cb + * @public + */ + DeleteAPIDoc(req, cb) { + let resp = new DeleteAPIDocResponse(); + this.request("DeleteAPIDoc", req, resp, cb); + } + + /** + * 本接口(UnBindEnvironment)用于将使用计划从特定环境解绑。 + * @param {UnBindEnvironmentRequest} req + * @param {function(string, UnBindEnvironmentResponse):void} cb + * @public + */ + UnBindEnvironment(req, cb) { + let resp = new UnBindEnvironmentResponse(); + this.request("UnBindEnvironment", req, resp, cb); + } + + /** + * 本接口(ModifyApiApp)用于修改已经创建的应用。 + * @param {ModifyApiAppRequest} req + * @param {function(string, ModifyApiAppResponse):void} cb + * @public + */ + ModifyApiApp(req, cb) { + let resp = new ModifyApiAppResponse(); + this.request("ModifyApiApp", req, resp, cb); + } + + /** + * 本接口(DescribeUsagePlan)用于查询一个使用计划的详细信息,包括名称、QPS、创建时间绑定的环境等。 + * @param {DescribeUsagePlanRequest} req + * @param {function(string, DescribeUsagePlanResponse):void} cb + * @public + */ + DescribeUsagePlan(req, cb) { + let resp = new DescribeUsagePlanResponse(); + this.request("DescribeUsagePlan", req, resp, cb); + } + + /** + * 本接口(BindSubDomain)用于绑定自定义域名到服务。 +API 网关中每个服务都会提供一个默认的域名供用户调用,但当用户想使用自己的已有域名时,也可以将自定义域名绑定到此服务,在做好备案、与默认域名的 CNAME 后,可直接调用自定义域名。 + * @param {BindSubDomainRequest} req + * @param {function(string, BindSubDomainResponse):void} cb + * @public + */ + BindSubDomain(req, cb) { + let resp = new BindSubDomainResponse(); + this.request("BindSubDomain", req, resp, cb); } diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/apigateway/v20180808/models.js b/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/apigateway/v20180808/models.js index 9b3f3b4dd5..a904335f71 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/apigateway/v20180808/models.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/apigateway/v20180808/models.js @@ -220,6 +220,13 @@ class Service extends AbstractModel { */ this.SetType = null; + /** + * 服务部署的集群类型 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.DeploymentType = null; + } /** @@ -255,6 +262,7 @@ class Service extends AbstractModel { } this.InstanceId = 'InstanceId' in params ? params.InstanceId : null; this.SetType = 'SetType' in params ? params.SetType : null; + this.DeploymentType = 'DeploymentType' in params ? params.DeploymentType : null; } } @@ -333,30 +341,18 @@ class ApiUsagePlanSet extends AbstractModel { } /** - * DemoteServiceUsagePlan请求参数结构体 + * DescribeAPIDocDetail请求参数结构体 * @class */ -class DemoteServiceUsagePlanRequest extends AbstractModel { +class DescribeAPIDocDetailRequest extends AbstractModel { constructor(){ super(); /** - * 使用计划ID。 - * @type {string || null} - */ - this.UsagePlanId = null; - - /** - * 待降级的服务唯一 ID。 - * @type {string || null} - */ - this.ServiceId = null; - - /** - * 环境名称。 + * API文档ID * @type {string || null} */ - this.Environment = null; + this.ApiDocId = null; } @@ -367,26 +363,30 @@ class DemoteServiceUsagePlanRequest extends AbstractModel { if (!params) { return; } - this.UsagePlanId = 'UsagePlanId' in params ? params.UsagePlanId : null; - this.ServiceId = 'ServiceId' in params ? params.ServiceId : null; - this.Environment = 'Environment' in params ? params.Environment : null; + this.ApiDocId = 'ApiDocId' in params ? params.ApiDocId : null; } } /** - * DescribeAPIDocDetail请求参数结构体 + * ModifyAPIDoc返回参数结构体 * @class */ -class DescribeAPIDocDetailRequest extends AbstractModel { +class ModifyAPIDocResponse extends AbstractModel { constructor(){ super(); /** - * API文档ID + * API文档基本信息 + * @type {APIDoc || null} + */ + this.Result = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 * @type {string || null} */ - this.ApiDocId = null; + this.RequestId = null; } @@ -397,30 +397,36 @@ class DescribeAPIDocDetailRequest extends AbstractModel { if (!params) { return; } - this.ApiDocId = 'ApiDocId' in params ? params.ApiDocId : null; + + if (params.Result) { + let obj = new APIDoc(); + obj.deserialize(params.Result) + this.Result = obj; + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; } } /** - * ModifyAPIDoc返回参数结构体 + * 插件绑定的API列表 * @class */ -class ModifyAPIDocResponse extends AbstractModel { +class AttachedApiSummary extends AbstractModel { constructor(){ super(); /** - * API文档基本信息 - * @type {APIDoc || null} + * 插件绑定的API数量。 + * @type {number || null} */ - this.Result = null; + this.TotalCount = null; /** - * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - * @type {string || null} + * 插件绑定的API信息。 + * @type {Array. || null} */ - this.RequestId = null; + this.AttachedApis = null; } @@ -431,13 +437,16 @@ class ModifyAPIDocResponse extends AbstractModel { if (!params) { return; } + this.TotalCount = 'TotalCount' in params ? params.TotalCount : null; - if (params.Result) { - let obj = new APIDoc(); - obj.deserialize(params.Result) - this.Result = obj; + if (params.AttachedApis) { + this.AttachedApis = new Array(); + for (let z in params.AttachedApis) { + let obj = new AttachedApiInfo(); + obj.deserialize(params.AttachedApis[z]); + this.AttachedApis.push(obj); + } } - this.RequestId = 'RequestId' in params ? params.RequestId : null; } } @@ -542,6 +551,46 @@ class DisableApiKeyResponse extends AbstractModel { } } +/** + * DescribeApi返回参数结构体 + * @class + */ +class DescribeApiResponse extends AbstractModel { + constructor(){ + super(); + + /** + * API 详情。 + * @type {ApiInfo || null} + */ + this.Result = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + + if (params.Result) { + let obj = new ApiInfo(); + obj.deserialize(params.Result) + this.Result = obj; + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + /** * UnReleaseService请求参数结构体 * @class @@ -584,6 +633,55 @@ class UnReleaseServiceRequest extends AbstractModel { } } +/** + * DetachPlugin请求参数结构体 + * @class + */ +class DetachPluginRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 要解绑的API网关插件ID。 + * @type {string || null} + */ + this.PluginId = null; + + /** + * 要操作的服务ID。 + * @type {string || null} + */ + this.ServiceId = null; + + /** + * 要操作API的环境。 + * @type {string || null} + */ + this.EnvironmentName = null; + + /** + * 要解绑的API ID。 + * @type {string || null} + */ + this.ApiId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.PluginId = 'PluginId' in params ? params.PluginId : null; + this.ServiceId = 'ServiceId' in params ? params.ServiceId : null; + this.EnvironmentName = 'EnvironmentName' in params ? params.EnvironmentName : null; + this.ApiId = 'ApiId' in params ? params.ApiId : null; + + } +} + /** * ModifySubDomain请求参数结构体 * @class @@ -669,6 +767,56 @@ class ModifySubDomainRequest extends AbstractModel { } } +/** + * DescribeApiAppsStatus请求参数结构体 + * @class + */ +class DescribeApiAppsStatusRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 返回数量,默认为 20,最大值为 100。 + * @type {number || null} + */ + this.Limit = null; + + /** + * 偏移量,默认为 0。 + * @type {number || null} + */ + this.Offset = null; + + /** + * 过滤条件。支持ApiAppId、ApiAppName、KeyWord( 可以匹配name或者ID)。 + * @type {Array. || null} + */ + this.Filters = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Limit = 'Limit' in params ? params.Limit : null; + this.Offset = 'Offset' in params ? params.Offset : null; + + if (params.Filters) { + this.Filters = new Array(); + for (let z in params.Filters) { + let obj = new Filter(); + obj.deserialize(params.Filters[z]); + this.Filters.push(obj); + } + } + + } +} + /** * DescribeServiceUsagePlan请求参数结构体 * @class @@ -753,18 +901,36 @@ class DescribeServiceEnvironmentListResponse extends AbstractModel { } /** - * ModifyApi返回参数结构体 + * DescribeApiAppBindApisStatus请求参数结构体 * @class */ -class ModifyApiResponse extends AbstractModel { +class DescribeApiAppBindApisStatusRequest extends AbstractModel { constructor(){ super(); /** - * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * 应用ID * @type {string || null} */ - this.RequestId = null; + this.ApiAppId = null; + + /** + * 返回数量,默认为 20,最大值为 100。 + * @type {number || null} + */ + this.Limit = null; + + /** + * 偏移量,默认为 0。 + * @type {number || null} + */ + this.Offset = null; + + /** + * 过滤条件。支持ApiId、ApiName、ServiceId、Environment 、KeyWord( 可以匹配name或者ID)。 + * @type {Array. || null} + */ + this.Filters = null; } @@ -775,33 +941,72 @@ class ModifyApiResponse extends AbstractModel { if (!params) { return; } - this.RequestId = 'RequestId' in params ? params.RequestId : null; + this.ApiAppId = 'ApiAppId' in params ? params.ApiAppId : null; + this.Limit = 'Limit' in params ? params.Limit : null; + this.Offset = 'Offset' in params ? params.Offset : null; + + if (params.Filters) { + this.Filters = new Array(); + for (let z in params.Filters) { + let obj = new Filter(); + obj.deserialize(params.Filters[z]); + this.Filters.push(obj); + } + } } } /** - * 服务环境策略 + * ModifyApi返回参数结构体 * @class */ -class ServiceEnvironmentStrategy extends AbstractModel { +class ModifyApiResponse extends AbstractModel { constructor(){ super(); /** - * 环境名。 + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 * @type {string || null} */ - this.EnvironmentName = null; + this.RequestId = null; - /** - * 访问服务对应环境的url。 - * @type {string || null} - */ - this.Url = null; + } - /** - * 发布状态。 + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * 服务环境策略 + * @class + */ +class ServiceEnvironmentStrategy extends AbstractModel { + constructor(){ + super(); + + /** + * 环境名。 + * @type {string || null} + */ + this.EnvironmentName = null; + + /** + * 访问服务对应环境的url。 + * @type {string || null} + */ + this.Url = null; + + /** + * 发布状态。 * @type {number || null} */ this.Status = null; @@ -846,549 +1051,369 @@ class ServiceEnvironmentStrategy extends AbstractModel { } /** - * DescribeApi返回参数结构体 + * 展示api信息 * @class */ -class DescribeApiResponse extends AbstractModel { +class ApiInfo extends AbstractModel { constructor(){ super(); /** - * API 详情。 - * @type {ApiInfo || null} - */ - this.Result = null; - - /** - * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * API 所在的服务唯一 ID。 +注意:此字段可能返回 null,表示取不到有效值。 * @type {string || null} */ - this.RequestId = null; - - } - - /** - * @private - */ - deserialize(params) { - if (!params) { - return; - } - - if (params.Result) { - let obj = new ApiInfo(); - obj.deserialize(params.Result) - this.Result = obj; - } - this.RequestId = 'RequestId' in params ? params.RequestId : null; - - } -} - -/** - * tsf serverless入参 - * @class - */ -class TargetServicesReq extends AbstractModel { - constructor(){ - super(); + this.ServiceId = null; /** - * vm ip + * API 所在的服务的名称。 +注意:此字段可能返回 null,表示取不到有效值。 * @type {string || null} */ - this.VmIp = null; + this.ServiceName = null; /** - * vpc id + * API 所在的服务的描述。 +注意:此字段可能返回 null,表示取不到有效值。 * @type {string || null} */ - this.VpcId = null; - - /** - * vm port - * @type {number || null} - */ - this.VmPort = null; + this.ServiceDesc = null; /** - * cvm所在宿主机ip + * API 接口唯一 ID。 +注意:此字段可能返回 null,表示取不到有效值。 * @type {string || null} */ - this.HostIp = null; + this.ApiId = null; /** - * docker ip + * API 接口的描述。 +注意:此字段可能返回 null,表示取不到有效值。 * @type {string || null} */ - this.DockerIp = null; - - } - - /** - * @private - */ - deserialize(params) { - if (!params) { - return; - } - this.VmIp = 'VmIp' in params ? params.VmIp : null; - this.VpcId = 'VpcId' in params ? params.VpcId : null; - this.VmPort = 'VmPort' in params ? params.VmPort : null; - this.HostIp = 'HostIp' in params ? params.HostIp : null; - this.DockerIp = 'DockerIp' in params ? params.DockerIp : null; - - } -} - -/** - * TsfLoadBalanceConf 出参使用 - * @class - */ -class TsfLoadBalanceConfResp extends AbstractModel { - constructor(){ - super(); + this.ApiDesc = null; /** - * 是否开启负载均衡。 + * 创建时间,按照 ISO8601 标准表示,并且使用 UTC 时间。格式为:YYYY-MM-DDThh:mm:ssZ。 注意:此字段可能返回 null,表示取不到有效值。 - * @type {boolean || null} + * @type {string || null} */ - this.IsLoadBalance = null; + this.CreatedTime = null; /** - * 负载均衡方式。 + * 最后修改时间,按照 ISO8601 标准表示,并且使用 UTC 时间。格式为:YYYY-MM-DDThh:mm:ssZ。 注意:此字段可能返回 null,表示取不到有效值。 * @type {string || null} */ - this.Method = null; + this.ModifiedTime = null; /** - * 是否开启会话保持。 + * API 接口的名称。 注意:此字段可能返回 null,表示取不到有效值。 - * @type {boolean || null} + * @type {string || null} */ - this.SessionStickRequired = null; + this.ApiName = null; /** - * 会话保持超时时间。 + * API 类型。可取值为NORMAL(普通API)、TSF(微服务API)。 注意:此字段可能返回 null,表示取不到有效值。 - * @type {number || null} - */ - this.SessionStickTimeout = null; - - } - - /** - * @private - */ - deserialize(params) { - if (!params) { - return; - } - this.IsLoadBalance = 'IsLoadBalance' in params ? params.IsLoadBalance : null; - this.Method = 'Method' in params ? params.Method : null; - this.SessionStickRequired = 'SessionStickRequired' in params ? params.SessionStickRequired : null; - this.SessionStickTimeout = 'SessionStickTimeout' in params ? params.SessionStickTimeout : null; - - } -} - -/** - * CreateIPStrategy请求参数结构体 - * @class - */ -class CreateIPStrategyRequest extends AbstractModel { - constructor(){ - super(); - - /** - * 服务的唯一ID。 * @type {string || null} */ - this.ServiceId = null; + this.ApiType = null; /** - * 用户自定义的策略名称。 + * API 的前端请求类型,如 HTTP 或 HTTPS 或者 HTTP 和 HTTPS。 +注意:此字段可能返回 null,表示取不到有效值。 * @type {string || null} */ - this.StrategyName = null; + this.Protocol = null; /** - * 策略类型。支持WHITE(白名单)和BLACK(黑名单)。 + * API 鉴权类型。可取值为 SECRET(密钥对鉴权)、NONE(免鉴权)、OAUTH。 +注意:此字段可能返回 null,表示取不到有效值。 * @type {string || null} */ - this.StrategyType = null; + this.AuthType = null; /** - * 策略详情,多个ip 使用\n 分隔符分开。 + * OAUTH API的类型。可取值为NORMAL(业务API)、OAUTH(授权API)。 +注意:此字段可能返回 null,表示取不到有效值。 * @type {string || null} */ - this.StrategyData = null; - - } - - /** - * @private - */ - deserialize(params) { - if (!params) { - return; - } - this.ServiceId = 'ServiceId' in params ? params.ServiceId : null; - this.StrategyName = 'StrategyName' in params ? params.StrategyName : null; - this.StrategyType = 'StrategyType' in params ? params.StrategyType : null; - this.StrategyData = 'StrategyData' in params ? params.StrategyData : null; - - } -} - -/** - * ip策略 - * @class - */ -class IPStrategy extends AbstractModel { - constructor(){ - super(); + this.ApiBusinessType = null; /** - * 策略唯一ID。 + * OAUTH 业务API 关联的授权API 唯一 ID。 注意:此字段可能返回 null,表示取不到有效值。 * @type {string || null} */ - this.StrategyId = null; + this.AuthRelationApiId = null; /** - * 用户自定义策略名称。 + * OAUTH配置。 注意:此字段可能返回 null,表示取不到有效值。 - * @type {string || null} + * @type {OauthConfig || null} */ - this.StrategyName = null; + this.OauthConfig = null; /** - * 策略类型。支持WHITE(白名单)和BLACK(黑名单)。 + * 是否购买后调试(云市场预留参数)。 注意:此字段可能返回 null,表示取不到有效值。 - * @type {string || null} + * @type {boolean || null} */ - this.StrategyType = null; + this.IsDebugAfterCharge = null; /** - * IP列表。 + * 请求的前端配置。 注意:此字段可能返回 null,表示取不到有效值。 - * @type {string || null} + * @type {RequestConfig || null} */ - this.StrategyData = null; + this.RequestConfig = null; /** - * 创建时间。按照 ISO8601 标准表示,并且使用 UTC 时间。格式为:YYYY-MM-DDThh:mm:ssZ。 + * 返回类型。 注意:此字段可能返回 null,表示取不到有效值。 * @type {string || null} */ - this.CreatedTime = null; + this.ResponseType = null; /** - * 修改时间。 + * 自定义响应配置成功响应示例。 注意:此字段可能返回 null,表示取不到有效值。 * @type {string || null} */ - this.ModifiedTime = null; + this.ResponseSuccessExample = null; /** - * 最后修改时间。按照 ISO8601 标准表示,并且使用 UTC 时间。格式为:YYYY-MM-DDThh:mm:ssZ。 + * 自定义响应配置失败响应示例。 注意:此字段可能返回 null,表示取不到有效值。 * @type {string || null} */ - this.ServiceId = null; + this.ResponseFailExample = null; /** - * 策略绑定的API数量。 + * 用户自定义错误码配置。 注意:此字段可能返回 null,表示取不到有效值。 - * @type {number || null} + * @type {Array. || null} */ - this.BindApiTotalCount = null; + this.ResponseErrorCodes = null; /** - * 绑定的API详情。 + * 前端请求参数。 注意:此字段可能返回 null,表示取不到有效值。 - * @type {Array. || null} + * @type {Array. || null} */ - this.BindApis = null; - - } - - /** - * @private - */ - deserialize(params) { - if (!params) { - return; - } - this.StrategyId = 'StrategyId' in params ? params.StrategyId : null; - this.StrategyName = 'StrategyName' in params ? params.StrategyName : null; - this.StrategyType = 'StrategyType' in params ? params.StrategyType : null; - this.StrategyData = 'StrategyData' in params ? params.StrategyData : null; - this.CreatedTime = 'CreatedTime' in params ? params.CreatedTime : null; - this.ModifiedTime = 'ModifiedTime' in params ? params.ModifiedTime : null; - this.ServiceId = 'ServiceId' in params ? params.ServiceId : null; - this.BindApiTotalCount = 'BindApiTotalCount' in params ? params.BindApiTotalCount : null; - - if (params.BindApis) { - this.BindApis = new Array(); - for (let z in params.BindApis) { - let obj = new DesApisStatus(); - obj.deserialize(params.BindApis[z]); - this.BindApis.push(obj); - } - } - - } -} - -/** - * DescribeUsagePlansStatus返回参数结构体 - * @class - */ -class DescribeUsagePlansStatusResponse extends AbstractModel { - constructor(){ - super(); + this.RequestParameters = null; /** - * 使用计划列表。 + * API 的后端服务超时时间,单位是秒。 注意:此字段可能返回 null,表示取不到有效值。 - * @type {UsagePlansStatus || null} + * @type {number || null} */ - this.Result = null; + this.ServiceTimeout = null; /** - * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * API 的后端服务类型。可取值为 HTTP、MOCK、TSF、CLB、SCF、WEBSOCKET、TARGET(内测)。 +注意:此字段可能返回 null,表示取不到有效值。 * @type {string || null} */ - this.RequestId = null; - - } - - /** - * @private - */ - deserialize(params) { - if (!params) { - return; - } - - if (params.Result) { - let obj = new UsagePlansStatus(); - obj.deserialize(params.Result) - this.Result = obj; - } - this.RequestId = 'RequestId' in params ? params.RequestId : null; - - } -} - -/** - * 健康检查配置,包括TsfHealthCheckConf和TargetServicesHealthCheckConf - * @class - */ -class HealthCheckConf extends AbstractModel { - constructor(){ - super(); + this.ServiceType = null; /** - * 是否开启健康检查。 - * @type {boolean || null} + * API 的后端服务配置。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {ServiceConfig || null} */ - this.IsHealthCheck = null; + this.ServiceConfig = null; /** - * 健康检查阈值。 - * @type {number || null} + * API的后端服务参数。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {Array. || null} */ - this.RequestVolumeThreshold = null; + this.ServiceParameters = null; /** - * 窗口大小。 - * @type {number || null} + * 常量参数。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {Array. || null} */ - this.SleepWindowInMilliseconds = null; + this.ConstantParameters = null; /** - * 阈值百分比。 - * @type {number || null} + * API 的后端 Mock 返回信息。如果 ServiceType 是 Mock,则此参数必传。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} */ - this.ErrorThresholdPercentage = null; - - } - - /** - * @private - */ - deserialize(params) { - if (!params) { - return; - } - this.IsHealthCheck = 'IsHealthCheck' in params ? params.IsHealthCheck : null; - this.RequestVolumeThreshold = 'RequestVolumeThreshold' in params ? params.RequestVolumeThreshold : null; - this.SleepWindowInMilliseconds = 'SleepWindowInMilliseconds' in params ? params.SleepWindowInMilliseconds : null; - this.ErrorThresholdPercentage = 'ErrorThresholdPercentage' in params ? params.ErrorThresholdPercentage : null; - - } -} - -/** - * API网关插件详情。 - * @class - */ -class Plugin extends AbstractModel { - constructor(){ - super(); + this.ServiceMockReturnMessage = null; /** - * 插件ID。 + * scf 函数名称。当后端类型是SCF时生效。 +注意:此字段可能返回 null,表示取不到有效值。 * @type {string || null} */ - this.PluginId = null; + this.ServiceScfFunctionName = null; /** - * 插件名称。 + * scf 函数命名空间。当后端类型是SCF时生效。 +注意:此字段可能返回 null,表示取不到有效值。 * @type {string || null} */ - this.PluginName = null; + this.ServiceScfFunctionNamespace = null; /** - * 插件类型。 + * scf函数版本。当后端类型是SCF时生效。 +注意:此字段可能返回 null,表示取不到有效值。 * @type {string || null} */ - this.PluginType = null; + this.ServiceScfFunctionQualifier = null; /** - * 插件定义语句。 - * @type {string || null} + * 是否开启集成响应。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {boolean || null} */ - this.PluginData = null; + this.ServiceScfIsIntegratedResponse = null; /** - * 插件描述。 + * scf websocket注册函数命名空间。当前端类型是WEBSOCKET且后端类型是SCF时生效 注意:此字段可能返回 null,表示取不到有效值。 * @type {string || null} */ - this.Description = null; + this.ServiceWebsocketRegisterFunctionName = null; /** - * 插件创建时间。按照 ISO8601 标准表示,并且使用 UTC 时间。格式为:YYYY-MM-DDThh:mm:ssZ。 + * scf websocket注册函数命名空间。当前端类型是WEBSOCKET且后端类型是SCF时生效。 +注意:此字段可能返回 null,表示取不到有效值。 * @type {string || null} */ - this.CreatedTime = null; + this.ServiceWebsocketRegisterFunctionNamespace = null; /** - * 插件修改时间。按照 ISO8601 标准表示,并且使用 UTC 时间。格式为:YYYY-MM-DDThh:mm:ssZ。 + * scf websocket传输函数版本。当前端类型是WEBSOCKET且后端类型是SCF时生效。 +注意:此字段可能返回 null,表示取不到有效值。 * @type {string || null} */ - this.ModifiedTime = null; + this.ServiceWebsocketRegisterFunctionQualifier = null; /** - * 插件绑定的API总数。 + * scf websocket清理函数。当前端类型是WEBSOCKET且后端类型是SCF时生效。 注意:此字段可能返回 null,表示取不到有效值。 - * @type {number || null} + * @type {string || null} */ - this.AttachedApiTotalCount = null; + this.ServiceWebsocketCleanupFunctionName = null; /** - * 插件绑定的API信息。 + * scf websocket清理函数命名空间。当前端类型是WEBSOCKET且后端类型是SCF时生效。 注意:此字段可能返回 null,表示取不到有效值。 - * @type {Array. || null} + * @type {string || null} */ - this.AttachedApis = null; - - } - - /** - * @private - */ - deserialize(params) { - if (!params) { - return; - } - this.PluginId = 'PluginId' in params ? params.PluginId : null; - this.PluginName = 'PluginName' in params ? params.PluginName : null; - this.PluginType = 'PluginType' in params ? params.PluginType : null; - this.PluginData = 'PluginData' in params ? params.PluginData : null; - this.Description = 'Description' in params ? params.Description : null; - this.CreatedTime = 'CreatedTime' in params ? params.CreatedTime : null; - this.ModifiedTime = 'ModifiedTime' in params ? params.ModifiedTime : null; - this.AttachedApiTotalCount = 'AttachedApiTotalCount' in params ? params.AttachedApiTotalCount : null; - - if (params.AttachedApis) { - this.AttachedApis = new Array(); - for (let z in params.AttachedApis) { - let obj = new AttachedApiInfo(); - obj.deserialize(params.AttachedApis[z]); - this.AttachedApis.push(obj); - } - } + this.ServiceWebsocketCleanupFunctionNamespace = null; - } -} + /** + * scf websocket清理函数版本。当前端类型是WEBSOCKET且后端类型是SCF时生效。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.ServiceWebsocketCleanupFunctionQualifier = null; -/** - * DescribeApiUsagePlan返回参数结构体 - * @class - */ -class DescribeApiUsagePlanResponse extends AbstractModel { - constructor(){ - super(); + /** + * WEBSOCKET 回推地址。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.InternalDomain = null; /** - * api绑定使用计划列表。 + * scf websocket传输函数。当前端类型是WEBSOCKET且后端类型是SCF时生效。 注意:此字段可能返回 null,表示取不到有效值。 - * @type {ApiUsagePlanSet || null} + * @type {string || null} */ - this.Result = null; + this.ServiceWebsocketTransportFunctionName = null; /** - * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * scf websocket传输函数命名空间。当前端类型是WEBSOCKET且后端类型是SCF时生效。 +注意:此字段可能返回 null,表示取不到有效值。 * @type {string || null} */ - this.RequestId = null; + this.ServiceWebsocketTransportFunctionNamespace = null; - } + /** + * scf websocket传输函数版本。当前端类型是WEBSOCKET且后端类型是SCF时生效。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.ServiceWebsocketTransportFunctionQualifier = null; - /** - * @private - */ - deserialize(params) { - if (!params) { - return; - } + /** + * API绑定微服务服务列表。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {Array. || null} + */ + this.MicroServices = null; - if (params.Result) { - let obj = new ApiUsagePlanSet(); - obj.deserialize(params.Result) - this.Result = obj; - } - this.RequestId = 'RequestId' in params ? params.RequestId : null; + /** + * 微服务信息详情。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {Array. || null} + */ + this.MicroServicesInfo = null; - } -} + /** + * 微服务的负载均衡配置。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {TsfLoadBalanceConfResp || null} + */ + this.ServiceTsfLoadBalanceConf = null; -/** - * DeleteIPStrategy请求参数结构体 - * @class - */ -class DeleteIPStrategyRequest extends AbstractModel { - constructor(){ - super(); + /** + * 微服务的健康检查配置。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {HealthCheckConf || null} + */ + this.ServiceTsfHealthCheckConf = null; /** - * 待删除的IP策略所属的服务唯一ID。 - * @type {string || null} + * 是否开启跨域。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {boolean || null} */ - this.ServiceId = null; + this.EnableCORS = null; /** - * 待删除的IP策略唯一ID。 - * @type {string || null} + * API绑定的tag信息。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {Array. || null} */ - this.StrategyId = null; + this.Tags = null; + + /** + * API已发布的环境信息。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {Array. || null} + */ + this.Environments = null; + + /** + * 是否开启Base64编码,只有后端为scf时才会生效。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {boolean || null} + */ + this.IsBase64Encoded = null; + + /** + * 是否开启Base64编码的header触发,只有后端为scf时才会生效。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {boolean || null} + */ + this.IsBase64Trigger = null; + + /** + * Header触发规则,总规则数量不超过10。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {Array. || null} + */ + this.Base64EncodedTriggerRules = null; } @@ -1400,48 +1425,178 @@ class DeleteIPStrategyRequest extends AbstractModel { return; } this.ServiceId = 'ServiceId' in params ? params.ServiceId : null; - this.StrategyId = 'StrategyId' in params ? params.StrategyId : null; + this.ServiceName = 'ServiceName' in params ? params.ServiceName : null; + this.ServiceDesc = 'ServiceDesc' in params ? params.ServiceDesc : null; + this.ApiId = 'ApiId' in params ? params.ApiId : null; + this.ApiDesc = 'ApiDesc' in params ? params.ApiDesc : null; + this.CreatedTime = 'CreatedTime' in params ? params.CreatedTime : null; + this.ModifiedTime = 'ModifiedTime' in params ? params.ModifiedTime : null; + this.ApiName = 'ApiName' in params ? params.ApiName : null; + this.ApiType = 'ApiType' in params ? params.ApiType : null; + this.Protocol = 'Protocol' in params ? params.Protocol : null; + this.AuthType = 'AuthType' in params ? params.AuthType : null; + this.ApiBusinessType = 'ApiBusinessType' in params ? params.ApiBusinessType : null; + this.AuthRelationApiId = 'AuthRelationApiId' in params ? params.AuthRelationApiId : null; + + if (params.OauthConfig) { + let obj = new OauthConfig(); + obj.deserialize(params.OauthConfig) + this.OauthConfig = obj; + } + this.IsDebugAfterCharge = 'IsDebugAfterCharge' in params ? params.IsDebugAfterCharge : null; + + if (params.RequestConfig) { + let obj = new RequestConfig(); + obj.deserialize(params.RequestConfig) + this.RequestConfig = obj; + } + this.ResponseType = 'ResponseType' in params ? params.ResponseType : null; + this.ResponseSuccessExample = 'ResponseSuccessExample' in params ? params.ResponseSuccessExample : null; + this.ResponseFailExample = 'ResponseFailExample' in params ? params.ResponseFailExample : null; + + if (params.ResponseErrorCodes) { + this.ResponseErrorCodes = new Array(); + for (let z in params.ResponseErrorCodes) { + let obj = new ErrorCodes(); + obj.deserialize(params.ResponseErrorCodes[z]); + this.ResponseErrorCodes.push(obj); + } + } + + if (params.RequestParameters) { + this.RequestParameters = new Array(); + for (let z in params.RequestParameters) { + let obj = new ReqParameter(); + obj.deserialize(params.RequestParameters[z]); + this.RequestParameters.push(obj); + } + } + this.ServiceTimeout = 'ServiceTimeout' in params ? params.ServiceTimeout : null; + this.ServiceType = 'ServiceType' in params ? params.ServiceType : null; + + if (params.ServiceConfig) { + let obj = new ServiceConfig(); + obj.deserialize(params.ServiceConfig) + this.ServiceConfig = obj; + } + + if (params.ServiceParameters) { + this.ServiceParameters = new Array(); + for (let z in params.ServiceParameters) { + let obj = new ServiceParameter(); + obj.deserialize(params.ServiceParameters[z]); + this.ServiceParameters.push(obj); + } + } + + if (params.ConstantParameters) { + this.ConstantParameters = new Array(); + for (let z in params.ConstantParameters) { + let obj = new ConstantParameter(); + obj.deserialize(params.ConstantParameters[z]); + this.ConstantParameters.push(obj); + } + } + this.ServiceMockReturnMessage = 'ServiceMockReturnMessage' in params ? params.ServiceMockReturnMessage : null; + this.ServiceScfFunctionName = 'ServiceScfFunctionName' in params ? params.ServiceScfFunctionName : null; + this.ServiceScfFunctionNamespace = 'ServiceScfFunctionNamespace' in params ? params.ServiceScfFunctionNamespace : null; + this.ServiceScfFunctionQualifier = 'ServiceScfFunctionQualifier' in params ? params.ServiceScfFunctionQualifier : null; + this.ServiceScfIsIntegratedResponse = 'ServiceScfIsIntegratedResponse' in params ? params.ServiceScfIsIntegratedResponse : null; + this.ServiceWebsocketRegisterFunctionName = 'ServiceWebsocketRegisterFunctionName' in params ? params.ServiceWebsocketRegisterFunctionName : null; + this.ServiceWebsocketRegisterFunctionNamespace = 'ServiceWebsocketRegisterFunctionNamespace' in params ? params.ServiceWebsocketRegisterFunctionNamespace : null; + this.ServiceWebsocketRegisterFunctionQualifier = 'ServiceWebsocketRegisterFunctionQualifier' in params ? params.ServiceWebsocketRegisterFunctionQualifier : null; + this.ServiceWebsocketCleanupFunctionName = 'ServiceWebsocketCleanupFunctionName' in params ? params.ServiceWebsocketCleanupFunctionName : null; + this.ServiceWebsocketCleanupFunctionNamespace = 'ServiceWebsocketCleanupFunctionNamespace' in params ? params.ServiceWebsocketCleanupFunctionNamespace : null; + this.ServiceWebsocketCleanupFunctionQualifier = 'ServiceWebsocketCleanupFunctionQualifier' in params ? params.ServiceWebsocketCleanupFunctionQualifier : null; + this.InternalDomain = 'InternalDomain' in params ? params.InternalDomain : null; + this.ServiceWebsocketTransportFunctionName = 'ServiceWebsocketTransportFunctionName' in params ? params.ServiceWebsocketTransportFunctionName : null; + this.ServiceWebsocketTransportFunctionNamespace = 'ServiceWebsocketTransportFunctionNamespace' in params ? params.ServiceWebsocketTransportFunctionNamespace : null; + this.ServiceWebsocketTransportFunctionQualifier = 'ServiceWebsocketTransportFunctionQualifier' in params ? params.ServiceWebsocketTransportFunctionQualifier : null; + + if (params.MicroServices) { + this.MicroServices = new Array(); + for (let z in params.MicroServices) { + let obj = new MicroService(); + obj.deserialize(params.MicroServices[z]); + this.MicroServices.push(obj); + } + } + this.MicroServicesInfo = 'MicroServicesInfo' in params ? params.MicroServicesInfo : null; + + if (params.ServiceTsfLoadBalanceConf) { + let obj = new TsfLoadBalanceConfResp(); + obj.deserialize(params.ServiceTsfLoadBalanceConf) + this.ServiceTsfLoadBalanceConf = obj; + } + + if (params.ServiceTsfHealthCheckConf) { + let obj = new HealthCheckConf(); + obj.deserialize(params.ServiceTsfHealthCheckConf) + this.ServiceTsfHealthCheckConf = obj; + } + this.EnableCORS = 'EnableCORS' in params ? params.EnableCORS : null; + + if (params.Tags) { + this.Tags = new Array(); + for (let z in params.Tags) { + let obj = new Tag(); + obj.deserialize(params.Tags[z]); + this.Tags.push(obj); + } + } + this.Environments = 'Environments' in params ? params.Environments : null; + this.IsBase64Encoded = 'IsBase64Encoded' in params ? params.IsBase64Encoded : null; + this.IsBase64Trigger = 'IsBase64Trigger' in params ? params.IsBase64Trigger : null; + + if (params.Base64EncodedTriggerRules) { + this.Base64EncodedTriggerRules = new Array(); + for (let z in params.Base64EncodedTriggerRules) { + let obj = new Base64EncodedTriggerRule(); + obj.deserialize(params.Base64EncodedTriggerRules[z]); + this.Base64EncodedTriggerRules.push(obj); + } + } } } /** - * ModifyAPIDoc请求参数结构体 + * tsf serverless入参 * @class */ -class ModifyAPIDocRequest extends AbstractModel { +class TargetServicesReq extends AbstractModel { constructor(){ super(); /** - * API文档ID + * vm ip * @type {string || null} */ - this.ApiDocId = null; + this.VmIp = null; /** - * API文档名称 + * vpc id * @type {string || null} */ - this.ApiDocName = null; + this.VpcId = null; /** - * 服务名称 - * @type {string || null} + * vm port + * @type {number || null} */ - this.ServiceId = null; + this.VmPort = null; /** - * 环境名称 + * cvm所在宿主机ip * @type {string || null} */ - this.Environment = null; + this.HostIp = null; /** - * 生成文档的API列表 - * @type {Array. || null} + * docker ip + * @type {string || null} */ - this.ApiIds = null; + this.DockerIp = null; } @@ -1452,34 +1607,40 @@ class ModifyAPIDocRequest extends AbstractModel { if (!params) { return; } - this.ApiDocId = 'ApiDocId' in params ? params.ApiDocId : null; - this.ApiDocName = 'ApiDocName' in params ? params.ApiDocName : null; - this.ServiceId = 'ServiceId' in params ? params.ServiceId : null; - this.Environment = 'Environment' in params ? params.Environment : null; - this.ApiIds = 'ApiIds' in params ? params.ApiIds : null; + this.VmIp = 'VmIp' in params ? params.VmIp : null; + this.VpcId = 'VpcId' in params ? params.VpcId : null; + this.VmPort = 'VmPort' in params ? params.VmPort : null; + this.HostIp = 'HostIp' in params ? params.HostIp : null; + this.DockerIp = 'DockerIp' in params ? params.DockerIp : null; } } /** - * 自定义服务域名展示 + * DescribeUsagePlansStatus请求参数结构体 * @class */ -class DomainSets extends AbstractModel { +class DescribeUsagePlansStatusRequest extends AbstractModel { constructor(){ super(); /** - * 服务下的自定义域名数量。 + * 返回数量,默认为 20,最大值为 100。 * @type {number || null} */ - this.TotalCount = null; + this.Limit = null; /** - * 自定义服务域名列表。 - * @type {Array. || null} + * 偏移量,默认为 0。 + * @type {number || null} */ - this.DomainSet = null; + this.Offset = null; + + /** + * 使用计划过滤条件。支持UsagePlanId、UsagePlanName、NotServiceId、NotApiId、Environment。 + * @type {Array. || null} + */ + this.Filters = null; } @@ -1490,14 +1651,15 @@ class DomainSets extends AbstractModel { if (!params) { return; } - this.TotalCount = 'TotalCount' in params ? params.TotalCount : null; + this.Limit = 'Limit' in params ? params.Limit : null; + this.Offset = 'Offset' in params ? params.Offset : null; - if (params.DomainSet) { - this.DomainSet = new Array(); - for (let z in params.DomainSet) { - let obj = new DomainSetList(); - obj.deserialize(params.DomainSet[z]); - this.DomainSet.push(obj); + if (params.Filters) { + this.Filters = new Array(); + for (let z in params.Filters) { + let obj = new Filter(); + obj.deserialize(params.Filters[z]); + this.Filters.push(obj); } } @@ -1505,18 +1667,40 @@ class DomainSets extends AbstractModel { } /** - * DeleteUsagePlan请求参数结构体 + * TsfLoadBalanceConf 出参使用 * @class */ -class DeleteUsagePlanRequest extends AbstractModel { +class TsfLoadBalanceConfResp extends AbstractModel { constructor(){ super(); /** - * 待删除的使用计划唯一 ID。 + * 是否开启负载均衡。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {boolean || null} + */ + this.IsLoadBalance = null; + + /** + * 负载均衡方式。 +注意:此字段可能返回 null,表示取不到有效值。 * @type {string || null} */ - this.UsagePlanId = null; + this.Method = null; + + /** + * 是否开启会话保持。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {boolean || null} + */ + this.SessionStickRequired = null; + + /** + * 会话保持超时时间。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {number || null} + */ + this.SessionStickTimeout = null; } @@ -1527,30 +1711,45 @@ class DeleteUsagePlanRequest extends AbstractModel { if (!params) { return; } - this.UsagePlanId = 'UsagePlanId' in params ? params.UsagePlanId : null; + this.IsLoadBalance = 'IsLoadBalance' in params ? params.IsLoadBalance : null; + this.Method = 'Method' in params ? params.Method : null; + this.SessionStickRequired = 'SessionStickRequired' in params ? params.SessionStickRequired : null; + this.SessionStickTimeout = 'SessionStickTimeout' in params ? params.SessionStickTimeout : null; } } /** - * DeleteService请求参数结构体 + * CreateIPStrategy请求参数结构体 * @class */ -class DeleteServiceRequest extends AbstractModel { +class CreateIPStrategyRequest extends AbstractModel { constructor(){ super(); /** - * 待删除服务的唯一 ID。 + * 服务的唯一ID。 * @type {string || null} */ this.ServiceId = null; /** - * 跳过删除前置条件校验(仅支持独享实例上的服务) - * @type {number || null} + * 用户自定义的策略名称。 + * @type {string || null} */ - this.SkipVerification = null; + this.StrategyName = null; + + /** + * 策略类型。支持WHITE(白名单)和BLACK(黑名单)。 + * @type {string || null} + */ + this.StrategyType = null; + + /** + * 策略详情,多个ip 使用\n 分隔符分开。 + * @type {string || null} + */ + this.StrategyData = null; } @@ -1562,48 +1761,83 @@ class DeleteServiceRequest extends AbstractModel { return; } this.ServiceId = 'ServiceId' in params ? params.ServiceId : null; - this.SkipVerification = 'SkipVerification' in params ? params.SkipVerification : null; + this.StrategyName = 'StrategyName' in params ? params.StrategyName : null; + this.StrategyType = 'StrategyType' in params ? params.StrategyType : null; + this.StrategyData = 'StrategyData' in params ? params.StrategyData : null; } } /** - * DescribeApiEnvironmentStrategy请求参数结构体 + * ip策略 * @class */ -class DescribeApiEnvironmentStrategyRequest extends AbstractModel { +class IPStrategy extends AbstractModel { constructor(){ super(); /** - * API所属服务唯一ID。 + * 策略唯一ID。 +注意:此字段可能返回 null,表示取不到有效值。 * @type {string || null} */ - this.ServiceId = null; + this.StrategyId = null; /** - * 环境列表。 - * @type {Array. || null} + * 用户自定义策略名称。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} */ - this.EnvironmentNames = null; + this.StrategyName = null; /** - * API唯一ID。 + * 策略类型。支持WHITE(白名单)和BLACK(黑名单)。 +注意:此字段可能返回 null,表示取不到有效值。 * @type {string || null} */ - this.ApiId = null; + this.StrategyType = null; /** - * 返回数量,默认为 20,最大值为 100。 - * @type {number || null} + * IP列表。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} */ - this.Limit = null; + this.StrategyData = null; /** - * 偏移量,默认为 0。 + * 创建时间。按照 ISO8601 标准表示,并且使用 UTC 时间。格式为:YYYY-MM-DDThh:mm:ssZ。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.CreatedTime = null; + + /** + * 修改时间。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.ModifiedTime = null; + + /** + * 最后修改时间。按照 ISO8601 标准表示,并且使用 UTC 时间。格式为:YYYY-MM-DDThh:mm:ssZ。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.ServiceId = null; + + /** + * 策略绑定的API数量。 +注意:此字段可能返回 null,表示取不到有效值。 * @type {number || null} */ - this.Offset = null; + this.BindApiTotalCount = null; + + /** + * 绑定的API详情。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {Array. || null} + */ + this.BindApis = null; } @@ -1614,27 +1848,39 @@ class DescribeApiEnvironmentStrategyRequest extends AbstractModel { if (!params) { return; } + this.StrategyId = 'StrategyId' in params ? params.StrategyId : null; + this.StrategyName = 'StrategyName' in params ? params.StrategyName : null; + this.StrategyType = 'StrategyType' in params ? params.StrategyType : null; + this.StrategyData = 'StrategyData' in params ? params.StrategyData : null; + this.CreatedTime = 'CreatedTime' in params ? params.CreatedTime : null; + this.ModifiedTime = 'ModifiedTime' in params ? params.ModifiedTime : null; this.ServiceId = 'ServiceId' in params ? params.ServiceId : null; - this.EnvironmentNames = 'EnvironmentNames' in params ? params.EnvironmentNames : null; - this.ApiId = 'ApiId' in params ? params.ApiId : null; - this.Limit = 'Limit' in params ? params.Limit : null; - this.Offset = 'Offset' in params ? params.Offset : null; + this.BindApiTotalCount = 'BindApiTotalCount' in params ? params.BindApiTotalCount : null; + + if (params.BindApis) { + this.BindApis = new Array(); + for (let z in params.BindApis) { + let obj = new DesApisStatus(); + obj.deserialize(params.BindApis[z]); + this.BindApis.push(obj); + } + } } } /** - * UpdateService返回参数结构体 + * DescribeUsagePlansStatus返回参数结构体 * @class */ -class UpdateServiceResponse extends AbstractModel { +class DescribeUsagePlansStatusResponse extends AbstractModel { constructor(){ super(); /** - * 切换版本操作是否成功。 + * 使用计划列表。 注意:此字段可能返回 null,表示取不到有效值。 - * @type {boolean || null} + * @type {UsagePlansStatus || null} */ this.Result = null; @@ -1653,49 +1899,48 @@ class UpdateServiceResponse extends AbstractModel { if (!params) { return; } - this.Result = 'Result' in params ? params.Result : null; + + if (params.Result) { + let obj = new UsagePlansStatus(); + obj.deserialize(params.Result) + this.Result = obj; + } this.RequestId = 'RequestId' in params ? params.RequestId : null; } } /** - * ServiceConfig + * 健康检查配置,包括TsfHealthCheckConf和TargetServicesHealthCheckConf * @class */ -class ServiceConfig extends AbstractModel { +class HealthCheckConf extends AbstractModel { constructor(){ super(); /** - * 后端类型。启用vpc时生效,目前支持的类型为clb。 - * @type {string || null} - */ - this.Product = null; - - /** - * vpc 的唯一ID。 - * @type {string || null} + * 是否开启健康检查。 + * @type {boolean || null} */ - this.UniqVpcId = null; + this.IsHealthCheck = null; /** - * API 的后端服务url。如果ServiceType是HTTP,则此参数必传。 - * @type {string || null} + * 健康检查阈值。 + * @type {number || null} */ - this.Url = null; + this.RequestVolumeThreshold = null; /** - * API 的后端服务路径,如 /path。如果 ServiceType 是 HTTP,则此参数必传。前后端路径可不同。 - * @type {string || null} + * 窗口大小。 + * @type {number || null} */ - this.Path = null; + this.SleepWindowInMilliseconds = null; /** - * API的后端服务请求方法,如 GET。如果 ServiceType 是 HTTP,则此参数必传。前后端方法可不同。 - * @type {string || null} + * 阈值百分比。 + * @type {number || null} */ - this.Method = null; + this.ErrorThresholdPercentage = null; } @@ -1706,36 +1951,27 @@ class ServiceConfig extends AbstractModel { if (!params) { return; } - this.Product = 'Product' in params ? params.Product : null; - this.UniqVpcId = 'UniqVpcId' in params ? params.UniqVpcId : null; - this.Url = 'Url' in params ? params.Url : null; - this.Path = 'Path' in params ? params.Path : null; - this.Method = 'Method' in params ? params.Method : null; + this.IsHealthCheck = 'IsHealthCheck' in params ? params.IsHealthCheck : null; + this.RequestVolumeThreshold = 'RequestVolumeThreshold' in params ? params.RequestVolumeThreshold : null; + this.SleepWindowInMilliseconds = 'SleepWindowInMilliseconds' in params ? params.SleepWindowInMilliseconds : null; + this.ErrorThresholdPercentage = 'ErrorThresholdPercentage' in params ? params.ErrorThresholdPercentage : null; } } /** - * 服务绑定环境详情 + * DeleteUpstream请求参数结构体 * @class */ -class ServiceEnvironmentSet extends AbstractModel { +class DeleteUpstreamRequest extends AbstractModel { constructor(){ super(); /** - * 服务绑定环境总数。 -注意:此字段可能返回 null,表示取不到有效值。 - * @type {number || null} - */ - this.TotalCount = null; - - /** - * 服务绑定环境列表。 -注意:此字段可能返回 null,表示取不到有效值。 - * @type {Array. || null} + * 待删除的后端通道ID + * @type {string || null} */ - this.EnvironmentList = null; + this.UpstreamId = null; } @@ -1746,187 +1982,221 @@ class ServiceEnvironmentSet extends AbstractModel { if (!params) { return; } - this.TotalCount = 'TotalCount' in params ? params.TotalCount : null; - - if (params.EnvironmentList) { - this.EnvironmentList = new Array(); - for (let z in params.EnvironmentList) { - let obj = new Environment(); - obj.deserialize(params.EnvironmentList[z]); - this.EnvironmentList.push(obj); - } - } + this.UpstreamId = 'UpstreamId' in params ? params.UpstreamId : null; } } /** - * DescribeService返回参数结构体 + * API网关插件详情。 * @class */ -class DescribeServiceResponse extends AbstractModel { +class Plugin extends AbstractModel { constructor(){ super(); /** - * 服务唯一ID。 + * 插件ID。 * @type {string || null} */ - this.ServiceId = null; + this.PluginId = null; /** - * 服务 环境列表。 - * @type {Array. || null} + * 插件名称。 + * @type {string || null} */ - this.AvailableEnvironments = null; + this.PluginName = null; /** - * 服务名称。 + * 插件类型。 * @type {string || null} */ - this.ServiceName = null; + this.PluginType = null; /** - * 服务描述。 -注意:此字段可能返回 null,表示取不到有效值。 + * 插件定义语句。 * @type {string || null} */ - this.ServiceDesc = null; + this.PluginData = null; /** - * 服务支持协议,可选值为http、https、http&https。 + * 插件描述。 +注意:此字段可能返回 null,表示取不到有效值。 * @type {string || null} */ - this.Protocol = null; + this.Description = null; /** - * 服务创建时间。 + * 插件创建时间。按照 ISO8601 标准表示,并且使用 UTC 时间。格式为:YYYY-MM-DDThh:mm:ssZ。 * @type {string || null} */ this.CreatedTime = null; /** - * 服务修改时间。 + * 插件修改时间。按照 ISO8601 标准表示,并且使用 UTC 时间。格式为:YYYY-MM-DDThh:mm:ssZ。 * @type {string || null} */ this.ModifiedTime = null; /** - * 独立集群名称。 - * @type {string || null} + * 插件绑定的API总数。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {number || null} */ - this.ExclusiveSetName = null; + this.AttachedApiTotalCount = null; /** - * 网络类型列表,INNER为内网访问,OUTER为外网访问。 - * @type {Array. || null} + * 插件绑定的API信息。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {Array. || null} */ - this.NetTypes = null; + this.AttachedApis = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.PluginId = 'PluginId' in params ? params.PluginId : null; + this.PluginName = 'PluginName' in params ? params.PluginName : null; + this.PluginType = 'PluginType' in params ? params.PluginType : null; + this.PluginData = 'PluginData' in params ? params.PluginData : null; + this.Description = 'Description' in params ? params.Description : null; + this.CreatedTime = 'CreatedTime' in params ? params.CreatedTime : null; + this.ModifiedTime = 'ModifiedTime' in params ? params.ModifiedTime : null; + this.AttachedApiTotalCount = 'AttachedApiTotalCount' in params ? params.AttachedApiTotalCount : null; + + if (params.AttachedApis) { + this.AttachedApis = new Array(); + for (let z in params.AttachedApis) { + let obj = new AttachedApiInfo(); + obj.deserialize(params.AttachedApis[z]); + this.AttachedApis.push(obj); + } + } + + } +} + +/** + * UnbindApiApp返回参数结构体 + * @class + */ +class UnbindApiAppResponse extends AbstractModel { + constructor(){ + super(); /** - * 内网访问子域名。 - * @type {string || null} + * 解除绑定操作是否成功。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {boolean || null} */ - this.InternalSubDomain = null; + this.Result = null; /** - * 外网访问子域名。 + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 * @type {string || null} */ - this.OuterSubDomain = null; + this.RequestId = null; - /** - * 内网访问http服务端口号。 - * @type {number || null} - */ - this.InnerHttpPort = null; + } - /** - * 内网访问https端口号。 - * @type {number || null} - */ - this.InnerHttpsPort = null; + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Result = 'Result' in params ? params.Result : null; + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * ModifyUpstream请求参数结构体 + * @class + */ +class ModifyUpstreamRequest extends AbstractModel { + constructor(){ + super(); /** - * API总数。 - * @type {number || null} + * 后端通道唯一ID + * @type {string || null} */ - this.ApiTotalCount = null; + this.UpstreamId = null; /** - * API列表。 -注意:此字段可能返回 null,表示取不到有效值。 - * @type {Array. || null} + * 后端通道名字 + * @type {string || null} */ - this.ApiIdStatusSet = null; + this.UpstreamName = null; /** - * 使用计划总数量。 - * @type {number || null} + * 后端通道描述 + * @type {string || null} */ - this.UsagePlanTotalCount = null; + this.UpstreamDescription = null; /** - * 使用计划数组。 -注意:此字段可能返回 null,表示取不到有效值。 - * @type {Array. || null} + * 后端协议,取值范围:HTTP, HTTPS + * @type {string || null} */ - this.UsagePlanList = null; + this.Scheme = null; /** - * IP版本。 -注意:此字段可能返回 null,表示取不到有效值。 + * 后端访问类型,取值范围:IP_PORT, K8S * @type {string || null} */ - this.IpVersion = null; + this.UpstreamType = null; /** - * 此服务的用户类型。 -注意:此字段可能返回 null,表示取不到有效值。 + * 负载均衡算法,取值范围:ROUND_ROBIN * @type {string || null} */ - this.UserType = null; + this.Algorithm = null; /** - * 预留字段。 -注意:此字段可能返回 null,表示取不到有效值。 - * @type {number || null} + * VPC唯一ID + * @type {string || null} */ - this.SetId = null; + this.UniqVpcId = null; /** - * 服务绑定的标签。 -注意:此字段可能返回 null,表示取不到有效值。 - * @type {Array. || null} + * 请求重试次数,默认3次 + * @type {number || null} */ - this.Tags = null; + this.Retries = null; /** - * 独享实例id -注意:此字段可能返回 null,表示取不到有效值。 + * 网关转发到后端的 Host 请求头 * @type {string || null} */ - this.InstanceId = null; + this.UpstreamHost = null; /** - * 独享实例name -注意:此字段可能返回 null,表示取不到有效值。 - * @type {string || null} + * 后端节点列表 + * @type {Array. || null} */ - this.InstanceName = null; + this.Nodes = null; /** - * 集群类型 -注意:此字段可能返回 null,表示取不到有效值。 - * @type {string || null} + * 健康检查配置,目前只支持VPC通道 + * @type {UpstreamHealthChecker || null} */ - this.SetType = null; + this.HealthChecker = null; /** - * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - * @type {string || null} + * 容器服务配置 + * @type {Array. || null} */ - this.RequestId = null; + this.K8sService = null; } @@ -1937,80 +2207,63 @@ class DescribeServiceResponse extends AbstractModel { if (!params) { return; } - this.ServiceId = 'ServiceId' in params ? params.ServiceId : null; - this.AvailableEnvironments = 'AvailableEnvironments' in params ? params.AvailableEnvironments : null; - this.ServiceName = 'ServiceName' in params ? params.ServiceName : null; - this.ServiceDesc = 'ServiceDesc' in params ? params.ServiceDesc : null; - this.Protocol = 'Protocol' in params ? params.Protocol : null; - this.CreatedTime = 'CreatedTime' in params ? params.CreatedTime : null; - this.ModifiedTime = 'ModifiedTime' in params ? params.ModifiedTime : null; - this.ExclusiveSetName = 'ExclusiveSetName' in params ? params.ExclusiveSetName : null; - this.NetTypes = 'NetTypes' in params ? params.NetTypes : null; - this.InternalSubDomain = 'InternalSubDomain' in params ? params.InternalSubDomain : null; - this.OuterSubDomain = 'OuterSubDomain' in params ? params.OuterSubDomain : null; - this.InnerHttpPort = 'InnerHttpPort' in params ? params.InnerHttpPort : null; - this.InnerHttpsPort = 'InnerHttpsPort' in params ? params.InnerHttpsPort : null; - this.ApiTotalCount = 'ApiTotalCount' in params ? params.ApiTotalCount : null; - - if (params.ApiIdStatusSet) { - this.ApiIdStatusSet = new Array(); - for (let z in params.ApiIdStatusSet) { - let obj = new ApiIdStatus(); - obj.deserialize(params.ApiIdStatusSet[z]); - this.ApiIdStatusSet.push(obj); + this.UpstreamId = 'UpstreamId' in params ? params.UpstreamId : null; + this.UpstreamName = 'UpstreamName' in params ? params.UpstreamName : null; + this.UpstreamDescription = 'UpstreamDescription' in params ? params.UpstreamDescription : null; + this.Scheme = 'Scheme' in params ? params.Scheme : null; + this.UpstreamType = 'UpstreamType' in params ? params.UpstreamType : null; + this.Algorithm = 'Algorithm' in params ? params.Algorithm : null; + this.UniqVpcId = 'UniqVpcId' in params ? params.UniqVpcId : null; + this.Retries = 'Retries' in params ? params.Retries : null; + this.UpstreamHost = 'UpstreamHost' in params ? params.UpstreamHost : null; + + if (params.Nodes) { + this.Nodes = new Array(); + for (let z in params.Nodes) { + let obj = new UpstreamNode(); + obj.deserialize(params.Nodes[z]); + this.Nodes.push(obj); } } - this.UsagePlanTotalCount = 'UsagePlanTotalCount' in params ? params.UsagePlanTotalCount : null; - if (params.UsagePlanList) { - this.UsagePlanList = new Array(); - for (let z in params.UsagePlanList) { - let obj = new UsagePlan(); - obj.deserialize(params.UsagePlanList[z]); - this.UsagePlanList.push(obj); - } + if (params.HealthChecker) { + let obj = new UpstreamHealthChecker(); + obj.deserialize(params.HealthChecker) + this.HealthChecker = obj; } - this.IpVersion = 'IpVersion' in params ? params.IpVersion : null; - this.UserType = 'UserType' in params ? params.UserType : null; - this.SetId = 'SetId' in params ? params.SetId : null; - if (params.Tags) { - this.Tags = new Array(); - for (let z in params.Tags) { - let obj = new Tag(); - obj.deserialize(params.Tags[z]); - this.Tags.push(obj); + if (params.K8sService) { + this.K8sService = new Array(); + for (let z in params.K8sService) { + let obj = new K8sService(); + obj.deserialize(params.K8sService[z]); + this.K8sService.push(obj); } } - this.InstanceId = 'InstanceId' in params ? params.InstanceId : null; - this.InstanceName = 'InstanceName' in params ? params.InstanceName : null; - this.SetType = 'SetType' in params ? params.SetType : null; - this.RequestId = 'RequestId' in params ? params.RequestId : null; } } /** - * 使用计划绑定环境的列表。 + * DescribeApiUsagePlan返回参数结构体 * @class */ -class UsagePlanEnvironmentStatus extends AbstractModel { +class DescribeApiUsagePlanResponse extends AbstractModel { constructor(){ super(); /** - * 使用计划绑定的服务的环境数。 + * api绑定使用计划列表。 注意:此字段可能返回 null,表示取不到有效值。 - * @type {number || null} + * @type {ApiUsagePlanSet || null} */ - this.TotalCount = null; + this.Result = null; /** - * 使用计划已经绑定的各个服务的环境状态。 -注意:此字段可能返回 null,表示取不到有效值。 - * @type {Array. || null} + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} */ - this.EnvironmentList = null; + this.RequestId = null; } @@ -2021,40 +2274,36 @@ class UsagePlanEnvironmentStatus extends AbstractModel { if (!params) { return; } - this.TotalCount = 'TotalCount' in params ? params.TotalCount : null; - if (params.EnvironmentList) { - this.EnvironmentList = new Array(); - for (let z in params.EnvironmentList) { - let obj = new UsagePlanEnvironment(); - obj.deserialize(params.EnvironmentList[z]); - this.EnvironmentList.push(obj); - } + if (params.Result) { + let obj = new ApiUsagePlanSet(); + obj.deserialize(params.Result) + this.Result = obj; } + this.RequestId = 'RequestId' in params ? params.RequestId : null; } } /** - * ModifyIPStrategy返回参数结构体 + * DeleteIPStrategy请求参数结构体 * @class */ -class ModifyIPStrategyResponse extends AbstractModel { +class DeleteIPStrategyRequest extends AbstractModel { constructor(){ super(); /** - * 修改操作是否成功。 -注意:此字段可能返回 null,表示取不到有效值。 - * @type {boolean || null} + * 待删除的IP策略所属的服务唯一ID。 + * @type {string || null} */ - this.Result = null; + this.ServiceId = null; /** - * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * 待删除的IP策略唯一ID。 * @type {string || null} */ - this.RequestId = null; + this.StrategyId = null; } @@ -2065,32 +2314,25 @@ class ModifyIPStrategyResponse extends AbstractModel { if (!params) { return; } - this.Result = 'Result' in params ? params.Result : null; - this.RequestId = 'RequestId' in params ? params.RequestId : null; + this.ServiceId = 'ServiceId' in params ? params.ServiceId : null; + this.StrategyId = 'StrategyId' in params ? params.StrategyId : null; } } /** - * BindSubDomain返回参数结构体 + * DescribeApiApp请求参数结构体 * @class */ -class BindSubDomainResponse extends AbstractModel { +class DescribeApiAppRequest extends AbstractModel { constructor(){ super(); /** - * 绑定操作是否成功。 -注意:此字段可能返回 null,表示取不到有效值。 - * @type {boolean || null} - */ - this.Result = null; - - /** - * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * 应用ID。 * @type {string || null} */ - this.RequestId = null; + this.ApiAppId = null; } @@ -2101,24 +2343,22 @@ class BindSubDomainResponse extends AbstractModel { if (!params) { return; } - this.Result = 'Result' in params ? params.Result : null; - this.RequestId = 'RequestId' in params ? params.RequestId : null; + this.ApiAppId = 'ApiAppId' in params ? params.ApiAppId : null; } } /** - * BindEnvironment返回参数结构体 + * DescribePlugin返回参数结构体 * @class */ -class BindEnvironmentResponse extends AbstractModel { +class DescribePluginResponse extends AbstractModel { constructor(){ super(); /** - * 绑定操作是否成功。 -注意:此字段可能返回 null,表示取不到有效值。 - * @type {boolean || null} + * 插件详情。 + * @type {Plugin || null} */ this.Result = null; @@ -2137,31 +2377,48 @@ class BindEnvironmentResponse extends AbstractModel { if (!params) { return; } - this.Result = 'Result' in params ? params.Result : null; + + if (params.Result) { + let obj = new Plugin(); + obj.deserialize(params.Result) + this.Result = obj; + } this.RequestId = 'RequestId' in params ? params.RequestId : null; } } /** - * API绑定的标签信息。 + * DescribeUpstreamBindApis请求参数结构体 * @class */ -class Tag extends AbstractModel { +class DescribeUpstreamBindApisRequest extends AbstractModel { constructor(){ super(); /** - * 标签的 key。 - * @type {string || null} + * 分页大小 + * @type {number || null} */ - this.Key = null; + this.Limit = null; /** - * 便签的 value。 + * 分页起始位置 + * @type {number || null} + */ + this.Offset = null; + + /** + * 后端通道ID * @type {string || null} */ - this.Value = null; + this.UpstreamId = null; + + /** + * ServiceId和ApiId过滤查询 + * @type {Array. || null} + */ + this.Filters = null; } @@ -2172,31 +2429,41 @@ class Tag extends AbstractModel { if (!params) { return; } - this.Key = 'Key' in params ? params.Key : null; - this.Value = 'Value' in params ? params.Value : null; + this.Limit = 'Limit' in params ? params.Limit : null; + this.Offset = 'Offset' in params ? params.Offset : null; + this.UpstreamId = 'UpstreamId' in params ? params.UpstreamId : null; + + if (params.Filters) { + this.Filters = new Array(); + for (let z in params.Filters) { + let obj = new Filter(); + obj.deserialize(params.Filters[z]); + this.Filters.push(obj); + } + } } } /** - * DescribeIPStrategysStatus请求参数结构体 + * DescribeExclusiveInstances返回参数结构体 * @class */ -class DescribeIPStrategysStatusRequest extends AbstractModel { +class DescribeExclusiveInstancesResponse extends AbstractModel { constructor(){ super(); /** - * 服务唯一ID。 - * @type {string || null} + * 独享实例列表查询结果 + * @type {InstanceInfo || null} */ - this.ServiceId = null; + this.Result = null; /** - * 过滤条件。支持StrategyName。 - * @type {Array. || null} + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} */ - this.Filters = null; + this.RequestId = null; } @@ -2207,51 +2474,66 @@ class DescribeIPStrategysStatusRequest extends AbstractModel { if (!params) { return; } - this.ServiceId = 'ServiceId' in params ? params.ServiceId : null; - if (params.Filters) { - this.Filters = new Array(); - for (let z in params.Filters) { - let obj = new Filter(); - obj.deserialize(params.Filters[z]); - this.Filters.push(obj); - } + if (params.Result) { + let obj = new InstanceInfo(); + obj.deserialize(params.Result) + this.Result = obj; } + this.RequestId = 'RequestId' in params ? params.RequestId : null; } } /** - * 常量参数 + * k8s 服务的配置 * @class */ -class ConstantParameter extends AbstractModel { +class K8sService extends AbstractModel { constructor(){ super(); /** - * 常量参数名称。只有 ServiceType 是 HTTP 才会用到此参数。 + * 权重 + * @type {number || null} + */ + this.Weight = null; + + /** + * k8s集群ID * @type {string || null} */ - this.Name = null; + this.ClusterId = null; /** - * 常量参数描述。只有 ServiceType 是 HTTP 才会用到此参数。 + * 容器命名空间 * @type {string || null} */ - this.Desc = null; + this.Namespace = null; /** - * 常量参数位置。只有 ServiceType 是 HTTP 才会用到此参数。 + * 容器服务的名字 * @type {string || null} */ - this.Position = null; + this.ServiceName = null; /** - * 常量参数默认值。只有 ServiceType 是 HTTP 才会用到此参数。 + * 服务的端口 + * @type {number || null} + */ + this.Port = null; + + /** + * 额外选择的Pod的Label + * @type {Array. || null} + */ + this.ExtraLabels = null; + + /** + * 自定义的服务名字,可选 * @type {string || null} */ - this.DefaultValue = null; + this.Name = null; } @@ -2262,35 +2544,38 @@ class ConstantParameter extends AbstractModel { if (!params) { return; } + this.Weight = 'Weight' in params ? params.Weight : null; + this.ClusterId = 'ClusterId' in params ? params.ClusterId : null; + this.Namespace = 'Namespace' in params ? params.Namespace : null; + this.ServiceName = 'ServiceName' in params ? params.ServiceName : null; + this.Port = 'Port' in params ? params.Port : null; + + if (params.ExtraLabels) { + this.ExtraLabels = new Array(); + for (let z in params.ExtraLabels) { + let obj = new K8sLabel(); + obj.deserialize(params.ExtraLabels[z]); + this.ExtraLabels.push(obj); + } + } this.Name = 'Name' in params ? params.Name : null; - this.Desc = 'Desc' in params ? params.Desc : null; - this.Position = 'Position' in params ? params.Position : null; - this.DefaultValue = 'DefaultValue' in params ? params.DefaultValue : null; } } /** - * 使用计划列表 + * DeleteUsagePlan请求参数结构体 * @class */ -class UsagePlansStatus extends AbstractModel { +class DeleteUsagePlanRequest extends AbstractModel { constructor(){ super(); /** - * 符合条件的使用计划数量。 -注意:此字段可能返回 null,表示取不到有效值。 - * @type {number || null} - */ - this.TotalCount = null; - - /** - * 使用计划列表。 -注意:此字段可能返回 null,表示取不到有效值。 - * @type {Array. || null} + * 待删除的使用计划唯一 ID。 + * @type {string || null} */ - this.UsagePlanStatusSet = null; + this.UsagePlanId = null; } @@ -2301,39 +2586,30 @@ class UsagePlansStatus extends AbstractModel { if (!params) { return; } - this.TotalCount = 'TotalCount' in params ? params.TotalCount : null; - - if (params.UsagePlanStatusSet) { - this.UsagePlanStatusSet = new Array(); - for (let z in params.UsagePlanStatusSet) { - let obj = new UsagePlanStatusInfo(); - obj.deserialize(params.UsagePlanStatusSet[z]); - this.UsagePlanStatusSet.push(obj); - } - } + this.UsagePlanId = 'UsagePlanId' in params ? params.UsagePlanId : null; } } /** - * API文档列表 + * DeleteService请求参数结构体 * @class */ -class APIDocs extends AbstractModel { +class DeleteServiceRequest extends AbstractModel { constructor(){ super(); /** - * API文档数量 - * @type {number || null} + * 待删除服务的唯一 ID。 + * @type {string || null} */ - this.TotalCount = null; + this.ServiceId = null; /** - * API文档基本信息 - * @type {Array. || null} + * 跳过删除前置条件校验(仅支持独享实例上的服务) + * @type {number || null} */ - this.APIDocSet = null; + this.SkipVerification = null; } @@ -2344,45 +2620,49 @@ class APIDocs extends AbstractModel { if (!params) { return; } - this.TotalCount = 'TotalCount' in params ? params.TotalCount : null; - - if (params.APIDocSet) { - this.APIDocSet = new Array(); - for (let z in params.APIDocSet) { - let obj = new APIDoc(); - obj.deserialize(params.APIDocSet[z]); - this.APIDocSet.push(obj); - } - } + this.ServiceId = 'ServiceId' in params ? params.ServiceId : null; + this.SkipVerification = 'SkipVerification' in params ? params.SkipVerification : null; } } /** - * 检索条件入参 + * DescribeApiEnvironmentStrategy请求参数结构体 * @class */ -class LogQuery extends AbstractModel { +class DescribeApiEnvironmentStrategyRequest extends AbstractModel { constructor(){ super(); /** - * 检索字段 + * API所属服务唯一ID。 * @type {string || null} */ - this.Name = null; + this.ServiceId = null; /** - * 操作符 - * @type {string || null} + * 环境列表。 + * @type {Array. || null} */ - this.Operator = null; + this.EnvironmentNames = null; /** - * 检索值 + * API唯一ID。 * @type {string || null} */ - this.Value = null; + this.ApiId = null; + + /** + * 返回数量,默认为 20,最大值为 100。 + * @type {number || null} + */ + this.Limit = null; + + /** + * 偏移量,默认为 0。 + * @type {number || null} + */ + this.Offset = null; } @@ -2393,97 +2673,183 @@ class LogQuery extends AbstractModel { if (!params) { return; } - this.Name = 'Name' in params ? params.Name : null; - this.Operator = 'Operator' in params ? params.Operator : null; - this.Value = 'Value' in params ? params.Value : null; + this.ServiceId = 'ServiceId' in params ? params.ServiceId : null; + this.EnvironmentNames = 'EnvironmentNames' in params ? params.EnvironmentNames : null; + this.ApiId = 'ApiId' in params ? params.ApiId : null; + this.Limit = 'Limit' in params ? params.Limit : null; + this.Offset = 'Offset' in params ? params.Offset : null; } } /** - * ServiceParameter + * 后端通道主动健康检查的请求头配置 * @class */ -class ServiceParameter extends AbstractModel { +class UpstreamHealthCheckerReqHeaders extends AbstractModel { + constructor(){ + super(); + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + + } +} + +/** + * DescribeServiceForApiApp返回参数结构体 + * @class + */ +class DescribeServiceForApiAppResponse extends AbstractModel { constructor(){ super(); /** - * API的后端服务参数名称。只有ServiceType是HTTP才会用到此参数。前后端参数名称可不同。 -注意:此字段可能返回 null,表示取不到有效值。 + * 服务唯一ID。 * @type {string || null} */ - this.Name = null; + this.ServiceId = null; /** - * API 的后端服务参数位置,如 head。只有 ServiceType 是 HTTP 才会用到此参数。前后端参数位置可配置不同。 + * 服务 环境列表。 注意:此字段可能返回 null,表示取不到有效值。 - * @type {string || null} + * @type {Array. || null} */ - this.Position = null; + this.AvailableEnvironments = null; /** - * API 的后端服务参数对应的前端参数位置,如 head。只有 ServiceType 是 HTTP 才会用到此参数。 + * 服务名称。 注意:此字段可能返回 null,表示取不到有效值。 * @type {string || null} */ - this.RelevantRequestParameterPosition = null; + this.ServiceName = null; /** - * API 的后端服务参数对应的前端参数名称。只有 ServiceType 是 HTTP 才会用到此参数。 + * 服务描述。 注意:此字段可能返回 null,表示取不到有效值。 * @type {string || null} */ - this.RelevantRequestParameterName = null; + this.ServiceDesc = null; /** - * API 的后端服务参数默认值。只有 ServiceType 是 HTTP 才会用到此参数。 + * 服务支持协议,可选值为http、https、http&https。 + * @type {string || null} + */ + this.Protocol = null; + + /** + * 服务创建时间。 注意:此字段可能返回 null,表示取不到有效值。 * @type {string || null} */ - this.DefaultValue = null; + this.CreatedTime = null; /** - * API 的后端服务参数备注。只有 ServiceType 是 HTTP 才会用到此参数。 + * 服务修改时间。 注意:此字段可能返回 null,表示取不到有效值。 * @type {string || null} */ - this.RelevantRequestParameterDesc = null; + this.ModifiedTime = null; /** - * API 的后端服务参数类型。只有 ServiceType 是 HTTP 才会用到此参数。 + * 独立集群名称。 注意:此字段可能返回 null,表示取不到有效值。 * @type {string || null} */ - this.RelevantRequestParameterType = null; + this.ExclusiveSetName = null; - } + /** + * 网络类型列表,INNER为内网访问,OUTER为外网访问。 + * @type {Array. || null} + */ + this.NetTypes = null; - /** - * @private - */ - deserialize(params) { - if (!params) { - return; - } - this.Name = 'Name' in params ? params.Name : null; - this.Position = 'Position' in params ? params.Position : null; - this.RelevantRequestParameterPosition = 'RelevantRequestParameterPosition' in params ? params.RelevantRequestParameterPosition : null; - this.RelevantRequestParameterName = 'RelevantRequestParameterName' in params ? params.RelevantRequestParameterName : null; - this.DefaultValue = 'DefaultValue' in params ? params.DefaultValue : null; - this.RelevantRequestParameterDesc = 'RelevantRequestParameterDesc' in params ? params.RelevantRequestParameterDesc : null; - this.RelevantRequestParameterType = 'RelevantRequestParameterType' in params ? params.RelevantRequestParameterType : null; + /** + * 内网访问子域名。 + * @type {string || null} + */ + this.InternalSubDomain = null; - } -} + /** + * 外网访问子域名。 + * @type {string || null} + */ + this.OuterSubDomain = null; -/** - * ModifyService返回参数结构体 - * @class - */ -class ModifyServiceResponse extends AbstractModel { - constructor(){ - super(); + /** + * 内网访问http服务端口号。 + * @type {number || null} + */ + this.InnerHttpPort = null; + + /** + * 内网访问https端口号。 + * @type {number || null} + */ + this.InnerHttpsPort = null; + + /** + * API总数。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {number || null} + */ + this.ApiTotalCount = null; + + /** + * API列表。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {Array. || null} + */ + this.ApiIdStatusSet = null; + + /** + * 使用计划总数量。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {number || null} + */ + this.UsagePlanTotalCount = null; + + /** + * 使用计划数组。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {Array. || null} + */ + this.UsagePlanList = null; + + /** + * IP版本。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.IpVersion = null; + + /** + * 此服务的用户类型。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.UserType = null; + + /** + * 预留字段。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {number || null} + */ + this.SetId = null; + + /** + * 服务绑定的标签。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {Array. || null} + */ + this.Tags = null; /** * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 @@ -2500,58 +2866,107 @@ class ModifyServiceResponse extends AbstractModel { if (!params) { return; } + this.ServiceId = 'ServiceId' in params ? params.ServiceId : null; + this.AvailableEnvironments = 'AvailableEnvironments' in params ? params.AvailableEnvironments : null; + this.ServiceName = 'ServiceName' in params ? params.ServiceName : null; + this.ServiceDesc = 'ServiceDesc' in params ? params.ServiceDesc : null; + this.Protocol = 'Protocol' in params ? params.Protocol : null; + this.CreatedTime = 'CreatedTime' in params ? params.CreatedTime : null; + this.ModifiedTime = 'ModifiedTime' in params ? params.ModifiedTime : null; + this.ExclusiveSetName = 'ExclusiveSetName' in params ? params.ExclusiveSetName : null; + this.NetTypes = 'NetTypes' in params ? params.NetTypes : null; + this.InternalSubDomain = 'InternalSubDomain' in params ? params.InternalSubDomain : null; + this.OuterSubDomain = 'OuterSubDomain' in params ? params.OuterSubDomain : null; + this.InnerHttpPort = 'InnerHttpPort' in params ? params.InnerHttpPort : null; + this.InnerHttpsPort = 'InnerHttpsPort' in params ? params.InnerHttpsPort : null; + this.ApiTotalCount = 'ApiTotalCount' in params ? params.ApiTotalCount : null; + + if (params.ApiIdStatusSet) { + this.ApiIdStatusSet = new Array(); + for (let z in params.ApiIdStatusSet) { + let obj = new ApiIdStatus(); + obj.deserialize(params.ApiIdStatusSet[z]); + this.ApiIdStatusSet.push(obj); + } + } + this.UsagePlanTotalCount = 'UsagePlanTotalCount' in params ? params.UsagePlanTotalCount : null; + + if (params.UsagePlanList) { + this.UsagePlanList = new Array(); + for (let z in params.UsagePlanList) { + let obj = new UsagePlan(); + obj.deserialize(params.UsagePlanList[z]); + this.UsagePlanList.push(obj); + } + } + this.IpVersion = 'IpVersion' in params ? params.IpVersion : null; + this.UserType = 'UserType' in params ? params.UserType : null; + this.SetId = 'SetId' in params ? params.SetId : null; + + if (params.Tags) { + this.Tags = new Array(); + for (let z in params.Tags) { + let obj = new Tag(); + obj.deserialize(params.Tags[z]); + this.Tags.push(obj); + } + } this.RequestId = 'RequestId' in params ? params.RequestId : null; } } /** - * DisableApiKey请求参数结构体 + * ServiceConfig配置 * @class */ -class DisableApiKeyRequest extends AbstractModel { +class ServiceConfig extends AbstractModel { constructor(){ super(); /** - * 待禁用的密钥 ID。 + * 后端类型。启用vpc时生效,目前支持的类型为clb, cvm和upstream * @type {string || null} */ - this.AccessKeyId = null; - - } - - /** - * @private - */ - deserialize(params) { - if (!params) { - return; - } - this.AccessKeyId = 'AccessKeyId' in params ? params.AccessKeyId : null; + this.Product = null; - } -} + /** + * vpc 的唯一ID。 + * @type {string || null} + */ + this.UniqVpcId = null; -/** - * 自定义域名的路径映射。 - * @class - */ -class PathMapping extends AbstractModel { - constructor(){ - super(); + /** + * API 的后端服务url。如果ServiceType是HTTP,则此参数必传。 + * @type {string || null} + */ + this.Url = null; /** - * 路径。 + * API 的后端服务路径,如 /path。如果 ServiceType 是 HTTP,则此参数必传。前后端路径可不同。 * @type {string || null} */ this.Path = null; /** - * 发布环境,可选值为“test”、 ”prepub“、”release“。 + * API的后端服务请求方法,如 GET。如果 ServiceType 是 HTTP,则此参数必传。前后端方法可不同。 * @type {string || null} */ - this.Environment = null; + this.Method = null; + + /** + * 当绑定vpc通道才需要 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.UpstreamId = null; + + /** + * API后端COS配置。如果 ServiceType 是 COS,则此参数必传。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {CosConfig || null} + */ + this.CosConfig = null; } @@ -2562,22 +2977,32 @@ class PathMapping extends AbstractModel { if (!params) { return; } + this.Product = 'Product' in params ? params.Product : null; + this.UniqVpcId = 'UniqVpcId' in params ? params.UniqVpcId : null; + this.Url = 'Url' in params ? params.Url : null; this.Path = 'Path' in params ? params.Path : null; - this.Environment = 'Environment' in params ? params.Environment : null; + this.Method = 'Method' in params ? params.Method : null; + this.UpstreamId = 'UpstreamId' in params ? params.UpstreamId : null; + + if (params.CosConfig) { + let obj = new CosConfig(); + obj.deserialize(params.CosConfig) + this.CosConfig = obj; + } } } /** - * UnBindIPStrategy返回参数结构体 + * DeleteApiApp返回参数结构体 * @class */ -class UnBindIPStrategyResponse extends AbstractModel { +class DeleteApiAppResponse extends AbstractModel { constructor(){ super(); /** - * 解绑操作是否成功。 + * 删除操作是否成功。 注意:此字段可能返回 null,表示取不到有效值。 * @type {boolean || null} */ @@ -2605,189 +3030,186 @@ class UnBindIPStrategyResponse extends AbstractModel { } /** - * BindIPStrategy返回参数结构体 + * DescribeService返回参数结构体 * @class */ -class BindIPStrategyResponse extends AbstractModel { +class DescribeServiceResponse extends AbstractModel { constructor(){ super(); /** - * 绑定操作是否成功。 -注意:此字段可能返回 null,表示取不到有效值。 - * @type {boolean || null} + * 服务唯一ID。 + * @type {string || null} */ - this.Result = null; + this.ServiceId = null; /** - * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - * @type {string || null} + * 服务 环境列表。 + * @type {Array. || null} */ - this.RequestId = null; + this.AvailableEnvironments = null; - } + /** + * 服务名称。 + * @type {string || null} + */ + this.ServiceName = null; - /** - * @private - */ - deserialize(params) { - if (!params) { - return; - } - this.Result = 'Result' in params ? params.Result : null; - this.RequestId = 'RequestId' in params ? params.RequestId : null; + /** + * 服务描述。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.ServiceDesc = null; - } -} + /** + * 服务支持协议,可选值为http、https、http&https。 + * @type {string || null} + */ + this.Protocol = null; -/** - * DescribeApisStatus请求参数结构体 - * @class - */ -class DescribeApisStatusRequest extends AbstractModel { - constructor(){ - super(); + /** + * 服务创建时间。 + * @type {string || null} + */ + this.CreatedTime = null; /** - * API 所在的服务唯一 ID。 + * 服务修改时间。 * @type {string || null} */ - this.ServiceId = null; + this.ModifiedTime = null; /** - * 偏移量,默认为 0。 - * @type {number || null} + * 独立集群名称。 + * @type {string || null} */ - this.Offset = null; + this.ExclusiveSetName = null; /** - * 返回数量,默认为 20,最大值为 100 - * @type {number || null} + * 网络类型列表,INNER为内网访问,OUTER为外网访问。 + * @type {Array. || null} */ - this.Limit = null; + this.NetTypes = null; /** - * API过滤条件。支持ApiId、ApiName、ApiPath、ApiType、AuthRelationApiId、AuthType、ApiBuniessType、NotUsagePlanId、Environment、Tags (values为 $tag_key:tag_value的列表)、TagKeys (values 为 tag key的列表)。 - * @type {Array. || null} + * 内网访问子域名。 + * @type {string || null} */ - this.Filters = null; + this.InternalSubDomain = null; - } + /** + * 外网访问子域名。 + * @type {string || null} + */ + this.OuterSubDomain = null; - /** - * @private - */ - deserialize(params) { - if (!params) { - return; - } - this.ServiceId = 'ServiceId' in params ? params.ServiceId : null; - this.Offset = 'Offset' in params ? params.Offset : null; - this.Limit = 'Limit' in params ? params.Limit : null; + /** + * 内网访问http服务端口号。 + * @type {number || null} + */ + this.InnerHttpPort = null; - if (params.Filters) { - this.Filters = new Array(); - for (let z in params.Filters) { - let obj = new Filter(); - obj.deserialize(params.Filters[z]); - this.Filters.push(obj); - } - } + /** + * 内网访问https端口号。 + * @type {number || null} + */ + this.InnerHttpsPort = null; - } -} + /** + * API总数。 + * @type {number || null} + */ + this.ApiTotalCount = null; -/** - * DeleteServiceSubDomainMapping请求参数结构体 - * @class - */ -class DeleteServiceSubDomainMappingRequest extends AbstractModel { - constructor(){ - super(); + /** + * API列表。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {Array. || null} + */ + this.ApiIdStatusSet = null; /** - * 服务唯一 ID。 - * @type {string || null} + * 使用计划总数量。 + * @type {number || null} */ - this.ServiceId = null; + this.UsagePlanTotalCount = null; /** - * 服务绑定的自定义域名。 - * @type {string || null} + * 使用计划数组。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {Array. || null} */ - this.SubDomain = null; + this.UsagePlanList = null; /** - * 待删除映射的环境名称,当前支持三个环境,test(测试环境)、prepub(预发布环境)和 release(发布环境)。 + * IP版本。 +注意:此字段可能返回 null,表示取不到有效值。 * @type {string || null} */ - this.Environment = null; - - } - - /** - * @private - */ - deserialize(params) { - if (!params) { - return; - } - this.ServiceId = 'ServiceId' in params ? params.ServiceId : null; - this.SubDomain = 'SubDomain' in params ? params.SubDomain : null; - this.Environment = 'Environment' in params ? params.Environment : null; + this.IpVersion = null; - } -} + /** + * 此服务的用户类型。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.UserType = null; -/** - * 策略绑定api列表 - * @class - */ -class IPStrategyApi extends AbstractModel { - constructor(){ - super(); + /** + * 预留字段。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {number || null} + */ + this.SetId = null; /** - * API 唯一 ID。 - * @type {string || null} + * 服务绑定的标签。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {Array. || null} */ - this.ApiId = null; + this.Tags = null; /** - * 用户自定义的 API 名称。 + * 独享实例id +注意:此字段可能返回 null,表示取不到有效值。 * @type {string || null} */ - this.ApiName = null; + this.InstanceId = null; /** - * API 类型。取值为NORMAL(普通API)和TSF (微服务API)。 + * 独享实例name +注意:此字段可能返回 null,表示取不到有效值。 * @type {string || null} */ - this.ApiType = null; + this.InstanceName = null; /** - * API 的路径。如 /path。 + * 集群类型 +注意:此字段可能返回 null,表示取不到有效值。 * @type {string || null} */ - this.Path = null; + this.SetType = null; /** - * API 的请求方法。如 GET。 + * 服务部署的集群类型 +注意:此字段可能返回 null,表示取不到有效值。 * @type {string || null} */ - this.Method = null; + this.DeploymentType = null; /** - * API 已经绑定的其他策略唯一ID。 + * 特殊用途, NULL和DEFAULT表示无特殊用途,其他用途如HTTP_DNS等 +注意:此字段可能返回 null,表示取不到有效值。 * @type {string || null} */ - this.OtherIPStrategyId = null; + this.SpecialUse = null; /** - * API 已经绑定的环境。 + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 * @type {string || null} */ - this.OtherEnvironmentName = null; + this.RequestId = null; } @@ -2798,37 +3220,82 @@ class IPStrategyApi extends AbstractModel { if (!params) { return; } - this.ApiId = 'ApiId' in params ? params.ApiId : null; - this.ApiName = 'ApiName' in params ? params.ApiName : null; - this.ApiType = 'ApiType' in params ? params.ApiType : null; - this.Path = 'Path' in params ? params.Path : null; - this.Method = 'Method' in params ? params.Method : null; - this.OtherIPStrategyId = 'OtherIPStrategyId' in params ? params.OtherIPStrategyId : null; - this.OtherEnvironmentName = 'OtherEnvironmentName' in params ? params.OtherEnvironmentName : null; + this.ServiceId = 'ServiceId' in params ? params.ServiceId : null; + this.AvailableEnvironments = 'AvailableEnvironments' in params ? params.AvailableEnvironments : null; + this.ServiceName = 'ServiceName' in params ? params.ServiceName : null; + this.ServiceDesc = 'ServiceDesc' in params ? params.ServiceDesc : null; + this.Protocol = 'Protocol' in params ? params.Protocol : null; + this.CreatedTime = 'CreatedTime' in params ? params.CreatedTime : null; + this.ModifiedTime = 'ModifiedTime' in params ? params.ModifiedTime : null; + this.ExclusiveSetName = 'ExclusiveSetName' in params ? params.ExclusiveSetName : null; + this.NetTypes = 'NetTypes' in params ? params.NetTypes : null; + this.InternalSubDomain = 'InternalSubDomain' in params ? params.InternalSubDomain : null; + this.OuterSubDomain = 'OuterSubDomain' in params ? params.OuterSubDomain : null; + this.InnerHttpPort = 'InnerHttpPort' in params ? params.InnerHttpPort : null; + this.InnerHttpsPort = 'InnerHttpsPort' in params ? params.InnerHttpsPort : null; + this.ApiTotalCount = 'ApiTotalCount' in params ? params.ApiTotalCount : null; + + if (params.ApiIdStatusSet) { + this.ApiIdStatusSet = new Array(); + for (let z in params.ApiIdStatusSet) { + let obj = new ApiIdStatus(); + obj.deserialize(params.ApiIdStatusSet[z]); + this.ApiIdStatusSet.push(obj); + } + } + this.UsagePlanTotalCount = 'UsagePlanTotalCount' in params ? params.UsagePlanTotalCount : null; + + if (params.UsagePlanList) { + this.UsagePlanList = new Array(); + for (let z in params.UsagePlanList) { + let obj = new UsagePlan(); + obj.deserialize(params.UsagePlanList[z]); + this.UsagePlanList.push(obj); + } + } + this.IpVersion = 'IpVersion' in params ? params.IpVersion : null; + this.UserType = 'UserType' in params ? params.UserType : null; + this.SetId = 'SetId' in params ? params.SetId : null; + + if (params.Tags) { + this.Tags = new Array(); + for (let z in params.Tags) { + let obj = new Tag(); + obj.deserialize(params.Tags[z]); + this.Tags.push(obj); + } + } + this.InstanceId = 'InstanceId' in params ? params.InstanceId : null; + this.InstanceName = 'InstanceName' in params ? params.InstanceName : null; + this.SetType = 'SetType' in params ? params.SetType : null; + this.DeploymentType = 'DeploymentType' in params ? params.DeploymentType : null; + this.SpecialUse = 'SpecialUse' in params ? params.SpecialUse : null; + this.RequestId = 'RequestId' in params ? params.RequestId : null; } } /** - * DescribeIPStrategy返回参数结构体 + * 使用计划绑定环境的列表。 * @class */ -class DescribeIPStrategyResponse extends AbstractModel { +class UsagePlanEnvironmentStatus extends AbstractModel { constructor(){ super(); /** - * IP策略详情。 + * 使用计划绑定的服务的环境数。 注意:此字段可能返回 null,表示取不到有效值。 - * @type {IPStrategy || null} + * @type {number || null} */ - this.Result = null; + this.TotalCount = null; /** - * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - * @type {string || null} + * 使用计划已经绑定的各个服务的环境状态。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {Array. || null} */ - this.RequestId = null; + this.EnvironmentList = null; } @@ -2839,36 +3306,45 @@ class DescribeIPStrategyResponse extends AbstractModel { if (!params) { return; } + this.TotalCount = 'TotalCount' in params ? params.TotalCount : null; - if (params.Result) { - let obj = new IPStrategy(); - obj.deserialize(params.Result) - this.Result = obj; + if (params.EnvironmentList) { + this.EnvironmentList = new Array(); + for (let z in params.EnvironmentList) { + let obj = new UsagePlanEnvironment(); + obj.deserialize(params.EnvironmentList[z]); + this.EnvironmentList.push(obj); + } } - this.RequestId = 'RequestId' in params ? params.RequestId : null; } } /** - * api文档下载 + * DescribeExclusiveInstances请求参数结构体 * @class */ -class DocumentSDK extends AbstractModel { +class DescribeExclusiveInstancesRequest extends AbstractModel { constructor(){ super(); /** - * 生成的 document 会存放到 COS 中,此出参返回产生文件的下载链接。 - * @type {string || null} + * 分页查询,limit + * @type {number || null} */ - this.DocumentURL = null; + this.Limit = null; /** - * 生成的 SDK 会存放到 COS 中,此出参返回产生 SDK 文件的下载链接。 - * @type {string || null} + * 分页查询,offset + * @type {number || null} */ - this.SdkURL = null; + this.Offset = null; + + /** + * 过滤条件 + * @type {Array. || null} + */ + this.Filters = null; } @@ -2879,22 +3355,31 @@ class DocumentSDK extends AbstractModel { if (!params) { return; } - this.DocumentURL = 'DocumentURL' in params ? params.DocumentURL : null; - this.SdkURL = 'SdkURL' in params ? params.SdkURL : null; + this.Limit = 'Limit' in params ? params.Limit : null; + this.Offset = 'Offset' in params ? params.Offset : null; + + if (params.Filters) { + this.Filters = new Array(); + for (let z in params.Filters) { + let obj = new Filter(); + obj.deserialize(params.Filters[z]); + this.Filters.push(obj); + } + } } } /** - * DeleteApi返回参数结构体 + * BindSubDomain返回参数结构体 * @class */ -class DeleteApiResponse extends AbstractModel { +class BindSubDomainResponse extends AbstractModel { constructor(){ super(); /** - * 删除操作是否成功。 + * 绑定操作是否成功。 注意:此字段可能返回 null,表示取不到有效值。 * @type {boolean || null} */ @@ -2922,17 +3407,17 @@ class DeleteApiResponse extends AbstractModel { } /** - * CreateApi返回参数结构体 + * BindEnvironment返回参数结构体 * @class */ -class CreateApiResponse extends AbstractModel { +class BindEnvironmentResponse extends AbstractModel { constructor(){ super(); /** - * api信息 + * 绑定操作是否成功。 注意:此字段可能返回 null,表示取不到有效值。 - * @type {CreateApiRsp || null} + * @type {boolean || null} */ this.Result = null; @@ -2951,60 +3436,66 @@ class CreateApiResponse extends AbstractModel { if (!params) { return; } - - if (params.Result) { - let obj = new CreateApiRsp(); - obj.deserialize(params.Result) - this.Result = obj; - } + this.Result = 'Result' in params ? params.Result : null; this.RequestId = 'RequestId' in params ? params.RequestId : null; } } /** - * DescribeIPStrategyApisStatus请求参数结构体 + * API绑定的标签信息。 * @class */ -class DescribeIPStrategyApisStatusRequest extends AbstractModel { +class Tag extends AbstractModel { constructor(){ super(); /** - * 服务唯一ID。 + * 标签的 key。 * @type {string || null} */ - this.ServiceId = null; + this.Key = null; /** - * 策略唯一ID。 + * 便签的 value。 * @type {string || null} */ - this.StrategyId = null; + this.Value = null; - /** - * 策略所在环境。 - * @type {string || null} - */ - this.EnvironmentName = null; + } - /** - * 返回数量,默认为 20,最大值为 100。 - * @type {number || null} - */ - this.Limit = null; + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Key = 'Key' in params ? params.Key : null; + this.Value = 'Value' in params ? params.Value : null; + + } +} + +/** + * DescribeExclusiveInstanceDetail返回参数结构体 + * @class + */ +class DescribeExclusiveInstanceDetailResponse extends AbstractModel { + constructor(){ + super(); /** - * 偏移量,默认为 0。 - * @type {number || null} + * 独享实例详情 + * @type {InstanceDetail || null} */ - this.Offset = null; + this.Result = null; /** - * 过滤条件。支持 ApiPath、ApiName、KeyWord(模糊查询Path 和Name)。 - * @type {Array. || null} + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} */ - this.Filters = null; + this.RequestId = null; } @@ -3015,61 +3506,37 @@ class DescribeIPStrategyApisStatusRequest extends AbstractModel { if (!params) { return; } - this.ServiceId = 'ServiceId' in params ? params.ServiceId : null; - this.StrategyId = 'StrategyId' in params ? params.StrategyId : null; - this.EnvironmentName = 'EnvironmentName' in params ? params.EnvironmentName : null; - this.Limit = 'Limit' in params ? params.Limit : null; - this.Offset = 'Offset' in params ? params.Offset : null; - if (params.Filters) { - this.Filters = new Array(); - for (let z in params.Filters) { - let obj = new Filter(); - obj.deserialize(params.Filters[z]); - this.Filters.push(obj); - } + if (params.Result) { + let obj = new InstanceDetail(); + obj.deserialize(params.Result) + this.Result = obj; } + this.RequestId = 'RequestId' in params ? params.RequestId : null; } } /** - * UnBindEnvironment请求参数结构体 + * DescribeApiBindApiAppsStatus返回参数结构体 * @class */ -class UnBindEnvironmentRequest extends AbstractModel { +class DescribeApiBindApiAppsStatusResponse extends AbstractModel { constructor(){ super(); /** - * 绑定类型,取值为 API、SERVICE,默认值为 SERVICE。 - * @type {string || null} - */ - this.BindType = null; - - /** - * 待绑定的使用计划唯一 ID 列表。 - * @type {Array. || null} - */ - this.UsagePlanIds = null; - - /** - * 待解绑的服务环境。 - * @type {string || null} + * 应用绑定的Api列表。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {ApiAppApiInfos || null} */ - this.Environment = null; + this.Result = null; /** - * 待解绑的服务唯一 ID。 + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 * @type {string || null} */ - this.ServiceId = null; - - /** - * API 唯一 ID 数组,当 BindType=API 时,需要传入此参数。 - * @type {Array. || null} - */ - this.ApiIds = null; + this.RequestId = null; } @@ -3080,40 +3547,48 @@ class UnBindEnvironmentRequest extends AbstractModel { if (!params) { return; } - this.BindType = 'BindType' in params ? params.BindType : null; - this.UsagePlanIds = 'UsagePlanIds' in params ? params.UsagePlanIds : null; - this.Environment = 'Environment' in params ? params.Environment : null; - this.ServiceId = 'ServiceId' in params ? params.ServiceId : null; - this.ApiIds = 'ApiIds' in params ? params.ApiIds : null; + + if (params.Result) { + let obj = new ApiAppApiInfos(); + obj.deserialize(params.Result) + this.Result = obj; + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; } } /** - * Oauth授权配置信息 + * 常量参数 * @class */ -class OauthConfig extends AbstractModel { +class ConstantParameter extends AbstractModel { constructor(){ super(); /** - * 公钥,用于验证用户token。 + * 常量参数名称。只有 ServiceType 是 HTTP 才会用到此参数。 * @type {string || null} */ - this.PublicKey = null; + this.Name = null; /** - * token传递位置。 + * 常量参数描述。只有 ServiceType 是 HTTP 才会用到此参数。 * @type {string || null} */ - this.TokenLocation = null; + this.Desc = null; /** - * 重定向地址,用于引导用户登录操作。 + * 常量参数位置。只有 ServiceType 是 HTTP 才会用到此参数。 * @type {string || null} */ - this.LoginRedirectUrl = null; + this.Position = null; + + /** + * 常量参数默认值。只有 ServiceType 是 HTTP 才会用到此参数。 + * @type {string || null} + */ + this.DefaultValue = null; } @@ -3124,44 +3599,39 @@ class OauthConfig extends AbstractModel { if (!params) { return; } - this.PublicKey = 'PublicKey' in params ? params.PublicKey : null; - this.TokenLocation = 'TokenLocation' in params ? params.TokenLocation : null; - this.LoginRedirectUrl = 'LoginRedirectUrl' in params ? params.LoginRedirectUrl : null; + this.Name = 'Name' in params ? params.Name : null; + this.Desc = 'Desc' in params ? params.Desc : null; + this.Position = 'Position' in params ? params.Position : null; + this.DefaultValue = 'DefaultValue' in params ? params.DefaultValue : null; } } /** - * ModifyApiEnvironmentStrategy请求参数结构体 + * DescribeApiForApiApp请求参数结构体 * @class */ -class ModifyApiEnvironmentStrategyRequest extends AbstractModel { +class DescribeApiForApiAppRequest extends AbstractModel { constructor(){ super(); /** - * 服务唯一ID。 + * API 所在的服务唯一 ID。 * @type {string || null} */ this.ServiceId = null; /** - * 限流值。 - * @type {number || null} - */ - this.Strategy = null; - - /** - * 环境名。 + * API 接口唯一 ID。 * @type {string || null} */ - this.EnvironmentName = null; + this.ApiId = null; /** - * API列表。 - * @type {Array. || null} + * Api所属地域 + * @type {string || null} */ - this.ApiIds = null; + this.ApiRegion = null; } @@ -3173,33 +3643,31 @@ class ModifyApiEnvironmentStrategyRequest extends AbstractModel { return; } this.ServiceId = 'ServiceId' in params ? params.ServiceId : null; - this.Strategy = 'Strategy' in params ? params.Strategy : null; - this.EnvironmentName = 'EnvironmentName' in params ? params.EnvironmentName : null; - this.ApiIds = 'ApiIds' in params ? params.ApiIds : null; + this.ApiId = 'ApiId' in params ? params.ApiId : null; + this.ApiRegion = 'ApiRegion' in params ? params.ApiRegion : null; } } /** - * ModifyUsagePlan返回参数结构体 + * API文档列表 * @class */ -class ModifyUsagePlanResponse extends AbstractModel { +class APIDocs extends AbstractModel { constructor(){ super(); /** - * 使用计划详情。 -注意:此字段可能返回 null,表示取不到有效值。 - * @type {UsagePlanInfo || null} + * API文档数量 + * @type {number || null} */ - this.Result = null; + this.TotalCount = null; /** - * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - * @type {string || null} + * API文档基本信息 + * @type {Array. || null} */ - this.RequestId = null; + this.APIDocSet = null; } @@ -3210,37 +3678,45 @@ class ModifyUsagePlanResponse extends AbstractModel { if (!params) { return; } + this.TotalCount = 'TotalCount' in params ? params.TotalCount : null; + + if (params.APIDocSet) { + this.APIDocSet = new Array(); + for (let z in params.APIDocSet) { + let obj = new APIDoc(); + obj.deserialize(params.APIDocSet[z]); + this.APIDocSet.push(obj); + } + } - if (params.Result) { - let obj = new UsagePlanInfo(); - obj.deserialize(params.Result) - this.Result = obj; - } - this.RequestId = 'RequestId' in params ? params.RequestId : null; - } } /** - * CreateUsagePlan返回参数结构体 + * 检索条件入参 * @class */ -class CreateUsagePlanResponse extends AbstractModel { +class LogQuery extends AbstractModel { constructor(){ super(); /** - * 使用计划详情。 -注意:此字段可能返回 null,表示取不到有效值。 - * @type {UsagePlanInfo || null} + * 检索字段 + * @type {string || null} */ - this.Result = null; + this.Name = null; /** - * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * 操作符 * @type {string || null} */ - this.RequestId = null; + this.Operator = null; + + /** + * 检索值 + * @type {string || null} + */ + this.Value = null; } @@ -3251,60 +3727,69 @@ class CreateUsagePlanResponse extends AbstractModel { if (!params) { return; } - - if (params.Result) { - let obj = new UsagePlanInfo(); - obj.deserialize(params.Result) - this.Result = obj; - } - this.RequestId = 'RequestId' in params ? params.RequestId : null; + this.Name = 'Name' in params ? params.Name : null; + this.Operator = 'Operator' in params ? params.Operator : null; + this.Value = 'Value' in params ? params.Value : null; } } /** - * 请求参数 + * ServiceParameter * @class */ -class ReqParameter extends AbstractModel { +class ServiceParameter extends AbstractModel { constructor(){ super(); /** - * API 的前端参数名称。 + * API的后端服务参数名称。只有ServiceType是HTTP才会用到此参数。前后端参数名称可不同。 +注意:此字段可能返回 null,表示取不到有效值。 * @type {string || null} */ this.Name = null; /** - * API 的前端参数位置,如 header。目前支持 header、query、path。 + * API 的后端服务参数位置,如 head。只有 ServiceType 是 HTTP 才会用到此参数。前后端参数位置可配置不同。 +注意:此字段可能返回 null,表示取不到有效值。 * @type {string || null} */ this.Position = null; /** - * API 的前端参数类型,如 String、int。 + * API 的后端服务参数对应的前端参数位置,如 head。只有 ServiceType 是 HTTP 才会用到此参数。 +注意:此字段可能返回 null,表示取不到有效值。 * @type {string || null} */ - this.Type = null; + this.RelevantRequestParameterPosition = null; /** - * API 的前端参数默认值。 + * API 的后端服务参数对应的前端参数名称。只有 ServiceType 是 HTTP 才会用到此参数。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.RelevantRequestParameterName = null; + + /** + * API 的后端服务参数默认值。只有 ServiceType 是 HTTP 才会用到此参数。 +注意:此字段可能返回 null,表示取不到有效值。 * @type {string || null} */ this.DefaultValue = null; /** - * API 的前端参数是否必填,True:表示必填,False:表示可选。 - * @type {boolean || null} + * API 的后端服务参数备注。只有 ServiceType 是 HTTP 才会用到此参数。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} */ - this.Required = null; + this.RelevantRequestParameterDesc = null; /** - * API 的前端参数备注。 + * API 的后端服务参数类型。只有 ServiceType 是 HTTP 才会用到此参数。 +注意:此字段可能返回 null,表示取不到有效值。 * @type {string || null} */ - this.Desc = null; + this.RelevantRequestParameterType = null; } @@ -3317,40 +3802,56 @@ class ReqParameter extends AbstractModel { } this.Name = 'Name' in params ? params.Name : null; this.Position = 'Position' in params ? params.Position : null; - this.Type = 'Type' in params ? params.Type : null; + this.RelevantRequestParameterPosition = 'RelevantRequestParameterPosition' in params ? params.RelevantRequestParameterPosition : null; + this.RelevantRequestParameterName = 'RelevantRequestParameterName' in params ? params.RelevantRequestParameterName : null; this.DefaultValue = 'DefaultValue' in params ? params.DefaultValue : null; - this.Required = 'Required' in params ? params.Required : null; - this.Desc = 'Desc' in params ? params.Desc : null; + this.RelevantRequestParameterDesc = 'RelevantRequestParameterDesc' in params ? params.RelevantRequestParameterDesc : null; + this.RelevantRequestParameterType = 'RelevantRequestParameterType' in params ? params.RelevantRequestParameterType : null; } } /** - * Base64编码的header触发规则 + * ModifyService返回参数结构体 * @class */ -class Base64EncodedTriggerRule extends AbstractModel { +class ModifyServiceResponse extends AbstractModel { constructor(){ super(); /** - * 进行编码触发的header,可选值 "Accept"和"Content_Type" 对应实际数据流请求header中的Accept和 Content-Type。 + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 * @type {string || null} */ - this.Name = null; + this.RequestId = null; - /** - * 进行编码触发的header的可选值数组, 数组元素的字符串最大长度为40,元素可以包括数字,英文字母以及特殊字符,特殊字符的可选值为: `.` `+` `*` `-` `/` `_` + } -例如 [ - "application/x-vpeg005", - "application/xhtml+xml", - "application/vnd.ms-project", - "application/vnd.rn-rn_music_package" -] 等都是合法的。 - * @type {Array. || null} + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * DisableApiKey请求参数结构体 + * @class + */ +class DisableApiKeyRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 待禁用的密钥 ID。 + * @type {string || null} */ - this.Value = null; + this.AccessKeyId = null; } @@ -3361,31 +3862,30 @@ class Base64EncodedTriggerRule extends AbstractModel { if (!params) { return; } - this.Name = 'Name' in params ? params.Name : null; - this.Value = 'Value' in params ? params.Value : null; + this.AccessKeyId = 'AccessKeyId' in params ? params.AccessKeyId : null; } } /** - * 前端路径配置 + * 自定义域名的路径映射。 * @class */ -class RequestConfig extends AbstractModel { +class PathMapping extends AbstractModel { constructor(){ super(); /** - * API 的路径,如 /path。 + * 路径。 * @type {string || null} */ this.Path = null; /** - * API 的请求方法,如 GET。 + * 发布环境,可选值为“test”、 ”prepub“、”release“。 * @type {string || null} */ - this.Method = null; + this.Environment = null; } @@ -3397,21 +3897,21 @@ class RequestConfig extends AbstractModel { return; } this.Path = 'Path' in params ? params.Path : null; - this.Method = 'Method' in params ? params.Method : null; + this.Environment = 'Environment' in params ? params.Environment : null; } } /** - * DeleteApiKey返回参数结构体 + * UnBindIPStrategy返回参数结构体 * @class */ -class DeleteApiKeyResponse extends AbstractModel { +class UnBindIPStrategyResponse extends AbstractModel { constructor(){ super(); /** - * 删除操作是否成功。 + * 解绑操作是否成功。 注意:此字段可能返回 null,表示取不到有效值。 * @type {boolean || null} */ @@ -3439,54 +3939,18 @@ class DeleteApiKeyResponse extends AbstractModel { } /** - * usagePlan详情 + * DescribeExclusiveInstanceDetail请求参数结构体 * @class */ -class UsagePlan extends AbstractModel { +class DescribeExclusiveInstanceDetailRequest extends AbstractModel { constructor(){ super(); /** - * 环境名称。 - * @type {string || null} - */ - this.Environment = null; - - /** - * 使用计划唯一ID。 - * @type {string || null} - */ - this.UsagePlanId = null; - - /** - * 使用计划名称。 - * @type {string || null} - */ - this.UsagePlanName = null; - - /** - * 使用计划描述。 - * @type {string || null} - */ - this.UsagePlanDesc = null; - - /** - * 使用计划qps,-1表示没有限制。 - * @type {number || null} - */ - this.MaxRequestNumPreSec = null; - - /** - * 使用计划时间。 - * @type {string || null} - */ - this.CreatedTime = null; - - /** - * 使用计划修改时间。 + * 独享实例唯一id * @type {string || null} */ - this.ModifiedTime = null; + this.InstanceId = null; } @@ -3497,42 +3961,42 @@ class UsagePlan extends AbstractModel { if (!params) { return; } - this.Environment = 'Environment' in params ? params.Environment : null; - this.UsagePlanId = 'UsagePlanId' in params ? params.UsagePlanId : null; - this.UsagePlanName = 'UsagePlanName' in params ? params.UsagePlanName : null; - this.UsagePlanDesc = 'UsagePlanDesc' in params ? params.UsagePlanDesc : null; - this.MaxRequestNumPreSec = 'MaxRequestNumPreSec' in params ? params.MaxRequestNumPreSec : null; - this.CreatedTime = 'CreatedTime' in params ? params.CreatedTime : null; - this.ModifiedTime = 'ModifiedTime' in params ? params.ModifiedTime : null; + this.InstanceId = 'InstanceId' in params ? params.InstanceId : null; } } /** - * DescribeServiceReleaseVersion请求参数结构体 + * ModifyPlugin请求参数结构体 * @class */ -class DescribeServiceReleaseVersionRequest extends AbstractModel { +class ModifyPluginRequest extends AbstractModel { constructor(){ super(); /** - * 待查询的服务唯一 ID。 + * 要修改的插件ID。 * @type {string || null} */ - this.ServiceId = null; + this.PluginId = null; /** - * 返回数量,默认为 20,最大值为 100。 - * @type {number || null} + * 要修改的API网关插件名称。最长50个字符,支持 a-z,A-Z,0-9,_, 必须字母开头,字母或者数字结尾。 + * @type {string || null} */ - this.Limit = null; + this.PluginName = null; /** - * 偏移量,默认为0。 - * @type {number || null} + * 要修改的插件描述,限定200字以内。 + * @type {string || null} */ - this.Offset = null; + this.Description = null; + + /** + * 要修改的插件定义语句,支持json。 + * @type {string || null} + */ + this.PluginData = null; } @@ -3543,38 +4007,34 @@ class DescribeServiceReleaseVersionRequest extends AbstractModel { if (!params) { return; } - this.ServiceId = 'ServiceId' in params ? params.ServiceId : null; - this.Limit = 'Limit' in params ? params.Limit : null; - this.Offset = 'Offset' in params ? params.Offset : null; + this.PluginId = 'PluginId' in params ? params.PluginId : null; + this.PluginName = 'PluginName' in params ? params.PluginName : null; + this.Description = 'Description' in params ? params.Description : null; + this.PluginData = 'PluginData' in params ? params.PluginData : null; } } /** - * DescribeUsagePlanSecretIds请求参数结构体 + * BindIPStrategy返回参数结构体 * @class */ -class DescribeUsagePlanSecretIdsRequest extends AbstractModel { +class BindIPStrategyResponse extends AbstractModel { constructor(){ super(); /** - * 绑定的使用计划唯一 ID。 - * @type {string || null} - */ - this.UsagePlanId = null; - - /** - * 返回数量,默认为 20,最大值为 100。 - * @type {number || null} + * 绑定操作是否成功。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {boolean || null} */ - this.Limit = null; + this.Result = null; /** - * 偏移量,默认为 0。 - * @type {number || null} + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} */ - this.Offset = null; + this.RequestId = null; } @@ -3585,71 +4045,63 @@ class DescribeUsagePlanSecretIdsRequest extends AbstractModel { if (!params) { return; } - this.UsagePlanId = 'UsagePlanId' in params ? params.UsagePlanId : null; - this.Limit = 'Limit' in params ? params.Limit : null; - this.Offset = 'Offset' in params ? params.Offset : null; + this.Result = 'Result' in params ? params.Result : null; + this.RequestId = 'RequestId' in params ? params.RequestId : null; } } /** - * DescribeLogSearch返回参数结构体 + * 插件相关的API信息。 * @class */ -class DescribeLogSearchResponse extends AbstractModel { +class AvailableApiInfo extends AbstractModel { constructor(){ super(); /** - * 获取更多检索结果的游标,值为""表示无后续结果 + * API ID。 * @type {string || null} */ - this.ConText = null; + this.ApiId = null; /** - * 由0或多条日志组成,每条日志格式如下: -'[$app_id][$env_name][$service_id][$http_host][$api_id][$uri][$scheme][rsp_st:$status][ups_st:$upstream_status]' -'[cip:$remote_addr][uip:$upstream_addr][vip:$server_addr][rsp_len:$bytes_sent][req_len:$request_length]' -'[req_t:$request_time][ups_rsp_t:$upstream_response_time][ups_conn_t:$upstream_connect_time][ups_head_t:$upstream_header_time]’ -'[err_msg:$err_msg][tcp_rtt:$tcpinfo_rtt][$pid][$time_local][req_id:$request_id]'; + * API名称。 + * @type {string || null} + */ + this.ApiName = null; -说明: -app_id: 用户 ID。 -env_name:环境名称。 -service_id: 服务 ID。 -http_host: 域名。 -api_id: API 的 ID。 -uri:请求的路径。 -scheme: HTTP/HTTPS 协议。 -rsp_st: 请求响应状态码。 -ups_st: 后端业务服务器的响应状态码(如果请求透传到后端,改变量不为空。如果请求在 APIGW 就被拦截了,那么该变量显示为 -)。 -cip: 客户端 IP。 -uip: 后端业务服务(upstream)的 IP。 -vip: 请求访问的 VIP。 -rsp_len: 响应长度。 -req_len: 请求长度。 -req_t: 请求响应的总时间。 -ups_rsp_t: 后端响应的总时间(apigw 建立连接到接收到后端响应的时间)。 -ups_conn_t: 与后端业务服务器连接建立成功时间。 -ups_head_t:后端响应的头部到达时间。 -err_msg: 错误信息。 -tcp_rtt: 客户端 TCP 连接信息,RTT(Round Trip Time)由三部分组成:链路的传播时间(propagation delay)、末端系统的处理时间、路由器缓存中的排队和处理时间(queuing delay)。 -req_id:请求id。 - * @type {Array. || null} + /** + * API类型。 + * @type {string || null} */ - this.LogSet = null; + this.ApiType = null; /** - * 单次搜索返回的日志条数,TotalCount <= Limit - * @type {number || null} + * API路径。 + * @type {string || null} */ - this.TotalCount = null; + this.Path = null; /** - * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * API方法。 * @type {string || null} */ - this.RequestId = null; + this.Method = null; + + /** + * API是否绑定其他插件。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {boolean || null} + */ + this.AttachedOtherPlugin = null; + + /** + * API是否绑定当前插件。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {boolean || null} + */ + this.IsAttached = null; } @@ -3660,45 +4112,48 @@ req_id:请求id。 if (!params) { return; } - this.ConText = 'ConText' in params ? params.ConText : null; - this.LogSet = 'LogSet' in params ? params.LogSet : null; - this.TotalCount = 'TotalCount' in params ? params.TotalCount : null; - this.RequestId = 'RequestId' in params ? params.RequestId : null; + this.ApiId = 'ApiId' in params ? params.ApiId : null; + this.ApiName = 'ApiName' in params ? params.ApiName : null; + this.ApiType = 'ApiType' in params ? params.ApiType : null; + this.Path = 'Path' in params ? params.Path : null; + this.Method = 'Method' in params ? params.Method : null; + this.AttachedOtherPlugin = 'AttachedOtherPlugin' in params ? params.AttachedOtherPlugin : null; + this.IsAttached = 'IsAttached' in params ? params.IsAttached : null; } } /** - * UnBindIPStrategy请求参数结构体 + * DescribeApisStatus请求参数结构体 * @class */ -class UnBindIPStrategyRequest extends AbstractModel { +class DescribeApisStatusRequest extends AbstractModel { constructor(){ super(); /** - * 待解绑的服务唯一ID。 + * API 所在的服务唯一 ID。 * @type {string || null} */ this.ServiceId = null; /** - * 待解绑的IP策略唯一ID。 - * @type {string || null} + * 偏移量,默认为 0。 + * @type {number || null} */ - this.StrategyId = null; + this.Offset = null; /** - * 待解绑的环境。 - * @type {string || null} + * 返回数量,默认为 20,最大值为 100 + * @type {number || null} */ - this.EnvironmentName = null; + this.Limit = null; /** - * 待解绑的 API 列表。 - * @type {Array. || null} + * API过滤条件。支持ApiId、ApiName、ApiPath、ApiType、AuthRelationApiId、AuthType、ApiBuniessType、NotUsagePlanId、Environment、Tags (values为 $tag_key:tag_value的列表)、TagKeys (values 为 tag key的列表)。 + * @type {Array. || null} */ - this.UnBindApiIds = null; + this.Filters = null; } @@ -3710,50 +4165,46 @@ class UnBindIPStrategyRequest extends AbstractModel { return; } this.ServiceId = 'ServiceId' in params ? params.ServiceId : null; - this.StrategyId = 'StrategyId' in params ? params.StrategyId : null; - this.EnvironmentName = 'EnvironmentName' in params ? params.EnvironmentName : null; - this.UnBindApiIds = 'UnBindApiIds' in params ? params.UnBindApiIds : null; + this.Offset = 'Offset' in params ? params.Offset : null; + this.Limit = 'Limit' in params ? params.Limit : null; + + if (params.Filters) { + this.Filters = new Array(); + for (let z in params.Filters) { + let obj = new Filter(); + obj.deserialize(params.Filters[z]); + this.Filters.push(obj); + } + } } } /** - * 错误码入参 + * DeleteServiceSubDomainMapping请求参数结构体 * @class */ -class ResponseErrorCodeReq extends AbstractModel { +class DeleteServiceSubDomainMappingRequest extends AbstractModel { constructor(){ super(); /** - * 自定义响应配置错误码。 - * @type {number || null} - */ - this.Code = null; - - /** - * 自定义响应配置错误信息。 + * 服务唯一 ID。 * @type {string || null} */ - this.Msg = null; + this.ServiceId = null; /** - * 自定义响应配置错误码备注。 + * 服务绑定的自定义域名。 * @type {string || null} */ - this.Desc = null; - - /** - * 自定义错误码转换。 - * @type {number || null} - */ - this.ConvertedCode = null; + this.SubDomain = null; /** - * 是否需要开启错误码转换。 - * @type {boolean || null} + * 待删除映射的环境名称,当前支持三个环境,test(测试环境)、prepub(预发布环境)和 release(发布环境)。 + * @type {string || null} */ - this.NeedConvert = null; + this.Environment = null; } @@ -3764,82 +4215,111 @@ class ResponseErrorCodeReq extends AbstractModel { if (!params) { return; } - this.Code = 'Code' in params ? params.Code : null; - this.Msg = 'Msg' in params ? params.Msg : null; - this.Desc = 'Desc' in params ? params.Desc : null; - this.ConvertedCode = 'ConvertedCode' in params ? params.ConvertedCode : null; - this.NeedConvert = 'NeedConvert' in params ? params.NeedConvert : null; + this.ServiceId = 'ServiceId' in params ? params.ServiceId : null; + this.SubDomain = 'SubDomain' in params ? params.SubDomain : null; + this.Environment = 'Environment' in params ? params.Environment : null; } } /** - * CreateService请求参数结构体 + * BindApiApp请求参数结构体 * @class */ -class CreateServiceRequest extends AbstractModel { +class BindApiAppRequest extends AbstractModel { constructor(){ super(); /** - * 用户自定义的服务名称。 + * 待绑定的应用唯一 ID 。 * @type {string || null} */ - this.ServiceName = null; + this.ApiAppId = null; /** - * 服务的前端请求类型。如 http、https、http&https。 + * 待绑定的环境。 * @type {string || null} */ - this.Protocol = null; + this.Environment = null; /** - * 用户自定义的服务描述。 + * 待绑定的服务唯一 ID。 * @type {string || null} */ - this.ServiceDesc = null; + this.ServiceId = null; /** - * 独立集群名称,用于指定创建服务所在的独立集群。 + * 待绑定的API唯一ID。 * @type {string || null} */ - this.ExclusiveSetName = null; + this.ApiId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.ApiAppId = 'ApiAppId' in params ? params.ApiAppId : null; + this.Environment = 'Environment' in params ? params.Environment : null; + this.ServiceId = 'ServiceId' in params ? params.ServiceId : null; + this.ApiId = 'ApiId' in params ? params.ApiId : null; + + } +} + +/** + * 策略绑定api列表 + * @class + */ +class IPStrategyApi extends AbstractModel { + constructor(){ + super(); /** - * 网络类型列表,用于指定支持的访问类型,INNER为内网访问,OUTER为外网访问。默认为OUTER。 - * @type {Array. || null} + * API 唯一 ID。 + * @type {string || null} */ - this.NetTypes = null; + this.ApiId = null; /** - * IP版本号,支持IPv4和IPv6,默认为IPv4。 + * 用户自定义的 API 名称。 * @type {string || null} */ - this.IpVersion = null; + this.ApiName = null; /** - * 集群名称。保留字段,tsf serverlss类型使用。 + * API 类型。取值为NORMAL(普通API)和TSF (微服务API)。 * @type {string || null} */ - this.SetServerName = null; + this.ApiType = null; /** - * 用户类型。保留类型,serverless用户使用。 + * API 的路径。如 /path。 * @type {string || null} */ - this.AppIdType = null; + this.Path = null; /** - * 标签。 - * @type {Array. || null} + * API 的请求方法。如 GET。 + * @type {string || null} */ - this.Tags = null; + this.Method = null; /** - * 独享实例id + * API 已经绑定的其他策略唯一ID。 * @type {string || null} */ - this.InstanceId = null; + this.OtherIPStrategyId = null; + + /** + * API 已经绑定的环境。 + * @type {string || null} + */ + this.OtherEnvironmentName = null; } @@ -3850,40 +4330,29 @@ class CreateServiceRequest extends AbstractModel { if (!params) { return; } - this.ServiceName = 'ServiceName' in params ? params.ServiceName : null; - this.Protocol = 'Protocol' in params ? params.Protocol : null; - this.ServiceDesc = 'ServiceDesc' in params ? params.ServiceDesc : null; - this.ExclusiveSetName = 'ExclusiveSetName' in params ? params.ExclusiveSetName : null; - this.NetTypes = 'NetTypes' in params ? params.NetTypes : null; - this.IpVersion = 'IpVersion' in params ? params.IpVersion : null; - this.SetServerName = 'SetServerName' in params ? params.SetServerName : null; - this.AppIdType = 'AppIdType' in params ? params.AppIdType : null; - - if (params.Tags) { - this.Tags = new Array(); - for (let z in params.Tags) { - let obj = new Tag(); - obj.deserialize(params.Tags[z]); - this.Tags.push(obj); - } - } - this.InstanceId = 'InstanceId' in params ? params.InstanceId : null; + this.ApiId = 'ApiId' in params ? params.ApiId : null; + this.ApiName = 'ApiName' in params ? params.ApiName : null; + this.ApiType = 'ApiType' in params ? params.ApiType : null; + this.Path = 'Path' in params ? params.Path : null; + this.Method = 'Method' in params ? params.Method : null; + this.OtherIPStrategyId = 'OtherIPStrategyId' in params ? params.OtherIPStrategyId : null; + this.OtherEnvironmentName = 'OtherEnvironmentName' in params ? params.OtherEnvironmentName : null; } } /** - * DescribeServiceEnvironmentStrategy返回参数结构体 + * DescribeIPStrategy返回参数结构体 * @class */ -class DescribeServiceEnvironmentStrategyResponse extends AbstractModel { +class DescribeIPStrategyResponse extends AbstractModel { constructor(){ super(); /** - * 限流策略列表。 + * IP策略详情。 注意:此字段可能返回 null,表示取不到有效值。 - * @type {ServiceEnvironmentStrategyStatus || null} + * @type {IPStrategy || null} */ this.Result = null; @@ -3904,7 +4373,7 @@ class DescribeServiceEnvironmentStrategyResponse extends AbstractModel { } if (params.Result) { - let obj = new ServiceEnvironmentStrategyStatus(); + let obj = new IPStrategy(); obj.deserialize(params.Result) this.Result = obj; } @@ -3914,25 +4383,30 @@ class DescribeServiceEnvironmentStrategyResponse extends AbstractModel { } /** - * DemoteServiceUsagePlan返回参数结构体 + * DescribePlugin请求参数结构体 * @class */ -class DemoteServiceUsagePlanResponse extends AbstractModel { +class DescribePluginRequest extends AbstractModel { constructor(){ super(); /** - * 降级操作是否成功。 -注意:此字段可能返回 null,表示取不到有效值。 - * @type {boolean || null} + * 要查询的插件ID。 + * @type {string || null} */ - this.Result = null; + this.PluginId = null; /** - * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - * @type {string || null} + * 返回数量,默认为 20,最大值为 100。 + * @type {number || null} */ - this.RequestId = null; + this.Limit = null; + + /** + * 偏移量,默认为 0。 + * @type {number || null} + */ + this.Offset = null; } @@ -3943,32 +4417,32 @@ class DemoteServiceUsagePlanResponse extends AbstractModel { if (!params) { return; } - this.Result = 'Result' in params ? params.Result : null; - this.RequestId = 'RequestId' in params ? params.RequestId : null; + this.PluginId = 'PluginId' in params ? params.PluginId : null; + this.Limit = 'Limit' in params ? params.Limit : null; + this.Offset = 'Offset' in params ? params.Offset : null; } } /** - * EnableApiKey返回参数结构体 + * api文档下载 * @class */ -class EnableApiKeyResponse extends AbstractModel { +class DocumentSDK extends AbstractModel { constructor(){ super(); /** - * 启动密钥操作是否成功。 -注意:此字段可能返回 null,表示取不到有效值。 - * @type {boolean || null} + * 生成的 document 会存放到 COS 中,此出参返回产生文件的下载链接。 + * @type {string || null} */ - this.Result = null; + this.DocumentURL = null; /** - * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * 生成的 SDK 会存放到 COS 中,此出参返回产生 SDK 文件的下载链接。 * @type {string || null} */ - this.RequestId = null; + this.SdkURL = null; } @@ -3979,77 +4453,69 @@ class EnableApiKeyResponse extends AbstractModel { if (!params) { return; } - this.Result = 'Result' in params ? params.Result : null; - this.RequestId = 'RequestId' in params ? params.RequestId : null; + this.DocumentURL = 'DocumentURL' in params ? params.DocumentURL : null; + this.SdkURL = 'SdkURL' in params ? params.SdkURL : null; } } /** - * 服务发布历史 + * 插件绑定的API信息 * @class */ -class ServiceReleaseHistory extends AbstractModel { +class AttachedApiInfo extends AbstractModel { constructor(){ super(); /** - * 发布版本总数。 -注意:此字段可能返回 null,表示取不到有效值。 - * @type {number || null} + * API所在服务ID。 + * @type {string || null} */ - this.TotalCount = null; + this.ServiceId = null; /** - * 历史版本列表。 -注意:此字段可能返回 null,表示取不到有效值。 - * @type {Array. || null} + * API所在服务名称。 + * @type {string || null} */ - this.VersionList = null; - - } - - /** - * @private - */ - deserialize(params) { - if (!params) { - return; - } - this.TotalCount = 'TotalCount' in params ? params.TotalCount : null; + this.ServiceName = null; - if (params.VersionList) { - this.VersionList = new Array(); - for (let z in params.VersionList) { - let obj = new ServiceReleaseHistoryInfo(); - obj.deserialize(params.VersionList[z]); - this.VersionList.push(obj); - } - } + /** + * API所在服务描述信息。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.ServiceDesc = null; - } -} + /** + * API ID。 + * @type {string || null} + */ + this.ApiId = null; -/** - * UnReleaseService返回参数结构体 - * @class - */ -class UnReleaseServiceResponse extends AbstractModel { - constructor(){ - super(); + /** + * API名称。 + * @type {string || null} + */ + this.ApiName = null; /** - * 下线操作是否成功。 + * API描述。 注意:此字段可能返回 null,表示取不到有效值。 - * @type {boolean || null} + * @type {string || null} */ - this.Result = null; + this.ApiDesc = null; /** - * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * 插件绑定API的环境。 * @type {string || null} */ - this.RequestId = null; + this.Environment = null; + + /** + * 插件和API绑定时间。 + * @type {string || null} + */ + this.AttachedTime = null; } @@ -4060,23 +4526,30 @@ class UnReleaseServiceResponse extends AbstractModel { if (!params) { return; } - this.Result = 'Result' in params ? params.Result : null; - this.RequestId = 'RequestId' in params ? params.RequestId : null; + this.ServiceId = 'ServiceId' in params ? params.ServiceId : null; + this.ServiceName = 'ServiceName' in params ? params.ServiceName : null; + this.ServiceDesc = 'ServiceDesc' in params ? params.ServiceDesc : null; + this.ApiId = 'ApiId' in params ? params.ApiId : null; + this.ApiName = 'ApiName' in params ? params.ApiName : null; + this.ApiDesc = 'ApiDesc' in params ? params.ApiDesc : null; + this.Environment = 'Environment' in params ? params.Environment : null; + this.AttachedTime = 'AttachedTime' in params ? params.AttachedTime : null; } } /** - * CreateAPIDoc返回参数结构体 + * CreateApi返回参数结构体 * @class */ -class CreateAPIDocResponse extends AbstractModel { +class CreateApiResponse extends AbstractModel { constructor(){ super(); /** - * API文档基本信息 - * @type {APIDoc || null} + * api信息 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {CreateApiRsp || null} */ this.Result = null; @@ -4097,7 +4570,7 @@ class CreateAPIDocResponse extends AbstractModel { } if (params.Result) { - let obj = new APIDoc(); + let obj = new CreateApiRsp(); obj.deserialize(params.Result) this.Result = obj; } @@ -4107,64 +4580,48 @@ class CreateAPIDocResponse extends AbstractModel { } /** - * DescribeService请求参数结构体 + * DescribeIPStrategyApisStatus请求参数结构体 * @class */ -class DescribeServiceRequest extends AbstractModel { +class DescribeIPStrategyApisStatusRequest extends AbstractModel { constructor(){ super(); /** - * 待查询的服务唯一 ID。 + * 服务唯一ID。 * @type {string || null} */ this.ServiceId = null; - } - - /** - * @private - */ - deserialize(params) { - if (!params) { - return; - } - this.ServiceId = 'ServiceId' in params ? params.ServiceId : null; - - } -} - -/** - * CreateUsagePlan请求参数结构体 - * @class - */ -class CreateUsagePlanRequest extends AbstractModel { - constructor(){ - super(); - /** - * 用户自定义的使用计划名称。 + * 策略唯一ID。 * @type {string || null} */ - this.UsagePlanName = null; + this.StrategyId = null; /** - * 用户自定义的使用计划描述。 + * 策略所在环境。 * @type {string || null} */ - this.UsagePlanDesc = null; + this.EnvironmentName = null; /** - * 请求配额总数,取值范围为-1或者[1, 99999999],默认为-1,表示不开启。 + * 返回数量,默认为 20,最大值为 100。 * @type {number || null} */ - this.MaxRequestNum = null; + this.Limit = null; /** - * 每秒请求限制数,取值范围为-1或者[1, 2000],默认-1,表示不开启。 + * 偏移量,默认为 0。 * @type {number || null} */ - this.MaxRequestNumPreSec = null; + this.Offset = null; + + /** + * 过滤条件。支持 ApiPath、ApiName、KeyWord(模糊查询Path 和Name)。 + * @type {Array. || null} + */ + this.Filters = null; } @@ -4175,26 +4632,36 @@ class CreateUsagePlanRequest extends AbstractModel { if (!params) { return; } - this.UsagePlanName = 'UsagePlanName' in params ? params.UsagePlanName : null; - this.UsagePlanDesc = 'UsagePlanDesc' in params ? params.UsagePlanDesc : null; - this.MaxRequestNum = 'MaxRequestNum' in params ? params.MaxRequestNum : null; - this.MaxRequestNumPreSec = 'MaxRequestNumPreSec' in params ? params.MaxRequestNumPreSec : null; + this.ServiceId = 'ServiceId' in params ? params.ServiceId : null; + this.StrategyId = 'StrategyId' in params ? params.StrategyId : null; + this.EnvironmentName = 'EnvironmentName' in params ? params.EnvironmentName : null; + this.Limit = 'Limit' in params ? params.Limit : null; + this.Offset = 'Offset' in params ? params.Offset : null; + + if (params.Filters) { + this.Filters = new Array(); + for (let z in params.Filters) { + let obj = new Filter(); + obj.deserialize(params.Filters[z]); + this.Filters.push(obj); + } + } } } /** - * DescribeUsagePlanSecretIds返回参数结构体 + * ModifyIPStrategy返回参数结构体 * @class */ -class DescribeUsagePlanSecretIdsResponse extends AbstractModel { +class ModifyIPStrategyResponse extends AbstractModel { constructor(){ super(); /** - * 使用计划绑定的密钥列表。 + * 修改操作是否成功。 注意:此字段可能返回 null,表示取不到有效值。 - * @type {UsagePlanBindSecretStatus || null} + * @type {boolean || null} */ this.Result = null; @@ -4213,48 +4680,31 @@ class DescribeUsagePlanSecretIdsResponse extends AbstractModel { if (!params) { return; } - - if (params.Result) { - let obj = new UsagePlanBindSecretStatus(); - obj.deserialize(params.Result) - this.Result = obj; - } + this.Result = 'Result' in params ? params.Result : null; this.RequestId = 'RequestId' in params ? params.RequestId : null; } } /** - * UpdateService请求参数结构体 + * 查询后端通道返回信息 * @class */ -class UpdateServiceRequest extends AbstractModel { +class DescribeUpstreamInfo extends AbstractModel { constructor(){ super(); /** - * 待切换服务的唯一 Id。 - * @type {string || null} - */ - this.ServiceId = null; - - /** - * 待切换的环境名称,当前支持三个环境,test(测试环境)、prepub(预发布环境)和 release(发布环境)。 - * @type {string || null} - */ - this.EnvironmentName = null; - - /** - * 切换的版本号。 - * @type {string || null} + * 查询总数 + * @type {number || null} */ - this.VersionName = null; + this.TotalCount = null; /** - * 本次的切换描述。 - * @type {string || null} + * 查询列表 + * @type {Array. || null} */ - this.UpdateDesc = null; + this.UpstreamSet = null; } @@ -4265,39 +4715,51 @@ class UpdateServiceRequest extends AbstractModel { if (!params) { return; } - this.ServiceId = 'ServiceId' in params ? params.ServiceId : null; - this.EnvironmentName = 'EnvironmentName' in params ? params.EnvironmentName : null; - this.VersionName = 'VersionName' in params ? params.VersionName : null; - this.UpdateDesc = 'UpdateDesc' in params ? params.UpdateDesc : null; + this.TotalCount = 'TotalCount' in params ? params.TotalCount : null; + + if (params.UpstreamSet) { + this.UpstreamSet = new Array(); + for (let z in params.UpstreamSet) { + let obj = new UpstreamInfo(); + obj.deserialize(params.UpstreamSet[z]); + this.UpstreamSet.push(obj); + } + } } } /** - * tsf类型入参 + * ModifyApiEnvironmentStrategy请求参数结构体 * @class */ -class MicroServiceReq extends AbstractModel { +class ModifyApiEnvironmentStrategyRequest extends AbstractModel { constructor(){ super(); /** - * 微服务集群。 + * 服务唯一ID。 * @type {string || null} */ - this.ClusterId = null; + this.ServiceId = null; /** - * 微服务命名空间。 - * @type {string || null} + * 限流值。 + * @type {number || null} */ - this.NamespaceId = null; + this.Strategy = null; /** - * 微服务名称。 + * 环境名。 * @type {string || null} */ - this.MicroServiceName = null; + this.EnvironmentName = null; + + /** + * API列表。 + * @type {Array. || null} + */ + this.ApiIds = null; } @@ -4308,32 +4770,51 @@ class MicroServiceReq extends AbstractModel { if (!params) { return; } - this.ClusterId = 'ClusterId' in params ? params.ClusterId : null; - this.NamespaceId = 'NamespaceId' in params ? params.NamespaceId : null; - this.MicroServiceName = 'MicroServiceName' in params ? params.MicroServiceName : null; + this.ServiceId = 'ServiceId' in params ? params.ServiceId : null; + this.Strategy = 'Strategy' in params ? params.Strategy : null; + this.EnvironmentName = 'EnvironmentName' in params ? params.EnvironmentName : null; + this.ApiIds = 'ApiIds' in params ? params.ApiIds : null; } } /** - * ModifySubDomain返回参数结构体 + * 独享实例网络配置 * @class */ -class ModifySubDomainResponse extends AbstractModel { +class NetworkConfig extends AbstractModel { constructor(){ super(); /** - * 修改自定义域名操作是否成功。 + * 最大出带宽 + * @type {number || null} + */ + this.InternetMaxBandwidthOut = null; + + /** + * EnableInternetInbound信息 * @type {boolean || null} */ - this.Result = null; + this.EnableInternetInbound = null; /** - * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - * @type {string || null} + * EnableInternetOutbound信息 + * @type {boolean || null} */ - this.RequestId = null; + this.EnableInternetOutbound = null; + + /** + * InboundIpAddresses信息 + * @type {Array. || null} + */ + this.InboundIpAddresses = null; + + /** + * OutboundIpAddresses信息 + * @type {Array. || null} + */ + this.OutboundIpAddresses = null; } @@ -4344,55 +4825,36 @@ class ModifySubDomainResponse extends AbstractModel { if (!params) { return; } - this.Result = 'Result' in params ? params.Result : null; - this.RequestId = 'RequestId' in params ? params.RequestId : null; + this.InternetMaxBandwidthOut = 'InternetMaxBandwidthOut' in params ? params.InternetMaxBandwidthOut : null; + this.EnableInternetInbound = 'EnableInternetInbound' in params ? params.EnableInternetInbound : null; + this.EnableInternetOutbound = 'EnableInternetOutbound' in params ? params.EnableInternetOutbound : null; + this.InboundIpAddresses = 'InboundIpAddresses' in params ? params.InboundIpAddresses : null; + this.OutboundIpAddresses = 'OutboundIpAddresses' in params ? params.OutboundIpAddresses : null; } } /** - * DescribePlugins请求参数结构体 + * 服务发布历史 * @class */ -class DescribePluginsRequest extends AbstractModel { +class ServiceReleaseHistory extends AbstractModel { constructor(){ super(); /** - * 要查询的插件列表。 - * @type {Array. || null} - */ - this.PluginIds = null; - - /** - * 要查询的插件名称。 - * @type {string || null} - */ - this.PluginName = null; - - /** - * 要查询的插件类型。 - * @type {string || null} - */ - this.PluginType = null; - - /** - * 返回数量,默认为 20,最大值为 100。 - * @type {number || null} - */ - this.Limit = null; - - /** - * 偏移量,默认为 0。 + * 发布版本总数。 +注意:此字段可能返回 null,表示取不到有效值。 * @type {number || null} */ - this.Offset = null; + this.TotalCount = null; /** - * 过滤条件。预留字段,目前不支持过滤。 - * @type {Array. || null} + * 历史版本列表。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {Array. || null} */ - this.Filters = null; + this.VersionList = null; } @@ -4403,18 +4865,14 @@ class DescribePluginsRequest extends AbstractModel { if (!params) { return; } - this.PluginIds = 'PluginIds' in params ? params.PluginIds : null; - this.PluginName = 'PluginName' in params ? params.PluginName : null; - this.PluginType = 'PluginType' in params ? params.PluginType : null; - this.Limit = 'Limit' in params ? params.Limit : null; - this.Offset = 'Offset' in params ? params.Offset : null; + this.TotalCount = 'TotalCount' in params ? params.TotalCount : null; - if (params.Filters) { - this.Filters = new Array(); - for (let z in params.Filters) { - let obj = new Filter(); - obj.deserialize(params.Filters[z]); - this.Filters.push(obj); + if (params.VersionList) { + this.VersionList = new Array(); + for (let z in params.VersionList) { + let obj = new ServiceReleaseHistoryInfo(); + obj.deserialize(params.VersionList[z]); + this.VersionList.push(obj); } } @@ -4422,24 +4880,25 @@ class DescribePluginsRequest extends AbstractModel { } /** - * BindSecretIds请求参数结构体 + * ModifyUsagePlan返回参数结构体 * @class */ -class BindSecretIdsRequest extends AbstractModel { +class ModifyUsagePlanResponse extends AbstractModel { constructor(){ super(); /** - * 待绑定的使用计划唯一 ID。 - * @type {string || null} + * 使用计划详情。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {UsagePlanInfo || null} */ - this.UsagePlanId = null; + this.Result = null; /** - * 待绑定的密钥 ID 数组。 - * @type {Array. || null} + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} */ - this.AccessKeyIds = null; + this.RequestId = null; } @@ -4450,24 +4909,29 @@ class BindSecretIdsRequest extends AbstractModel { if (!params) { return; } - this.UsagePlanId = 'UsagePlanId' in params ? params.UsagePlanId : null; - this.AccessKeyIds = 'AccessKeyIds' in params ? params.AccessKeyIds : null; + + if (params.Result) { + let obj = new UsagePlanInfo(); + obj.deserialize(params.Result) + this.Result = obj; + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; } } /** - * UnBindEnvironment返回参数结构体 + * CreateUsagePlan返回参数结构体 * @class */ -class UnBindEnvironmentResponse extends AbstractModel { +class CreateUsagePlanResponse extends AbstractModel { constructor(){ super(); /** - * 解绑操作是否成功。 + * 使用计划详情。 注意:此字段可能返回 null,表示取不到有效值。 - * @type {boolean || null} + * @type {UsagePlanInfo || null} */ this.Result = null; @@ -4486,40 +4950,36 @@ class UnBindEnvironmentResponse extends AbstractModel { if (!params) { return; } - this.Result = 'Result' in params ? params.Result : null; + + if (params.Result) { + let obj = new UsagePlanInfo(); + obj.deserialize(params.Result) + this.Result = obj; + } this.RequestId = 'RequestId' in params ? params.RequestId : null; } } /** - * 使用计划绑定密钥 + * 自定义服务域名展示 * @class */ -class UsagePlanBindSecret extends AbstractModel { +class DomainSets extends AbstractModel { constructor(){ super(); /** - * 密钥ID。 -注意:此字段可能返回 null,表示取不到有效值。 - * @type {string || null} - */ - this.AccessKeyId = null; - - /** - * 密钥名称。 -注意:此字段可能返回 null,表示取不到有效值。 - * @type {string || null} + * 服务下的自定义域名数量。 + * @type {number || null} */ - this.SecretName = null; + this.TotalCount = null; /** - * 密钥状态,0表示已禁用,1表示启用中。 -注意:此字段可能返回 null,表示取不到有效值。 - * @type {number || null} + * 自定义服务域名列表。 + * @type {Array. || null} */ - this.Status = null; + this.DomainSet = null; } @@ -4530,26 +4990,33 @@ class UsagePlanBindSecret extends AbstractModel { if (!params) { return; } - this.AccessKeyId = 'AccessKeyId' in params ? params.AccessKeyId : null; - this.SecretName = 'SecretName' in params ? params.SecretName : null; - this.Status = 'Status' in params ? params.Status : null; + this.TotalCount = 'TotalCount' in params ? params.TotalCount : null; + + if (params.DomainSet) { + this.DomainSet = new Array(); + for (let z in params.DomainSet) { + let obj = new DomainSetList(); + obj.deserialize(params.DomainSet[z]); + this.DomainSet.push(obj); + } + } } } /** - * DeleteApiKey请求参数结构体 + * DeletePlugin请求参数结构体 * @class */ -class DeleteApiKeyRequest extends AbstractModel { +class DeletePluginRequest extends AbstractModel { constructor(){ super(); /** - * 待删除的密钥 ID。 + * 要删除的API网关插件的ID。 * @type {string || null} */ - this.AccessKeyId = null; + this.PluginId = null; } @@ -4560,31 +5027,37 @@ class DeleteApiKeyRequest extends AbstractModel { if (!params) { return; } - this.AccessKeyId = 'AccessKeyId' in params ? params.AccessKeyId : null; + this.PluginId = 'PluginId' in params ? params.PluginId : null; } } /** - * ModifyApiEnvironmentStrategy返回参数结构体 + * Base64编码的header触发规则 * @class */ -class ModifyApiEnvironmentStrategyResponse extends AbstractModel { +class Base64EncodedTriggerRule extends AbstractModel { constructor(){ super(); /** - * 修改操作是否成功。 -注意:此字段可能返回 null,表示取不到有效值。 - * @type {boolean || null} + * 进行编码触发的header,可选值 "Accept"和"Content_Type" 对应实际数据流请求header中的Accept和 Content-Type。 + * @type {string || null} */ - this.Result = null; + this.Name = null; /** - * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - * @type {string || null} + * 进行编码触发的header的可选值数组, 数组元素的字符串最大长度为40,元素可以包括数字,英文字母以及特殊字符,特殊字符的可选值为: `.` `+` `*` `-` `/` `_` + +例如 [ + "application/x-vpeg005", + "application/xhtml+xml", + "application/vnd.ms-project", + "application/vnd.rn-rn_music_package" +] 等都是合法的。 + * @type {Array. || null} */ - this.RequestId = null; + this.Value = null; } @@ -4595,55 +5068,31 @@ class ModifyApiEnvironmentStrategyResponse extends AbstractModel { if (!params) { return; } - this.Result = 'Result' in params ? params.Result : null; - this.RequestId = 'RequestId' in params ? params.RequestId : null; + this.Name = 'Name' in params ? params.Name : null; + this.Value = 'Value' in params ? params.Value : null; } } /** - * 服务自定义域名列表 + * 前端路径配置 * @class */ -class DomainSetList extends AbstractModel { +class RequestConfig extends AbstractModel { constructor(){ super(); /** - * 域名名称。 - * @type {string || null} - */ - this.DomainName = null; - - /** - * 域名解析状态。True 表示正常解析,False 表示解析失败。 - * @type {number || null} - */ - this.Status = null; - - /** - * 证书ID。 - * @type {string || null} - */ - this.CertificateId = null; - - /** - * 是否使用默认路径映射。 - * @type {boolean || null} - */ - this.IsDefaultMapping = null; - - /** - * 自定义域名协议类型。 + * API 的路径,如 /path。 * @type {string || null} */ - this.Protocol = null; + this.Path = null; /** - * 网络类型('INNER' 或 'OUTER')。 + * API 的请求方法,如 GET。 * @type {string || null} */ - this.NetType = null; + this.Method = null; } @@ -4654,37 +5103,32 @@ class DomainSetList extends AbstractModel { if (!params) { return; } - this.DomainName = 'DomainName' in params ? params.DomainName : null; - this.Status = 'Status' in params ? params.Status : null; - this.CertificateId = 'CertificateId' in params ? params.CertificateId : null; - this.IsDefaultMapping = 'IsDefaultMapping' in params ? params.IsDefaultMapping : null; - this.Protocol = 'Protocol' in params ? params.Protocol : null; - this.NetType = 'NetType' in params ? params.NetType : null; + this.Path = 'Path' in params ? params.Path : null; + this.Method = 'Method' in params ? params.Method : null; } } /** - * 策略列表 + * DeleteApiKey返回参数结构体 * @class */ -class IPStrategysStatus extends AbstractModel { +class DeleteApiKeyResponse extends AbstractModel { constructor(){ super(); /** - * 策略数量。 + * 删除操作是否成功。 注意:此字段可能返回 null,表示取不到有效值。 - * @type {number || null} + * @type {boolean || null} */ - this.TotalCount = null; + this.Result = null; /** - * 策略列表。 -注意:此字段可能返回 null,表示取不到有效值。 - * @type {Array. || null} + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} */ - this.StrategySet = null; + this.RequestId = null; } @@ -4695,40 +5139,107 @@ class IPStrategysStatus extends AbstractModel { if (!params) { return; } - this.TotalCount = 'TotalCount' in params ? params.TotalCount : null; - - if (params.StrategySet) { - this.StrategySet = new Array(); - for (let z in params.StrategySet) { - let obj = new IPStrategy(); - obj.deserialize(params.StrategySet[z]); - this.StrategySet.push(obj); - } - } + this.Result = 'Result' in params ? params.Result : null; + this.RequestId = 'RequestId' in params ? params.RequestId : null; } } /** - * DescribeApiKey返回参数结构体 + * 后端通道详细信息 * @class */ -class DescribeApiKeyResponse extends AbstractModel { +class UpstreamInfo extends AbstractModel { constructor(){ super(); /** - * 密钥详情。 + * 后端通道唯一ID + * @type {string || null} + */ + this.UpstreamId = null; + + /** + * 后端通道名字 + * @type {string || null} + */ + this.UpstreamName = null; + + /** + * 后端通道描述 + * @type {string || null} + */ + this.UpstreamDescription = null; + + /** + * 后端协议,取值范围:HTTP, HTTPS + * @type {string || null} + */ + this.Scheme = null; + + /** + * 负载均衡算法,取值范围:ROUND_ROBIN + * @type {string || null} + */ + this.Algorithm = null; + + /** + * VPC唯一ID + * @type {string || null} + */ + this.UniqVpcId = null; + + /** + * 请求重试次数 + * @type {number || null} + */ + this.Retries = null; + + /** + * 后端节点 + * @type {Array. || null} + */ + this.Nodes = null; + + /** + * 创建时间 + * @type {string || null} + */ + this.CreatedTime = null; + + /** + * 标签 注意:此字段可能返回 null,表示取不到有效值。 - * @type {ApiKey || null} + * @type {Array. || null} */ - this.Result = null; + this.Tags = null; /** - * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * 健康检查配置 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {UpstreamHealthChecker || null} + */ + this.HealthChecker = null; + + /** + * 后端的类型,取值范围:IP_PORT, K8S * @type {string || null} */ - this.RequestId = null; + this.UpstreamType = null; + + /** + * K8S容器服务配置 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {Array. || null} + */ + this.K8sServices = null; + + /** + * 网关转发给后端的Host请求头 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.UpstreamHost = null; } @@ -4739,30 +5250,84 @@ class DescribeApiKeyResponse extends AbstractModel { if (!params) { return; } + this.UpstreamId = 'UpstreamId' in params ? params.UpstreamId : null; + this.UpstreamName = 'UpstreamName' in params ? params.UpstreamName : null; + this.UpstreamDescription = 'UpstreamDescription' in params ? params.UpstreamDescription : null; + this.Scheme = 'Scheme' in params ? params.Scheme : null; + this.Algorithm = 'Algorithm' in params ? params.Algorithm : null; + this.UniqVpcId = 'UniqVpcId' in params ? params.UniqVpcId : null; + this.Retries = 'Retries' in params ? params.Retries : null; + + if (params.Nodes) { + this.Nodes = new Array(); + for (let z in params.Nodes) { + let obj = new UpstreamNode(); + obj.deserialize(params.Nodes[z]); + this.Nodes.push(obj); + } + } + this.CreatedTime = 'CreatedTime' in params ? params.CreatedTime : null; - if (params.Result) { - let obj = new ApiKey(); - obj.deserialize(params.Result) - this.Result = obj; + if (params.Tags) { + this.Tags = new Array(); + for (let z in params.Tags) { + let obj = new Tag(); + obj.deserialize(params.Tags[z]); + this.Tags.push(obj); + } } - this.RequestId = 'RequestId' in params ? params.RequestId : null; + + if (params.HealthChecker) { + let obj = new UpstreamHealthChecker(); + obj.deserialize(params.HealthChecker) + this.HealthChecker = obj; + } + this.UpstreamType = 'UpstreamType' in params ? params.UpstreamType : null; + + if (params.K8sServices) { + this.K8sServices = new Array(); + for (let z in params.K8sServices) { + let obj = new K8sService(); + obj.deserialize(params.K8sServices[z]); + this.K8sServices.push(obj); + } + } + this.UpstreamHost = 'UpstreamHost' in params ? params.UpstreamHost : null; } } /** - * ModifyApiIncrement返回参数结构体 + * ModifyExclusiveInstance请求参数结构体 * @class */ -class ModifyApiIncrementResponse extends AbstractModel { +class ModifyExclusiveInstanceRequest extends AbstractModel { constructor(){ super(); /** - * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * 独享实例唯一id * @type {string || null} */ - this.RequestId = null; + this.InstanceId = null; + + /** + * 独享实例name + * @type {string || null} + */ + this.InstanceName = null; + + /** + * 独享实例描述 + * @type {string || null} + */ + this.InstanceDescription = null; + + /** + * 独享实例参数配置 + * @type {Array. || null} + */ + this.Parameters = null; } @@ -4773,306 +5338,422 @@ class ModifyApiIncrementResponse extends AbstractModel { if (!params) { return; } - this.RequestId = 'RequestId' in params ? params.RequestId : null; + this.InstanceId = 'InstanceId' in params ? params.InstanceId : null; + this.InstanceName = 'InstanceName' in params ? params.InstanceName : null; + this.InstanceDescription = 'InstanceDescription' in params ? params.InstanceDescription : null; + + if (params.Parameters) { + this.Parameters = new Array(); + for (let z in params.Parameters) { + let obj = new InstanceParameterInput(); + obj.deserialize(params.Parameters[z]); + this.Parameters.push(obj); + } + } } } /** - * ModifyApi请求参数结构体 + * usagePlan详情 * @class */ -class ModifyApiRequest extends AbstractModel { +class UsagePlan extends AbstractModel { constructor(){ super(); /** - * API 所在的服务唯一 ID。 + * 环境名称。 * @type {string || null} */ - this.ServiceId = null; + this.Environment = null; /** - * API 的后端服务类型。支持HTTP、MOCK、TSF、CLB、SCF、WEBSOCKET、TARGET(内测)。 + * 使用计划唯一ID。 * @type {string || null} */ - this.ServiceType = null; + this.UsagePlanId = null; /** - * 请求的前端配置。 - * @type {RequestConfig || null} + * 使用计划名称。 + * @type {string || null} */ - this.RequestConfig = null; + this.UsagePlanName = null; /** - * API 接口唯一 ID。 + * 使用计划描述。 * @type {string || null} */ - this.ApiId = null; + this.UsagePlanDesc = null; /** - * 用户自定义的 API 名称。 - * @type {string || null} + * 使用计划qps,-1表示没有限制。 + * @type {number || null} */ - this.ApiName = null; + this.MaxRequestNumPreSec = null; /** - * 用户自定义的 API 接口描述。 + * 使用计划时间。 * @type {string || null} */ - this.ApiDesc = null; + this.CreatedTime = null; /** - * API 类型,支持NORMAL和TSF,默认为NORMAL。 + * 使用计划修改时间。 * @type {string || null} */ - this.ApiType = null; + this.ModifiedTime = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Environment = 'Environment' in params ? params.Environment : null; + this.UsagePlanId = 'UsagePlanId' in params ? params.UsagePlanId : null; + this.UsagePlanName = 'UsagePlanName' in params ? params.UsagePlanName : null; + this.UsagePlanDesc = 'UsagePlanDesc' in params ? params.UsagePlanDesc : null; + this.MaxRequestNumPreSec = 'MaxRequestNumPreSec' in params ? params.MaxRequestNumPreSec : null; + this.CreatedTime = 'CreatedTime' in params ? params.CreatedTime : null; + this.ModifiedTime = 'ModifiedTime' in params ? params.ModifiedTime : null; + + } +} + +/** + * DescribeServiceReleaseVersion请求参数结构体 + * @class + */ +class DescribeServiceReleaseVersionRequest extends AbstractModel { + constructor(){ + super(); /** - * API 鉴权类型。支持SECRET、NONE、OAUTH、APP。默认为NONE。 + * 待查询的服务唯一 ID。 * @type {string || null} */ - this.AuthType = null; + this.ServiceId = null; /** - * 是否需要签名认证,True 表示需要,False 表示不需要。待废弃。 - * @type {boolean || null} + * 返回数量,默认为 20,最大值为 100。 + * @type {number || null} */ - this.AuthRequired = null; + this.Limit = null; /** - * API 的后端服务超时时间,单位是秒。 + * 偏移量,默认为0。 * @type {number || null} */ - this.ServiceTimeout = null; + this.Offset = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.ServiceId = 'ServiceId' in params ? params.ServiceId : null; + this.Limit = 'Limit' in params ? params.Limit : null; + this.Offset = 'Offset' in params ? params.Offset : null; + + } +} + +/** + * DescribeUsagePlanSecretIds请求参数结构体 + * @class + */ +class DescribeUsagePlanSecretIdsRequest extends AbstractModel { + constructor(){ + super(); /** - * API 的前端请求类型,如 HTTP 或 HTTPS 或者 HTTP 和 HTTPS。 + * 绑定的使用计划唯一 ID。 * @type {string || null} */ - this.Protocol = null; + this.UsagePlanId = null; /** - * 是否需要开启跨域,Ture 表示需要,False 表示不需要。 - * @type {boolean || null} + * 返回数量,默认为 20,最大值为 100。 + * @type {number || null} */ - this.EnableCORS = null; + this.Limit = null; /** - * 常量参数。 - * @type {Array. || null} + * 偏移量,默认为 0。 + * @type {number || null} */ - this.ConstantParameters = null; + this.Offset = null; - /** - * 前端请求参数。 - * @type {Array. || null} - */ - this.RequestParameters = null; + } - /** - * 当AuthType 为 OAUTH时,该字段有效, NORMAL:业务api OAUTH:授权API。 - * @type {string || null} - */ - this.ApiBusinessType = null; + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.UsagePlanId = 'UsagePlanId' in params ? params.UsagePlanId : null; + this.Limit = 'Limit' in params ? params.Limit : null; + this.Offset = 'Offset' in params ? params.Offset : null; - /** - * API 的后端 Mock 返回信息。如果 ServiceType 是 Mock,则此参数必传。 - * @type {string || null} - */ - this.ServiceMockReturnMessage = null; + } +} - /** - * API绑定微服务服务列表。 - * @type {Array. || null} - */ - this.MicroServices = null; +/** + * DescribeLogSearch返回参数结构体 + * @class + */ +class DescribeLogSearchResponse extends AbstractModel { + constructor(){ + super(); /** - * 微服务的负载均衡配置。 - * @type {TsfLoadBalanceConfResp || null} + * 获取更多检索结果的游标,值为""表示无后续结果 + * @type {string || null} */ - this.ServiceTsfLoadBalanceConf = null; + this.ConText = null; /** - * 微服务的健康检查配置。 - * @type {HealthCheckConf || null} + * 由0或多条日志组成,每条日志格式如下: +'[$app_id][$env_name][$service_id][$http_host][$api_id][$uri][$scheme][rsp_st:$status][ups_st:$upstream_status]' +'[cip:$remote_addr][uip:$upstream_addr][vip:$server_addr][rsp_len:$bytes_sent][req_len:$request_length]' +'[req_t:$request_time][ups_rsp_t:$upstream_response_time][ups_conn_t:$upstream_connect_time][ups_head_t:$upstream_header_time]’ +'[err_msg:$err_msg][tcp_rtt:$tcpinfo_rtt][$pid][$time_local][req_id:$request_id]'; + +说明: +app_id: 用户 ID。 +env_name:环境名称。 +service_id: 服务 ID。 +http_host: 域名。 +api_id: API 的 ID。 +uri:请求的路径。 +scheme: HTTP/HTTPS 协议。 +rsp_st: 请求响应状态码。 +ups_st: 后端业务服务器的响应状态码(如果请求透传到后端,改变量不为空。如果请求在 APIGW 就被拦截了,那么该变量显示为 -)。 +cip: 客户端 IP。 +uip: 后端业务服务(upstream)的 IP。 +vip: 请求访问的 VIP。 +rsp_len: 响应长度。 +req_len: 请求长度。 +req_t: 请求响应的总时间。 +ups_rsp_t: 后端响应的总时间(apigw 建立连接到接收到后端响应的时间)。 +ups_conn_t: 与后端业务服务器连接建立成功时间。 +ups_head_t:后端响应的头部到达时间。 +err_msg: 错误信息。 +tcp_rtt: 客户端 TCP 连接信息,RTT(Round Trip Time)由三部分组成:链路的传播时间(propagation delay)、末端系统的处理时间、路由器缓存中的排队和处理时间(queuing delay)。 +req_id:请求id。 + * @type {Array. || null} */ - this.ServiceTsfHealthCheckConf = null; + this.LogSet = null; /** - * target类型负载均衡配置。(内测阶段) + * 单次搜索返回的日志条数,TotalCount <= Limit * @type {number || null} */ - this.TargetServicesLoadBalanceConf = null; + this.TotalCount = null; /** - * target健康检查配置。(内测阶段) - * @type {HealthCheckConf || null} + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} */ - this.TargetServicesHealthCheckConf = null; + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.ConText = 'ConText' in params ? params.ConText : null; + this.LogSet = 'LogSet' in params ? params.LogSet : null; + this.TotalCount = 'TotalCount' in params ? params.TotalCount : null; + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * ModifyAPIDoc请求参数结构体 + * @class + */ +class ModifyAPIDocRequest extends AbstractModel { + constructor(){ + super(); /** - * scf 函数名称。当后端类型是SCF时生效。 + * API文档ID * @type {string || null} */ - this.ServiceScfFunctionName = null; + this.ApiDocId = null; /** - * scf websocket注册函数。当前端类型是WEBSOCKET且后端类型是SCF时生效。 + * API文档名称 * @type {string || null} */ - this.ServiceWebsocketRegisterFunctionName = null; + this.ApiDocName = null; /** - * scf websocket清理函数。当前端类型是WEBSOCKET且后端类型是SCF时生效。 + * 服务名称 * @type {string || null} */ - this.ServiceWebsocketCleanupFunctionName = null; + this.ServiceId = null; /** - * scf websocket传输函数。当前端类型是WEBSOCKET且后端类型是SCF时生效。 + * 环境名称 * @type {string || null} */ - this.ServiceWebsocketTransportFunctionName = null; + this.Environment = null; /** - * scf 函数命名空间。当后端类型是SCF时生效。 - * @type {string || null} + * 生成文档的API列表 + * @type {Array. || null} */ - this.ServiceScfFunctionNamespace = null; + this.ApiIds = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.ApiDocId = 'ApiDocId' in params ? params.ApiDocId : null; + this.ApiDocName = 'ApiDocName' in params ? params.ApiDocName : null; + this.ServiceId = 'ServiceId' in params ? params.ServiceId : null; + this.Environment = 'Environment' in params ? params.Environment : null; + this.ApiIds = 'ApiIds' in params ? params.ApiIds : null; + + } +} + +/** + * UnBindIPStrategy请求参数结构体 + * @class + */ +class UnBindIPStrategyRequest extends AbstractModel { + constructor(){ + super(); /** - * scf函数版本。当后端类型是SCF时生效。 + * 待解绑的服务唯一ID。 * @type {string || null} */ - this.ServiceScfFunctionQualifier = null; + this.ServiceId = null; /** - * scf websocket注册函数命名空间。当前端类型是WEBSOCKET且后端类型是SCF时生效。 + * 待解绑的IP策略唯一ID。 * @type {string || null} */ - this.ServiceWebsocketRegisterFunctionNamespace = null; + this.StrategyId = null; /** - * scf websocket传输函数版本。当前端类型是WEBSOCKET且后端类型是SCF时生效。 + * 待解绑的环境。 * @type {string || null} */ - this.ServiceWebsocketRegisterFunctionQualifier = null; + this.EnvironmentName = null; /** - * scf websocket传输函数命名空间。当前端类型是WEBSOCKET且后端类型是SCF时生效。 - * @type {string || null} + * 待解绑的 API 列表。 + * @type {Array. || null} */ - this.ServiceWebsocketTransportFunctionNamespace = null; + this.UnBindApiIds = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.ServiceId = 'ServiceId' in params ? params.ServiceId : null; + this.StrategyId = 'StrategyId' in params ? params.StrategyId : null; + this.EnvironmentName = 'EnvironmentName' in params ? params.EnvironmentName : null; + this.UnBindApiIds = 'UnBindApiIds' in params ? params.UnBindApiIds : null; + + } +} + +/** + * DescribeUpstreams返回参数结构体 + * @class + */ +class DescribeUpstreamsResponse extends AbstractModel { + constructor(){ + super(); /** - * scf websocket传输函数版本。当前端类型是WEBSOCKET且后端类型是SCF时生效。 - * @type {string || null} + * 查询结果 + * @type {DescribeUpstreamInfo || null} */ - this.ServiceWebsocketTransportFunctionQualifier = null; + this.Result = null; /** - * scf websocket清理函数命名空间。当前端类型是WEBSOCKET且后端类型是SCF时生效。 + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 * @type {string || null} */ - this.ServiceWebsocketCleanupFunctionNamespace = null; + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + + if (params.Result) { + let obj = new DescribeUpstreamInfo(); + obj.deserialize(params.Result) + this.Result = obj; + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * DescribePluginApis请求参数结构体 + * @class + */ +class DescribePluginApisRequest extends AbstractModel { + constructor(){ + super(); /** - * scf websocket清理函数版本。当前端类型是WEBSOCKET且后端类型是SCF时生效。 + * 查询的插件ID。 * @type {string || null} */ - this.ServiceWebsocketCleanupFunctionQualifier = null; + this.PluginId = null; /** - * 是否开启响应集成。当后端类型是SCF时生效。 - * @type {boolean || null} + * 返回数量,默认为 20,最大值为 100。 + * @type {number || null} */ - this.ServiceScfIsIntegratedResponse = null; + this.Limit = null; /** - * 开始调试后计费。(云市场预留字段) - * @type {boolean || null} + * 偏移量,默认为 0。 + * @type {number || null} */ - this.IsDebugAfterCharge = null; - - /** - * 标签。 - * @type {Tag || null} - */ - this.TagSpecifications = null; - - /** - * 是否删除自定义响应配置错误码,如果不传或者传 False,不删除,当传 True 时,则删除此 API 所有自定义响应配置错误码。 - * @type {boolean || null} - */ - this.IsDeleteResponseErrorCodes = null; - - /** - * 返回类型。 - * @type {string || null} - */ - this.ResponseType = null; - - /** - * 自定义响应配置成功响应示例。 - * @type {string || null} - */ - this.ResponseSuccessExample = null; - - /** - * 自定义响应配置失败响应示例。 - * @type {string || null} - */ - this.ResponseFailExample = null; - - /** - * API 的后端服务配置。 - * @type {ServiceConfig || null} - */ - this.ServiceConfig = null; - - /** - * 关联的授权API 唯一 ID,当AuthType为OAUTH且ApiBusinessType为NORMAL时生效。标示业务API绑定的oauth2.0授权API唯一ID。 - * @type {string || null} - */ - this.AuthRelationApiId = null; - - /** - * API的后端服务参数。 - * @type {Array. || null} - */ - this.ServiceParameters = null; - - /** - * oauth配置。当AuthType是OAUTH时生效。 - * @type {OauthConfig || null} - */ - this.OauthConfig = null; - - /** - * 用户自定义错误码配置。 - * @type {Array. || null} - */ - this.ResponseErrorCodes = null; - - /** - * 是否开启Base64编码,只有后端为scf时才会生效。 - * @type {boolean || null} - */ - this.IsBase64Encoded = null; - - /** - * 是否开启Base64编码的header触发,只有后端为scf时才会生效。 - * @type {boolean || null} - */ - this.IsBase64Trigger = null; - - /** - * Header触发规则,总规则数不能超过10。 - * @type {Array. || null} - */ - this.Base64EncodedTriggerRules = null; + this.Offset = null; } @@ -5083,178 +5764,50 @@ class ModifyApiRequest extends AbstractModel { if (!params) { return; } - this.ServiceId = 'ServiceId' in params ? params.ServiceId : null; - this.ServiceType = 'ServiceType' in params ? params.ServiceType : null; - - if (params.RequestConfig) { - let obj = new RequestConfig(); - obj.deserialize(params.RequestConfig) - this.RequestConfig = obj; - } - this.ApiId = 'ApiId' in params ? params.ApiId : null; - this.ApiName = 'ApiName' in params ? params.ApiName : null; - this.ApiDesc = 'ApiDesc' in params ? params.ApiDesc : null; - this.ApiType = 'ApiType' in params ? params.ApiType : null; - this.AuthType = 'AuthType' in params ? params.AuthType : null; - this.AuthRequired = 'AuthRequired' in params ? params.AuthRequired : null; - this.ServiceTimeout = 'ServiceTimeout' in params ? params.ServiceTimeout : null; - this.Protocol = 'Protocol' in params ? params.Protocol : null; - this.EnableCORS = 'EnableCORS' in params ? params.EnableCORS : null; - - if (params.ConstantParameters) { - this.ConstantParameters = new Array(); - for (let z in params.ConstantParameters) { - let obj = new ConstantParameter(); - obj.deserialize(params.ConstantParameters[z]); - this.ConstantParameters.push(obj); - } - } - - if (params.RequestParameters) { - this.RequestParameters = new Array(); - for (let z in params.RequestParameters) { - let obj = new ReqParameter(); - obj.deserialize(params.RequestParameters[z]); - this.RequestParameters.push(obj); - } - } - this.ApiBusinessType = 'ApiBusinessType' in params ? params.ApiBusinessType : null; - this.ServiceMockReturnMessage = 'ServiceMockReturnMessage' in params ? params.ServiceMockReturnMessage : null; - - if (params.MicroServices) { - this.MicroServices = new Array(); - for (let z in params.MicroServices) { - let obj = new MicroServiceReq(); - obj.deserialize(params.MicroServices[z]); - this.MicroServices.push(obj); - } - } - - if (params.ServiceTsfLoadBalanceConf) { - let obj = new TsfLoadBalanceConfResp(); - obj.deserialize(params.ServiceTsfLoadBalanceConf) - this.ServiceTsfLoadBalanceConf = obj; - } - - if (params.ServiceTsfHealthCheckConf) { - let obj = new HealthCheckConf(); - obj.deserialize(params.ServiceTsfHealthCheckConf) - this.ServiceTsfHealthCheckConf = obj; - } - this.TargetServicesLoadBalanceConf = 'TargetServicesLoadBalanceConf' in params ? params.TargetServicesLoadBalanceConf : null; - - if (params.TargetServicesHealthCheckConf) { - let obj = new HealthCheckConf(); - obj.deserialize(params.TargetServicesHealthCheckConf) - this.TargetServicesHealthCheckConf = obj; - } - this.ServiceScfFunctionName = 'ServiceScfFunctionName' in params ? params.ServiceScfFunctionName : null; - this.ServiceWebsocketRegisterFunctionName = 'ServiceWebsocketRegisterFunctionName' in params ? params.ServiceWebsocketRegisterFunctionName : null; - this.ServiceWebsocketCleanupFunctionName = 'ServiceWebsocketCleanupFunctionName' in params ? params.ServiceWebsocketCleanupFunctionName : null; - this.ServiceWebsocketTransportFunctionName = 'ServiceWebsocketTransportFunctionName' in params ? params.ServiceWebsocketTransportFunctionName : null; - this.ServiceScfFunctionNamespace = 'ServiceScfFunctionNamespace' in params ? params.ServiceScfFunctionNamespace : null; - this.ServiceScfFunctionQualifier = 'ServiceScfFunctionQualifier' in params ? params.ServiceScfFunctionQualifier : null; - this.ServiceWebsocketRegisterFunctionNamespace = 'ServiceWebsocketRegisterFunctionNamespace' in params ? params.ServiceWebsocketRegisterFunctionNamespace : null; - this.ServiceWebsocketRegisterFunctionQualifier = 'ServiceWebsocketRegisterFunctionQualifier' in params ? params.ServiceWebsocketRegisterFunctionQualifier : null; - this.ServiceWebsocketTransportFunctionNamespace = 'ServiceWebsocketTransportFunctionNamespace' in params ? params.ServiceWebsocketTransportFunctionNamespace : null; - this.ServiceWebsocketTransportFunctionQualifier = 'ServiceWebsocketTransportFunctionQualifier' in params ? params.ServiceWebsocketTransportFunctionQualifier : null; - this.ServiceWebsocketCleanupFunctionNamespace = 'ServiceWebsocketCleanupFunctionNamespace' in params ? params.ServiceWebsocketCleanupFunctionNamespace : null; - this.ServiceWebsocketCleanupFunctionQualifier = 'ServiceWebsocketCleanupFunctionQualifier' in params ? params.ServiceWebsocketCleanupFunctionQualifier : null; - this.ServiceScfIsIntegratedResponse = 'ServiceScfIsIntegratedResponse' in params ? params.ServiceScfIsIntegratedResponse : null; - this.IsDebugAfterCharge = 'IsDebugAfterCharge' in params ? params.IsDebugAfterCharge : null; - - if (params.TagSpecifications) { - let obj = new Tag(); - obj.deserialize(params.TagSpecifications) - this.TagSpecifications = obj; - } - this.IsDeleteResponseErrorCodes = 'IsDeleteResponseErrorCodes' in params ? params.IsDeleteResponseErrorCodes : null; - this.ResponseType = 'ResponseType' in params ? params.ResponseType : null; - this.ResponseSuccessExample = 'ResponseSuccessExample' in params ? params.ResponseSuccessExample : null; - this.ResponseFailExample = 'ResponseFailExample' in params ? params.ResponseFailExample : null; - - if (params.ServiceConfig) { - let obj = new ServiceConfig(); - obj.deserialize(params.ServiceConfig) - this.ServiceConfig = obj; - } - this.AuthRelationApiId = 'AuthRelationApiId' in params ? params.AuthRelationApiId : null; - - if (params.ServiceParameters) { - this.ServiceParameters = new Array(); - for (let z in params.ServiceParameters) { - let obj = new ServiceParameter(); - obj.deserialize(params.ServiceParameters[z]); - this.ServiceParameters.push(obj); - } - } - - if (params.OauthConfig) { - let obj = new OauthConfig(); - obj.deserialize(params.OauthConfig) - this.OauthConfig = obj; - } - - if (params.ResponseErrorCodes) { - this.ResponseErrorCodes = new Array(); - for (let z in params.ResponseErrorCodes) { - let obj = new ResponseErrorCodeReq(); - obj.deserialize(params.ResponseErrorCodes[z]); - this.ResponseErrorCodes.push(obj); - } - } - this.IsBase64Encoded = 'IsBase64Encoded' in params ? params.IsBase64Encoded : null; - this.IsBase64Trigger = 'IsBase64Trigger' in params ? params.IsBase64Trigger : null; - - if (params.Base64EncodedTriggerRules) { - this.Base64EncodedTriggerRules = new Array(); - for (let z in params.Base64EncodedTriggerRules) { - let obj = new Base64EncodedTriggerRule(); - obj.deserialize(params.Base64EncodedTriggerRules[z]); - this.Base64EncodedTriggerRules.push(obj); - } - } + this.PluginId = 'PluginId' in params ? params.PluginId : null; + this.Limit = 'Limit' in params ? params.Limit : null; + this.Offset = 'Offset' in params ? params.Offset : null; } } /** - * ModifyUsagePlan请求参数结构体 + * 错误码入参 * @class */ -class ModifyUsagePlanRequest extends AbstractModel { +class ResponseErrorCodeReq extends AbstractModel { constructor(){ super(); /** - * 使用计划唯一 ID。 - * @type {string || null} + * 自定义响应配置错误码。 + * @type {number || null} */ - this.UsagePlanId = null; + this.Code = null; /** - * 修改后的用户自定义的使用计划名称。 + * 自定义响应配置错误信息。 * @type {string || null} */ - this.UsagePlanName = null; + this.Msg = null; /** - * 修改后的用户自定义的使用计划描述。 + * 自定义响应配置错误码备注。 * @type {string || null} */ - this.UsagePlanDesc = null; + this.Desc = null; /** - * 请求配额总数,取值范围为-1或者[1, 99999999],默认为-1,表示不开启。 + * 自定义错误码转换。 * @type {number || null} */ - this.MaxRequestNum = null; + this.ConvertedCode = null; /** - * 每秒请求限制数,取值范围为-1或者[1, 2000],默认-1,表示不开启。 - * @type {number || null} + * 是否需要开启错误码转换。 + * @type {boolean || null} */ - this.MaxRequestNumPreSec = null; + this.NeedConvert = null; } @@ -5265,87 +5818,88 @@ class ModifyUsagePlanRequest extends AbstractModel { if (!params) { return; } - this.UsagePlanId = 'UsagePlanId' in params ? params.UsagePlanId : null; - this.UsagePlanName = 'UsagePlanName' in params ? params.UsagePlanName : null; - this.UsagePlanDesc = 'UsagePlanDesc' in params ? params.UsagePlanDesc : null; - this.MaxRequestNum = 'MaxRequestNum' in params ? params.MaxRequestNum : null; - this.MaxRequestNumPreSec = 'MaxRequestNumPreSec' in params ? params.MaxRequestNumPreSec : null; + this.Code = 'Code' in params ? params.Code : null; + this.Msg = 'Msg' in params ? params.Msg : null; + this.Desc = 'Desc' in params ? params.Desc : null; + this.ConvertedCode = 'ConvertedCode' in params ? params.ConvertedCode : null; + this.NeedConvert = 'NeedConvert' in params ? params.NeedConvert : null; } } /** - * api请求配置 + * CreateService请求参数结构体 * @class */ -class ApiRequestConfig extends AbstractModel { +class CreateServiceRequest extends AbstractModel { constructor(){ super(); /** - * path + * 用户自定义的服务名称。 * @type {string || null} */ - this.Path = null; + this.ServiceName = null; /** - * 方法 + * 服务的前端请求类型。如 http、https、http&https。 * @type {string || null} */ - this.Method = null; - - } + this.Protocol = null; - /** - * @private - */ - deserialize(params) { - if (!params) { - return; - } - this.Path = 'Path' in params ? params.Path : null; - this.Method = 'Method' in params ? params.Method : null; + /** + * 用户自定义的服务描述。 + * @type {string || null} + */ + this.ServiceDesc = null; - } -} + /** + * 独立集群名称,用于指定创建服务所在的独立集群。 + * @type {string || null} + */ + this.ExclusiveSetName = null; -/** - * ModifyService请求参数结构体 - * @class - */ -class ModifyServiceRequest extends AbstractModel { - constructor(){ - super(); + /** + * 网络类型列表,用于指定支持的访问类型,INNER为内网访问,OUTER为外网访问。默认为OUTER。 + * @type {Array. || null} + */ + this.NetTypes = null; /** - * 待修改服务的唯一 Id。 + * IP版本号,支持IPv4和IPv6,默认为IPv4。 * @type {string || null} */ - this.ServiceId = null; + this.IpVersion = null; /** - * 修改后的服务名称。 + * 集群名称。保留字段,tsf serverlss类型使用。 * @type {string || null} */ - this.ServiceName = null; + this.SetServerName = null; /** - * 修改后的服务描述。 + * 用户类型。保留类型,serverless用户使用。 * @type {string || null} */ - this.ServiceDesc = null; + this.AppIdType = null; /** - * 修改后的服务前端请求类型,如 http、https和 http&https。 + * 标签。 + * @type {Array. || null} + */ + this.Tags = null; + + /** + * 独享实例id * @type {string || null} */ - this.Protocol = null; + this.InstanceId = null; /** - * 网络类型列表,用于指定支持的访问类型,INNER为内网访问,OUTER为外网访问。默认为OUTER。 - * @type {Array. || null} + * vpc属性 + * @type {string || null} */ - this.NetTypes = null; + this.UniqVpcId = null; } @@ -5356,20 +5910,34 @@ class ModifyServiceRequest extends AbstractModel { if (!params) { return; } - this.ServiceId = 'ServiceId' in params ? params.ServiceId : null; this.ServiceName = 'ServiceName' in params ? params.ServiceName : null; - this.ServiceDesc = 'ServiceDesc' in params ? params.ServiceDesc : null; this.Protocol = 'Protocol' in params ? params.Protocol : null; + this.ServiceDesc = 'ServiceDesc' in params ? params.ServiceDesc : null; + this.ExclusiveSetName = 'ExclusiveSetName' in params ? params.ExclusiveSetName : null; this.NetTypes = 'NetTypes' in params ? params.NetTypes : null; + this.IpVersion = 'IpVersion' in params ? params.IpVersion : null; + this.SetServerName = 'SetServerName' in params ? params.SetServerName : null; + this.AppIdType = 'AppIdType' in params ? params.AppIdType : null; + + if (params.Tags) { + this.Tags = new Array(); + for (let z in params.Tags) { + let obj = new Tag(); + obj.deserialize(params.Tags[z]); + this.Tags.push(obj); + } + } + this.InstanceId = 'InstanceId' in params ? params.InstanceId : null; + this.UniqVpcId = 'UniqVpcId' in params ? params.UniqVpcId : null; } } /** - * API状态 + * DescribeIPStrategysStatus请求参数结构体 * @class */ -class ApiIdStatus extends AbstractModel { +class DescribeIPStrategysStatusRequest extends AbstractModel { constructor(){ super(); @@ -5380,117 +5948,89 @@ class ApiIdStatus extends AbstractModel { this.ServiceId = null; /** - * API唯一ID。 - * @type {string || null} - */ - this.ApiId = null; - - /** - * API描述 - * @type {string || null} - */ - this.ApiDesc = null; - - /** - * API PATH。 - * @type {string || null} - */ - this.Path = null; - - /** - * API METHOD。 - * @type {string || null} - */ - this.Method = null; - - /** - * 服务创建时间。 - * @type {string || null} + * 过滤条件。支持StrategyName。 + * @type {Array. || null} */ - this.CreatedTime = null; + this.Filters = null; - /** - * 服务修改时间。 - * @type {string || null} - */ - this.ModifiedTime = null; + } - /** - * API名称。 -注意:此字段可能返回 null,表示取不到有效值。 - * @type {string || null} - */ - this.ApiName = null; + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.ServiceId = 'ServiceId' in params ? params.ServiceId : null; - /** - * VPC唯一ID。 -注意:此字段可能返回 null,表示取不到有效值。 - * @type {string || null} - */ - this.UniqVpcId = null; + if (params.Filters) { + this.Filters = new Array(); + for (let z in params.Filters) { + let obj = new Filter(); + obj.deserialize(params.Filters[z]); + this.Filters.push(obj); + } + } - /** - * API类型。 -注意:此字段可能返回 null,表示取不到有效值。 - * @type {string || null} - */ - this.ApiType = null; + } +} - /** - * API协议。 -注意:此字段可能返回 null,表示取不到有效值。 - * @type {string || null} - */ - this.Protocol = null; +/** + * DemoteServiceUsagePlan返回参数结构体 + * @class + */ +class DemoteServiceUsagePlanResponse extends AbstractModel { + constructor(){ + super(); /** - * 是否买后调试。 + * 降级操作是否成功。 注意:此字段可能返回 null,表示取不到有效值。 * @type {boolean || null} */ - this.IsDebugAfterCharge = null; + this.Result = null; /** - * 授权类型。 -注意:此字段可能返回 null,表示取不到有效值。 + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 * @type {string || null} */ - this.AuthType = null; + this.RequestId = null; - /** - * API业务类型。 -注意:此字段可能返回 null,表示取不到有效值。 - * @type {string || null} - */ - this.ApiBusinessType = null; + } - /** - * 关联授权API唯一ID。 -注意:此字段可能返回 null,表示取不到有效值。 - * @type {string || null} - */ - this.AuthRelationApiId = null; + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Result = 'Result' in params ? params.Result : null; + this.RequestId = 'RequestId' in params ? params.RequestId : null; - /** - * 授权API关联的业务API列表。 -注意:此字段可能返回 null,表示取不到有效值。 - * @type {Array. || null} - */ - this.RelationBuniessApiIds = null; + } +} + +/** + * DescribePluginApis返回参数结构体 + * @class + */ +class DescribePluginApisResponse extends AbstractModel { + constructor(){ + super(); /** - * oauth配置信息。 -注意:此字段可能返回 null,表示取不到有效值。 - * @type {OauthConfig || null} + * 插件绑定的API列表信息。 + * @type {AttachedApiSummary || null} */ - this.OauthConfig = null; + this.Result = null; /** - * oauth2.0API请求,token存放位置。 -注意:此字段可能返回 null,表示取不到有效值。 + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 * @type {string || null} */ - this.TokenLocation = null; + this.RequestId = null; } @@ -5501,316 +6041,504 @@ class ApiIdStatus extends AbstractModel { if (!params) { return; } - this.ServiceId = 'ServiceId' in params ? params.ServiceId : null; - this.ApiId = 'ApiId' in params ? params.ApiId : null; - this.ApiDesc = 'ApiDesc' in params ? params.ApiDesc : null; - this.Path = 'Path' in params ? params.Path : null; - this.Method = 'Method' in params ? params.Method : null; - this.CreatedTime = 'CreatedTime' in params ? params.CreatedTime : null; - this.ModifiedTime = 'ModifiedTime' in params ? params.ModifiedTime : null; - this.ApiName = 'ApiName' in params ? params.ApiName : null; - this.UniqVpcId = 'UniqVpcId' in params ? params.UniqVpcId : null; - this.ApiType = 'ApiType' in params ? params.ApiType : null; - this.Protocol = 'Protocol' in params ? params.Protocol : null; - this.IsDebugAfterCharge = 'IsDebugAfterCharge' in params ? params.IsDebugAfterCharge : null; - this.AuthType = 'AuthType' in params ? params.AuthType : null; - this.ApiBusinessType = 'ApiBusinessType' in params ? params.ApiBusinessType : null; - this.AuthRelationApiId = 'AuthRelationApiId' in params ? params.AuthRelationApiId : null; - this.RelationBuniessApiIds = 'RelationBuniessApiIds' in params ? params.RelationBuniessApiIds : null; - if (params.OauthConfig) { - let obj = new OauthConfig(); - obj.deserialize(params.OauthConfig) - this.OauthConfig = obj; + if (params.Result) { + let obj = new AttachedApiSummary(); + obj.deserialize(params.Result) + this.Result = obj; } - this.TokenLocation = 'TokenLocation' in params ? params.TokenLocation : null; + this.RequestId = 'RequestId' in params ? params.RequestId : null; } } /** - * CreateApi请求参数结构体 + * EnableApiKey返回参数结构体 * @class */ -class CreateApiRequest extends AbstractModel { +class EnableApiKeyResponse extends AbstractModel { constructor(){ super(); /** - * API 所在的服务唯一 ID。 - * @type {string || null} + * 启动密钥操作是否成功。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {boolean || null} */ - this.ServiceId = null; + this.Result = null; /** - * API 的后端服务类型。支持HTTP、MOCK、TSF、SCF、WEBSOCKET、TARGET(内测)。 + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 * @type {string || null} */ - this.ServiceType = null; + this.RequestId = null; - /** - * API 的后端服务超时时间,单位是秒。 - * @type {number || null} - */ - this.ServiceTimeout = null; + } - /** - * API 的前端请求协议,支持HTTP和WEBSOCKET。 - * @type {string || null} - */ - this.Protocol = null; + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Result = 'Result' in params ? params.Result : null; + this.RequestId = 'RequestId' in params ? params.RequestId : null; - /** - * 请求的前端配置。 - * @type {ApiRequestConfig || null} - */ - this.RequestConfig = null; + } +} - /** - * 用户自定义的 API 名称。 - * @type {string || null} - */ - this.ApiName = null; +/** + * DeleteApiApp请求参数结构体 + * @class + */ +class DeleteApiAppRequest extends AbstractModel { + constructor(){ + super(); /** - * 用户自定义的 API 接口描述。 + * 应用唯一 ID。 * @type {string || null} */ - this.ApiDesc = null; + this.ApiAppId = null; - /** - * API 类型,支持NORMAL(普通API)和TSF(微服务API),默认为NORMAL。 - * @type {string || null} - */ - this.ApiType = null; + } - /** - * API 鉴权类型。支持SECRET(密钥对鉴权)、NONE(免鉴权)、OAUTH、APP(应用认证)。默认为NONE。 - * @type {string || null} - */ - this.AuthType = null; + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.ApiAppId = 'ApiAppId' in params ? params.ApiAppId : null; + + } +} + +/** + * UnReleaseService返回参数结构体 + * @class + */ +class UnReleaseServiceResponse extends AbstractModel { + constructor(){ + super(); /** - * 是否开启跨域。 + * 下线操作是否成功。 +注意:此字段可能返回 null,表示取不到有效值。 * @type {boolean || null} */ - this.EnableCORS = null; + this.Result = null; /** - * 常量参数。 - * @type {Array. || null} + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} */ - this.ConstantParameters = null; + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Result = 'Result' in params ? params.Result : null; + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * CreateAPIDoc返回参数结构体 + * @class + */ +class CreateAPIDocResponse extends AbstractModel { + constructor(){ + super(); /** - * 前端请求参数。 - * @type {Array. || null} + * API文档基本信息 + * @type {APIDoc || null} */ - this.RequestParameters = null; + this.Result = null; /** - * 当AuthType 为 OAUTH时,该字段有效, NORMAL:业务api OAUTH:授权API。 + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 * @type {string || null} */ - this.ApiBusinessType = null; + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + + if (params.Result) { + let obj = new APIDoc(); + obj.deserialize(params.Result) + this.Result = obj; + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * DescribeService请求参数结构体 + * @class + */ +class DescribeServiceRequest extends AbstractModel { + constructor(){ + super(); /** - * API 的后端 Mock 返回信息。如果 ServiceType 是 Mock,则此参数必传。 + * 待查询的服务唯一 ID。 * @type {string || null} */ - this.ServiceMockReturnMessage = null; + this.ServiceId = null; - /** - * API绑定微服务服务列表。 - * @type {Array. || null} - */ - this.MicroServices = null; + } - /** - * 微服务的负载均衡配置。 - * @type {TsfLoadBalanceConfResp || null} - */ - this.ServiceTsfLoadBalanceConf = null; + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.ServiceId = 'ServiceId' in params ? params.ServiceId : null; - /** - * 微服务的健康检查配置。 - * @type {HealthCheckConf || null} - */ - this.ServiceTsfHealthCheckConf = null; + } +} - /** - * target类型后端资源信息。(内测阶段) - * @type {Array. || null} - */ - this.TargetServices = null; +/** + * 使用计划列表 + * @class + */ +class UsagePlansStatus extends AbstractModel { + constructor(){ + super(); /** - * target类型负载均衡配置。(内测阶段) + * 符合条件的使用计划数量。 +注意:此字段可能返回 null,表示取不到有效值。 * @type {number || null} */ - this.TargetServicesLoadBalanceConf = null; + this.TotalCount = null; /** - * target健康检查配置。(内测阶段) - * @type {HealthCheckConf || null} + * 使用计划列表。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {Array. || null} */ - this.TargetServicesHealthCheckConf = null; + this.UsagePlanStatusSet = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.TotalCount = 'TotalCount' in params ? params.TotalCount : null; + + if (params.UsagePlanStatusSet) { + this.UsagePlanStatusSet = new Array(); + for (let z in params.UsagePlanStatusSet) { + let obj = new UsagePlanStatusInfo(); + obj.deserialize(params.UsagePlanStatusSet[z]); + this.UsagePlanStatusSet.push(obj); + } + } + + } +} + +/** + * CreateUsagePlan请求参数结构体 + * @class + */ +class CreateUsagePlanRequest extends AbstractModel { + constructor(){ + super(); /** - * scf 函数名称。当后端类型是SCF时生效。 + * 用户自定义的使用计划名称。 * @type {string || null} */ - this.ServiceScfFunctionName = null; + this.UsagePlanName = null; /** - * scf websocket注册函数。当前端类型是WEBSOCKET且后端类型是SCF时生效。 + * 用户自定义的使用计划描述。 * @type {string || null} */ - this.ServiceWebsocketRegisterFunctionName = null; + this.UsagePlanDesc = null; /** - * scf websocket清理函数。当前端类型是WEBSOCKET且后端类型是SCF时生效。 - * @type {string || null} + * 请求配额总数,取值范围为-1或者[1, 99999999],默认为-1,表示不开启。 + * @type {number || null} */ - this.ServiceWebsocketCleanupFunctionName = null; + this.MaxRequestNum = null; /** - * scf websocket传输函数。当前端类型是WEBSOCKET且后端类型是SCF时生效。 - * @type {string || null} + * 每秒请求限制数,取值范围为-1或者[1, 2000],默认-1,表示不开启。 + * @type {number || null} */ - this.ServiceWebsocketTransportFunctionName = null; + this.MaxRequestNumPreSec = null; - /** - * scf 函数命名空间。当后端类型是SCF时生效。 - * @type {string || null} - */ - this.ServiceScfFunctionNamespace = null; + } - /** - * scf函数版本。当后端类型是SCF时生效。 - * @type {string || null} - */ - this.ServiceScfFunctionQualifier = null; + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.UsagePlanName = 'UsagePlanName' in params ? params.UsagePlanName : null; + this.UsagePlanDesc = 'UsagePlanDesc' in params ? params.UsagePlanDesc : null; + this.MaxRequestNum = 'MaxRequestNum' in params ? params.MaxRequestNum : null; + this.MaxRequestNumPreSec = 'MaxRequestNumPreSec' in params ? params.MaxRequestNumPreSec : null; + + } +} + +/** + * DescribeUsagePlanSecretIds返回参数结构体 + * @class + */ +class DescribeUsagePlanSecretIdsResponse extends AbstractModel { + constructor(){ + super(); /** - * scf websocket注册函数命名空间。当前端类型是WEBSOCKET且后端类型是SCF时生效。 - * @type {string || null} + * 使用计划绑定的密钥列表。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {UsagePlanBindSecretStatus || null} */ - this.ServiceWebsocketRegisterFunctionNamespace = null; + this.Result = null; /** - * scf websocket传输函数版本。当前端类型是WEBSOCKET且后端类型是SCF时生效。 + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 * @type {string || null} */ - this.ServiceWebsocketRegisterFunctionQualifier = null; + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + + if (params.Result) { + let obj = new UsagePlanBindSecretStatus(); + obj.deserialize(params.Result) + this.Result = obj; + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * CreatePlugin请求参数结构体 + * @class + */ +class CreatePluginRequest extends AbstractModel { + constructor(){ + super(); /** - * scf websocket传输函数命名空间。当前端类型是WEBSOCKET且后端类型是SCF时生效。 + * 用户自定义的插件名称。最长50个字符,最短2个字符,支持 a-z,A-Z,0-9,_, 必须字母开头,字母或者数字结尾。 * @type {string || null} */ - this.ServiceWebsocketTransportFunctionNamespace = null; + this.PluginName = null; /** - * scf websocket传输函数版本。当前端类型是WEBSOCKET且后端类型是SCF时生效。 + * 插件类型。目前支持IPControl, TrafficControl, Cors, CustomReq, CustomAuth,Routing,TrafficControlByParameter, CircuitBreaker, ProxyCache。 * @type {string || null} */ - this.ServiceWebsocketTransportFunctionQualifier = null; + this.PluginType = null; /** - * scf websocket清理函数命名空间。当前端类型是WEBSOCKET且后端类型是SCF时生效。 + * 插件定义语句,支持json。 * @type {string || null} */ - this.ServiceWebsocketCleanupFunctionNamespace = null; + this.PluginData = null; /** - * scf websocket清理函数版本。当前端类型是WEBSOCKET且后端类型是SCF时生效。 + * 插件描述,限定200字以内。 * @type {string || null} */ - this.ServiceWebsocketCleanupFunctionQualifier = null; + this.Description = null; /** - * 是否开启响应集成。当后端类型是SCF时生效。 - * @type {boolean || null} + * 标签 + * @type {Array. || null} */ - this.ServiceScfIsIntegratedResponse = null; + this.Tags = null; - /** - * 开始调试后计费。(云市场预留字段) - * @type {boolean || null} - */ - this.IsDebugAfterCharge = null; + } - /** - * 是否删除自定义响应配置错误码,如果不传或者传 False,不删除,当传 True 时,则删除此 API 所有自定义响应配置错误码。 - * @type {boolean || null} - */ - this.IsDeleteResponseErrorCodes = null; + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.PluginName = 'PluginName' in params ? params.PluginName : null; + this.PluginType = 'PluginType' in params ? params.PluginType : null; + this.PluginData = 'PluginData' in params ? params.PluginData : null; + this.Description = 'Description' in params ? params.Description : null; + + if (params.Tags) { + this.Tags = new Array(); + for (let z in params.Tags) { + let obj = new Tag(); + obj.deserialize(params.Tags[z]); + this.Tags.push(obj); + } + } + + } +} + +/** + * tsf类型入参 + * @class + */ +class MicroServiceReq extends AbstractModel { + constructor(){ + super(); /** - * 返回类型。 + * 微服务集群。 * @type {string || null} */ - this.ResponseType = null; + this.ClusterId = null; /** - * 自定义响应配置成功响应示例。 + * 微服务命名空间。 * @type {string || null} */ - this.ResponseSuccessExample = null; + this.NamespaceId = null; /** - * 自定义响应配置失败响应示例。 + * 微服务名称。 * @type {string || null} */ - this.ResponseFailExample = null; + this.MicroServiceName = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.ClusterId = 'ClusterId' in params ? params.ClusterId : null; + this.NamespaceId = 'NamespaceId' in params ? params.NamespaceId : null; + this.MicroServiceName = 'MicroServiceName' in params ? params.MicroServiceName : null; + + } +} + +/** + * ModifySubDomain返回参数结构体 + * @class + */ +class ModifySubDomainResponse extends AbstractModel { + constructor(){ + super(); /** - * API 的后端服务配置。 - * @type {ServiceConfig || null} + * 修改自定义域名操作是否成功。 + * @type {boolean || null} */ - this.ServiceConfig = null; + this.Result = null; /** - * 关联的授权API 唯一 ID,当AuthType为OAUTH且ApiBusinessType为NORMAL时生效。标示业务API绑定的oauth2.0授权API唯一ID。 + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 * @type {string || null} */ - this.AuthRelationApiId = null; + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Result = 'Result' in params ? params.Result : null; + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * DescribePlugins请求参数结构体 + * @class + */ +class DescribePluginsRequest extends AbstractModel { + constructor(){ + super(); /** - * API的后端服务参数。 - * @type {Array. || null} + * 要查询的插件列表。 + * @type {Array. || null} */ - this.ServiceParameters = null; + this.PluginIds = null; /** - * oauth配置。当AuthType是OAUTH时生效。 - * @type {OauthConfig || null} + * 要查询的插件名称。 + * @type {string || null} */ - this.OauthConfig = null; + this.PluginName = null; /** - * 用户自定义错误码配置。 - * @type {Array. || null} + * 要查询的插件类型。 + * @type {string || null} */ - this.ResponseErrorCodes = null; + this.PluginType = null; /** - * tsf serverless 命名空间ID。(内测中) - * @type {string || null} + * 返回数量,默认为 20,最大值为 100。 + * @type {number || null} */ - this.TargetNamespaceId = null; + this.Limit = null; /** - * 用户类型。 - * @type {string || null} + * 偏移量,默认为 0。 + * @type {number || null} */ - this.UserType = null; + this.Offset = null; /** - * 是否打开Base64编码,只有后端是scf时才会生效。 - * @type {boolean || null} + * 过滤条件。预留字段,目前不支持过滤。 + * @type {Array. || null} */ - this.IsBase64Encoded = null; + this.Filters = null; } @@ -5821,159 +6549,135 @@ class CreateApiRequest extends AbstractModel { if (!params) { return; } - this.ServiceId = 'ServiceId' in params ? params.ServiceId : null; - this.ServiceType = 'ServiceType' in params ? params.ServiceType : null; - this.ServiceTimeout = 'ServiceTimeout' in params ? params.ServiceTimeout : null; - this.Protocol = 'Protocol' in params ? params.Protocol : null; + this.PluginIds = 'PluginIds' in params ? params.PluginIds : null; + this.PluginName = 'PluginName' in params ? params.PluginName : null; + this.PluginType = 'PluginType' in params ? params.PluginType : null; + this.Limit = 'Limit' in params ? params.Limit : null; + this.Offset = 'Offset' in params ? params.Offset : null; - if (params.RequestConfig) { - let obj = new ApiRequestConfig(); - obj.deserialize(params.RequestConfig) - this.RequestConfig = obj; - } - this.ApiName = 'ApiName' in params ? params.ApiName : null; - this.ApiDesc = 'ApiDesc' in params ? params.ApiDesc : null; - this.ApiType = 'ApiType' in params ? params.ApiType : null; - this.AuthType = 'AuthType' in params ? params.AuthType : null; - this.EnableCORS = 'EnableCORS' in params ? params.EnableCORS : null; - - if (params.ConstantParameters) { - this.ConstantParameters = new Array(); - for (let z in params.ConstantParameters) { - let obj = new ConstantParameter(); - obj.deserialize(params.ConstantParameters[z]); - this.ConstantParameters.push(obj); - } - } - - if (params.RequestParameters) { - this.RequestParameters = new Array(); - for (let z in params.RequestParameters) { - let obj = new RequestParameter(); - obj.deserialize(params.RequestParameters[z]); - this.RequestParameters.push(obj); - } - } - this.ApiBusinessType = 'ApiBusinessType' in params ? params.ApiBusinessType : null; - this.ServiceMockReturnMessage = 'ServiceMockReturnMessage' in params ? params.ServiceMockReturnMessage : null; - - if (params.MicroServices) { - this.MicroServices = new Array(); - for (let z in params.MicroServices) { - let obj = new MicroServiceReq(); - obj.deserialize(params.MicroServices[z]); - this.MicroServices.push(obj); - } - } - - if (params.ServiceTsfLoadBalanceConf) { - let obj = new TsfLoadBalanceConfResp(); - obj.deserialize(params.ServiceTsfLoadBalanceConf) - this.ServiceTsfLoadBalanceConf = obj; - } - - if (params.ServiceTsfHealthCheckConf) { - let obj = new HealthCheckConf(); - obj.deserialize(params.ServiceTsfHealthCheckConf) - this.ServiceTsfHealthCheckConf = obj; + if (params.Filters) { + this.Filters = new Array(); + for (let z in params.Filters) { + let obj = new Filter(); + obj.deserialize(params.Filters[z]); + this.Filters.push(obj); + } } - if (params.TargetServices) { - this.TargetServices = new Array(); - for (let z in params.TargetServices) { - let obj = new TargetServicesReq(); - obj.deserialize(params.TargetServices[z]); - this.TargetServices.push(obj); - } - } - this.TargetServicesLoadBalanceConf = 'TargetServicesLoadBalanceConf' in params ? params.TargetServicesLoadBalanceConf : null; + } +} - if (params.TargetServicesHealthCheckConf) { - let obj = new HealthCheckConf(); - obj.deserialize(params.TargetServicesHealthCheckConf) - this.TargetServicesHealthCheckConf = obj; - } - this.ServiceScfFunctionName = 'ServiceScfFunctionName' in params ? params.ServiceScfFunctionName : null; - this.ServiceWebsocketRegisterFunctionName = 'ServiceWebsocketRegisterFunctionName' in params ? params.ServiceWebsocketRegisterFunctionName : null; - this.ServiceWebsocketCleanupFunctionName = 'ServiceWebsocketCleanupFunctionName' in params ? params.ServiceWebsocketCleanupFunctionName : null; - this.ServiceWebsocketTransportFunctionName = 'ServiceWebsocketTransportFunctionName' in params ? params.ServiceWebsocketTransportFunctionName : null; - this.ServiceScfFunctionNamespace = 'ServiceScfFunctionNamespace' in params ? params.ServiceScfFunctionNamespace : null; - this.ServiceScfFunctionQualifier = 'ServiceScfFunctionQualifier' in params ? params.ServiceScfFunctionQualifier : null; - this.ServiceWebsocketRegisterFunctionNamespace = 'ServiceWebsocketRegisterFunctionNamespace' in params ? params.ServiceWebsocketRegisterFunctionNamespace : null; - this.ServiceWebsocketRegisterFunctionQualifier = 'ServiceWebsocketRegisterFunctionQualifier' in params ? params.ServiceWebsocketRegisterFunctionQualifier : null; - this.ServiceWebsocketTransportFunctionNamespace = 'ServiceWebsocketTransportFunctionNamespace' in params ? params.ServiceWebsocketTransportFunctionNamespace : null; - this.ServiceWebsocketTransportFunctionQualifier = 'ServiceWebsocketTransportFunctionQualifier' in params ? params.ServiceWebsocketTransportFunctionQualifier : null; - this.ServiceWebsocketCleanupFunctionNamespace = 'ServiceWebsocketCleanupFunctionNamespace' in params ? params.ServiceWebsocketCleanupFunctionNamespace : null; - this.ServiceWebsocketCleanupFunctionQualifier = 'ServiceWebsocketCleanupFunctionQualifier' in params ? params.ServiceWebsocketCleanupFunctionQualifier : null; - this.ServiceScfIsIntegratedResponse = 'ServiceScfIsIntegratedResponse' in params ? params.ServiceScfIsIntegratedResponse : null; - this.IsDebugAfterCharge = 'IsDebugAfterCharge' in params ? params.IsDebugAfterCharge : null; - this.IsDeleteResponseErrorCodes = 'IsDeleteResponseErrorCodes' in params ? params.IsDeleteResponseErrorCodes : null; - this.ResponseType = 'ResponseType' in params ? params.ResponseType : null; - this.ResponseSuccessExample = 'ResponseSuccessExample' in params ? params.ResponseSuccessExample : null; - this.ResponseFailExample = 'ResponseFailExample' in params ? params.ResponseFailExample : null; +/** + * BindSecretIds请求参数结构体 + * @class + */ +class BindSecretIdsRequest extends AbstractModel { + constructor(){ + super(); - if (params.ServiceConfig) { - let obj = new ServiceConfig(); - obj.deserialize(params.ServiceConfig) - this.ServiceConfig = obj; - } - this.AuthRelationApiId = 'AuthRelationApiId' in params ? params.AuthRelationApiId : null; + /** + * 待绑定的使用计划唯一 ID。 + * @type {string || null} + */ + this.UsagePlanId = null; - if (params.ServiceParameters) { - this.ServiceParameters = new Array(); - for (let z in params.ServiceParameters) { - let obj = new ServiceParameter(); - obj.deserialize(params.ServiceParameters[z]); - this.ServiceParameters.push(obj); - } - } + /** + * 待绑定的密钥 ID 数组。 + * @type {Array. || null} + */ + this.AccessKeyIds = null; - if (params.OauthConfig) { - let obj = new OauthConfig(); - obj.deserialize(params.OauthConfig) - this.OauthConfig = obj; - } + } - if (params.ResponseErrorCodes) { - this.ResponseErrorCodes = new Array(); - for (let z in params.ResponseErrorCodes) { - let obj = new ResponseErrorCodeReq(); - obj.deserialize(params.ResponseErrorCodes[z]); - this.ResponseErrorCodes.push(obj); - } + /** + * @private + */ + deserialize(params) { + if (!params) { + return; } - this.TargetNamespaceId = 'TargetNamespaceId' in params ? params.TargetNamespaceId : null; - this.UserType = 'UserType' in params ? params.UserType : null; - this.IsBase64Encoded = 'IsBase64Encoded' in params ? params.IsBase64Encoded : null; + this.UsagePlanId = 'UsagePlanId' in params ? params.UsagePlanId : null; + this.AccessKeyIds = 'AccessKeyIds' in params ? params.AccessKeyIds : null; } } /** - * DescribeServiceEnvironmentStrategy请求参数结构体 + * 独享实例配置参数 * @class */ -class DescribeServiceEnvironmentStrategyRequest extends AbstractModel { +class ParameterInfo extends AbstractModel { constructor(){ super(); /** - * 服务唯一ID。 + * 名字 * @type {string || null} */ - this.ServiceId = null; + this.Name = null; /** - * 返回数量,默认为 20,最大值为 100。 + * 当前值 * @type {number || null} */ - this.Limit = null; + this.Value = null; /** - * 偏移量,默认为 0。 + * 默认值 * @type {number || null} */ - this.Offset = null; + this.Default = null; + + /** + * 单位 + * @type {string || null} + */ + this.Unit = null; + + /** + * 类型, integer|string + * @type {string || null} + */ + this.Type = null; + + /** + * 最小 + * @type {number || null} + */ + this.Minimum = null; + + /** + * 最大 + * @type {number || null} + */ + this.Maximum = null; + + /** + * 修改时间 + * @type {string || null} + */ + this.ModifedTime = null; + + /** + * 字符类型的值,当Type为string时才有意义 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.ValueString = null; + + /** + * 字符类型的默认值,当Type为string时才有意义 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.DefaultValueString = null; + + /** + * 可调整范围 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.Range = null; } @@ -5984,44 +6688,49 @@ class DescribeServiceEnvironmentStrategyRequest extends AbstractModel { if (!params) { return; } - this.ServiceId = 'ServiceId' in params ? params.ServiceId : null; - this.Limit = 'Limit' in params ? params.Limit : null; - this.Offset = 'Offset' in params ? params.Offset : null; + this.Name = 'Name' in params ? params.Name : null; + this.Value = 'Value' in params ? params.Value : null; + this.Default = 'Default' in params ? params.Default : null; + this.Unit = 'Unit' in params ? params.Unit : null; + this.Type = 'Type' in params ? params.Type : null; + this.Minimum = 'Minimum' in params ? params.Minimum : null; + this.Maximum = 'Maximum' in params ? params.Maximum : null; + this.ModifedTime = 'ModifedTime' in params ? params.ModifedTime : null; + this.ValueString = 'ValueString' in params ? params.ValueString : null; + this.DefaultValueString = 'DefaultValueString' in params ? params.DefaultValueString : null; + this.Range = 'Range' in params ? params.Range : null; } } /** - * ReleaseService请求参数结构体 + * 使用计划绑定密钥 * @class */ -class ReleaseServiceRequest extends AbstractModel { +class UsagePlanBindSecret extends AbstractModel { constructor(){ super(); /** - * 待发布服务的唯一 ID。 - * @type {string || null} - */ - this.ServiceId = null; - - /** - * 待发布的环境名称,当前支持三个环境,test(测试环境)、prepub(预发布环境)和 release(发布环境)。 + * 密钥ID。 +注意:此字段可能返回 null,表示取不到有效值。 * @type {string || null} */ - this.EnvironmentName = null; + this.AccessKeyId = null; /** - * 本次的发布描述。 + * 密钥名称。 +注意:此字段可能返回 null,表示取不到有效值。 * @type {string || null} */ - this.ReleaseDesc = null; + this.SecretName = null; /** - * apiId列表,预留字段,默认全量api发布。 - * @type {Array. || null} + * 密钥状态,0表示已禁用,1表示启用中。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {number || null} */ - this.ApiIds = null; + this.Status = null; } @@ -6032,34 +6741,26 @@ class ReleaseServiceRequest extends AbstractModel { if (!params) { return; } - this.ServiceId = 'ServiceId' in params ? params.ServiceId : null; - this.EnvironmentName = 'EnvironmentName' in params ? params.EnvironmentName : null; - this.ReleaseDesc = 'ReleaseDesc' in params ? params.ReleaseDesc : null; - this.ApiIds = 'ApiIds' in params ? params.ApiIds : null; + this.AccessKeyId = 'AccessKeyId' in params ? params.AccessKeyId : null; + this.SecretName = 'SecretName' in params ? params.SecretName : null; + this.Status = 'Status' in params ? params.Status : null; } } /** - * DeleteService返回参数结构体 + * DeleteApiKey请求参数结构体 * @class */ -class DeleteServiceResponse extends AbstractModel { +class DeleteApiKeyRequest extends AbstractModel { constructor(){ super(); /** - * 删除操作是否成功。 -注意:此字段可能返回 null,表示取不到有效值。 - * @type {boolean || null} - */ - this.Result = null; - - /** - * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * 待删除的密钥 ID。 * @type {string || null} */ - this.RequestId = null; + this.AccessKeyId = null; } @@ -6070,24 +6771,23 @@ class DeleteServiceResponse extends AbstractModel { if (!params) { return; } - this.Result = 'Result' in params ? params.Result : null; - this.RequestId = 'RequestId' in params ? params.RequestId : null; + this.AccessKeyId = 'AccessKeyId' in params ? params.AccessKeyId : null; } } /** - * DescribeServiceEnvironmentReleaseHistory返回参数结构体 + * DescribeIPStrategyApisStatus返回参数结构体 * @class */ -class DescribeServiceEnvironmentReleaseHistoryResponse extends AbstractModel { +class DescribeIPStrategyApisStatusResponse extends AbstractModel { constructor(){ super(); /** - * 服务发布历史。 + * 环境绑定API列表。 注意:此字段可能返回 null,表示取不到有效值。 - * @type {ServiceReleaseHistory || null} + * @type {IPStrategyApiStatus || null} */ this.Result = null; @@ -6108,7 +6808,7 @@ class DescribeServiceEnvironmentReleaseHistoryResponse extends AbstractModel { } if (params.Result) { - let obj = new ServiceReleaseHistory(); + let obj = new IPStrategyApiStatus(); obj.deserialize(params.Result) this.Result = obj; } @@ -6118,36 +6818,66 @@ class DescribeServiceEnvironmentReleaseHistoryResponse extends AbstractModel { } /** - * 服务发布的环境信息。 + * ModifyApiApp返回参数结构体 * @class */ -class Environment extends AbstractModel { +class ModifyApiAppResponse extends AbstractModel { constructor(){ super(); /** - * 环境名称。 - * @type {string || null} + * 修改操作是否成功。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {boolean || null} */ - this.EnvironmentName = null; + this.Result = null; /** - * 访问路径。 + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 * @type {string || null} */ - this.Url = null; + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Result = 'Result' in params ? params.Result : null; + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * UpdateApiAppKey请求参数结构体 + * @class + */ +class UpdateApiAppKeyRequest extends AbstractModel { + constructor(){ + super(); /** - * 发布状态,1 表示已发布,0 表示未发布。 - * @type {number || null} + * 应用唯一 ID。 + * @type {string || null} */ - this.Status = null; + this.ApiAppId = null; /** - * 运行版本。 + * 应用的Key。 * @type {string || null} */ - this.VersionName = null; + this.ApiAppKey = null; + + /** + * 应用的Secret。 + * @type {string || null} + */ + this.ApiAppSecret = null; } @@ -6158,33 +6888,68 @@ class Environment extends AbstractModel { if (!params) { return; } - this.EnvironmentName = 'EnvironmentName' in params ? params.EnvironmentName : null; - this.Url = 'Url' in params ? params.Url : null; - this.Status = 'Status' in params ? params.Status : null; - this.VersionName = 'VersionName' in params ? params.VersionName : null; + this.ApiAppId = 'ApiAppId' in params ? params.ApiAppId : null; + this.ApiAppKey = 'ApiAppKey' in params ? params.ApiAppKey : null; + this.ApiAppSecret = 'ApiAppSecret' in params ? params.ApiAppSecret : null; } } /** - * DescribeAPIDocs请求参数结构体 + * 服务自定义域名列表 * @class */ -class DescribeAPIDocsRequest extends AbstractModel { +class DomainSetList extends AbstractModel { constructor(){ super(); /** - * 返回数量,默认为 20,最大值为 100。 - * @type {number || null} + * 域名名称。 + * @type {string || null} */ - this.Limit = null; + this.DomainName = null; /** - * 偏移量,默认为 0。 + * 域名解析状态。1 表示正常解析,0 表示解析失败。 * @type {number || null} */ - this.Offset = null; + this.Status = null; + + /** + * 证书ID。 + * @type {string || null} + */ + this.CertificateId = null; + + /** + * 是否使用默认路径映射。 + * @type {boolean || null} + */ + this.IsDefaultMapping = null; + + /** + * 自定义域名协议类型。 + * @type {string || null} + */ + this.Protocol = null; + + /** + * 网络类型('INNER' 或 'OUTER')。 + * @type {string || null} + */ + this.NetType = null; + + /** + * 是否将HTTP请求强制跳转 HTTPS,默认为false。参数为 true时,API网关会将所有使用该自定义域名的 HTTP 协议的请求重定向至 HTTPS 协议进行转发。 + * @type {boolean || null} + */ + this.IsForcedHttps = null; + + /** + * 域名备案注册状态 + * @type {boolean || null} + */ + this.RegistrationStatus = null; } @@ -6195,40 +6960,39 @@ class DescribeAPIDocsRequest extends AbstractModel { if (!params) { return; } - this.Limit = 'Limit' in params ? params.Limit : null; - this.Offset = 'Offset' in params ? params.Offset : null; + this.DomainName = 'DomainName' in params ? params.DomainName : null; + this.Status = 'Status' in params ? params.Status : null; + this.CertificateId = 'CertificateId' in params ? params.CertificateId : null; + this.IsDefaultMapping = 'IsDefaultMapping' in params ? params.IsDefaultMapping : null; + this.Protocol = 'Protocol' in params ? params.Protocol : null; + this.NetType = 'NetType' in params ? params.NetType : null; + this.IsForcedHttps = 'IsForcedHttps' in params ? params.IsForcedHttps : null; + this.RegistrationStatus = 'RegistrationStatus' in params ? params.RegistrationStatus : null; } } /** - * 服务发布列表详情 + * 策略列表 * @class */ -class ServiceReleaseHistoryInfo extends AbstractModel { +class IPStrategysStatus extends AbstractModel { constructor(){ super(); /** - * 版本号。 -注意:此字段可能返回 null,表示取不到有效值。 - * @type {string || null} - */ - this.VersionName = null; - - /** - * 版本描述。 + * 策略数量。 注意:此字段可能返回 null,表示取不到有效值。 - * @type {string || null} + * @type {number || null} */ - this.VersionDesc = null; + this.TotalCount = null; /** - * 版本发布时间。 + * 策略列表。 注意:此字段可能返回 null,表示取不到有效值。 - * @type {string || null} + * @type {Array. || null} */ - this.ReleaseTime = null; + this.StrategySet = null; } @@ -6239,24 +7003,32 @@ class ServiceReleaseHistoryInfo extends AbstractModel { if (!params) { return; } - this.VersionName = 'VersionName' in params ? params.VersionName : null; - this.VersionDesc = 'VersionDesc' in params ? params.VersionDesc : null; - this.ReleaseTime = 'ReleaseTime' in params ? params.ReleaseTime : null; + this.TotalCount = 'TotalCount' in params ? params.TotalCount : null; + + if (params.StrategySet) { + this.StrategySet = new Array(); + for (let z in params.StrategySet) { + let obj = new IPStrategy(); + obj.deserialize(params.StrategySet[z]); + this.StrategySet.push(obj); + } + } } } /** - * DescribePlugins返回参数结构体 + * DescribeApiKey返回参数结构体 * @class */ -class DescribePluginsResponse extends AbstractModel { +class DescribeApiKeyResponse extends AbstractModel { constructor(){ super(); /** - * 插件详情。 - * @type {PluginSummary || null} + * 密钥详情。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {ApiKey || null} */ this.Result = null; @@ -6277,7 +7049,7 @@ class DescribePluginsResponse extends AbstractModel { } if (params.Result) { - let obj = new PluginSummary(); + let obj = new ApiKey(); obj.deserialize(params.Result) this.Result = obj; } @@ -6287,19 +7059,13 @@ class DescribePluginsResponse extends AbstractModel { } /** - * ReleaseService返回参数结构体 + * ModifyApiIncrement返回参数结构体 * @class */ -class ReleaseServiceResponse extends AbstractModel { +class ModifyApiIncrementResponse extends AbstractModel { constructor(){ super(); - /** - * 发布信息。 - * @type {ReleaseService || null} - */ - this.Result = null; - /** * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 * @type {string || null} @@ -6315,383 +7081,342 @@ class ReleaseServiceResponse extends AbstractModel { if (!params) { return; } - - if (params.Result) { - let obj = new ReleaseService(); - obj.deserialize(params.Result) - this.Result = obj; - } this.RequestId = 'RequestId' in params ? params.RequestId : null; } } /** - * API文档详细信息 + * ModifyApi请求参数结构体 * @class */ -class APIDocInfo extends AbstractModel { +class ModifyApiRequest extends AbstractModel { constructor(){ super(); /** - * API文档ID + * API 所在的服务唯一 ID。 * @type {string || null} */ - this.ApiDocId = null; + this.ServiceId = null; /** - * API文档名称 + * API 的后端服务类型。支持HTTP、MOCK、TSF、CLB、SCF、WEBSOCKET、TARGET(内测)。 * @type {string || null} */ - this.ApiDocName = null; + this.ServiceType = null; /** - * API文档构建状态 - * @type {string || null} + * 请求的前端配置。 + * @type {RequestConfig || null} */ - this.ApiDocStatus = null; + this.RequestConfig = null; /** - * API文档API数量 - * @type {number || null} + * API 接口唯一 ID。 + * @type {string || null} */ - this.ApiCount = null; + this.ApiId = null; /** - * API文档查看次数 - * @type {number || null} + * 用户自定义的 API 名称。 + * @type {string || null} */ - this.ViewCount = null; + this.ApiName = null; /** - * API文档发布次数 - * @type {number || null} + * 用户自定义的 API 接口描述。 + * @type {string || null} */ - this.ReleaseCount = null; + this.ApiDesc = null; /** - * API文档访问URI + * API 类型,支持NORMAL和TSF,默认为NORMAL。 * @type {string || null} */ - this.ApiDocUri = null; + this.ApiType = null; /** - * API文档分享密码 + * API 鉴权类型。支持SECRET、NONE、OAUTH、APP。默认为NONE。 * @type {string || null} */ - this.SharePassword = null; + this.AuthType = null; /** - * API文档更新时间 - * @type {string || null} + * 是否需要签名认证,True 表示需要,False 表示不需要。待废弃。 + * @type {boolean || null} */ - this.UpdatedTime = null; + this.AuthRequired = null; /** - * 服务ID - * @type {string || null} + * API 的后端服务超时时间,单位是秒。 + * @type {number || null} */ - this.ServiceId = null; + this.ServiceTimeout = null; /** - * 环境信息 + * API 的前端请求类型,如 HTTP 或 HTTPS 或者 HTTP 和 HTTPS。 * @type {string || null} */ - this.Environment = null; + this.Protocol = null; /** - * 生成API文档的API ID - * @type {Array. || null} + * 是否需要开启跨域,Ture 表示需要,False 表示不需要。 + * @type {boolean || null} */ - this.ApiIds = null; + this.EnableCORS = null; /** - * 服务名称 + * 常量参数。 + * @type {Array. || null} + */ + this.ConstantParameters = null; + + /** + * 前端请求参数。 + * @type {Array. || null} + */ + this.RequestParameters = null; + + /** + * 当AuthType 为 OAUTH时,该字段有效, NORMAL:业务api OAUTH:授权API。 * @type {string || null} */ - this.ServiceName = null; + this.ApiBusinessType = null; /** - * 生成API文档的API名称 - * @type {Array. || null} + * API 的后端 Mock 返回信息。如果 ServiceType 是 Mock,则此参数必传。 + * @type {string || null} */ - this.ApiNames = null; + this.ServiceMockReturnMessage = null; - } + /** + * API绑定微服务服务列表。 + * @type {Array. || null} + */ + this.MicroServices = null; - /** - * @private - */ - deserialize(params) { - if (!params) { - return; - } - this.ApiDocId = 'ApiDocId' in params ? params.ApiDocId : null; - this.ApiDocName = 'ApiDocName' in params ? params.ApiDocName : null; - this.ApiDocStatus = 'ApiDocStatus' in params ? params.ApiDocStatus : null; - this.ApiCount = 'ApiCount' in params ? params.ApiCount : null; - this.ViewCount = 'ViewCount' in params ? params.ViewCount : null; - this.ReleaseCount = 'ReleaseCount' in params ? params.ReleaseCount : null; - this.ApiDocUri = 'ApiDocUri' in params ? params.ApiDocUri : null; - this.SharePassword = 'SharePassword' in params ? params.SharePassword : null; - this.UpdatedTime = 'UpdatedTime' in params ? params.UpdatedTime : null; - this.ServiceId = 'ServiceId' in params ? params.ServiceId : null; - this.Environment = 'Environment' in params ? params.Environment : null; - this.ApiIds = 'ApiIds' in params ? params.ApiIds : null; - this.ServiceName = 'ServiceName' in params ? params.ServiceName : null; - this.ApiNames = 'ApiNames' in params ? params.ApiNames : null; - - } -} + /** + * 微服务的负载均衡配置。 + * @type {TsfLoadBalanceConfResp || null} + */ + this.ServiceTsfLoadBalanceConf = null; -/** - * 插件列表详情。 - * @class - */ -class PluginSummary extends AbstractModel { - constructor(){ - super(); + /** + * 微服务的健康检查配置。 + * @type {HealthCheckConf || null} + */ + this.ServiceTsfHealthCheckConf = null; /** - * 插件个数。 + * target类型负载均衡配置。(内测阶段) * @type {number || null} */ - this.TotalCount = null; + this.TargetServicesLoadBalanceConf = null; /** - * 插件详情。 - * @type {Array. || null} + * target健康检查配置。(内测阶段) + * @type {HealthCheckConf || null} */ - this.PluginSet = null; - - } - - /** - * @private - */ - deserialize(params) { - if (!params) { - return; - } - this.TotalCount = 'TotalCount' in params ? params.TotalCount : null; - - if (params.PluginSet) { - this.PluginSet = new Array(); - for (let z in params.PluginSet) { - let obj = new Plugin(); - obj.deserialize(params.PluginSet[z]); - this.PluginSet.push(obj); - } - } - - } -} - -/** - * ModifyApiIncrement请求参数结构体 - * @class - */ -class ModifyApiIncrementRequest extends AbstractModel { - constructor(){ - super(); + this.TargetServicesHealthCheckConf = null; /** - * 服务ID + * scf 函数名称。当后端类型是SCF时生效。 * @type {string || null} */ - this.ServiceId = null; + this.ServiceScfFunctionName = null; /** - * 接口ID + * scf websocket注册函数。当前端类型是WEBSOCKET且后端类型是SCF时生效。 * @type {string || null} */ - this.ApiId = null; + this.ServiceWebsocketRegisterFunctionName = null; /** - * 需要修改的API auth类型(可选择OAUTH-授权API) + * scf websocket清理函数。当前端类型是WEBSOCKET且后端类型是SCF时生效。 * @type {string || null} */ - this.BusinessType = null; + this.ServiceWebsocketCleanupFunctionName = null; /** - * oauth接口需要修改的公钥值 + * scf websocket传输函数。当前端类型是WEBSOCKET且后端类型是SCF时生效。 * @type {string || null} */ - this.PublicKey = null; + this.ServiceWebsocketTransportFunctionName = null; /** - * oauth接口重定向地址 + * scf 函数命名空间。当后端类型是SCF时生效。 * @type {string || null} */ - this.LoginRedirectUrl = null; - - } - - /** - * @private - */ - deserialize(params) { - if (!params) { - return; - } - this.ServiceId = 'ServiceId' in params ? params.ServiceId : null; - this.ApiId = 'ApiId' in params ? params.ApiId : null; - this.BusinessType = 'BusinessType' in params ? params.BusinessType : null; - this.PublicKey = 'PublicKey' in params ? params.PublicKey : null; - this.LoginRedirectUrl = 'LoginRedirectUrl' in params ? params.LoginRedirectUrl : null; - - } -} - -/** - * GenerateApiDocument请求参数结构体 - * @class - */ -class GenerateApiDocumentRequest extends AbstractModel { - constructor(){ - super(); + this.ServiceScfFunctionNamespace = null; /** - * 待创建文档的服务唯一 ID。 + * scf函数版本。当后端类型是SCF时生效。 * @type {string || null} */ - this.ServiceId = null; + this.ServiceScfFunctionQualifier = null; /** - * 待创建 SDK 的服务所在环境。 + * scf websocket注册函数命名空间。当前端类型是WEBSOCKET且后端类型是SCF时生效。 * @type {string || null} */ - this.GenEnvironment = null; + this.ServiceWebsocketRegisterFunctionNamespace = null; /** - * 待创建 SDK 的语言。当前只支持 Python 和 JavaScript。 + * scf websocket传输函数版本。当前端类型是WEBSOCKET且后端类型是SCF时生效。 * @type {string || null} */ - this.GenLanguage = null; + this.ServiceWebsocketRegisterFunctionQualifier = null; - } + /** + * scf websocket传输函数命名空间。当前端类型是WEBSOCKET且后端类型是SCF时生效。 + * @type {string || null} + */ + this.ServiceWebsocketTransportFunctionNamespace = null; - /** - * @private - */ - deserialize(params) { - if (!params) { - return; - } - this.ServiceId = 'ServiceId' in params ? params.ServiceId : null; - this.GenEnvironment = 'GenEnvironment' in params ? params.GenEnvironment : null; - this.GenLanguage = 'GenLanguage' in params ? params.GenLanguage : null; + /** + * scf websocket传输函数版本。当前端类型是WEBSOCKET且后端类型是SCF时生效。 + * @type {string || null} + */ + this.ServiceWebsocketTransportFunctionQualifier = null; - } -} + /** + * scf websocket清理函数命名空间。当前端类型是WEBSOCKET且后端类型是SCF时生效。 + * @type {string || null} + */ + this.ServiceWebsocketCleanupFunctionNamespace = null; -/** - * 服务绑定使用计划列表 - * @class - */ -class ServiceUsagePlanSet extends AbstractModel { - constructor(){ - super(); + /** + * scf websocket清理函数版本。当前端类型是WEBSOCKET且后端类型是SCF时生效。 + * @type {string || null} + */ + this.ServiceWebsocketCleanupFunctionQualifier = null; /** - * 服务上绑定的使用计划总数。 -注意:此字段可能返回 null,表示取不到有效值。 - * @type {number || null} + * 是否开启响应集成。当后端类型是SCF时生效。 + * @type {boolean || null} */ - this.TotalCount = null; + this.ServiceScfIsIntegratedResponse = null; /** - * 服务上绑定的使用计划列表。 -注意:此字段可能返回 null,表示取不到有效值。 - * @type {Array. || null} + * 开始调试后计费。(云市场预留字段) + * @type {boolean || null} */ - this.ServiceUsagePlanList = null; + this.IsDebugAfterCharge = null; - } + /** + * 标签。 + * @type {Tag || null} + */ + this.TagSpecifications = null; - /** - * @private - */ - deserialize(params) { - if (!params) { - return; - } - this.TotalCount = 'TotalCount' in params ? params.TotalCount : null; + /** + * 是否删除自定义响应配置错误码,如果不传或者传 False,不删除,当传 True 时,则删除此 API 所有自定义响应配置错误码。 + * @type {boolean || null} + */ + this.IsDeleteResponseErrorCodes = null; - if (params.ServiceUsagePlanList) { - this.ServiceUsagePlanList = new Array(); - for (let z in params.ServiceUsagePlanList) { - let obj = new ApiUsagePlan(); - obj.deserialize(params.ServiceUsagePlanList[z]); - this.ServiceUsagePlanList.push(obj); - } - } + /** + * 返回类型。 + * @type {string || null} + */ + this.ResponseType = null; - } -} + /** + * 自定义响应配置成功响应示例。 + * @type {string || null} + */ + this.ResponseSuccessExample = null; -/** - * DescribeIPStrategyApisStatus返回参数结构体 - * @class - */ -class DescribeIPStrategyApisStatusResponse extends AbstractModel { - constructor(){ - super(); + /** + * 自定义响应配置失败响应示例。 + * @type {string || null} + */ + this.ResponseFailExample = null; /** - * 环境绑定API列表。 -注意:此字段可能返回 null,表示取不到有效值。 - * @type {IPStrategyApiStatus || null} + * API 的后端服务配置。 + * @type {ServiceConfig || null} */ - this.Result = null; + this.ServiceConfig = null; /** - * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * 关联的授权API 唯一 ID,当AuthType为OAUTH且ApiBusinessType为NORMAL时生效。标示业务API绑定的oauth2.0授权API唯一ID。 * @type {string || null} */ - this.RequestId = null; - - } + this.AuthRelationApiId = null; - /** - * @private - */ - deserialize(params) { - if (!params) { - return; - } + /** + * API的后端服务参数。 + * @type {Array. || null} + */ + this.ServiceParameters = null; - if (params.Result) { - let obj = new IPStrategyApiStatus(); - obj.deserialize(params.Result) - this.Result = obj; - } - this.RequestId = 'RequestId' in params ? params.RequestId : null; + /** + * oauth配置。当AuthType是OAUTH时生效。 + * @type {OauthConfig || null} + */ + this.OauthConfig = null; - } -} + /** + * 用户自定义错误码配置。 + * @type {Array. || null} + */ + this.ResponseErrorCodes = null; -/** - * ModifyServiceEnvironmentStrategy返回参数结构体 - * @class - */ -class ModifyServiceEnvironmentStrategyResponse extends AbstractModel { - constructor(){ - super(); + /** + * 是否开启Base64编码,只有后端为scf时才会生效。 + * @type {boolean || null} + */ + this.IsBase64Encoded = null; /** - * 修改操作是否成功。 -注意:此字段可能返回 null,表示取不到有效值。 + * 是否开启Base64编码的header触发,只有后端为scf时才会生效。 * @type {boolean || null} */ - this.Result = null; + this.IsBase64Trigger = null; /** - * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * Header触发规则,总规则数不能超过10。 + * @type {Array. || null} + */ + this.Base64EncodedTriggerRules = null; + + /** + * 事件总线ID。 * @type {string || null} */ - this.RequestId = null; + this.EventBusId = null; + + /** + * scf函数类型。当后端类型是SCF时生效。支持事件触发(EVENT),http直通云函数(HTTP)。 + * @type {string || null} + */ + this.ServiceScfFunctionType = null; + + /** + * EIAM应用类型。 + * @type {string || null} + */ + this.EIAMAppType = null; + + /** + * EIAM应用认证类型,支持仅认证(AuthenticationOnly)、认证和鉴权(Authorization)。 + * @type {string || null} + */ + this.EIAMAuthType = null; + + /** + * EIAM应用Token 有效时间,单位为秒,默认为7200秒。 + * @type {string || null} + */ + this.EIAMAppId = null; + + /** + * EIAM应用ID。 + * @type {number || null} + */ + this.TokenTimeout = null; } @@ -6702,24 +7427,158 @@ class ModifyServiceEnvironmentStrategyResponse extends AbstractModel { if (!params) { return; } - this.Result = 'Result' in params ? params.Result : null; - this.RequestId = 'RequestId' in params ? params.RequestId : null; + this.ServiceId = 'ServiceId' in params ? params.ServiceId : null; + this.ServiceType = 'ServiceType' in params ? params.ServiceType : null; + + if (params.RequestConfig) { + let obj = new RequestConfig(); + obj.deserialize(params.RequestConfig) + this.RequestConfig = obj; + } + this.ApiId = 'ApiId' in params ? params.ApiId : null; + this.ApiName = 'ApiName' in params ? params.ApiName : null; + this.ApiDesc = 'ApiDesc' in params ? params.ApiDesc : null; + this.ApiType = 'ApiType' in params ? params.ApiType : null; + this.AuthType = 'AuthType' in params ? params.AuthType : null; + this.AuthRequired = 'AuthRequired' in params ? params.AuthRequired : null; + this.ServiceTimeout = 'ServiceTimeout' in params ? params.ServiceTimeout : null; + this.Protocol = 'Protocol' in params ? params.Protocol : null; + this.EnableCORS = 'EnableCORS' in params ? params.EnableCORS : null; + + if (params.ConstantParameters) { + this.ConstantParameters = new Array(); + for (let z in params.ConstantParameters) { + let obj = new ConstantParameter(); + obj.deserialize(params.ConstantParameters[z]); + this.ConstantParameters.push(obj); + } + } + + if (params.RequestParameters) { + this.RequestParameters = new Array(); + for (let z in params.RequestParameters) { + let obj = new ReqParameter(); + obj.deserialize(params.RequestParameters[z]); + this.RequestParameters.push(obj); + } + } + this.ApiBusinessType = 'ApiBusinessType' in params ? params.ApiBusinessType : null; + this.ServiceMockReturnMessage = 'ServiceMockReturnMessage' in params ? params.ServiceMockReturnMessage : null; + + if (params.MicroServices) { + this.MicroServices = new Array(); + for (let z in params.MicroServices) { + let obj = new MicroServiceReq(); + obj.deserialize(params.MicroServices[z]); + this.MicroServices.push(obj); + } + } + + if (params.ServiceTsfLoadBalanceConf) { + let obj = new TsfLoadBalanceConfResp(); + obj.deserialize(params.ServiceTsfLoadBalanceConf) + this.ServiceTsfLoadBalanceConf = obj; + } + + if (params.ServiceTsfHealthCheckConf) { + let obj = new HealthCheckConf(); + obj.deserialize(params.ServiceTsfHealthCheckConf) + this.ServiceTsfHealthCheckConf = obj; + } + this.TargetServicesLoadBalanceConf = 'TargetServicesLoadBalanceConf' in params ? params.TargetServicesLoadBalanceConf : null; + + if (params.TargetServicesHealthCheckConf) { + let obj = new HealthCheckConf(); + obj.deserialize(params.TargetServicesHealthCheckConf) + this.TargetServicesHealthCheckConf = obj; + } + this.ServiceScfFunctionName = 'ServiceScfFunctionName' in params ? params.ServiceScfFunctionName : null; + this.ServiceWebsocketRegisterFunctionName = 'ServiceWebsocketRegisterFunctionName' in params ? params.ServiceWebsocketRegisterFunctionName : null; + this.ServiceWebsocketCleanupFunctionName = 'ServiceWebsocketCleanupFunctionName' in params ? params.ServiceWebsocketCleanupFunctionName : null; + this.ServiceWebsocketTransportFunctionName = 'ServiceWebsocketTransportFunctionName' in params ? params.ServiceWebsocketTransportFunctionName : null; + this.ServiceScfFunctionNamespace = 'ServiceScfFunctionNamespace' in params ? params.ServiceScfFunctionNamespace : null; + this.ServiceScfFunctionQualifier = 'ServiceScfFunctionQualifier' in params ? params.ServiceScfFunctionQualifier : null; + this.ServiceWebsocketRegisterFunctionNamespace = 'ServiceWebsocketRegisterFunctionNamespace' in params ? params.ServiceWebsocketRegisterFunctionNamespace : null; + this.ServiceWebsocketRegisterFunctionQualifier = 'ServiceWebsocketRegisterFunctionQualifier' in params ? params.ServiceWebsocketRegisterFunctionQualifier : null; + this.ServiceWebsocketTransportFunctionNamespace = 'ServiceWebsocketTransportFunctionNamespace' in params ? params.ServiceWebsocketTransportFunctionNamespace : null; + this.ServiceWebsocketTransportFunctionQualifier = 'ServiceWebsocketTransportFunctionQualifier' in params ? params.ServiceWebsocketTransportFunctionQualifier : null; + this.ServiceWebsocketCleanupFunctionNamespace = 'ServiceWebsocketCleanupFunctionNamespace' in params ? params.ServiceWebsocketCleanupFunctionNamespace : null; + this.ServiceWebsocketCleanupFunctionQualifier = 'ServiceWebsocketCleanupFunctionQualifier' in params ? params.ServiceWebsocketCleanupFunctionQualifier : null; + this.ServiceScfIsIntegratedResponse = 'ServiceScfIsIntegratedResponse' in params ? params.ServiceScfIsIntegratedResponse : null; + this.IsDebugAfterCharge = 'IsDebugAfterCharge' in params ? params.IsDebugAfterCharge : null; + + if (params.TagSpecifications) { + let obj = new Tag(); + obj.deserialize(params.TagSpecifications) + this.TagSpecifications = obj; + } + this.IsDeleteResponseErrorCodes = 'IsDeleteResponseErrorCodes' in params ? params.IsDeleteResponseErrorCodes : null; + this.ResponseType = 'ResponseType' in params ? params.ResponseType : null; + this.ResponseSuccessExample = 'ResponseSuccessExample' in params ? params.ResponseSuccessExample : null; + this.ResponseFailExample = 'ResponseFailExample' in params ? params.ResponseFailExample : null; + + if (params.ServiceConfig) { + let obj = new ServiceConfig(); + obj.deserialize(params.ServiceConfig) + this.ServiceConfig = obj; + } + this.AuthRelationApiId = 'AuthRelationApiId' in params ? params.AuthRelationApiId : null; + + if (params.ServiceParameters) { + this.ServiceParameters = new Array(); + for (let z in params.ServiceParameters) { + let obj = new ServiceParameter(); + obj.deserialize(params.ServiceParameters[z]); + this.ServiceParameters.push(obj); + } + } + + if (params.OauthConfig) { + let obj = new OauthConfig(); + obj.deserialize(params.OauthConfig) + this.OauthConfig = obj; + } + + if (params.ResponseErrorCodes) { + this.ResponseErrorCodes = new Array(); + for (let z in params.ResponseErrorCodes) { + let obj = new ResponseErrorCodeReq(); + obj.deserialize(params.ResponseErrorCodes[z]); + this.ResponseErrorCodes.push(obj); + } + } + this.IsBase64Encoded = 'IsBase64Encoded' in params ? params.IsBase64Encoded : null; + this.IsBase64Trigger = 'IsBase64Trigger' in params ? params.IsBase64Trigger : null; + + if (params.Base64EncodedTriggerRules) { + this.Base64EncodedTriggerRules = new Array(); + for (let z in params.Base64EncodedTriggerRules) { + let obj = new Base64EncodedTriggerRule(); + obj.deserialize(params.Base64EncodedTriggerRules[z]); + this.Base64EncodedTriggerRules.push(obj); + } + } + this.EventBusId = 'EventBusId' in params ? params.EventBusId : null; + this.ServiceScfFunctionType = 'ServiceScfFunctionType' in params ? params.ServiceScfFunctionType : null; + this.EIAMAppType = 'EIAMAppType' in params ? params.EIAMAppType : null; + this.EIAMAuthType = 'EIAMAuthType' in params ? params.EIAMAuthType : null; + this.EIAMAppId = 'EIAMAppId' in params ? params.EIAMAppId : null; + this.TokenTimeout = 'TokenTimeout' in params ? params.TokenTimeout : null; } } /** - * UpdateApiKey返回参数结构体 + * DescribeAllPluginApis返回参数结构体 * @class */ -class UpdateApiKeyResponse extends AbstractModel { +class DescribeAllPluginApisResponse extends AbstractModel { constructor(){ super(); /** - * 更换后的密钥详情。 -注意:此字段可能返回 null,表示取不到有效值。 - * @type {ApiKey || null} + * 插件相关API的列表。 + * @type {ApiInfoSummary || null} */ this.Result = null; @@ -6740,7 +7599,7 @@ class UpdateApiKeyResponse extends AbstractModel { } if (params.Result) { - let obj = new ApiKey(); + let obj = new ApiInfoSummary(); obj.deserialize(params.Result) this.Result = obj; } @@ -6750,24 +7609,42 @@ class UpdateApiKeyResponse extends AbstractModel { } /** - * DescribeApisStatus返回参数结构体 + * ModifyUsagePlan请求参数结构体 * @class */ -class DescribeApisStatusResponse extends AbstractModel { +class ModifyUsagePlanRequest extends AbstractModel { constructor(){ super(); /** - * API 详情列表。 - * @type {ApisStatus || null} + * 使用计划唯一 ID。 + * @type {string || null} */ - this.Result = null; + this.UsagePlanId = null; /** - * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * 修改后的用户自定义的使用计划名称。 * @type {string || null} */ - this.RequestId = null; + this.UsagePlanName = null; + + /** + * 修改后的用户自定义的使用计划描述。 + * @type {string || null} + */ + this.UsagePlanDesc = null; + + /** + * 请求配额总数,取值范围为-1或者[1, 99999999],默认为-1,表示不开启。 + * @type {number || null} + */ + this.MaxRequestNum = null; + + /** + * 每秒请求限制数,取值范围为-1或者[1, 2000],默认-1,表示不开启。 + * @type {number || null} + */ + this.MaxRequestNumPreSec = null; } @@ -6778,42 +7655,34 @@ class DescribeApisStatusResponse extends AbstractModel { if (!params) { return; } - - if (params.Result) { - let obj = new ApisStatus(); - obj.deserialize(params.Result) - this.Result = obj; - } - this.RequestId = 'RequestId' in params ? params.RequestId : null; + this.UsagePlanId = 'UsagePlanId' in params ? params.UsagePlanId : null; + this.UsagePlanName = 'UsagePlanName' in params ? params.UsagePlanName : null; + this.UsagePlanDesc = 'UsagePlanDesc' in params ? params.UsagePlanDesc : null; + this.MaxRequestNum = 'MaxRequestNum' in params ? params.MaxRequestNum : null; + this.MaxRequestNumPreSec = 'MaxRequestNumPreSec' in params ? params.MaxRequestNumPreSec : null; } } /** - * DescribeApiKeysStatus请求参数结构体 + * api请求配置 * @class */ -class DescribeApiKeysStatusRequest extends AbstractModel { +class ApiRequestConfig extends AbstractModel { constructor(){ super(); /** - * 返回数量,默认为 20,最大值为 100。 - * @type {number || null} - */ - this.Limit = null; - - /** - * 偏移量,默认为 0。 - * @type {number || null} + * path + * @type {string || null} */ - this.Offset = null; + this.Path = null; /** - * 过滤条件。支持AccessKeyId、AccessKeySecret、SecretName、NotUsagePlanId、Status、KeyWord( 可以匹配name或者path)。 - * @type {Array. || null} + * 方法 + * @type {string || null} */ - this.Filters = null; + this.Method = null; } @@ -6824,459 +7693,637 @@ class DescribeApiKeysStatusRequest extends AbstractModel { if (!params) { return; } - this.Limit = 'Limit' in params ? params.Limit : null; - this.Offset = 'Offset' in params ? params.Offset : null; - - if (params.Filters) { - this.Filters = new Array(); - for (let z in params.Filters) { - let obj = new Filter(); - obj.deserialize(params.Filters[z]); - this.Filters.push(obj); - } - } + this.Path = 'Path' in params ? params.Path : null; + this.Method = 'Method' in params ? params.Method : null; } } /** - * 展示api信息 + * ModifyService请求参数结构体 * @class */ -class ApiInfo extends AbstractModel { +class ModifyServiceRequest extends AbstractModel { constructor(){ super(); /** - * API 所在的服务唯一 ID。 -注意:此字段可能返回 null,表示取不到有效值。 + * 待修改服务的唯一 Id。 * @type {string || null} */ this.ServiceId = null; /** - * API 所在的服务的名称。 -注意:此字段可能返回 null,表示取不到有效值。 + * 修改后的服务名称。 * @type {string || null} */ this.ServiceName = null; /** - * API 所在的服务的描述。 -注意:此字段可能返回 null,表示取不到有效值。 + * 修改后的服务描述。 * @type {string || null} */ this.ServiceDesc = null; /** - * API 接口唯一 ID。 -注意:此字段可能返回 null,表示取不到有效值。 + * 修改后的服务前端请求类型,如 http、https和 http&https。 * @type {string || null} */ - this.ApiId = null; + this.Protocol = null; /** - * API 接口的描述。 -注意:此字段可能返回 null,表示取不到有效值。 - * @type {string || null} + * 网络类型列表,用于指定支持的访问类型,INNER为内网访问,OUTER为外网访问。默认为OUTER。 + * @type {Array. || null} */ - this.ApiDesc = null; + this.NetTypes = null; - /** - * 创建时间,按照 ISO8601 标准表示,并且使用 UTC 时间。格式为:YYYY-MM-DDThh:mm:ssZ。 -注意:此字段可能返回 null,表示取不到有效值。 - * @type {string || null} - */ - this.CreatedTime = null; + } - /** - * 最后修改时间,按照 ISO8601 标准表示,并且使用 UTC 时间。格式为:YYYY-MM-DDThh:mm:ssZ。 -注意:此字段可能返回 null,表示取不到有效值。 - * @type {string || null} - */ - this.ModifiedTime = null; + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.ServiceId = 'ServiceId' in params ? params.ServiceId : null; + this.ServiceName = 'ServiceName' in params ? params.ServiceName : null; + this.ServiceDesc = 'ServiceDesc' in params ? params.ServiceDesc : null; + this.Protocol = 'Protocol' in params ? params.Protocol : null; + this.NetTypes = 'NetTypes' in params ? params.NetTypes : null; - /** - * API 接口的名称。 -注意:此字段可能返回 null,表示取不到有效值。 - * @type {string || null} - */ - this.ApiName = null; + } +} - /** - * API 类型。可取值为NORMAL(普通API)、TSF(微服务API)。 -注意:此字段可能返回 null,表示取不到有效值。 - * @type {string || null} - */ - this.ApiType = null; +/** + * DescribeAllPluginApis请求参数结构体 + * @class + */ +class DescribeAllPluginApisRequest extends AbstractModel { + constructor(){ + super(); /** - * API 的前端请求类型,如 HTTP 或 HTTPS 或者 HTTP 和 HTTPS。 -注意:此字段可能返回 null,表示取不到有效值。 + * 要查询的服务ID。 * @type {string || null} */ - this.Protocol = null; + this.ServiceId = null; /** - * API 鉴权类型。可取值为 SECRET(密钥对鉴权)、NONE(免鉴权)、OAUTH。 -注意:此字段可能返回 null,表示取不到有效值。 + * 要查询的插件ID。 * @type {string || null} */ - this.AuthType = null; + this.PluginId = null; /** - * OAUTH API的类型。可取值为NORMAL(业务API)、OAUTH(授权API)。 -注意:此字段可能返回 null,表示取不到有效值。 + * 环境信息。 * @type {string || null} */ - this.ApiBusinessType = null; + this.EnvironmentName = null; /** - * OAUTH 业务API 关联的授权API 唯一 ID。 -注意:此字段可能返回 null,表示取不到有效值。 - * @type {string || null} + * 返回数量,默认为 20,最大值为 100。 + * @type {number || null} */ - this.AuthRelationApiId = null; + this.Limit = null; /** - * OAUTH配置。 -注意:此字段可能返回 null,表示取不到有效值。 - * @type {OauthConfig || null} + * 偏移量,默认为 0。 + * @type {number || null} */ - this.OauthConfig = null; + this.Offset = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.ServiceId = 'ServiceId' in params ? params.ServiceId : null; + this.PluginId = 'PluginId' in params ? params.PluginId : null; + this.EnvironmentName = 'EnvironmentName' in params ? params.EnvironmentName : null; + this.Limit = 'Limit' in params ? params.Limit : null; + this.Offset = 'Offset' in params ? params.Offset : null; + + } +} + +/** + * API状态 + * @class + */ +class ApiIdStatus extends AbstractModel { + constructor(){ + super(); /** - * 是否购买后调试(云市场预留参数)。 -注意:此字段可能返回 null,表示取不到有效值。 - * @type {boolean || null} + * 服务唯一ID。 + * @type {string || null} */ - this.IsDebugAfterCharge = null; + this.ServiceId = null; /** - * 请求的前端配置。 -注意:此字段可能返回 null,表示取不到有效值。 - * @type {RequestConfig || null} + * API唯一ID。 + * @type {string || null} */ - this.RequestConfig = null; + this.ApiId = null; /** - * 返回类型。 -注意:此字段可能返回 null,表示取不到有效值。 + * API描述 * @type {string || null} */ - this.ResponseType = null; + this.ApiDesc = null; /** - * 自定义响应配置成功响应示例。 -注意:此字段可能返回 null,表示取不到有效值。 + * API PATH。 * @type {string || null} */ - this.ResponseSuccessExample = null; + this.Path = null; /** - * 自定义响应配置失败响应示例。 -注意:此字段可能返回 null,表示取不到有效值。 + * API METHOD。 * @type {string || null} */ - this.ResponseFailExample = null; + this.Method = null; /** - * 用户自定义错误码配置。 -注意:此字段可能返回 null,表示取不到有效值。 - * @type {Array. || null} + * 服务创建时间。 + * @type {string || null} */ - this.ResponseErrorCodes = null; + this.CreatedTime = null; /** - * 前端请求参数。 -注意:此字段可能返回 null,表示取不到有效值。 - * @type {Array. || null} + * 服务修改时间。 + * @type {string || null} */ - this.RequestParameters = null; + this.ModifiedTime = null; /** - * API 的后端服务超时时间,单位是秒。 + * API名称。 注意:此字段可能返回 null,表示取不到有效值。 - * @type {number || null} + * @type {string || null} */ - this.ServiceTimeout = null; + this.ApiName = null; /** - * API 的后端服务类型。可取值为 HTTP、MOCK、TSF、CLB、SCF、WEBSOCKET、TARGET(内测)。 + * VPC唯一ID。 注意:此字段可能返回 null,表示取不到有效值。 * @type {string || null} */ - this.ServiceType = null; + this.UniqVpcId = null; /** - * API 的后端服务配置。 + * API类型。 注意:此字段可能返回 null,表示取不到有效值。 - * @type {ServiceConfig || null} + * @type {string || null} */ - this.ServiceConfig = null; + this.ApiType = null; /** - * API的后端服务参数。 + * API协议。 注意:此字段可能返回 null,表示取不到有效值。 - * @type {Array. || null} + * @type {string || null} */ - this.ServiceParameters = null; + this.Protocol = null; /** - * 常量参数。 + * 是否买后调试。 注意:此字段可能返回 null,表示取不到有效值。 - * @type {Array. || null} + * @type {boolean || null} */ - this.ConstantParameters = null; + this.IsDebugAfterCharge = null; /** - * API 的后端 Mock 返回信息。如果 ServiceType 是 Mock,则此参数必传。 + * 授权类型。 注意:此字段可能返回 null,表示取不到有效值。 * @type {string || null} */ - this.ServiceMockReturnMessage = null; + this.AuthType = null; /** - * scf 函数名称。当后端类型是SCF时生效。 + * API业务类型。 注意:此字段可能返回 null,表示取不到有效值。 * @type {string || null} */ - this.ServiceScfFunctionName = null; + this.ApiBusinessType = null; /** - * scf 函数命名空间。当后端类型是SCF时生效。 + * 关联授权API唯一ID。 注意:此字段可能返回 null,表示取不到有效值。 * @type {string || null} */ - this.ServiceScfFunctionNamespace = null; + this.AuthRelationApiId = null; /** - * scf函数版本。当后端类型是SCF时生效。 + * 授权API关联的业务API列表。 注意:此字段可能返回 null,表示取不到有效值。 - * @type {string || null} + * @type {Array. || null} */ - this.ServiceScfFunctionQualifier = null; + this.RelationBuniessApiIds = null; /** - * 是否开启集成响应。 + * oauth配置信息。 注意:此字段可能返回 null,表示取不到有效值。 - * @type {boolean || null} + * @type {OauthConfig || null} */ - this.ServiceScfIsIntegratedResponse = null; + this.OauthConfig = null; /** - * scf websocket注册函数命名空间。当前端类型是WEBSOCKET且后端类型是SCF时生效 + * oauth2.0API请求,token存放位置。 注意:此字段可能返回 null,表示取不到有效值。 * @type {string || null} */ - this.ServiceWebsocketRegisterFunctionName = null; + this.TokenLocation = null; - /** - * scf websocket注册函数命名空间。当前端类型是WEBSOCKET且后端类型是SCF时生效。 -注意:此字段可能返回 null,表示取不到有效值。 + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.ServiceId = 'ServiceId' in params ? params.ServiceId : null; + this.ApiId = 'ApiId' in params ? params.ApiId : null; + this.ApiDesc = 'ApiDesc' in params ? params.ApiDesc : null; + this.Path = 'Path' in params ? params.Path : null; + this.Method = 'Method' in params ? params.Method : null; + this.CreatedTime = 'CreatedTime' in params ? params.CreatedTime : null; + this.ModifiedTime = 'ModifiedTime' in params ? params.ModifiedTime : null; + this.ApiName = 'ApiName' in params ? params.ApiName : null; + this.UniqVpcId = 'UniqVpcId' in params ? params.UniqVpcId : null; + this.ApiType = 'ApiType' in params ? params.ApiType : null; + this.Protocol = 'Protocol' in params ? params.Protocol : null; + this.IsDebugAfterCharge = 'IsDebugAfterCharge' in params ? params.IsDebugAfterCharge : null; + this.AuthType = 'AuthType' in params ? params.AuthType : null; + this.ApiBusinessType = 'ApiBusinessType' in params ? params.ApiBusinessType : null; + this.AuthRelationApiId = 'AuthRelationApiId' in params ? params.AuthRelationApiId : null; + this.RelationBuniessApiIds = 'RelationBuniessApiIds' in params ? params.RelationBuniessApiIds : null; + + if (params.OauthConfig) { + let obj = new OauthConfig(); + obj.deserialize(params.OauthConfig) + this.OauthConfig = obj; + } + this.TokenLocation = 'TokenLocation' in params ? params.TokenLocation : null; + + } +} + +/** + * CreateApi请求参数结构体 + * @class + */ +class CreateApiRequest extends AbstractModel { + constructor(){ + super(); + + /** + * API 所在的服务唯一 ID。 * @type {string || null} */ - this.ServiceWebsocketRegisterFunctionNamespace = null; + this.ServiceId = null; /** - * scf websocket传输函数版本。当前端类型是WEBSOCKET且后端类型是SCF时生效。 -注意:此字段可能返回 null,表示取不到有效值。 + * API 的后端服务类型。支持HTTP、MOCK、TSF、SCF、WEBSOCKET、TARGET(内测)。 * @type {string || null} */ - this.ServiceWebsocketRegisterFunctionQualifier = null; + this.ServiceType = null; /** - * scf websocket清理函数。当前端类型是WEBSOCKET且后端类型是SCF时生效。 -注意:此字段可能返回 null,表示取不到有效值。 - * @type {string || null} + * API 的后端服务超时时间,单位是秒。 + * @type {number || null} */ - this.ServiceWebsocketCleanupFunctionName = null; + this.ServiceTimeout = null; /** - * scf websocket清理函数命名空间。当前端类型是WEBSOCKET且后端类型是SCF时生效。 -注意:此字段可能返回 null,表示取不到有效值。 + * API 的前端请求协议,支持HTTP和WEBSOCKET。 * @type {string || null} */ - this.ServiceWebsocketCleanupFunctionNamespace = null; + this.Protocol = null; /** - * scf websocket清理函数版本。当前端类型是WEBSOCKET且后端类型是SCF时生效。 -注意:此字段可能返回 null,表示取不到有效值。 + * 请求的前端配置。 + * @type {ApiRequestConfig || null} + */ + this.RequestConfig = null; + + /** + * 用户自定义的 API 名称。 * @type {string || null} */ - this.ServiceWebsocketCleanupFunctionQualifier = null; + this.ApiName = null; /** - * WEBSOCKET 回推地址。 -注意:此字段可能返回 null,表示取不到有效值。 + * 用户自定义的 API 接口描述。 * @type {string || null} */ - this.InternalDomain = null; + this.ApiDesc = null; /** - * scf websocket传输函数。当前端类型是WEBSOCKET且后端类型是SCF时生效。 -注意:此字段可能返回 null,表示取不到有效值。 + * API 类型,支持NORMAL(普通API)和TSF(微服务API),默认为NORMAL。 * @type {string || null} */ - this.ServiceWebsocketTransportFunctionName = null; + this.ApiType = null; /** - * scf websocket传输函数命名空间。当前端类型是WEBSOCKET且后端类型是SCF时生效。 -注意:此字段可能返回 null,表示取不到有效值。 + * API 鉴权类型。支持SECRET(密钥对鉴权)、NONE(免鉴权)、OAUTH、APP(应用认证)。默认为NONE。 * @type {string || null} */ - this.ServiceWebsocketTransportFunctionNamespace = null; + this.AuthType = null; /** - * scf websocket传输函数版本。当前端类型是WEBSOCKET且后端类型是SCF时生效。 -注意:此字段可能返回 null,表示取不到有效值。 + * 是否开启跨域。 + * @type {boolean || null} + */ + this.EnableCORS = null; + + /** + * 常量参数。 + * @type {Array. || null} + */ + this.ConstantParameters = null; + + /** + * 前端请求参数。 + * @type {Array. || null} + */ + this.RequestParameters = null; + + /** + * 当AuthType 为 OAUTH时,该字段有效, NORMAL:业务api OAUTH:授权API。 * @type {string || null} */ - this.ServiceWebsocketTransportFunctionQualifier = null; + this.ApiBusinessType = null; /** - * API绑定微服务服务列表。 -注意:此字段可能返回 null,表示取不到有效值。 - * @type {Array. || null} + * API 的后端 Mock 返回信息。如果 ServiceType 是 Mock,则此参数必传。 + * @type {string || null} */ - this.MicroServices = null; + this.ServiceMockReturnMessage = null; /** - * 微服务信息详情。 -注意:此字段可能返回 null,表示取不到有效值。 - * @type {Array. || null} + * API绑定微服务服务列表。 + * @type {Array. || null} */ - this.MicroServicesInfo = null; + this.MicroServices = null; /** * 微服务的负载均衡配置。 -注意:此字段可能返回 null,表示取不到有效值。 * @type {TsfLoadBalanceConfResp || null} */ this.ServiceTsfLoadBalanceConf = null; /** * 微服务的健康检查配置。 -注意:此字段可能返回 null,表示取不到有效值。 * @type {HealthCheckConf || null} */ this.ServiceTsfHealthCheckConf = null; /** - * 是否开启跨域。 -注意:此字段可能返回 null,表示取不到有效值。 - * @type {boolean || null} + * target类型后端资源信息。(内测阶段) + * @type {Array. || null} */ - this.EnableCORS = null; + this.TargetServices = null; /** - * API绑定的tag信息。 -注意:此字段可能返回 null,表示取不到有效值。 - * @type {Array. || null} + * target类型负载均衡配置。(内测阶段) + * @type {number || null} */ - this.Tags = null; + this.TargetServicesLoadBalanceConf = null; /** - * API已发布的环境信息。 -注意:此字段可能返回 null,表示取不到有效值。 - * @type {Array. || null} + * target健康检查配置。(内测阶段) + * @type {HealthCheckConf || null} */ - this.Environments = null; + this.TargetServicesHealthCheckConf = null; /** - * 是否开启Base64编码,只有后端为scf时才会生效。 -注意:此字段可能返回 null,表示取不到有效值。 - * @type {boolean || null} + * scf 函数名称。当后端类型是SCF时生效。 + * @type {string || null} */ - this.IsBase64Encoded = null; + this.ServiceScfFunctionName = null; /** - * 是否开启Base64编码的header触发,只有后端为scf时才会生效。 -注意:此字段可能返回 null,表示取不到有效值。 - * @type {boolean || null} + * scf websocket注册函数。当前端类型是WEBSOCKET且后端类型是SCF时生效。 + * @type {string || null} */ - this.IsBase64Trigger = null; + this.ServiceWebsocketRegisterFunctionName = null; /** - * Header触发规则,总规则数量不超过10。 -注意:此字段可能返回 null,表示取不到有效值。 - * @type {Array. || null} + * scf websocket清理函数。当前端类型是WEBSOCKET且后端类型是SCF时生效。 + * @type {string || null} */ - this.Base64EncodedTriggerRules = null; - - } + this.ServiceWebsocketCleanupFunctionName = null; - /** - * @private - */ - deserialize(params) { - if (!params) { - return; - } - this.ServiceId = 'ServiceId' in params ? params.ServiceId : null; - this.ServiceName = 'ServiceName' in params ? params.ServiceName : null; - this.ServiceDesc = 'ServiceDesc' in params ? params.ServiceDesc : null; - this.ApiId = 'ApiId' in params ? params.ApiId : null; - this.ApiDesc = 'ApiDesc' in params ? params.ApiDesc : null; - this.CreatedTime = 'CreatedTime' in params ? params.CreatedTime : null; - this.ModifiedTime = 'ModifiedTime' in params ? params.ModifiedTime : null; - this.ApiName = 'ApiName' in params ? params.ApiName : null; - this.ApiType = 'ApiType' in params ? params.ApiType : null; - this.Protocol = 'Protocol' in params ? params.Protocol : null; - this.AuthType = 'AuthType' in params ? params.AuthType : null; - this.ApiBusinessType = 'ApiBusinessType' in params ? params.ApiBusinessType : null; - this.AuthRelationApiId = 'AuthRelationApiId' in params ? params.AuthRelationApiId : null; + /** + * scf websocket传输函数。当前端类型是WEBSOCKET且后端类型是SCF时生效。 + * @type {string || null} + */ + this.ServiceWebsocketTransportFunctionName = null; - if (params.OauthConfig) { - let obj = new OauthConfig(); - obj.deserialize(params.OauthConfig) - this.OauthConfig = obj; - } - this.IsDebugAfterCharge = 'IsDebugAfterCharge' in params ? params.IsDebugAfterCharge : null; + /** + * scf 函数命名空间。当后端类型是SCF时生效。 + * @type {string || null} + */ + this.ServiceScfFunctionNamespace = null; - if (params.RequestConfig) { - let obj = new RequestConfig(); - obj.deserialize(params.RequestConfig) - this.RequestConfig = obj; - } - this.ResponseType = 'ResponseType' in params ? params.ResponseType : null; - this.ResponseSuccessExample = 'ResponseSuccessExample' in params ? params.ResponseSuccessExample : null; - this.ResponseFailExample = 'ResponseFailExample' in params ? params.ResponseFailExample : null; + /** + * scf函数版本。当后端类型是SCF时生效。 + * @type {string || null} + */ + this.ServiceScfFunctionQualifier = null; - if (params.ResponseErrorCodes) { - this.ResponseErrorCodes = new Array(); - for (let z in params.ResponseErrorCodes) { - let obj = new ErrorCodes(); - obj.deserialize(params.ResponseErrorCodes[z]); - this.ResponseErrorCodes.push(obj); - } - } + /** + * scf websocket注册函数命名空间。当前端类型是WEBSOCKET且后端类型是SCF时生效。 + * @type {string || null} + */ + this.ServiceWebsocketRegisterFunctionNamespace = null; - if (params.RequestParameters) { - this.RequestParameters = new Array(); - for (let z in params.RequestParameters) { - let obj = new ReqParameter(); - obj.deserialize(params.RequestParameters[z]); - this.RequestParameters.push(obj); - } - } - this.ServiceTimeout = 'ServiceTimeout' in params ? params.ServiceTimeout : null; - this.ServiceType = 'ServiceType' in params ? params.ServiceType : null; + /** + * scf websocket传输函数版本。当前端类型是WEBSOCKET且后端类型是SCF时生效。 + * @type {string || null} + */ + this.ServiceWebsocketRegisterFunctionQualifier = null; - if (params.ServiceConfig) { - let obj = new ServiceConfig(); - obj.deserialize(params.ServiceConfig) - this.ServiceConfig = obj; + /** + * scf websocket传输函数命名空间。当前端类型是WEBSOCKET且后端类型是SCF时生效。 + * @type {string || null} + */ + this.ServiceWebsocketTransportFunctionNamespace = null; + + /** + * scf websocket传输函数版本。当前端类型是WEBSOCKET且后端类型是SCF时生效。 + * @type {string || null} + */ + this.ServiceWebsocketTransportFunctionQualifier = null; + + /** + * scf websocket清理函数命名空间。当前端类型是WEBSOCKET且后端类型是SCF时生效。 + * @type {string || null} + */ + this.ServiceWebsocketCleanupFunctionNamespace = null; + + /** + * scf websocket清理函数版本。当前端类型是WEBSOCKET且后端类型是SCF时生效。 + * @type {string || null} + */ + this.ServiceWebsocketCleanupFunctionQualifier = null; + + /** + * 是否开启响应集成。当后端类型是SCF时生效。 + * @type {boolean || null} + */ + this.ServiceScfIsIntegratedResponse = null; + + /** + * 开始调试后计费。(云市场预留字段) + * @type {boolean || null} + */ + this.IsDebugAfterCharge = null; + + /** + * 是否删除自定义响应配置错误码,如果不传或者传 False,不删除,当传 True 时,则删除此 API 所有自定义响应配置错误码。 + * @type {boolean || null} + */ + this.IsDeleteResponseErrorCodes = null; + + /** + * 返回类型。 + * @type {string || null} + */ + this.ResponseType = null; + + /** + * 自定义响应配置成功响应示例。 + * @type {string || null} + */ + this.ResponseSuccessExample = null; + + /** + * 自定义响应配置失败响应示例。 + * @type {string || null} + */ + this.ResponseFailExample = null; + + /** + * API 的后端服务配置。 + * @type {ServiceConfig || null} + */ + this.ServiceConfig = null; + + /** + * 关联的授权API 唯一 ID,当AuthType为OAUTH且ApiBusinessType为NORMAL时生效。标示业务API绑定的oauth2.0授权API唯一ID。 + * @type {string || null} + */ + this.AuthRelationApiId = null; + + /** + * API的后端服务参数。 + * @type {Array. || null} + */ + this.ServiceParameters = null; + + /** + * oauth配置。当AuthType是OAUTH时生效。 + * @type {OauthConfig || null} + */ + this.OauthConfig = null; + + /** + * 用户自定义错误码配置。 + * @type {Array. || null} + */ + this.ResponseErrorCodes = null; + + /** + * tsf serverless 命名空间ID。(内测中) + * @type {string || null} + */ + this.TargetNamespaceId = null; + + /** + * 用户类型。 + * @type {string || null} + */ + this.UserType = null; + + /** + * 是否打开Base64编码,只有后端是scf时才会生效。 + * @type {boolean || null} + */ + this.IsBase64Encoded = null; + + /** + * 事件总线ID。 + * @type {string || null} + */ + this.EventBusId = null; + + /** + * scf函数类型。当后端类型是SCF时生效。支持事件触发(EVENT),http直通云函数(HTTP)。 + * @type {string || null} + */ + this.ServiceScfFunctionType = null; + + /** + * EIAM应用类型。 + * @type {string || null} + */ + this.EIAMAppType = null; + + /** + * EIAM应用认证类型,支持仅认证(AuthenticationOnly)、认证和鉴权(Authorization)。 + * @type {string || null} + */ + this.EIAMAuthType = null; + + /** + * EIAM应用Token 有效时间,单位为秒,默认为7200秒。 + * @type {number || null} + */ + this.TokenTimeout = null; + + /** + * EIAM应用ID。 + * @type {string || null} + */ + this.EIAMAppId = null; + + /** + * 资源的Owner + * @type {string || null} + */ + this.Owner = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; } + this.ServiceId = 'ServiceId' in params ? params.ServiceId : null; + this.ServiceType = 'ServiceType' in params ? params.ServiceType : null; + this.ServiceTimeout = 'ServiceTimeout' in params ? params.ServiceTimeout : null; + this.Protocol = 'Protocol' in params ? params.Protocol : null; - if (params.ServiceParameters) { - this.ServiceParameters = new Array(); - for (let z in params.ServiceParameters) { - let obj = new ServiceParameter(); - obj.deserialize(params.ServiceParameters[z]); - this.ServiceParameters.push(obj); - } + if (params.RequestConfig) { + let obj = new ApiRequestConfig(); + obj.deserialize(params.RequestConfig) + this.RequestConfig = obj; } + this.ApiName = 'ApiName' in params ? params.ApiName : null; + this.ApiDesc = 'ApiDesc' in params ? params.ApiDesc : null; + this.ApiType = 'ApiType' in params ? params.ApiType : null; + this.AuthType = 'AuthType' in params ? params.AuthType : null; + this.EnableCORS = 'EnableCORS' in params ? params.EnableCORS : null; if (params.ConstantParameters) { this.ConstantParameters = new Array(); @@ -7286,31 +8333,26 @@ class ApiInfo extends AbstractModel { this.ConstantParameters.push(obj); } } + + if (params.RequestParameters) { + this.RequestParameters = new Array(); + for (let z in params.RequestParameters) { + let obj = new RequestParameter(); + obj.deserialize(params.RequestParameters[z]); + this.RequestParameters.push(obj); + } + } + this.ApiBusinessType = 'ApiBusinessType' in params ? params.ApiBusinessType : null; this.ServiceMockReturnMessage = 'ServiceMockReturnMessage' in params ? params.ServiceMockReturnMessage : null; - this.ServiceScfFunctionName = 'ServiceScfFunctionName' in params ? params.ServiceScfFunctionName : null; - this.ServiceScfFunctionNamespace = 'ServiceScfFunctionNamespace' in params ? params.ServiceScfFunctionNamespace : null; - this.ServiceScfFunctionQualifier = 'ServiceScfFunctionQualifier' in params ? params.ServiceScfFunctionQualifier : null; - this.ServiceScfIsIntegratedResponse = 'ServiceScfIsIntegratedResponse' in params ? params.ServiceScfIsIntegratedResponse : null; - this.ServiceWebsocketRegisterFunctionName = 'ServiceWebsocketRegisterFunctionName' in params ? params.ServiceWebsocketRegisterFunctionName : null; - this.ServiceWebsocketRegisterFunctionNamespace = 'ServiceWebsocketRegisterFunctionNamespace' in params ? params.ServiceWebsocketRegisterFunctionNamespace : null; - this.ServiceWebsocketRegisterFunctionQualifier = 'ServiceWebsocketRegisterFunctionQualifier' in params ? params.ServiceWebsocketRegisterFunctionQualifier : null; - this.ServiceWebsocketCleanupFunctionName = 'ServiceWebsocketCleanupFunctionName' in params ? params.ServiceWebsocketCleanupFunctionName : null; - this.ServiceWebsocketCleanupFunctionNamespace = 'ServiceWebsocketCleanupFunctionNamespace' in params ? params.ServiceWebsocketCleanupFunctionNamespace : null; - this.ServiceWebsocketCleanupFunctionQualifier = 'ServiceWebsocketCleanupFunctionQualifier' in params ? params.ServiceWebsocketCleanupFunctionQualifier : null; - this.InternalDomain = 'InternalDomain' in params ? params.InternalDomain : null; - this.ServiceWebsocketTransportFunctionName = 'ServiceWebsocketTransportFunctionName' in params ? params.ServiceWebsocketTransportFunctionName : null; - this.ServiceWebsocketTransportFunctionNamespace = 'ServiceWebsocketTransportFunctionNamespace' in params ? params.ServiceWebsocketTransportFunctionNamespace : null; - this.ServiceWebsocketTransportFunctionQualifier = 'ServiceWebsocketTransportFunctionQualifier' in params ? params.ServiceWebsocketTransportFunctionQualifier : null; if (params.MicroServices) { this.MicroServices = new Array(); for (let z in params.MicroServices) { - let obj = new MicroService(); + let obj = new MicroServiceReq(); obj.deserialize(params.MicroServices[z]); this.MicroServices.push(obj); } } - this.MicroServicesInfo = 'MicroServicesInfo' in params ? params.MicroServicesInfo : null; if (params.ServiceTsfLoadBalanceConf) { let obj = new TsfLoadBalanceConfResp(); @@ -7323,44 +8365,3163 @@ class ApiInfo extends AbstractModel { obj.deserialize(params.ServiceTsfHealthCheckConf) this.ServiceTsfHealthCheckConf = obj; } - this.EnableCORS = 'EnableCORS' in params ? params.EnableCORS : null; - if (params.Tags) { - this.Tags = new Array(); - for (let z in params.Tags) { - let obj = new Tag(); - obj.deserialize(params.Tags[z]); - this.Tags.push(obj); + if (params.TargetServices) { + this.TargetServices = new Array(); + for (let z in params.TargetServices) { + let obj = new TargetServicesReq(); + obj.deserialize(params.TargetServices[z]); + this.TargetServices.push(obj); } } - this.Environments = 'Environments' in params ? params.Environments : null; - this.IsBase64Encoded = 'IsBase64Encoded' in params ? params.IsBase64Encoded : null; - this.IsBase64Trigger = 'IsBase64Trigger' in params ? params.IsBase64Trigger : null; + this.TargetServicesLoadBalanceConf = 'TargetServicesLoadBalanceConf' in params ? params.TargetServicesLoadBalanceConf : null; - if (params.Base64EncodedTriggerRules) { - this.Base64EncodedTriggerRules = new Array(); - for (let z in params.Base64EncodedTriggerRules) { - let obj = new Base64EncodedTriggerRule(); - obj.deserialize(params.Base64EncodedTriggerRules[z]); - this.Base64EncodedTriggerRules.push(obj); + if (params.TargetServicesHealthCheckConf) { + let obj = new HealthCheckConf(); + obj.deserialize(params.TargetServicesHealthCheckConf) + this.TargetServicesHealthCheckConf = obj; + } + this.ServiceScfFunctionName = 'ServiceScfFunctionName' in params ? params.ServiceScfFunctionName : null; + this.ServiceWebsocketRegisterFunctionName = 'ServiceWebsocketRegisterFunctionName' in params ? params.ServiceWebsocketRegisterFunctionName : null; + this.ServiceWebsocketCleanupFunctionName = 'ServiceWebsocketCleanupFunctionName' in params ? params.ServiceWebsocketCleanupFunctionName : null; + this.ServiceWebsocketTransportFunctionName = 'ServiceWebsocketTransportFunctionName' in params ? params.ServiceWebsocketTransportFunctionName : null; + this.ServiceScfFunctionNamespace = 'ServiceScfFunctionNamespace' in params ? params.ServiceScfFunctionNamespace : null; + this.ServiceScfFunctionQualifier = 'ServiceScfFunctionQualifier' in params ? params.ServiceScfFunctionQualifier : null; + this.ServiceWebsocketRegisterFunctionNamespace = 'ServiceWebsocketRegisterFunctionNamespace' in params ? params.ServiceWebsocketRegisterFunctionNamespace : null; + this.ServiceWebsocketRegisterFunctionQualifier = 'ServiceWebsocketRegisterFunctionQualifier' in params ? params.ServiceWebsocketRegisterFunctionQualifier : null; + this.ServiceWebsocketTransportFunctionNamespace = 'ServiceWebsocketTransportFunctionNamespace' in params ? params.ServiceWebsocketTransportFunctionNamespace : null; + this.ServiceWebsocketTransportFunctionQualifier = 'ServiceWebsocketTransportFunctionQualifier' in params ? params.ServiceWebsocketTransportFunctionQualifier : null; + this.ServiceWebsocketCleanupFunctionNamespace = 'ServiceWebsocketCleanupFunctionNamespace' in params ? params.ServiceWebsocketCleanupFunctionNamespace : null; + this.ServiceWebsocketCleanupFunctionQualifier = 'ServiceWebsocketCleanupFunctionQualifier' in params ? params.ServiceWebsocketCleanupFunctionQualifier : null; + this.ServiceScfIsIntegratedResponse = 'ServiceScfIsIntegratedResponse' in params ? params.ServiceScfIsIntegratedResponse : null; + this.IsDebugAfterCharge = 'IsDebugAfterCharge' in params ? params.IsDebugAfterCharge : null; + this.IsDeleteResponseErrorCodes = 'IsDeleteResponseErrorCodes' in params ? params.IsDeleteResponseErrorCodes : null; + this.ResponseType = 'ResponseType' in params ? params.ResponseType : null; + this.ResponseSuccessExample = 'ResponseSuccessExample' in params ? params.ResponseSuccessExample : null; + this.ResponseFailExample = 'ResponseFailExample' in params ? params.ResponseFailExample : null; + + if (params.ServiceConfig) { + let obj = new ServiceConfig(); + obj.deserialize(params.ServiceConfig) + this.ServiceConfig = obj; + } + this.AuthRelationApiId = 'AuthRelationApiId' in params ? params.AuthRelationApiId : null; + + if (params.ServiceParameters) { + this.ServiceParameters = new Array(); + for (let z in params.ServiceParameters) { + let obj = new ServiceParameter(); + obj.deserialize(params.ServiceParameters[z]); + this.ServiceParameters.push(obj); } } + if (params.OauthConfig) { + let obj = new OauthConfig(); + obj.deserialize(params.OauthConfig) + this.OauthConfig = obj; + } + + if (params.ResponseErrorCodes) { + this.ResponseErrorCodes = new Array(); + for (let z in params.ResponseErrorCodes) { + let obj = new ResponseErrorCodeReq(); + obj.deserialize(params.ResponseErrorCodes[z]); + this.ResponseErrorCodes.push(obj); + } + } + this.TargetNamespaceId = 'TargetNamespaceId' in params ? params.TargetNamespaceId : null; + this.UserType = 'UserType' in params ? params.UserType : null; + this.IsBase64Encoded = 'IsBase64Encoded' in params ? params.IsBase64Encoded : null; + this.EventBusId = 'EventBusId' in params ? params.EventBusId : null; + this.ServiceScfFunctionType = 'ServiceScfFunctionType' in params ? params.ServiceScfFunctionType : null; + this.EIAMAppType = 'EIAMAppType' in params ? params.EIAMAppType : null; + this.EIAMAuthType = 'EIAMAuthType' in params ? params.EIAMAuthType : null; + this.TokenTimeout = 'TokenTimeout' in params ? params.TokenTimeout : null; + this.EIAMAppId = 'EIAMAppId' in params ? params.EIAMAppId : null; + this.Owner = 'Owner' in params ? params.Owner : null; + + } +} + +/** + * DescribeServiceEnvironmentStrategy请求参数结构体 + * @class + */ +class DescribeServiceEnvironmentStrategyRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 服务唯一ID。 + * @type {string || null} + */ + this.ServiceId = null; + + /** + * 返回数量,默认为 20,最大值为 100。 + * @type {number || null} + */ + this.Limit = null; + + /** + * 偏移量,默认为 0。 + * @type {number || null} + */ + this.Offset = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.ServiceId = 'ServiceId' in params ? params.ServiceId : null; + this.Limit = 'Limit' in params ? params.Limit : null; + this.Offset = 'Offset' in params ? params.Offset : null; + + } +} + +/** + * DescribeUpstreamBindApis返回参数结构体 + * @class + */ +class DescribeUpstreamBindApisResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 查询结果 + * @type {DescribeUpstreamBindApis || null} + */ + this.Result = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + + if (params.Result) { + let obj = new DescribeUpstreamBindApis(); + obj.deserialize(params.Result) + this.Result = obj; + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * ReleaseService请求参数结构体 + * @class + */ +class ReleaseServiceRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 待发布服务的唯一 ID。 + * @type {string || null} + */ + this.ServiceId = null; + + /** + * 待发布的环境名称,当前支持三个环境,test(测试环境)、prepub(预发布环境)和 release(发布环境)。 + * @type {string || null} + */ + this.EnvironmentName = null; + + /** + * 本次的发布描述。 + * @type {string || null} + */ + this.ReleaseDesc = null; + + /** + * apiId列表,预留字段,默认全量api发布。 + * @type {Array. || null} + */ + this.ApiIds = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.ServiceId = 'ServiceId' in params ? params.ServiceId : null; + this.EnvironmentName = 'EnvironmentName' in params ? params.EnvironmentName : null; + this.ReleaseDesc = 'ReleaseDesc' in params ? params.ReleaseDesc : null; + this.ApiIds = 'ApiIds' in params ? params.ApiIds : null; + + } +} + +/** + * DeleteService返回参数结构体 + * @class + */ +class DeleteServiceResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 删除操作是否成功。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {boolean || null} + */ + this.Result = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Result = 'Result' in params ? params.Result : null; + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * DescribeServiceEnvironmentReleaseHistory返回参数结构体 + * @class + */ +class DescribeServiceEnvironmentReleaseHistoryResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 服务发布历史。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {ServiceReleaseHistory || null} + */ + this.Result = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + + if (params.Result) { + let obj = new ServiceReleaseHistory(); + obj.deserialize(params.Result) + this.Result = obj; + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * 服务发布的环境信息。 + * @class + */ +class Environment extends AbstractModel { + constructor(){ + super(); + + /** + * 环境名称。 + * @type {string || null} + */ + this.EnvironmentName = null; + + /** + * 访问路径。 + * @type {string || null} + */ + this.Url = null; + + /** + * 发布状态,1 表示已发布,0 表示未发布。 + * @type {number || null} + */ + this.Status = null; + + /** + * 运行版本。 + * @type {string || null} + */ + this.VersionName = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.EnvironmentName = 'EnvironmentName' in params ? params.EnvironmentName : null; + this.Url = 'Url' in params ? params.Url : null; + this.Status = 'Status' in params ? params.Status : null; + this.VersionName = 'VersionName' in params ? params.VersionName : null; + + } +} + +/** + * DescribeAPIDocs请求参数结构体 + * @class + */ +class DescribeAPIDocsRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 返回数量,默认为 20,最大值为 100。 + * @type {number || null} + */ + this.Limit = null; + + /** + * 偏移量,默认为 0。 + * @type {number || null} + */ + this.Offset = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Limit = 'Limit' in params ? params.Limit : null; + this.Offset = 'Offset' in params ? params.Offset : null; + + } +} + +/** + * 用于使用计划列表展示 + * @class + */ +class UsagePlanStatusInfo extends AbstractModel { + constructor(){ + super(); + + /** + * 使用计划唯一 ID。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.UsagePlanId = null; + + /** + * 用户自定义的使用计划名称。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.UsagePlanName = null; + + /** + * 用户自定义的使用计划描述。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.UsagePlanDesc = null; + + /** + * 每秒最大请求次数。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {number || null} + */ + this.MaxRequestNumPreSec = null; + + /** + * 请求配额总量,-1表示没有限制。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {number || null} + */ + this.MaxRequestNum = null; + + /** + * 创建时间。按照 ISO8601 标准表示,并且使用 UTC 时间。格式为:YYYY-MM-DDThh:mm:ssZ。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.CreatedTime = null; + + /** + * 最后修改时间。按照 ISO8601 标准表示,并且使用 UTC 时间。格式为:YYYY-MM-DDThh:mm:ssZ。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.ModifiedTime = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.UsagePlanId = 'UsagePlanId' in params ? params.UsagePlanId : null; + this.UsagePlanName = 'UsagePlanName' in params ? params.UsagePlanName : null; + this.UsagePlanDesc = 'UsagePlanDesc' in params ? params.UsagePlanDesc : null; + this.MaxRequestNumPreSec = 'MaxRequestNumPreSec' in params ? params.MaxRequestNumPreSec : null; + this.MaxRequestNum = 'MaxRequestNum' in params ? params.MaxRequestNum : null; + this.CreatedTime = 'CreatedTime' in params ? params.CreatedTime : null; + this.ModifiedTime = 'ModifiedTime' in params ? params.ModifiedTime : null; + + } +} + +/** + * 服务发布列表详情 + * @class + */ +class ServiceReleaseHistoryInfo extends AbstractModel { + constructor(){ + super(); + + /** + * 版本号。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.VersionName = null; + + /** + * 版本描述。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.VersionDesc = null; + + /** + * 版本发布时间。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.ReleaseTime = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.VersionName = 'VersionName' in params ? params.VersionName : null; + this.VersionDesc = 'VersionDesc' in params ? params.VersionDesc : null; + this.ReleaseTime = 'ReleaseTime' in params ? params.ReleaseTime : null; + + } +} + +/** + * CreatePlugin返回参数结构体 + * @class + */ +class CreatePluginResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 新建的插件详情。 + * @type {Plugin || null} + */ + this.Result = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + + if (params.Result) { + let obj = new Plugin(); + obj.deserialize(params.Result) + this.Result = obj; + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * ModifyExclusiveInstance返回参数结构体 + * @class + */ +class ModifyExclusiveInstanceResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 独享实例详情信息 + * @type {InstanceDetail || null} + */ + this.Result = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + + if (params.Result) { + let obj = new InstanceDetail(); + obj.deserialize(params.Result) + this.Result = obj; + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * k8s Label + * @class + */ +class K8sLabel extends AbstractModel { + constructor(){ + super(); + + /** + * Label的Key + * @type {string || null} + */ + this.Key = null; + + /** + * Label的Value + * @type {string || null} + */ + this.Value = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Key = 'Key' in params ? params.Key : null; + this.Value = 'Value' in params ? params.Value : null; + + } +} + +/** + * DescribePlugins返回参数结构体 + * @class + */ +class DescribePluginsResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 插件详情。 + * @type {PluginSummary || null} + */ + this.Result = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + + if (params.Result) { + let obj = new PluginSummary(); + obj.deserialize(params.Result) + this.Result = obj; + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * ReleaseService返回参数结构体 + * @class + */ +class ReleaseServiceResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 发布信息。 + * @type {ReleaseService || null} + */ + this.Result = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + + if (params.Result) { + let obj = new ReleaseService(); + obj.deserialize(params.Result) + this.Result = obj; + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * API文档详细信息 + * @class + */ +class APIDocInfo extends AbstractModel { + constructor(){ + super(); + + /** + * API文档ID + * @type {string || null} + */ + this.ApiDocId = null; + + /** + * API文档名称 + * @type {string || null} + */ + this.ApiDocName = null; + + /** + * API文档构建状态 + * @type {string || null} + */ + this.ApiDocStatus = null; + + /** + * API文档API数量 + * @type {number || null} + */ + this.ApiCount = null; + + /** + * API文档查看次数 + * @type {number || null} + */ + this.ViewCount = null; + + /** + * API文档发布次数 + * @type {number || null} + */ + this.ReleaseCount = null; + + /** + * API文档访问URI + * @type {string || null} + */ + this.ApiDocUri = null; + + /** + * API文档分享密码 + * @type {string || null} + */ + this.SharePassword = null; + + /** + * API文档更新时间 + * @type {string || null} + */ + this.UpdatedTime = null; + + /** + * 服务ID + * @type {string || null} + */ + this.ServiceId = null; + + /** + * 环境信息 + * @type {string || null} + */ + this.Environment = null; + + /** + * 生成API文档的API ID + * @type {Array. || null} + */ + this.ApiIds = null; + + /** + * 服务名称 + * @type {string || null} + */ + this.ServiceName = null; + + /** + * 生成API文档的API名称 + * @type {Array. || null} + */ + this.ApiNames = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.ApiDocId = 'ApiDocId' in params ? params.ApiDocId : null; + this.ApiDocName = 'ApiDocName' in params ? params.ApiDocName : null; + this.ApiDocStatus = 'ApiDocStatus' in params ? params.ApiDocStatus : null; + this.ApiCount = 'ApiCount' in params ? params.ApiCount : null; + this.ViewCount = 'ViewCount' in params ? params.ViewCount : null; + this.ReleaseCount = 'ReleaseCount' in params ? params.ReleaseCount : null; + this.ApiDocUri = 'ApiDocUri' in params ? params.ApiDocUri : null; + this.SharePassword = 'SharePassword' in params ? params.SharePassword : null; + this.UpdatedTime = 'UpdatedTime' in params ? params.UpdatedTime : null; + this.ServiceId = 'ServiceId' in params ? params.ServiceId : null; + this.Environment = 'Environment' in params ? params.Environment : null; + this.ApiIds = 'ApiIds' in params ? params.ApiIds : null; + this.ServiceName = 'ServiceName' in params ? params.ServiceName : null; + this.ApiNames = 'ApiNames' in params ? params.ApiNames : null; + + } +} + +/** + * cos类型的api配置 + * @class + */ +class CosConfig extends AbstractModel { + constructor(){ + super(); + + /** + * API调用后端COS的方式,前端请求方法与Action的可选值为: +GET:GetObject +PUT:PutObject +POST:PostObject、AppendObject +HEAD: HeadObject +DELETE: DeleteObject。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.Action = null; + + /** + * API后端COS的存储桶名。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.BucketName = null; + + /** + * API调用后端COS的签名开关,默认为false。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {boolean || null} + */ + this.Authorization = null; + + /** + * API后端COS的路径匹配模式,可选值: +BackEndPath : 后端路径匹配 +FullPath : 全路径匹配 + +默认值为:BackEndPath +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.PathMatchMode = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Action = 'Action' in params ? params.Action : null; + this.BucketName = 'BucketName' in params ? params.BucketName : null; + this.Authorization = 'Authorization' in params ? params.Authorization : null; + this.PathMatchMode = 'PathMatchMode' in params ? params.PathMatchMode : null; + + } +} + +/** + * ModifyApiIncrement请求参数结构体 + * @class + */ +class ModifyApiIncrementRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 服务ID + * @type {string || null} + */ + this.ServiceId = null; + + /** + * 接口ID + * @type {string || null} + */ + this.ApiId = null; + + /** + * 需要修改的API auth类型(可选择OAUTH-授权API) + * @type {string || null} + */ + this.BusinessType = null; + + /** + * oauth接口需要修改的公钥值 + * @type {string || null} + */ + this.PublicKey = null; + + /** + * oauth接口重定向地址 + * @type {string || null} + */ + this.LoginRedirectUrl = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.ServiceId = 'ServiceId' in params ? params.ServiceId : null; + this.ApiId = 'ApiId' in params ? params.ApiId : null; + this.BusinessType = 'BusinessType' in params ? params.BusinessType : null; + this.PublicKey = 'PublicKey' in params ? params.PublicKey : null; + this.LoginRedirectUrl = 'LoginRedirectUrl' in params ? params.LoginRedirectUrl : null; + + } +} + +/** + * GenerateApiDocument请求参数结构体 + * @class + */ +class GenerateApiDocumentRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 待创建文档的服务唯一 ID。 + * @type {string || null} + */ + this.ServiceId = null; + + /** + * 待创建 SDK 的服务所在环境。 + * @type {string || null} + */ + this.GenEnvironment = null; + + /** + * 待创建 SDK 的语言。当前只支持 Python 和 JavaScript。 + * @type {string || null} + */ + this.GenLanguage = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.ServiceId = 'ServiceId' in params ? params.ServiceId : null; + this.GenEnvironment = 'GenEnvironment' in params ? params.GenEnvironment : null; + this.GenLanguage = 'GenLanguage' in params ? params.GenLanguage : null; + + } +} + +/** + * 服务绑定使用计划列表 + * @class + */ +class ServiceUsagePlanSet extends AbstractModel { + constructor(){ + super(); + + /** + * 服务上绑定的使用计划总数。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {number || null} + */ + this.TotalCount = null; + + /** + * 服务上绑定的使用计划列表。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {Array. || null} + */ + this.ServiceUsagePlanList = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.TotalCount = 'TotalCount' in params ? params.TotalCount : null; + + if (params.ServiceUsagePlanList) { + this.ServiceUsagePlanList = new Array(); + for (let z in params.ServiceUsagePlanList) { + let obj = new ApiUsagePlan(); + obj.deserialize(params.ServiceUsagePlanList[z]); + this.ServiceUsagePlanList.push(obj); + } + } + + } +} + +/** + * CreateUpstream请求参数结构体 + * @class + */ +class CreateUpstreamRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 后端协议,取值范围:HTTP, HTTPS + * @type {string || null} + */ + this.Scheme = null; + + /** + * 负载均衡算法,取值范围:ROUND-ROBIN + * @type {string || null} + */ + this.Algorithm = null; + + /** + * VPC唯一ID + * @type {string || null} + */ + this.UniqVpcId = null; + + /** + * 后端通道名字 + * @type {string || null} + */ + this.UpstreamName = null; + + /** + * 后端通道描述 + * @type {string || null} + */ + this.UpstreamDescription = null; + + /** + * 后端访问类型,取值范围:IP_PORT, K8S + * @type {string || null} + */ + this.UpstreamType = null; + + /** + * 请求重试次数,默认3次 + * @type {number || null} + */ + this.Retries = null; + + /** + * 网关转发到后端的Host请求头 + * @type {string || null} + */ + this.UpstreamHost = null; + + /** + * 后端节点 + * @type {Array. || null} + */ + this.Nodes = null; + + /** + * 标签 + * @type {Array. || null} + */ + this.Tags = null; + + /** + * 健康检查配置,目前只支持VPC通道 + * @type {UpstreamHealthChecker || null} + */ + this.HealthChecker = null; + + /** + * K8S容器服务的配置 + * @type {Array. || null} + */ + this.K8sService = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Scheme = 'Scheme' in params ? params.Scheme : null; + this.Algorithm = 'Algorithm' in params ? params.Algorithm : null; + this.UniqVpcId = 'UniqVpcId' in params ? params.UniqVpcId : null; + this.UpstreamName = 'UpstreamName' in params ? params.UpstreamName : null; + this.UpstreamDescription = 'UpstreamDescription' in params ? params.UpstreamDescription : null; + this.UpstreamType = 'UpstreamType' in params ? params.UpstreamType : null; + this.Retries = 'Retries' in params ? params.Retries : null; + this.UpstreamHost = 'UpstreamHost' in params ? params.UpstreamHost : null; + + if (params.Nodes) { + this.Nodes = new Array(); + for (let z in params.Nodes) { + let obj = new UpstreamNode(); + obj.deserialize(params.Nodes[z]); + this.Nodes.push(obj); + } + } + + if (params.Tags) { + this.Tags = new Array(); + for (let z in params.Tags) { + let obj = new Tag(); + obj.deserialize(params.Tags[z]); + this.Tags.push(obj); + } + } + + if (params.HealthChecker) { + let obj = new UpstreamHealthChecker(); + obj.deserialize(params.HealthChecker) + this.HealthChecker = obj; + } + + if (params.K8sService) { + this.K8sService = new Array(); + for (let z in params.K8sService) { + let obj = new K8sService(); + obj.deserialize(params.K8sService[z]); + this.K8sService.push(obj); + } + } + + } +} + +/** + * ModifyServiceEnvironmentStrategy返回参数结构体 + * @class + */ +class ModifyServiceEnvironmentStrategyResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 修改操作是否成功。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {boolean || null} + */ + this.Result = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Result = 'Result' in params ? params.Result : null; + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * UpdateApiKey返回参数结构体 + * @class + */ +class UpdateApiKeyResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 更换后的密钥详情。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {ApiKey || null} + */ + this.Result = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + + if (params.Result) { + let obj = new ApiKey(); + obj.deserialize(params.Result) + this.Result = obj; + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * DescribeApiBindApiAppsStatus请求参数结构体 + * @class + */ +class DescribeApiBindApiAppsStatusRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 服务ID + * @type {string || null} + */ + this.ServiceId = null; + + /** + * Api的ID的数组 + * @type {Array. || null} + */ + this.ApiIds = null; + + /** + * 返回数量,默认为 20,最大值为 100。 + * @type {number || null} + */ + this.Limit = null; + + /** + * 偏移量,默认为 0。 + * @type {number || null} + */ + this.Offset = null; + + /** + * 过滤条件。支持ApiAppId、Environment、KeyWord( 可以匹配name或者ID)。 + * @type {Array. || null} + */ + this.Filters = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.ServiceId = 'ServiceId' in params ? params.ServiceId : null; + this.ApiIds = 'ApiIds' in params ? params.ApiIds : null; + this.Limit = 'Limit' in params ? params.Limit : null; + this.Offset = 'Offset' in params ? params.Offset : null; + + if (params.Filters) { + this.Filters = new Array(); + for (let z in params.Filters) { + let obj = new Filter(); + obj.deserialize(params.Filters[z]); + this.Filters.push(obj); + } + } + + } +} + +/** + * DescribeApisStatus返回参数结构体 + * @class + */ +class DescribeApisStatusResponse extends AbstractModel { + constructor(){ + super(); + + /** + * API 详情列表。 + * @type {ApisStatus || null} + */ + this.Result = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + + if (params.Result) { + let obj = new ApisStatus(); + obj.deserialize(params.Result) + this.Result = obj; + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * DescribeApiKeysStatus请求参数结构体 + * @class + */ +class DescribeApiKeysStatusRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 返回数量,默认为 20,最大值为 100。 + * @type {number || null} + */ + this.Limit = null; + + /** + * 偏移量,默认为 0。 + * @type {number || null} + */ + this.Offset = null; + + /** + * 过滤条件。支持AccessKeyId、AccessKeySecret、SecretName、NotUsagePlanId、Status、KeyWord( 可以匹配name或者path)。 + * @type {Array. || null} + */ + this.Filters = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Limit = 'Limit' in params ? params.Limit : null; + this.Offset = 'Offset' in params ? params.Offset : null; + + if (params.Filters) { + this.Filters = new Array(); + for (let z in params.Filters) { + let obj = new Filter(); + obj.deserialize(params.Filters[z]); + this.Filters.push(obj); + } + } + + } +} + +/** + * DemoteServiceUsagePlan请求参数结构体 + * @class + */ +class DemoteServiceUsagePlanRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 使用计划ID。 + * @type {string || null} + */ + this.UsagePlanId = null; + + /** + * 待降级的服务唯一 ID。 + * @type {string || null} + */ + this.ServiceId = null; + + /** + * 环境名称。 + * @type {string || null} + */ + this.Environment = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.UsagePlanId = 'UsagePlanId' in params ? params.UsagePlanId : null; + this.ServiceId = 'ServiceId' in params ? params.ServiceId : null; + this.Environment = 'Environment' in params ? params.Environment : null; + + } +} + +/** + * BindSecretIds返回参数结构体 + * @class + */ +class BindSecretIdsResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 绑定操作是否成功。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {boolean || null} + */ + this.Result = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Result = 'Result' in params ? params.Result : null; + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * 创建api返回 + * @class + */ +class CreateApiRsp extends AbstractModel { + constructor(){ + super(); + + /** + * api id +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.ApiId = null; + + /** + * 路径 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.Path = null; + + /** + * 请求方法 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.Method = null; + + /** + * 创建时间 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.CreatedTime = null; + + /** + * 导入状态 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.Status = null; + + /** + * 异常信息 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.ErrMsg = null; + + /** + * api name +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.ApiName = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.ApiId = 'ApiId' in params ? params.ApiId : null; + this.Path = 'Path' in params ? params.Path : null; + this.Method = 'Method' in params ? params.Method : null; + this.CreatedTime = 'CreatedTime' in params ? params.CreatedTime : null; + this.Status = 'Status' in params ? params.Status : null; + this.ErrMsg = 'ErrMsg' in params ? params.ErrMsg : null; + this.ApiName = 'ApiName' in params ? params.ApiName : null; + + } +} + +/** + * 使用计划绑定环境信息 + * @class + */ +class UsagePlanBindEnvironment extends AbstractModel { + constructor(){ + super(); + + /** + * 环境名。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.EnvironmentName = null; + + /** + * 服务唯一ID。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.ServiceId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.EnvironmentName = 'EnvironmentName' in params ? params.EnvironmentName : null; + this.ServiceId = 'ServiceId' in params ? params.ServiceId : null; + + } +} + +/** + * 独享实例信息 + * @class + */ +class InstanceInfo extends AbstractModel { + constructor(){ + super(); + + /** + * 独享实例唯一id + * @type {string || null} + */ + this.InstanceId = null; + + /** + * 独享实例name + * @type {string || null} + */ + this.InstanceName = null; + + /** + * 独享实例描述 + * @type {string || null} + */ + this.InstanceDescription = null; + + /** + * 独享实例计费类型 + * @type {string || null} + */ + this.InstanceChargeType = null; + + /** + * 独享实例类型 + * @type {string || null} + */ + this.InstanceType = null; + + /** + * 独享实例状态 + * @type {string || null} + */ + this.InstanceState = null; + + /** + * 独享实例创建时间 + * @type {string || null} + */ + this.CreatedTime = null; + + /** + * 订单号 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.DealName = null; + + /** + * 资源ID同唯一id + * @type {string || null} + */ + this.ResourceId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.InstanceId = 'InstanceId' in params ? params.InstanceId : null; + this.InstanceName = 'InstanceName' in params ? params.InstanceName : null; + this.InstanceDescription = 'InstanceDescription' in params ? params.InstanceDescription : null; + this.InstanceChargeType = 'InstanceChargeType' in params ? params.InstanceChargeType : null; + this.InstanceType = 'InstanceType' in params ? params.InstanceType : null; + this.InstanceState = 'InstanceState' in params ? params.InstanceState : null; + this.CreatedTime = 'CreatedTime' in params ? params.CreatedTime : null; + this.DealName = 'DealName' in params ? params.DealName : null; + this.ResourceId = 'ResourceId' in params ? params.ResourceId : null; + + } +} + +/** + * DeleteApi请求参数结构体 + * @class + */ +class DeleteApiRequest extends AbstractModel { + constructor(){ + super(); + + /** + * API 所在的服务唯一 ID。 + * @type {string || null} + */ + this.ServiceId = null; + + /** + * API 接口唯一 ID。 + * @type {string || null} + */ + this.ApiId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.ServiceId = 'ServiceId' in params ? params.ServiceId : null; + this.ApiId = 'ApiId' in params ? params.ApiId : null; + + } +} + +/** + * DescribeServiceSubDomainMappings请求参数结构体 + * @class + */ +class DescribeServiceSubDomainMappingsRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 服务唯一 ID。 + * @type {string || null} + */ + this.ServiceId = null; + + /** + * 服务绑定的自定义域名。 + * @type {string || null} + */ + this.SubDomain = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.ServiceId = 'ServiceId' in params ? params.ServiceId : null; + this.SubDomain = 'SubDomain' in params ? params.SubDomain : null; + + } +} + +/** + * DescribeApiApp返回参数结构体 + * @class + */ +class DescribeApiAppResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 应用详情。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {ApiAppInfos || null} + */ + this.Result = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + + if (params.Result) { + let obj = new ApiAppInfos(); + obj.deserialize(params.Result) + this.Result = obj; + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * DescribeServiceSubDomainMappings返回参数结构体 + * @class + */ +class DescribeServiceSubDomainMappingsResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 自定义路径映射列表。 + * @type {ServiceSubDomainMappings || null} + */ + this.Result = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + + if (params.Result) { + let obj = new ServiceSubDomainMappings(); + obj.deserialize(params.Result) + this.Result = obj; + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * Oauth授权配置信息 + * @class + */ +class OauthConfig extends AbstractModel { + constructor(){ + super(); + + /** + * 公钥,用于验证用户token。 + * @type {string || null} + */ + this.PublicKey = null; + + /** + * token传递位置。 + * @type {string || null} + */ + this.TokenLocation = null; + + /** + * 重定向地址,用于引导用户登录操作。 + * @type {string || null} + */ + this.LoginRedirectUrl = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.PublicKey = 'PublicKey' in params ? params.PublicKey : null; + this.TokenLocation = 'TokenLocation' in params ? params.TokenLocation : null; + this.LoginRedirectUrl = 'LoginRedirectUrl' in params ? params.LoginRedirectUrl : null; + + } +} + +/** + * DescribeApiAppsStatus返回参数结构体 + * @class + */ +class DescribeApiAppsStatusResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 应用列表。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {ApiAppInfos || null} + */ + this.Result = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + + if (params.Result) { + let obj = new ApiAppInfos(); + obj.deserialize(params.Result) + this.Result = obj; + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * 服务自定义域名路径映射 + * @class + */ +class ServiceSubDomainMappings extends AbstractModel { + constructor(){ + super(); + + /** + * 是否使用默认路径映射,为 True 表示使用默认路径映射;为 False 的话,表示使用自定义路径映射,此时 PathMappingSet 不为空。 + * @type {boolean || null} + */ + this.IsDefaultMapping = null; + + /** + * 自定义路径映射列表。 + * @type {Array. || null} + */ + this.PathMappingSet = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.IsDefaultMapping = 'IsDefaultMapping' in params ? params.IsDefaultMapping : null; + + if (params.PathMappingSet) { + this.PathMappingSet = new Array(); + for (let z in params.PathMappingSet) { + let obj = new PathMapping(); + obj.deserialize(params.PathMappingSet[z]); + this.PathMappingSet.push(obj); + } + } + + } +} + +/** + * DescribeApiKey请求参数结构体 + * @class + */ +class DescribeApiKeyRequest extends AbstractModel { + constructor(){ + super(); + + /** + * API 密钥 ID。 + * @type {string || null} + */ + this.AccessKeyId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.AccessKeyId = 'AccessKeyId' in params ? params.AccessKeyId : null; + + } +} + +/** + * DescribeAPIDocDetail返回参数结构体 + * @class + */ +class DescribeAPIDocDetailResponse extends AbstractModel { + constructor(){ + super(); + + /** + * API文档详细信息 + * @type {APIDocInfo || null} + */ + this.Result = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + + if (params.Result) { + let obj = new APIDocInfo(); + obj.deserialize(params.Result) + this.Result = obj; + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * >描述键值对过滤器,用于条件过滤查询。例如过滤ID、名称、状态等 +> * 若存在多个`Filter`时,`Filter`间的关系为逻辑与(`AND`)关系。 +> * 若同一个`Filter`存在多个`Values`,同一`Filter`下`Values`间的关系为逻辑或(`OR`)关系。 +> + + * @class + */ +class Filter extends AbstractModel { + constructor(){ + super(); + + /** + * 需要过滤的字段。 + * @type {string || null} + */ + this.Name = null; + + /** + * 字段的过滤值。 + * @type {Array. || null} + */ + this.Values = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Name = 'Name' in params ? params.Name : null; + this.Values = 'Values' in params ? params.Values : null; + + } +} + +/** + * BindApiApp返回参数结构体 + * @class + */ +class BindApiAppResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 绑定操作是否成功。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {boolean || null} + */ + this.Result = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Result = 'Result' in params ? params.Result : null; + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * 使用计划绑定密钥列表 + * @class + */ +class UsagePlanBindSecretStatus extends AbstractModel { + constructor(){ + super(); + + /** + * 使用计划绑定密钥的数量。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {number || null} + */ + this.TotalCount = null; + + /** + * 密钥详情列表。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {Array. || null} + */ + this.AccessKeyList = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.TotalCount = 'TotalCount' in params ? params.TotalCount : null; + + if (params.AccessKeyList) { + this.AccessKeyList = new Array(); + for (let z in params.AccessKeyList) { + let obj = new UsagePlanBindSecret(); + obj.deserialize(params.AccessKeyList[z]); + this.AccessKeyList.push(obj); + } + } + + } +} + +/** + * DeleteServiceSubDomainMapping返回参数结构体 + * @class + */ +class DeleteServiceSubDomainMappingResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 删除自定义域名的路径映射操作是否成功。 + * @type {boolean || null} + */ + this.Result = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Result = 'Result' in params ? params.Result : null; + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * CreateApiKey返回参数结构体 + * @class + */ +class CreateApiKeyResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 新增的密钥详情。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {ApiKey || null} + */ + this.Result = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + + if (params.Result) { + let obj = new ApiKey(); + obj.deserialize(params.Result) + this.Result = obj; + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * DescribeUpstreams请求参数结构体 + * @class + */ +class DescribeUpstreamsRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 分页大小 + * @type {number || null} + */ + this.Limit = null; + + /** + * 分页起始位置 + * @type {number || null} + */ + this.Offset = null; + + /** + * 过滤条件,支持后端通道ID(UpstreamId)、后端通道名字(UpstreamName)过滤查询 + * @type {Array. || null} + */ + this.Filters = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Limit = 'Limit' in params ? params.Limit : null; + this.Offset = 'Offset' in params ? params.Offset : null; + + if (params.Filters) { + this.Filters = new Array(); + for (let z in params.Filters) { + let obj = new Filter(); + obj.deserialize(params.Filters[z]); + this.Filters.push(obj); + } + } + + } +} + +/** + * 使用计划绑定环境详情。 + * @class + */ +class UsagePlanEnvironment extends AbstractModel { + constructor(){ + super(); + + /** + * 绑定的服务唯一 ID。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.ServiceId = null; + + /** + * API 的唯一ID。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.ApiId = null; + + /** + * API 的名称。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.ApiName = null; + + /** + * API 的路径。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.Path = null; + + /** + * API 的方法。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.Method = null; + + /** + * 已经绑定的环境名称。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.Environment = null; + + /** + * 已经使用的配额。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {number || null} + */ + this.InUseRequestNum = null; + + /** + * 最大请求量。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {number || null} + */ + this.MaxRequestNum = null; + + /** + * 每秒最大请求次数。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {number || null} + */ + this.MaxRequestNumPreSec = null; + + /** + * 创建时间。按照 ISO8601 标准表示,并且使用 UTC 时间。格式为:YYYY-MM-DDThh:mm:ssZ。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.CreatedTime = null; + + /** + * 最后修改时间。按照 ISO8601 标准表示,并且使用 UTC 时间。格式为:YYYY-MM-DDThh:mm:ssZ。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.ModifiedTime = null; + + /** + * 服务名称。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.ServiceName = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.ServiceId = 'ServiceId' in params ? params.ServiceId : null; + this.ApiId = 'ApiId' in params ? params.ApiId : null; + this.ApiName = 'ApiName' in params ? params.ApiName : null; + this.Path = 'Path' in params ? params.Path : null; + this.Method = 'Method' in params ? params.Method : null; + this.Environment = 'Environment' in params ? params.Environment : null; + this.InUseRequestNum = 'InUseRequestNum' in params ? params.InUseRequestNum : null; + this.MaxRequestNum = 'MaxRequestNum' in params ? params.MaxRequestNum : null; + this.MaxRequestNumPreSec = 'MaxRequestNumPreSec' in params ? params.MaxRequestNumPreSec : null; + this.CreatedTime = 'CreatedTime' in params ? params.CreatedTime : null; + this.ModifiedTime = 'ModifiedTime' in params ? params.ModifiedTime : null; + this.ServiceName = 'ServiceName' in params ? params.ServiceName : null; + + } +} + +/** + * ModifyIPStrategy请求参数结构体 + * @class + */ +class ModifyIPStrategyRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 待修改的策略所属服务的唯一ID。 + * @type {string || null} + */ + this.ServiceId = null; + + /** + * 待修改的策略唯一ID。 + * @type {string || null} + */ + this.StrategyId = null; + + /** + * 待修改的策略详情。 + * @type {string || null} + */ + this.StrategyData = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.ServiceId = 'ServiceId' in params ? params.ServiceId : null; + this.StrategyId = 'StrategyId' in params ? params.StrategyId : null; + this.StrategyData = 'StrategyData' in params ? params.StrategyData : null; + + } +} + +/** + * ModifyPlugin返回参数结构体 + * @class + */ +class ModifyPluginResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 修改操作是否成功。 + * @type {boolean || null} + */ + this.Result = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Result = 'Result' in params ? params.Result : null; + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * UnBindSecretIds请求参数结构体 + * @class + */ +class UnBindSecretIdsRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 待解绑的使用计划唯一 ID。 + * @type {string || null} + */ + this.UsagePlanId = null; + + /** + * 待解绑的密钥 ID 数组。 + * @type {Array. || null} + */ + this.AccessKeyIds = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.UsagePlanId = 'UsagePlanId' in params ? params.UsagePlanId : null; + this.AccessKeyIds = 'AccessKeyIds' in params ? params.AccessKeyIds : null; + + } +} + +/** + * DescribeApi请求参数结构体 + * @class + */ +class DescribeApiRequest extends AbstractModel { + constructor(){ + super(); + + /** + * API 所在的服务唯一 ID。 + * @type {string || null} + */ + this.ServiceId = null; + + /** + * API 接口唯一 ID。 + * @type {string || null} + */ + this.ApiId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.ServiceId = 'ServiceId' in params ? params.ServiceId : null; + this.ApiId = 'ApiId' in params ? params.ApiId : null; + + } +} + +/** + * 独享实例vpc配置信息 + * @class + */ +class VpcConfig extends AbstractModel { + constructor(){ + super(); + + /** + * vpcid + * @type {string || null} + */ + this.UniqVpcId = null; + + /** + * subnetid + * @type {string || null} + */ + this.UniqSubnetId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.UniqVpcId = 'UniqVpcId' in params ? params.UniqVpcId : null; + this.UniqSubnetId = 'UniqSubnetId' in params ? params.UniqSubnetId : null; + + } +} + +/** + * CreateUpstream返回参数结构体 + * @class + */ +class CreateUpstreamResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 创建返回的唯一ID +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.UpstreamId = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.UpstreamId = 'UpstreamId' in params ? params.UpstreamId : null; + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * ResetAPIDocPassword请求参数结构体 + * @class + */ +class ResetAPIDocPasswordRequest extends AbstractModel { + constructor(){ + super(); + + /** + * API文档ID + * @type {string || null} + */ + this.ApiDocId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.ApiDocId = 'ApiDocId' in params ? params.ApiDocId : null; + + } +} + +/** + * api或service绑定使用计划详情 + * @class + */ +class ApiUsagePlan extends AbstractModel { + constructor(){ + super(); + + /** + * 服务唯一ID。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.ServiceId = null; + + /** + * API 唯一 ID。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.ApiId = null; + + /** + * API 名称。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.ApiName = null; + + /** + * API 路径。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.Path = null; + + /** + * API 方法。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.Method = null; + + /** + * 使用计划的唯一 ID。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.UsagePlanId = null; + + /** + * 使用计划的名称。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.UsagePlanName = null; + + /** + * 使用计划的描述。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.UsagePlanDesc = null; + + /** + * 使用计划绑定的服务环境。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.Environment = null; + + /** + * 已经使用的配额。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {number || null} + */ + this.InUseRequestNum = null; + + /** + * 请求配额总量,-1表示没有限制。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {number || null} + */ + this.MaxRequestNum = null; + + /** + * 请求 QPS 上限,-1 表示没有限制。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {number || null} + */ + this.MaxRequestNumPreSec = null; + + /** + * 使用计划创建时间。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.CreatedTime = null; + + /** + * 使用计划最后修改时间。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.ModifiedTime = null; + + /** + * 服务名称。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.ServiceName = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.ServiceId = 'ServiceId' in params ? params.ServiceId : null; + this.ApiId = 'ApiId' in params ? params.ApiId : null; + this.ApiName = 'ApiName' in params ? params.ApiName : null; + this.Path = 'Path' in params ? params.Path : null; + this.Method = 'Method' in params ? params.Method : null; + this.UsagePlanId = 'UsagePlanId' in params ? params.UsagePlanId : null; + this.UsagePlanName = 'UsagePlanName' in params ? params.UsagePlanName : null; + this.UsagePlanDesc = 'UsagePlanDesc' in params ? params.UsagePlanDesc : null; + this.Environment = 'Environment' in params ? params.Environment : null; + this.InUseRequestNum = 'InUseRequestNum' in params ? params.InUseRequestNum : null; + this.MaxRequestNum = 'MaxRequestNum' in params ? params.MaxRequestNum : null; + this.MaxRequestNumPreSec = 'MaxRequestNumPreSec' in params ? params.MaxRequestNumPreSec : null; + this.CreatedTime = 'CreatedTime' in params ? params.CreatedTime : null; + this.ModifiedTime = 'ModifiedTime' in params ? params.ModifiedTime : null; + this.ServiceName = 'ServiceName' in params ? params.ServiceName : null; + + } +} + +/** + * BuildAPIDoc请求参数结构体 + * @class + */ +class BuildAPIDocRequest extends AbstractModel { + constructor(){ + super(); + + /** + * API文档ID + * @type {string || null} + */ + this.ApiDocId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.ApiDocId = 'ApiDocId' in params ? params.ApiDocId : null; + + } +} + +/** + * DescribeAPIDocs返回参数结构体 + * @class + */ +class DescribeAPIDocsResponse extends AbstractModel { + constructor(){ + super(); + + /** + * API文档列表信息 + * @type {APIDocs || null} + */ + this.Result = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + + if (params.Result) { + let obj = new APIDocs(); + obj.deserialize(params.Result) + this.Result = obj; + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * DetachPlugin返回参数结构体 + * @class + */ +class DetachPluginResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 解绑操作是否成功。 + * @type {boolean || null} + */ + this.Result = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Result = 'Result' in params ? params.Result : null; + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * DeletePlugin返回参数结构体 + * @class + */ +class DeletePluginResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 删除操作是否成功。 + * @type {boolean || null} + */ + this.Result = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Result = 'Result' in params ? params.Result : null; + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * 查询后端通道绑定API列表 + * @class + */ +class DescribeUpstreamBindApis extends AbstractModel { + constructor(){ + super(); + + /** + * 总数 + * @type {number || null} + */ + this.TotalCount = null; + + /** + * 绑定的API信息 + * @type {Array. || null} + */ + this.BindApiSet = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.TotalCount = 'TotalCount' in params ? params.TotalCount : null; + + if (params.BindApiSet) { + this.BindApiSet = new Array(); + for (let z in params.BindApiSet) { + let obj = new BindApiInfo(); + obj.deserialize(params.BindApiSet[z]); + this.BindApiSet.push(obj); + } + } + + } +} + +/** + * ModifyServiceEnvironmentStrategy请求参数结构体 + * @class + */ +class ModifyServiceEnvironmentStrategyRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 服务的唯一ID。 + * @type {string || null} + */ + this.ServiceId = null; + + /** + * 限流值。 + * @type {number || null} + */ + this.Strategy = null; + + /** + * 环境列表。 + * @type {Array. || null} + */ + this.EnvironmentNames = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.ServiceId = 'ServiceId' in params ? params.ServiceId : null; + this.Strategy = 'Strategy' in params ? params.Strategy : null; + this.EnvironmentNames = 'EnvironmentNames' in params ? params.EnvironmentNames : null; + + } +} + +/** + * CreateAPIDoc请求参数结构体 + * @class + */ +class CreateAPIDocRequest extends AbstractModel { + constructor(){ + super(); + + /** + * API文档名称 + * @type {string || null} + */ + this.ApiDocName = null; + + /** + * 服务名称 + * @type {string || null} + */ + this.ServiceId = null; + + /** + * 环境名称 + * @type {string || null} + */ + this.Environment = null; + + /** + * 生成文档的API列表 + * @type {Array. || null} + */ + this.ApiIds = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.ApiDocName = 'ApiDocName' in params ? params.ApiDocName : null; + this.ServiceId = 'ServiceId' in params ? params.ServiceId : null; + this.Environment = 'Environment' in params ? params.Environment : null; + this.ApiIds = 'ApiIds' in params ? params.ApiIds : null; + + } +} + +/** + * DescribeApiAppBindApisStatus返回参数结构体 + * @class + */ +class DescribeApiAppBindApisStatusResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 应用绑定的Api列表。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {ApiAppApiInfos || null} + */ + this.Result = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + + if (params.Result) { + let obj = new ApiAppApiInfos(); + obj.deserialize(params.Result) + this.Result = obj; + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * DescribeServiceSubDomains请求参数结构体 + * @class + */ +class DescribeServiceSubDomainsRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 服务唯一 ID。 + * @type {string || null} + */ + this.ServiceId = null; + + /** + * 返回数量,默认为 20,最大值为 100。 + * @type {number || null} + */ + this.Limit = null; + + /** + * 偏移量,默认为 0。 + * @type {number || null} + */ + this.Offset = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.ServiceId = 'ServiceId' in params ? params.ServiceId : null; + this.Limit = 'Limit' in params ? params.Limit : null; + this.Offset = 'Offset' in params ? params.Offset : null; + + } +} + +/** + * ModifyApiApp请求参数结构体 + * @class + */ +class ModifyApiAppRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 应用唯一 ID。 + * @type {string || null} + */ + this.ApiAppId = null; + + /** + * 修改的应用名称 + * @type {string || null} + */ + this.ApiAppName = null; + + /** + * 修改的应用描述 + * @type {string || null} + */ + this.ApiAppDesc = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.ApiAppId = 'ApiAppId' in params ? params.ApiAppId : null; + this.ApiAppName = 'ApiAppName' in params ? params.ApiAppName : null; + this.ApiAppDesc = 'ApiAppDesc' in params ? params.ApiAppDesc : null; + } } /** - * BindSecretIds返回参数结构体 + * GenerateApiDocument返回参数结构体 * @class */ -class BindSecretIdsResponse extends AbstractModel { +class GenerateApiDocumentResponse extends AbstractModel { constructor(){ super(); /** - * 绑定操作是否成功。 -注意:此字段可能返回 null,表示取不到有效值。 - * @type {boolean || null} + * api文档&sdk链接。 + * @type {DocumentSDK || null} */ this.Result = null; @@ -7379,47 +11540,37 @@ class BindSecretIdsResponse extends AbstractModel { if (!params) { return; } - this.Result = 'Result' in params ? params.Result : null; + + if (params.Result) { + let obj = new DocumentSDK(); + obj.deserialize(params.Result) + this.Result = obj; + } this.RequestId = 'RequestId' in params ? params.RequestId : null; } } /** - * 创建api返回 + * DescribeUsagePlanEnvironments返回参数结构体 * @class */ -class CreateApiRsp extends AbstractModel { +class DescribeUsagePlanEnvironmentsResponse extends AbstractModel { constructor(){ super(); /** - * api id -注意:此字段可能返回 null,表示取不到有效值。 - * @type {string || null} - */ - this.ApiId = null; - - /** - * path -注意:此字段可能返回 null,表示取不到有效值。 - * @type {string || null} - */ - this.Path = null; - - /** - * method + * 使用计划绑定详情。 注意:此字段可能返回 null,表示取不到有效值。 - * @type {string || null} + * @type {UsagePlanEnvironmentStatus || null} */ - this.Method = null; + this.Result = null; /** - * 创建时间 -注意:此字段可能返回 null,表示取不到有效值。 + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 * @type {string || null} */ - this.CreatedTime = null; + this.RequestId = null; } @@ -7430,35 +11581,36 @@ class CreateApiRsp extends AbstractModel { if (!params) { return; } - this.ApiId = 'ApiId' in params ? params.ApiId : null; - this.Path = 'Path' in params ? params.Path : null; - this.Method = 'Method' in params ? params.Method : null; - this.CreatedTime = 'CreatedTime' in params ? params.CreatedTime : null; + + if (params.Result) { + let obj = new UsagePlanEnvironmentStatus(); + obj.deserialize(params.Result) + this.Result = obj; + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; } } /** - * 使用计划绑定环境信息 + * DescribeServiceSubDomains返回参数结构体 * @class */ -class UsagePlanBindEnvironment extends AbstractModel { +class DescribeServiceSubDomainsResponse extends AbstractModel { constructor(){ super(); /** - * 环境名。 -注意:此字段可能返回 null,表示取不到有效值。 - * @type {string || null} + * 查询服务自定义域名列表。 + * @type {DomainSets || null} */ - this.EnvironmentName = null; + this.Result = null; /** - * 服务唯一ID。 -注意:此字段可能返回 null,表示取不到有效值。 + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 * @type {string || null} */ - this.ServiceId = null; + this.RequestId = null; } @@ -7469,31 +11621,48 @@ class UsagePlanBindEnvironment extends AbstractModel { if (!params) { return; } - this.EnvironmentName = 'EnvironmentName' in params ? params.EnvironmentName : null; - this.ServiceId = 'ServiceId' in params ? params.ServiceId : null; + + if (params.Result) { + let obj = new DomainSets(); + obj.deserialize(params.Result) + this.Result = obj; + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; } } /** - * DeleteApi请求参数结构体 + * AttachPlugin请求参数结构体 * @class */ -class DeleteApiRequest extends AbstractModel { +class AttachPluginRequest extends AbstractModel { constructor(){ super(); /** - * API 所在的服务唯一 ID。 + * 绑定的API网关插件ID。 + * @type {string || null} + */ + this.PluginId = null; + + /** + * 要操作的服务ID。 * @type {string || null} */ this.ServiceId = null; /** - * API 接口唯一 ID。 + * 要操作API的环境。 * @type {string || null} */ - this.ApiId = null; + this.EnvironmentName = null; + + /** + * 要绑定的API列表。 + * @type {Array. || null} + */ + this.ApiIds = null; } @@ -7504,31 +11673,33 @@ class DeleteApiRequest extends AbstractModel { if (!params) { return; } + this.PluginId = 'PluginId' in params ? params.PluginId : null; this.ServiceId = 'ServiceId' in params ? params.ServiceId : null; - this.ApiId = 'ApiId' in params ? params.ApiId : null; + this.EnvironmentName = 'EnvironmentName' in params ? params.EnvironmentName : null; + this.ApiIds = 'ApiIds' in params ? params.ApiIds : null; } } /** - * DescribeServiceSubDomainMappings请求参数结构体 + * DescribeServiceForApiApp请求参数结构体 * @class */ -class DescribeServiceSubDomainMappingsRequest extends AbstractModel { +class DescribeServiceForApiAppRequest extends AbstractModel { constructor(){ super(); /** - * 服务唯一 ID。 + * 待查询的服务唯一 ID。 * @type {string || null} */ this.ServiceId = null; /** - * 服务绑定的自定义域名。 + * 服务所属的地域 * @type {string || null} */ - this.SubDomain = null; + this.ApiRegion = null; } @@ -7540,22 +11711,23 @@ class DescribeServiceSubDomainMappingsRequest extends AbstractModel { return; } this.ServiceId = 'ServiceId' in params ? params.ServiceId : null; - this.SubDomain = 'SubDomain' in params ? params.SubDomain : null; + this.ApiRegion = 'ApiRegion' in params ? params.ApiRegion : null; } } /** - * DescribeServiceSubDomainMappings返回参数结构体 + * ModifyApiEnvironmentStrategy返回参数结构体 * @class */ -class DescribeServiceSubDomainMappingsResponse extends AbstractModel { +class ModifyApiEnvironmentStrategyResponse extends AbstractModel { constructor(){ super(); /** - * 自定义路径映射列表。 - * @type {ServiceSubDomainMappings || null} + * 修改操作是否成功。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {boolean || null} */ this.Result = null; @@ -7574,79 +11746,74 @@ class DescribeServiceSubDomainMappingsResponse extends AbstractModel { if (!params) { return; } - - if (params.Result) { - let obj = new ServiceSubDomainMappings(); - obj.deserialize(params.Result) - this.Result = obj; - } + this.Result = 'Result' in params ? params.Result : null; this.RequestId = 'RequestId' in params ? params.RequestId : null; } } /** - * DescribeServiceEnvironmentList请求参数结构体 + * BindSubDomain请求参数结构体 * @class */ -class DescribeServiceEnvironmentListRequest extends AbstractModel { +class BindSubDomainRequest extends AbstractModel { constructor(){ super(); /** - * 待查询的服务唯一 ID。 + * 服务唯一 ID。 * @type {string || null} */ this.ServiceId = null; /** - * 返回数量,默认为 20,最大值为 100。 - * @type {number || null} + * 待绑定的自定义的域名。 + * @type {string || null} */ - this.Limit = null; + this.SubDomain = null; /** - * 偏移量,默认为 0。 - * @type {number || null} + * 服务支持协议,可选值为http、https、http&https。 + * @type {string || null} */ - this.Offset = null; - - } - - /** - * @private - */ - deserialize(params) { - if (!params) { - return; - } - this.ServiceId = 'ServiceId' in params ? params.ServiceId : null; - this.Limit = 'Limit' in params ? params.Limit : null; - this.Offset = 'Offset' in params ? params.Offset : null; - - } -} + this.Protocol = null; -/** - * 服务自定义域名路径映射 - * @class - */ -class ServiceSubDomainMappings extends AbstractModel { - constructor(){ - super(); + /** + * 网络类型,可选值为OUTER、INNER。 + * @type {string || null} + */ + this.NetType = null; /** - * 是否使用默认路径映射,为 True 表示使用默认路径映射;为 False 的话,表示使用自定义路径映射,此时 PathMappingSet 不为空。 + * 是否使用默认路径映射,默认为 true。为 false 时,表示自定义路径映射,此时 PathMappingSet 必填。 * @type {boolean || null} */ this.IsDefaultMapping = null; /** - * 自定义路径映射列表。 + * 默认域名。 + * @type {string || null} + */ + this.NetSubDomain = null; + + /** + * 待绑定自定义域名的证书唯一 ID。针对Protocol 为https或http&https可以选择上传。 + * @type {string || null} + */ + this.CertificateId = null; + + /** + * 自定义域名路径映射,最多输入三个Environment,并且只能分别取值“test”、 ”prepub“、”release“。 * @type {Array. || null} */ this.PathMappingSet = null; + /** + * 是否将HTTP请求强制跳转 HTTPS,默认为false。参数为 true时,API网关会将所有使用该自定义域名的 HTTP 协议的请求重定向至 HTTPS 协议进行转发。 + * @type {boolean || null} + */ + this.IsForcedHttps = null; + } /** @@ -7656,7 +11823,13 @@ class ServiceSubDomainMappings extends AbstractModel { if (!params) { return; } + this.ServiceId = 'ServiceId' in params ? params.ServiceId : null; + this.SubDomain = 'SubDomain' in params ? params.SubDomain : null; + this.Protocol = 'Protocol' in params ? params.Protocol : null; + this.NetType = 'NetType' in params ? params.NetType : null; this.IsDefaultMapping = 'IsDefaultMapping' in params ? params.IsDefaultMapping : null; + this.NetSubDomain = 'NetSubDomain' in params ? params.NetSubDomain : null; + this.CertificateId = 'CertificateId' in params ? params.CertificateId : null; if (params.PathMappingSet) { this.PathMappingSet = new Array(); @@ -7666,57 +11839,31 @@ class ServiceSubDomainMappings extends AbstractModel { this.PathMappingSet.push(obj); } } + this.IsForcedHttps = 'IsForcedHttps' in params ? params.IsForcedHttps : null; } } /** - * DescribeApiKey请求参数结构体 - * @class - */ -class DescribeApiKeyRequest extends AbstractModel { - constructor(){ - super(); - - /** - * API 密钥 ID。 - * @type {string || null} - */ - this.AccessKeyId = null; - - } - - /** - * @private - */ - deserialize(params) { - if (!params) { - return; - } - this.AccessKeyId = 'AccessKeyId' in params ? params.AccessKeyId : null; - - } -} - -/** - * DescribeAPIDocDetail返回参数结构体 + * 应用信息集 * @class */ -class DescribeAPIDocDetailResponse extends AbstractModel { +class ApiAppInfos extends AbstractModel { constructor(){ super(); /** - * API文档详细信息 - * @type {APIDocInfo || null} + * 应用数量 + * @type {number || null} */ - this.Result = null; + this.TotalCount = null; /** - * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - * @type {string || null} + * 应用信息数组 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {Array. || null} */ - this.RequestId = null; + this.ApiAppSet = null; } @@ -7727,40 +11874,41 @@ class DescribeAPIDocDetailResponse extends AbstractModel { if (!params) { return; } + this.TotalCount = 'TotalCount' in params ? params.TotalCount : null; - if (params.Result) { - let obj = new APIDocInfo(); - obj.deserialize(params.Result) - this.Result = obj; + if (params.ApiAppSet) { + this.ApiAppSet = new Array(); + for (let z in params.ApiAppSet) { + let obj = new ApiAppInfo(); + obj.deserialize(params.ApiAppSet[z]); + this.ApiAppSet.push(obj); + } } - this.RequestId = 'RequestId' in params ? params.RequestId : null; } } /** - * >描述键值对过滤器,用于条件过滤查询。例如过滤ID、名称、状态等 -> * 若存在多个`Filter`时,`Filter`间的关系为逻辑与(`AND`)关系。 -> * 若同一个`Filter`存在多个`Values`,同一`Filter`下`Values`间的关系为逻辑或(`OR`)关系。 -> - + * ip策略绑定api详情 * @class */ -class Filter extends AbstractModel { +class IPStrategyApiStatus extends AbstractModel { constructor(){ super(); /** - * 需要过滤的字段。 - * @type {string || null} + * 环境绑定API数量。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {number || null} */ - this.Name = null; + this.TotalCount = null; /** - * 字段的过滤值。 - * @type {Array. || null} + * 环境绑定API详情。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {Array. || null} */ - this.Values = null; + this.ApiIdStatusSet = null; } @@ -7771,33 +11919,40 @@ class Filter extends AbstractModel { if (!params) { return; } - this.Name = 'Name' in params ? params.Name : null; - this.Values = 'Values' in params ? params.Values : null; + this.TotalCount = 'TotalCount' in params ? params.TotalCount : null; + + if (params.ApiIdStatusSet) { + this.ApiIdStatusSet = new Array(); + for (let z in params.ApiIdStatusSet) { + let obj = new IPStrategyApi(); + obj.deserialize(params.ApiIdStatusSet[z]); + this.ApiIdStatusSet.push(obj); + } + } } } /** - * 使用计划绑定密钥列表 + * CreateIPStrategy返回参数结构体 * @class */ -class UsagePlanBindSecretStatus extends AbstractModel { +class CreateIPStrategyResponse extends AbstractModel { constructor(){ super(); /** - * 使用计划绑定密钥的数量。 + * 新建的IP策略详情。 注意:此字段可能返回 null,表示取不到有效值。 - * @type {number || null} + * @type {IPStrategy || null} */ - this.TotalCount = null; + this.Result = null; /** - * 密钥详情列表。 -注意:此字段可能返回 null,表示取不到有效值。 - * @type {Array. || null} + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} */ - this.AccessKeyList = null; + this.RequestId = null; } @@ -7808,30 +11963,28 @@ class UsagePlanBindSecretStatus extends AbstractModel { if (!params) { return; } - this.TotalCount = 'TotalCount' in params ? params.TotalCount : null; - if (params.AccessKeyList) { - this.AccessKeyList = new Array(); - for (let z in params.AccessKeyList) { - let obj = new UsagePlanBindSecret(); - obj.deserialize(params.AccessKeyList[z]); - this.AccessKeyList.push(obj); - } + if (params.Result) { + let obj = new IPStrategy(); + obj.deserialize(params.Result) + this.Result = obj; } + this.RequestId = 'RequestId' in params ? params.RequestId : null; } } /** - * DeleteServiceSubDomainMapping返回参数结构体 + * UnBindEnvironment返回参数结构体 * @class */ -class DeleteServiceSubDomainMappingResponse extends AbstractModel { +class UnBindEnvironmentResponse extends AbstractModel { constructor(){ super(); /** - * 删除自定义域名的路径映射操作是否成功。 + * 解绑操作是否成功。 +注意:此字段可能返回 null,表示取不到有效值。 * @type {boolean || null} */ this.Result = null; @@ -7858,17 +12011,17 @@ class DeleteServiceSubDomainMappingResponse extends AbstractModel { } /** - * CreateApiKey返回参数结构体 + * DeleteApi返回参数结构体 * @class */ -class CreateApiKeyResponse extends AbstractModel { +class DeleteApiResponse extends AbstractModel { constructor(){ super(); /** - * 新增的密钥详情。 + * 删除操作是否成功。 注意:此字段可能返回 null,表示取不到有效值。 - * @type {ApiKey || null} + * @type {boolean || null} */ this.Result = null; @@ -7887,42 +12040,43 @@ class CreateApiKeyResponse extends AbstractModel { if (!params) { return; } - - if (params.Result) { - let obj = new ApiKey(); - obj.deserialize(params.Result) - this.Result = obj; - } + this.Result = 'Result' in params ? params.Result : null; this.RequestId = 'RequestId' in params ? params.RequestId : null; } } /** - * DescribeUsagePlansStatus请求参数结构体 + * BindIPStrategy请求参数结构体 * @class */ -class DescribeUsagePlansStatusRequest extends AbstractModel { +class BindIPStrategyRequest extends AbstractModel { constructor(){ super(); /** - * 返回数量,默认为 20,最大值为 100。 - * @type {number || null} + * 待绑定的IP策略所属的服务唯一ID。 + * @type {string || null} */ - this.Limit = null; + this.ServiceId = null; /** - * 偏移量,默认为 0。 - * @type {number || null} + * 待绑定的IP策略唯一ID。 + * @type {string || null} */ - this.Offset = null; + this.StrategyId = null; /** - * 使用计划过滤条件。支持UsagePlanId、UsagePlanName、NotServiceId、NotApiId、Environment。 - * @type {Array. || null} + * IP策略待绑定的环境。 + * @type {string || null} */ - this.Filters = null; + this.EnvironmentName = null; + + /** + * IP策略待绑定的API列表。 + * @type {Array. || null} + */ + this.BindApiIds = null; } @@ -7933,112 +12087,140 @@ class DescribeUsagePlansStatusRequest extends AbstractModel { if (!params) { return; } - this.Limit = 'Limit' in params ? params.Limit : null; - this.Offset = 'Offset' in params ? params.Offset : null; - - if (params.Filters) { - this.Filters = new Array(); - for (let z in params.Filters) { - let obj = new Filter(); - obj.deserialize(params.Filters[z]); - this.Filters.push(obj); - } - } + this.ServiceId = 'ServiceId' in params ? params.ServiceId : null; + this.StrategyId = 'StrategyId' in params ? params.StrategyId : null; + this.EnvironmentName = 'EnvironmentName' in params ? params.EnvironmentName : null; + this.BindApiIds = 'BindApiIds' in params ? params.BindApiIds : null; } } /** - * 使用计划绑定环境详情。 + * UpdateService请求参数结构体 * @class */ -class UsagePlanEnvironment extends AbstractModel { +class UpdateServiceRequest extends AbstractModel { constructor(){ super(); /** - * 绑定的服务唯一 ID。 -注意:此字段可能返回 null,表示取不到有效值。 + * 待切换服务的唯一 Id。 * @type {string || null} */ this.ServiceId = null; /** - * API 的唯一ID。 -注意:此字段可能返回 null,表示取不到有效值。 + * 待切换的环境名称,当前支持三个环境,test(测试环境)、prepub(预发布环境)和 release(发布环境)。 * @type {string || null} */ - this.ApiId = null; + this.EnvironmentName = null; /** - * API 的名称。 -注意:此字段可能返回 null,表示取不到有效值。 + * 切换的版本号。 * @type {string || null} */ - this.ApiName = null; + this.VersionName = null; /** - * API 的路径。 -注意:此字段可能返回 null,表示取不到有效值。 + * 本次的切换描述。 * @type {string || null} */ - this.Path = null; + this.UpdateDesc = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.ServiceId = 'ServiceId' in params ? params.ServiceId : null; + this.EnvironmentName = 'EnvironmentName' in params ? params.EnvironmentName : null; + this.VersionName = 'VersionName' in params ? params.VersionName : null; + this.UpdateDesc = 'UpdateDesc' in params ? params.UpdateDesc : null; + + } +} + +/** + * BuildAPIDoc返回参数结构体 + * @class + */ +class BuildAPIDocResponse extends AbstractModel { + constructor(){ + super(); /** - * API 的方法。 -注意:此字段可能返回 null,表示取不到有效值。 - * @type {string || null} + * 操作是否成功 + * @type {boolean || null} */ - this.Method = null; + this.Result = null; /** - * 已经绑定的环境名称。 -注意:此字段可能返回 null,表示取不到有效值。 + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 * @type {string || null} */ - this.Environment = null; + this.RequestId = null; - /** - * 已经使用的配额。 -注意:此字段可能返回 null,表示取不到有效值。 - * @type {number || null} - */ - this.InUseRequestNum = null; + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Result = 'Result' in params ? params.Result : null; + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * 用户自定义错误码 + * @class + */ +class ErrorCodes extends AbstractModel { + constructor(){ + super(); /** - * 最大请求量。 + * 自定义响应配置错误码。 注意:此字段可能返回 null,表示取不到有效值。 * @type {number || null} */ - this.MaxRequestNum = null; + this.Code = null; /** - * 每秒最大请求次数。 + * 自定义响应配置错误信息。 注意:此字段可能返回 null,表示取不到有效值。 - * @type {number || null} + * @type {string || null} */ - this.MaxRequestNumPreSec = null; + this.Msg = null; /** - * 创建时间。按照 ISO8601 标准表示,并且使用 UTC 时间。格式为:YYYY-MM-DDThh:mm:ssZ。 + * 自定义响应配置错误码备注。 注意:此字段可能返回 null,表示取不到有效值。 * @type {string || null} */ - this.CreatedTime = null; + this.Desc = null; /** - * 最后修改时间。按照 ISO8601 标准表示,并且使用 UTC 时间。格式为:YYYY-MM-DDThh:mm:ssZ。 + * 自定义错误码转换。 注意:此字段可能返回 null,表示取不到有效值。 - * @type {string || null} + * @type {number || null} */ - this.ModifiedTime = null; + this.ConvertedCode = null; /** - * 服务名称。 + * 是否需要开启错误码转换。 注意:此字段可能返回 null,表示取不到有效值。 - * @type {string || null} + * @type {boolean || null} */ - this.ServiceName = null; + this.NeedConvert = null; } @@ -8049,47 +12231,40 @@ class UsagePlanEnvironment extends AbstractModel { if (!params) { return; } - this.ServiceId = 'ServiceId' in params ? params.ServiceId : null; - this.ApiId = 'ApiId' in params ? params.ApiId : null; - this.ApiName = 'ApiName' in params ? params.ApiName : null; - this.Path = 'Path' in params ? params.Path : null; - this.Method = 'Method' in params ? params.Method : null; - this.Environment = 'Environment' in params ? params.Environment : null; - this.InUseRequestNum = 'InUseRequestNum' in params ? params.InUseRequestNum : null; - this.MaxRequestNum = 'MaxRequestNum' in params ? params.MaxRequestNum : null; - this.MaxRequestNumPreSec = 'MaxRequestNumPreSec' in params ? params.MaxRequestNumPreSec : null; - this.CreatedTime = 'CreatedTime' in params ? params.CreatedTime : null; - this.ModifiedTime = 'ModifiedTime' in params ? params.ModifiedTime : null; - this.ServiceName = 'ServiceName' in params ? params.ServiceName : null; + this.Code = 'Code' in params ? params.Code : null; + this.Msg = 'Msg' in params ? params.Msg : null; + this.Desc = 'Desc' in params ? params.Desc : null; + this.ConvertedCode = 'ConvertedCode' in params ? params.ConvertedCode : null; + this.NeedConvert = 'NeedConvert' in params ? params.NeedConvert : null; } } /** - * ModifyIPStrategy请求参数结构体 + * DescribeServiceEnvironmentList请求参数结构体 * @class */ -class ModifyIPStrategyRequest extends AbstractModel { +class DescribeServiceEnvironmentListRequest extends AbstractModel { constructor(){ super(); /** - * 待修改的策略所属服务的唯一ID。 + * 待查询的服务唯一 ID。 * @type {string || null} */ this.ServiceId = null; /** - * 待修改的策略唯一ID。 - * @type {string || null} + * 返回数量,默认为 20,最大值为 100。 + * @type {number || null} */ - this.StrategyId = null; + this.Limit = null; /** - * 待修改的策略详情。 - * @type {string || null} + * 偏移量,默认为 0。 + * @type {number || null} */ - this.StrategyData = null; + this.Offset = null; } @@ -8101,31 +12276,33 @@ class ModifyIPStrategyRequest extends AbstractModel { return; } this.ServiceId = 'ServiceId' in params ? params.ServiceId : null; - this.StrategyId = 'StrategyId' in params ? params.StrategyId : null; - this.StrategyData = 'StrategyData' in params ? params.StrategyData : null; + this.Limit = 'Limit' in params ? params.Limit : null; + this.Offset = 'Offset' in params ? params.Offset : null; } } /** - * UnBindSecretIds请求参数结构体 + * 环境绑定策略列表 * @class */ -class UnBindSecretIdsRequest extends AbstractModel { +class ServiceEnvironmentStrategyStatus extends AbstractModel { constructor(){ super(); /** - * 待解绑的使用计划唯一 ID。 - * @type {string || null} + * 限流策略数量。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {number || null} */ - this.UsagePlanId = null; + this.TotalCount = null; /** - * 待解绑的密钥 ID 数组。 - * @type {Array. || null} + * 限流策略列表。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {Array. || null} */ - this.AccessKeyIds = null; + this.EnvironmentList = null; } @@ -8136,49 +12313,63 @@ class UnBindSecretIdsRequest extends AbstractModel { if (!params) { return; } - this.UsagePlanId = 'UsagePlanId' in params ? params.UsagePlanId : null; - this.AccessKeyIds = 'AccessKeyIds' in params ? params.AccessKeyIds : null; + this.TotalCount = 'TotalCount' in params ? params.TotalCount : null; + + if (params.EnvironmentList) { + this.EnvironmentList = new Array(); + for (let z in params.EnvironmentList) { + let obj = new ServiceEnvironmentStrategy(); + obj.deserialize(params.EnvironmentList[z]); + this.EnvironmentList.push(obj); + } + } } } /** - * api环境绑定策略 + * 请求参数 * @class */ -class ApiEnvironmentStrategy extends AbstractModel { +class ReqParameter extends AbstractModel { constructor(){ super(); /** - * API唯一ID。 + * API 的前端参数名称。 * @type {string || null} */ - this.ApiId = null; + this.Name = null; /** - * 用户自定义API名称。 + * API 的前端参数位置,如 header。目前支持 header、query、path。 * @type {string || null} */ - this.ApiName = null; + this.Position = null; /** - * API的路径。如/path。 + * API 的前端参数类型,如 String、int。 * @type {string || null} */ - this.Path = null; + this.Type = null; /** - * API的方法。如GET。 + * API 的前端参数默认值。 * @type {string || null} */ - this.Method = null; + this.DefaultValue = null; /** - * 环境的限流信息。 - * @type {Array. || null} + * API 的前端参数是否必填,True:表示必填,False:表示可选。 + * @type {boolean || null} */ - this.EnvironmentStrategySet = null; + this.Required = null; + + /** + * API 的前端参数备注。 + * @type {string || null} + */ + this.Desc = null; } @@ -8189,35 +12380,28 @@ class ApiEnvironmentStrategy extends AbstractModel { if (!params) { return; } - this.ApiId = 'ApiId' in params ? params.ApiId : null; - this.ApiName = 'ApiName' in params ? params.ApiName : null; - this.Path = 'Path' in params ? params.Path : null; - this.Method = 'Method' in params ? params.Method : null; - - if (params.EnvironmentStrategySet) { - this.EnvironmentStrategySet = new Array(); - for (let z in params.EnvironmentStrategySet) { - let obj = new EnvironmentStrategy(); - obj.deserialize(params.EnvironmentStrategySet[z]); - this.EnvironmentStrategySet.push(obj); - } - } + this.Name = 'Name' in params ? params.Name : null; + this.Position = 'Position' in params ? params.Position : null; + this.Type = 'Type' in params ? params.Type : null; + this.DefaultValue = 'DefaultValue' in params ? params.DefaultValue : null; + this.Required = 'Required' in params ? params.Required : null; + this.Desc = 'Desc' in params ? params.Desc : null; } } /** - * UnBindSecretIds返回参数结构体 + * DescribeApiEnvironmentStrategy返回参数结构体 * @class */ -class UnBindSecretIdsResponse extends AbstractModel { +class DescribeApiEnvironmentStrategyResponse extends AbstractModel { constructor(){ super(); /** - * 解绑操作是否成功。 + * api绑定策略详情 注意:此字段可能返回 null,表示取不到有效值。 - * @type {boolean || null} + * @type {ApiEnvironmentStrategyStataus || null} */ this.Result = null; @@ -8236,25 +12420,42 @@ class UnBindSecretIdsResponse extends AbstractModel { if (!params) { return; } - this.Result = 'Result' in params ? params.Result : null; + + if (params.Result) { + let obj = new ApiEnvironmentStrategyStataus(); + obj.deserialize(params.Result) + this.Result = obj; + } this.RequestId = 'RequestId' in params ? params.RequestId : null; } } /** - * ResetAPIDocPassword请求参数结构体 + * API绑定的微服务信息。 * @class */ -class ResetAPIDocPasswordRequest extends AbstractModel { +class MicroService extends AbstractModel { constructor(){ super(); /** - * API文档ID + * 微服务集群ID。 * @type {string || null} */ - this.ApiDocId = null; + this.ClusterId = null; + + /** + * 微服务命名空间ID。 + * @type {string || null} + */ + this.NamespaceId = null; + + /** + * 微服务名称。 + * @type {string || null} + */ + this.MicroServiceName = null; } @@ -8265,123 +12466,156 @@ class ResetAPIDocPasswordRequest extends AbstractModel { if (!params) { return; } - this.ApiDocId = 'ApiDocId' in params ? params.ApiDocId : null; + this.ClusterId = 'ClusterId' in params ? params.ClusterId : null; + this.NamespaceId = 'NamespaceId' in params ? params.NamespaceId : null; + this.MicroServiceName = 'MicroServiceName' in params ? params.MicroServiceName : null; } } /** - * api或service绑定使用计划详情 + * API绑定策略列表 * @class */ -class ApiUsagePlan extends AbstractModel { +class ApiEnvironmentStrategyStataus extends AbstractModel { constructor(){ super(); /** - * 服务唯一ID。 + * API绑定的限流策略数量。 注意:此字段可能返回 null,表示取不到有效值。 - * @type {string || null} + * @type {number || null} */ - this.ServiceId = null; + this.TotalCount = null; /** - * API 唯一 ID。 + * API绑定的限流策略列表。 注意:此字段可能返回 null,表示取不到有效值。 - * @type {string || null} + * @type {Array. || null} */ - this.ApiId = null; + this.ApiEnvironmentStrategySet = null; - /** - * API 名称。 -注意:此字段可能返回 null,表示取不到有效值。 - * @type {string || null} - */ - this.ApiName = null; + } - /** - * API 路径。 -注意:此字段可能返回 null,表示取不到有效值。 - * @type {string || null} - */ - this.Path = null; + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.TotalCount = 'TotalCount' in params ? params.TotalCount : null; - /** - * API 方法。 -注意:此字段可能返回 null,表示取不到有效值。 - * @type {string || null} - */ - this.Method = null; + if (params.ApiEnvironmentStrategySet) { + this.ApiEnvironmentStrategySet = new Array(); + for (let z in params.ApiEnvironmentStrategySet) { + let obj = new ApiEnvironmentStrategy(); + obj.deserialize(params.ApiEnvironmentStrategySet[z]); + this.ApiEnvironmentStrategySet.push(obj); + } + } - /** - * 使用计划的唯一 ID。 -注意:此字段可能返回 null,表示取不到有效值。 - * @type {string || null} - */ - this.UsagePlanId = null; + } +} + +/** + * 插件列表详情。 + * @class + */ +class PluginSummary extends AbstractModel { + constructor(){ + super(); /** - * 使用计划的名称。 -注意:此字段可能返回 null,表示取不到有效值。 - * @type {string || null} + * 插件个数。 + * @type {number || null} */ - this.UsagePlanName = null; + this.TotalCount = null; /** - * 使用计划的描述。 -注意:此字段可能返回 null,表示取不到有效值。 - * @type {string || null} + * 插件详情。 + * @type {Array. || null} */ - this.UsagePlanDesc = null; + this.PluginSet = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.TotalCount = 'TotalCount' in params ? params.TotalCount : null; + + if (params.PluginSet) { + this.PluginSet = new Array(); + for (let z in params.PluginSet) { + let obj = new Plugin(); + obj.deserialize(params.PluginSet[z]); + this.PluginSet.push(obj); + } + } + + } +} + +/** + * 应用信息 + * @class + */ +class ApiAppInfo extends AbstractModel { + constructor(){ + super(); /** - * 使用计划绑定的服务环境。 + * 应用名称 注意:此字段可能返回 null,表示取不到有效值。 * @type {string || null} */ - this.Environment = null; + this.ApiAppName = null; /** - * 已经使用的配额。 -注意:此字段可能返回 null,表示取不到有效值。 - * @type {number || null} + * 应用ID + * @type {string || null} */ - this.InUseRequestNum = null; + this.ApiAppId = null; /** - * 请求配额总量,-1表示没有限制。 + * 应用SECRET 注意:此字段可能返回 null,表示取不到有效值。 - * @type {number || null} + * @type {string || null} */ - this.MaxRequestNum = null; + this.ApiAppSecret = null; /** - * 请求 QPS 上限,-1 表示没有限制。 + * 应用描述 注意:此字段可能返回 null,表示取不到有效值。 - * @type {number || null} + * @type {string || null} */ - this.MaxRequestNumPreSec = null; + this.ApiAppDesc = null; /** - * 使用计划创建时间。 + * 创建时间,按照 ISO8601 标准表示,并且使用 UTC 时间。格式为:YYYY-MM-DDThh:mm:ssZ。 注意:此字段可能返回 null,表示取不到有效值。 * @type {string || null} */ this.CreatedTime = null; /** - * 使用计划最后修改时间。 + * 修改时间,按照 ISO8601 标准表示,并且使用 UTC 时间。格式为:YYYY-MM-DDThh:mm:ssZ。 注意:此字段可能返回 null,表示取不到有效值。 * @type {string || null} */ this.ModifiedTime = null; /** - * 服务名称。 + * 应用KEY 注意:此字段可能返回 null,表示取不到有效值。 * @type {string || null} */ - this.ServiceName = null; + this.ApiAppKey = null; } @@ -8392,38 +12626,37 @@ class ApiUsagePlan extends AbstractModel { if (!params) { return; } - this.ServiceId = 'ServiceId' in params ? params.ServiceId : null; - this.ApiId = 'ApiId' in params ? params.ApiId : null; - this.ApiName = 'ApiName' in params ? params.ApiName : null; - this.Path = 'Path' in params ? params.Path : null; - this.Method = 'Method' in params ? params.Method : null; - this.UsagePlanId = 'UsagePlanId' in params ? params.UsagePlanId : null; - this.UsagePlanName = 'UsagePlanName' in params ? params.UsagePlanName : null; - this.UsagePlanDesc = 'UsagePlanDesc' in params ? params.UsagePlanDesc : null; - this.Environment = 'Environment' in params ? params.Environment : null; - this.InUseRequestNum = 'InUseRequestNum' in params ? params.InUseRequestNum : null; - this.MaxRequestNum = 'MaxRequestNum' in params ? params.MaxRequestNum : null; - this.MaxRequestNumPreSec = 'MaxRequestNumPreSec' in params ? params.MaxRequestNumPreSec : null; + this.ApiAppName = 'ApiAppName' in params ? params.ApiAppName : null; + this.ApiAppId = 'ApiAppId' in params ? params.ApiAppId : null; + this.ApiAppSecret = 'ApiAppSecret' in params ? params.ApiAppSecret : null; + this.ApiAppDesc = 'ApiAppDesc' in params ? params.ApiAppDesc : null; this.CreatedTime = 'CreatedTime' in params ? params.CreatedTime : null; this.ModifiedTime = 'ModifiedTime' in params ? params.ModifiedTime : null; - this.ServiceName = 'ServiceName' in params ? params.ServiceName : null; + this.ApiAppKey = 'ApiAppKey' in params ? params.ApiAppKey : null; } } /** - * BuildAPIDoc请求参数结构体 + * DeleteIPStrategy返回参数结构体 * @class */ -class BuildAPIDocRequest extends AbstractModel { +class DeleteIPStrategyResponse extends AbstractModel { constructor(){ super(); /** - * API文档ID + * 删除操作是否成功。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {boolean || null} + */ + this.Result = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 * @type {string || null} */ - this.ApiDocId = null; + this.RequestId = null; } @@ -8434,30 +12667,31 @@ class BuildAPIDocRequest extends AbstractModel { if (!params) { return; } - this.ApiDocId = 'ApiDocId' in params ? params.ApiDocId : null; + this.Result = 'Result' in params ? params.Result : null; + this.RequestId = 'RequestId' in params ? params.RequestId : null; } } /** - * DescribeAPIDocs返回参数结构体 + * 插件相关的API列表信息。 * @class */ -class DescribeAPIDocsResponse extends AbstractModel { +class ApiInfoSummary extends AbstractModel { constructor(){ super(); /** - * API文档列表信息 - * @type {APIDocs || null} + * 插件相关的API总数。 + * @type {number || null} */ - this.Result = null; + this.TotalCount = null; /** - * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - * @type {string || null} + * 插件相关的API信息。 + * @type {Array. || null} */ - this.RequestId = null; + this.ApiSet = null; } @@ -8468,42 +12702,129 @@ class DescribeAPIDocsResponse extends AbstractModel { if (!params) { return; } + this.TotalCount = 'TotalCount' in params ? params.TotalCount : null; - if (params.Result) { - let obj = new APIDocs(); - obj.deserialize(params.Result) - this.Result = obj; + if (params.ApiSet) { + this.ApiSet = new Array(); + for (let z in params.ApiSet) { + let obj = new AvailableApiInfo(); + obj.deserialize(params.ApiSet[z]); + this.ApiSet.push(obj); + } } - this.RequestId = 'RequestId' in params ? params.RequestId : null; } } /** - * ModifyServiceEnvironmentStrategy请求参数结构体 + * 密钥详情 * @class */ -class ModifyServiceEnvironmentStrategyRequest extends AbstractModel { +class ApiKey extends AbstractModel { constructor(){ super(); /** - * 服务的唯一ID。 + * 创建的 API 密钥 ID 。 * @type {string || null} */ - this.ServiceId = null; + this.AccessKeyId = null; /** - * 限流值。 + * 创建的 API 密钥 Key。 + * @type {string || null} + */ + this.AccessKeySecret = null; + + /** + * 密钥类型,auto 或者 manual。 + * @type {string || null} + */ + this.AccessKeyType = null; + + /** + * 用户自定义密钥名称。 + * @type {string || null} + */ + this.SecretName = null; + + /** + * 最后一次修改时间。按照 ISO8601 标准表示,并且使用 UTC 时间。格式为:YYYY-MM-DDThh:mm:ssZ。 + * @type {string || null} + */ + this.ModifiedTime = null; + + /** + * 密钥状态。0表示禁用,1表示启用。 * @type {number || null} */ - this.Strategy = null; + this.Status = null; /** - * 环境列表。 - * @type {Array. || null} + * 创建时间。按照 ISO8601 标准表示,并且使用 UTC 时间。格式为:YYYY-MM-DDThh:mm:ssZ。 + * @type {string || null} */ - this.EnvironmentNames = null; + this.CreatedTime = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.AccessKeyId = 'AccessKeyId' in params ? params.AccessKeyId : null; + this.AccessKeySecret = 'AccessKeySecret' in params ? params.AccessKeySecret : null; + this.AccessKeyType = 'AccessKeyType' in params ? params.AccessKeyType : null; + this.SecretName = 'SecretName' in params ? params.SecretName : null; + this.ModifiedTime = 'ModifiedTime' in params ? params.ModifiedTime : null; + this.Status = 'Status' in params ? params.Status : null; + this.CreatedTime = 'CreatedTime' in params ? params.CreatedTime : null; + + } +} + +/** + * vpc通道绑定的api信息 + * @class + */ +class BindApiInfo extends AbstractModel { + constructor(){ + super(); + + /** + * api唯一id + * @type {string || null} + */ + this.ApiId = null; + + /** + * Service唯一id + * @type {string || null} + */ + this.ServiceId = null; + + /** + * api名字 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.ApiName = null; + + /** + * 服务名字 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.ServiceName = null; + + /** + * 绑定时间 + * @type {string || null} + */ + this.BindTime = null; } @@ -8514,44 +12835,77 @@ class ModifyServiceEnvironmentStrategyRequest extends AbstractModel { if (!params) { return; } + this.ApiId = 'ApiId' in params ? params.ApiId : null; this.ServiceId = 'ServiceId' in params ? params.ServiceId : null; - this.Strategy = 'Strategy' in params ? params.Strategy : null; - this.EnvironmentNames = 'EnvironmentNames' in params ? params.EnvironmentNames : null; + this.ApiName = 'ApiName' in params ? params.ApiName : null; + this.ServiceName = 'ServiceName' in params ? params.ServiceName : null; + this.BindTime = 'BindTime' in params ? params.BindTime : null; } } /** - * CreateAPIDoc请求参数结构体 + * 应用绑定的Api信息 * @class */ -class CreateAPIDocRequest extends AbstractModel { +class ApiAppApiInfo extends AbstractModel { constructor(){ super(); /** - * API文档名称 + * 应用名称 +注意:此字段可能返回 null,表示取不到有效值。 * @type {string || null} */ - this.ApiDocName = null; + this.ApiAppName = null; /** - * 服务名称 + * 应用ID + * @type {string || null} + */ + this.ApiAppId = null; + + /** + * Api的ID +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.ApiId = null; + + /** + * Api名称 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.ApiName = null; + + /** + * 服务ID +注意:此字段可能返回 null,表示取不到有效值。 * @type {string || null} */ this.ServiceId = null; /** - * 环境名称 + * 授权绑定时间,按照 ISO8601 标准表示,并且使用 UTC 时间。格式为:YYYY-MM-DDThh:mm:ssZ。 +注意:此字段可能返回 null,表示取不到有效值。 * @type {string || null} */ - this.Environment = null; + this.AuthorizedTime = null; /** - * 生成文档的API列表 - * @type {Array. || null} + * Api所属地域 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} */ - this.ApiIds = null; + this.ApiRegion = null; + + /** + * 授权绑定的环境 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.EnvironmentName = null; } @@ -8562,39 +12916,96 @@ class CreateAPIDocRequest extends AbstractModel { if (!params) { return; } - this.ApiDocName = 'ApiDocName' in params ? params.ApiDocName : null; + this.ApiAppName = 'ApiAppName' in params ? params.ApiAppName : null; + this.ApiAppId = 'ApiAppId' in params ? params.ApiAppId : null; + this.ApiId = 'ApiId' in params ? params.ApiId : null; + this.ApiName = 'ApiName' in params ? params.ApiName : null; this.ServiceId = 'ServiceId' in params ? params.ServiceId : null; - this.Environment = 'Environment' in params ? params.Environment : null; - this.ApiIds = 'ApiIds' in params ? params.ApiIds : null; + this.AuthorizedTime = 'AuthorizedTime' in params ? params.AuthorizedTime : null; + this.ApiRegion = 'ApiRegion' in params ? params.ApiRegion : null; + this.EnvironmentName = 'EnvironmentName' in params ? params.EnvironmentName : null; } } /** - * DescribeServiceSubDomains请求参数结构体 + * DescribeUsagePlan返回参数结构体 * @class */ -class DescribeServiceSubDomainsRequest extends AbstractModel { +class DescribeUsagePlanResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 使用计划详情。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {UsagePlanInfo || null} + */ + this.Result = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + + if (params.Result) { + let obj = new UsagePlanInfo(); + obj.deserialize(params.Result) + this.Result = obj; + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * UnBindEnvironment请求参数结构体 + * @class + */ +class UnBindEnvironmentRequest extends AbstractModel { constructor(){ super(); /** - * 服务唯一 ID。 + * 绑定类型,取值为 API、SERVICE,默认值为 SERVICE。 + * @type {string || null} + */ + this.BindType = null; + + /** + * 待绑定的使用计划唯一 ID 列表。 + * @type {Array. || null} + */ + this.UsagePlanIds = null; + + /** + * 待解绑的服务环境。 * @type {string || null} */ - this.ServiceId = null; + this.Environment = null; /** - * 返回数量,默认为 20,最大值为 100。 - * @type {number || null} + * 待解绑的服务唯一 ID。 + * @type {string || null} */ - this.Limit = null; + this.ServiceId = null; /** - * 偏移量,默认为 0。 - * @type {number || null} + * API 唯一 ID 数组,当 BindType=API 时,需要传入此参数。 + * @type {Array. || null} */ - this.Offset = null; + this.ApiIds = null; } @@ -8605,24 +13016,26 @@ class DescribeServiceSubDomainsRequest extends AbstractModel { if (!params) { return; } + this.BindType = 'BindType' in params ? params.BindType : null; + this.UsagePlanIds = 'UsagePlanIds' in params ? params.UsagePlanIds : null; + this.Environment = 'Environment' in params ? params.Environment : null; this.ServiceId = 'ServiceId' in params ? params.ServiceId : null; - this.Limit = 'Limit' in params ? params.Limit : null; - this.Offset = 'Offset' in params ? params.Offset : null; + this.ApiIds = 'ApiIds' in params ? params.ApiIds : null; } } /** - * GenerateApiDocument返回参数结构体 + * AttachPlugin返回参数结构体 * @class */ -class GenerateApiDocumentResponse extends AbstractModel { +class AttachPluginResponse extends AbstractModel { constructor(){ super(); /** - * api文档&sdk链接。 - * @type {DocumentSDK || null} + * 绑定操作是否成功。 + * @type {boolean || null} */ this.Result = null; @@ -8641,37 +13054,49 @@ class GenerateApiDocumentResponse extends AbstractModel { if (!params) { return; } - - if (params.Result) { - let obj = new DocumentSDK(); - obj.deserialize(params.Result) - this.Result = obj; - } + this.Result = 'Result' in params ? params.Result : null; this.RequestId = 'RequestId' in params ? params.RequestId : null; } } /** - * DescribeUsagePlanEnvironments返回参数结构体 + * BindEnvironment请求参数结构体 * @class */ -class DescribeUsagePlanEnvironmentsResponse extends AbstractModel { +class BindEnvironmentRequest extends AbstractModel { constructor(){ super(); /** - * 使用计划绑定详情。 -注意:此字段可能返回 null,表示取不到有效值。 - * @type {UsagePlanEnvironmentStatus || null} + * 待绑定的使用计划唯一 ID 列表。 + * @type {Array. || null} */ - this.Result = null; + this.UsagePlanIds = null; /** - * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * 绑定类型,取值为API、SERVICE,默认值为SERVICE。 * @type {string || null} */ - this.RequestId = null; + this.BindType = null; + + /** + * 待绑定的环境。 + * @type {string || null} + */ + this.Environment = null; + + /** + * 待绑定的服务唯一 ID。 + * @type {string || null} + */ + this.ServiceId = null; + + /** + * API唯一ID数组,当bindType=API时,需要传入此参数。 + * @type {Array. || null} + */ + this.ApiIds = null; } @@ -8682,28 +13107,27 @@ class DescribeUsagePlanEnvironmentsResponse extends AbstractModel { if (!params) { return; } - - if (params.Result) { - let obj = new UsagePlanEnvironmentStatus(); - obj.deserialize(params.Result) - this.Result = obj; - } - this.RequestId = 'RequestId' in params ? params.RequestId : null; + this.UsagePlanIds = 'UsagePlanIds' in params ? params.UsagePlanIds : null; + this.BindType = 'BindType' in params ? params.BindType : null; + this.Environment = 'Environment' in params ? params.Environment : null; + this.ServiceId = 'ServiceId' in params ? params.ServiceId : null; + this.ApiIds = 'ApiIds' in params ? params.ApiIds : null; } } /** - * DescribeServiceSubDomains返回参数结构体 + * ModifyUpstream返回参数结构体 * @class */ -class DescribeServiceSubDomainsResponse extends AbstractModel { +class ModifyUpstreamResponse extends AbstractModel { constructor(){ super(); /** - * 查询服务自定义域名列表。 - * @type {DomainSets || null} + * 返回修改后的后端通道信息 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {UpstreamInfo || null} */ this.Result = null; @@ -8724,7 +13148,7 @@ class DescribeServiceSubDomainsResponse extends AbstractModel { } if (params.Result) { - let obj = new DomainSets(); + let obj = new UpstreamInfo(); obj.deserialize(params.Result) this.Result = obj; } @@ -8734,118 +13158,48 @@ class DescribeServiceSubDomainsResponse extends AbstractModel { } /** - * BindSubDomain请求参数结构体 + * DescribeIPStrategy请求参数结构体 * @class */ -class BindSubDomainRequest extends AbstractModel { +class DescribeIPStrategyRequest extends AbstractModel { constructor(){ super(); /** - * 服务唯一 ID。 + * 服务唯一ID。 * @type {string || null} */ this.ServiceId = null; /** - * 待绑定的自定义的域名。 - * @type {string || null} - */ - this.SubDomain = null; - - /** - * 服务支持协议,可选值为http、https、http&https。 - * @type {string || null} - */ - this.Protocol = null; - - /** - * 网络类型,可选值为OUTER、INNER。 - * @type {string || null} - */ - this.NetType = null; - - /** - * 是否使用默认路径映射,默认为 true。为 false 时,表示自定义路径映射,此时 PathMappingSet 必填。 - * @type {boolean || null} - */ - this.IsDefaultMapping = null; - - /** - * 默认域名。 + * IP 策略唯一ID。 * @type {string || null} */ - this.NetSubDomain = null; + this.StrategyId = null; /** - * 待绑定自定义域名的证书唯一 ID。针对Protocol 为https或http&https可以选择上传。 + * 策略关联的环境。 * @type {string || null} */ - this.CertificateId = null; - - /** - * 自定义域名路径映射,最多输入三个Environment,并且只能分别取值“test”、 ”prepub“、”release“。 - * @type {Array. || null} - */ - this.PathMappingSet = null; + this.EnvironmentName = null; /** - * 是否将HTTP请求强制跳转 HTTPS,默认为false。参数为 true时,API网关会将所有使用该自定义域名的 HTTP 协议的请求重定向至 HTTPS 协议进行转发。 - * @type {boolean || null} + * 返回数量,默认为 20,最大值为 100。 + * @type {number || null} */ - this.IsForcedHttps = null; - - } - - /** - * @private - */ - deserialize(params) { - if (!params) { - return; - } - this.ServiceId = 'ServiceId' in params ? params.ServiceId : null; - this.SubDomain = 'SubDomain' in params ? params.SubDomain : null; - this.Protocol = 'Protocol' in params ? params.Protocol : null; - this.NetType = 'NetType' in params ? params.NetType : null; - this.IsDefaultMapping = 'IsDefaultMapping' in params ? params.IsDefaultMapping : null; - this.NetSubDomain = 'NetSubDomain' in params ? params.NetSubDomain : null; - this.CertificateId = 'CertificateId' in params ? params.CertificateId : null; - - if (params.PathMappingSet) { - this.PathMappingSet = new Array(); - for (let z in params.PathMappingSet) { - let obj = new PathMapping(); - obj.deserialize(params.PathMappingSet[z]); - this.PathMappingSet.push(obj); - } - } - this.IsForcedHttps = 'IsForcedHttps' in params ? params.IsForcedHttps : null; - - } -} - -/** - * ip策略绑定api详情 - * @class - */ -class IPStrategyApiStatus extends AbstractModel { - constructor(){ - super(); + this.Limit = null; /** - * 环境绑定API数量。 -注意:此字段可能返回 null,表示取不到有效值。 + * 偏移量,默认为 0。 * @type {number || null} */ - this.TotalCount = null; + this.Offset = null; /** - * 环境绑定API详情。 -注意:此字段可能返回 null,表示取不到有效值。 - * @type {Array. || null} + * 过滤条件。预留字段,目前不支持过滤。 + * @type {Array. || null} */ - this.ApiIdStatusSet = null; + this.Filters = null; } @@ -8856,14 +13210,18 @@ class IPStrategyApiStatus extends AbstractModel { if (!params) { return; } - this.TotalCount = 'TotalCount' in params ? params.TotalCount : null; + this.ServiceId = 'ServiceId' in params ? params.ServiceId : null; + this.StrategyId = 'StrategyId' in params ? params.StrategyId : null; + this.EnvironmentName = 'EnvironmentName' in params ? params.EnvironmentName : null; + this.Limit = 'Limit' in params ? params.Limit : null; + this.Offset = 'Offset' in params ? params.Offset : null; - if (params.ApiIdStatusSet) { - this.ApiIdStatusSet = new Array(); - for (let z in params.ApiIdStatusSet) { - let obj = new IPStrategyApi(); - obj.deserialize(params.ApiIdStatusSet[z]); - this.ApiIdStatusSet.push(obj); + if (params.Filters) { + this.Filters = new Array(); + for (let z in params.Filters) { + let obj = new Filter(); + obj.deserialize(params.Filters[z]); + this.Filters.push(obj); } } @@ -8871,17 +13229,16 @@ class IPStrategyApiStatus extends AbstractModel { } /** - * CreateIPStrategy返回参数结构体 + * DescribeApiForApiApp返回参数结构体 * @class */ -class CreateIPStrategyResponse extends AbstractModel { +class DescribeApiForApiAppResponse extends AbstractModel { constructor(){ super(); /** - * 新建的IP策略详情。 -注意:此字段可能返回 null,表示取不到有效值。 - * @type {IPStrategy || null} + * API 详情。 + * @type {ApiInfo || null} */ this.Result = null; @@ -8902,7 +13259,7 @@ class CreateIPStrategyResponse extends AbstractModel { } if (params.Result) { - let obj = new IPStrategy(); + let obj = new ApiInfo(); obj.deserialize(params.Result) this.Result = obj; } @@ -8912,62 +13269,67 @@ class CreateIPStrategyResponse extends AbstractModel { } /** - * 插件绑定的API信息 + * 环境限流 * @class */ -class AttachedApiInfo extends AbstractModel { +class EnvironmentStrategy extends AbstractModel { constructor(){ super(); /** - * API所在服务ID。 + * 环境名 * @type {string || null} */ - this.ServiceId = null; + this.EnvironmentName = null; /** - * API所在服务名称。 - * @type {string || null} + * 限流值 + * @type {number || null} */ - this.ServiceName = null; + this.Quota = null; /** - * API所在服务描述信息。 + * 限流最大值 注意:此字段可能返回 null,表示取不到有效值。 - * @type {string || null} + * @type {number || null} */ - this.ServiceDesc = null; + this.MaxQuota = null; - /** - * API ID。 - * @type {string || null} - */ - this.ApiId = null; + } - /** - * API名称。 - * @type {string || null} - */ - this.ApiName = null; + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.EnvironmentName = 'EnvironmentName' in params ? params.EnvironmentName : null; + this.Quota = 'Quota' in params ? params.Quota : null; + this.MaxQuota = 'MaxQuota' in params ? params.MaxQuota : null; - /** - * API描述。 -注意:此字段可能返回 null,表示取不到有效值。 - * @type {string || null} - */ - this.ApiDesc = null; + } +} + +/** + * 独享实例参数信息 + * @class + */ +class InstanceParameterInput extends AbstractModel { + constructor(){ + super(); /** - * 插件绑定API的环境。 + * ServiceRequestNumPreSec,ApiRequestNumPreSec * @type {string || null} */ - this.Environment = null; + this.Name = null; /** - * 插件和API绑定时间。 + * 参数值 * @type {string || null} */ - this.AttachedTime = null; + this.Value = null; } @@ -8978,49 +13340,43 @@ class AttachedApiInfo extends AbstractModel { if (!params) { return; } - this.ServiceId = 'ServiceId' in params ? params.ServiceId : null; - this.ServiceName = 'ServiceName' in params ? params.ServiceName : null; - this.ServiceDesc = 'ServiceDesc' in params ? params.ServiceDesc : null; - this.ApiId = 'ApiId' in params ? params.ApiId : null; - this.ApiName = 'ApiName' in params ? params.ApiName : null; - this.ApiDesc = 'ApiDesc' in params ? params.ApiDesc : null; - this.Environment = 'Environment' in params ? params.Environment : null; - this.AttachedTime = 'AttachedTime' in params ? params.AttachedTime : null; + this.Name = 'Name' in params ? params.Name : null; + this.Value = 'Value' in params ? params.Value : null; } } /** - * BindIPStrategy请求参数结构体 + * DescribeUsagePlanEnvironments请求参数结构体 * @class */ -class BindIPStrategyRequest extends AbstractModel { +class DescribeUsagePlanEnvironmentsRequest extends AbstractModel { constructor(){ super(); /** - * 待绑定的IP策略所属的服务唯一ID。 + * 待查询的使用计划唯一 ID。 * @type {string || null} */ - this.ServiceId = null; + this.UsagePlanId = null; /** - * 待绑定的IP策略唯一ID。 + * 定类型,取值为 API、SERVICE,默认值为 SERVICE。 * @type {string || null} */ - this.StrategyId = null; + this.BindType = null; /** - * IP策略待绑定的环境。 - * @type {string || null} + * 返回数量,默认为 20,最大值为 100。 + * @type {number || null} */ - this.EnvironmentName = null; + this.Limit = null; /** - * IP策略待绑定的API列表。 - * @type {Array. || null} + * 偏移量,默认为 0。 + * @type {number || null} */ - this.BindApiIds = null; + this.Offset = null; } @@ -9031,25 +13387,26 @@ class BindIPStrategyRequest extends AbstractModel { if (!params) { return; } - this.ServiceId = 'ServiceId' in params ? params.ServiceId : null; - this.StrategyId = 'StrategyId' in params ? params.StrategyId : null; - this.EnvironmentName = 'EnvironmentName' in params ? params.EnvironmentName : null; - this.BindApiIds = 'BindApiIds' in params ? params.BindApiIds : null; + this.UsagePlanId = 'UsagePlanId' in params ? params.UsagePlanId : null; + this.BindType = 'BindType' in params ? params.BindType : null; + this.Limit = 'Limit' in params ? params.Limit : null; + this.Offset = 'Offset' in params ? params.Offset : null; } } /** - * BuildAPIDoc返回参数结构体 + * DescribeServiceReleaseVersion返回参数结构体 * @class */ -class BuildAPIDocResponse extends AbstractModel { +class DescribeServiceReleaseVersionResponse extends AbstractModel { constructor(){ super(); /** - * 操作是否成功 - * @type {boolean || null} + * 服务发布版本列表。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {ServiceReleaseVersion || null} */ this.Result = null; @@ -9068,54 +13425,98 @@ class BuildAPIDocResponse extends AbstractModel { if (!params) { return; } - this.Result = 'Result' in params ? params.Result : null; + + if (params.Result) { + let obj = new ServiceReleaseVersion(); + obj.deserialize(params.Result) + this.Result = obj; + } this.RequestId = 'RequestId' in params ? params.RequestId : null; } } /** - * 用户自定义错误码 + * 后端通道后端节点元数据 * @class */ -class ErrorCodes extends AbstractModel { +class UpstreamNode extends AbstractModel { constructor(){ super(); /** - * 自定义响应配置错误码。 -注意:此字段可能返回 null,表示取不到有效值。 + * IP或域名 + * @type {string || null} + */ + this.Host = null; + + /** + * 端口[0, 65535] * @type {number || null} */ - this.Code = null; + this.Port = null; /** - * 自定义响应配置错误信息。 + * 权重[0, 100], 0为禁用 + * @type {number || null} + */ + this.Weight = null; + + /** + * CVM实例ID 注意:此字段可能返回 null,表示取不到有效值。 * @type {string || null} */ - this.Msg = null; + this.VmInstanceId = null; /** - * 自定义响应配置错误码备注。 + * 染色标签 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {Array. || null} + */ + this.Tags = null; + + /** + * 节点健康状态,创建、编辑时不需要传该参数。OFF:关闭,HEALTHY:健康,UNHEALTHY:异常,NO_DATA:数据未上报。目前只支持VPC通道。 注意:此字段可能返回 null,表示取不到有效值。 * @type {string || null} */ - this.Desc = null; + this.Healthy = null; /** - * 自定义错误码转换。 + * K8S容器服务名字 注意:此字段可能返回 null,表示取不到有效值。 - * @type {number || null} + * @type {string || null} */ - this.ConvertedCode = null; + this.ServiceName = null; /** - * 是否需要开启错误码转换。 + * K8S命名空间 注意:此字段可能返回 null,表示取不到有效值。 - * @type {boolean || null} + * @type {string || null} */ - this.NeedConvert = null; + this.NameSpace = null; + + /** + * TKE集群的ID +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.ClusterId = null; + + /** + * Node的来源,取值范围:K8S +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.Source = null; + + /** + * API网关内部记录唯一的服务名字 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.UniqueServiceName = null; } @@ -9126,36 +13527,41 @@ class ErrorCodes extends AbstractModel { if (!params) { return; } - this.Code = 'Code' in params ? params.Code : null; - this.Msg = 'Msg' in params ? params.Msg : null; - this.Desc = 'Desc' in params ? params.Desc : null; - this.ConvertedCode = 'ConvertedCode' in params ? params.ConvertedCode : null; - this.NeedConvert = 'NeedConvert' in params ? params.NeedConvert : null; + this.Host = 'Host' in params ? params.Host : null; + this.Port = 'Port' in params ? params.Port : null; + this.Weight = 'Weight' in params ? params.Weight : null; + this.VmInstanceId = 'VmInstanceId' in params ? params.VmInstanceId : null; + this.Tags = 'Tags' in params ? params.Tags : null; + this.Healthy = 'Healthy' in params ? params.Healthy : null; + this.ServiceName = 'ServiceName' in params ? params.ServiceName : null; + this.NameSpace = 'NameSpace' in params ? params.NameSpace : null; + this.ClusterId = 'ClusterId' in params ? params.ClusterId : null; + this.Source = 'Source' in params ? params.Source : null; + this.UniqueServiceName = 'UniqueServiceName' in params ? params.UniqueServiceName : null; } } /** - * 环境绑定策略列表 + * 应用信息集 * @class */ -class ServiceEnvironmentStrategyStatus extends AbstractModel { +class ApiAppApiInfos extends AbstractModel { constructor(){ super(); /** - * 限流策略数量。 -注意:此字段可能返回 null,表示取不到有效值。 + * 数量 * @type {number || null} */ this.TotalCount = null; /** - * 限流策略列表。 + * 应用绑定的Api信息数组 注意:此字段可能返回 null,表示取不到有效值。 - * @type {Array. || null} + * @type {Array. || null} */ - this.EnvironmentList = null; + this.ApiAppApiSet = null; } @@ -9168,12 +13574,12 @@ class ServiceEnvironmentStrategyStatus extends AbstractModel { } this.TotalCount = 'TotalCount' in params ? params.TotalCount : null; - if (params.EnvironmentList) { - this.EnvironmentList = new Array(); - for (let z in params.EnvironmentList) { - let obj = new ServiceEnvironmentStrategy(); - obj.deserialize(params.EnvironmentList[z]); - this.EnvironmentList.push(obj); + if (params.ApiAppApiSet) { + this.ApiAppApiSet = new Array(); + for (let z in params.ApiAppApiSet) { + let obj = new ApiAppApiInfo(); + obj.deserialize(params.ApiAppApiSet[z]); + this.ApiAppApiSet.push(obj); } } @@ -9181,19 +13587,19 @@ class ServiceEnvironmentStrategyStatus extends AbstractModel { } /** - * DescribeApiEnvironmentStrategy返回参数结构体 + * DeleteUpstream返回参数结构体 * @class */ -class DescribeApiEnvironmentStrategyResponse extends AbstractModel { +class DeleteUpstreamResponse extends AbstractModel { constructor(){ super(); /** - * api绑定策略详情 + * 成功删除的后端通道ID 注意:此字段可能返回 null,表示取不到有效值。 - * @type {ApiEnvironmentStrategyStataus || null} + * @type {string || null} */ - this.Result = null; + this.UpstreamId = null; /** * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 @@ -9210,42 +13616,32 @@ class DescribeApiEnvironmentStrategyResponse extends AbstractModel { if (!params) { return; } - - if (params.Result) { - let obj = new ApiEnvironmentStrategyStataus(); - obj.deserialize(params.Result) - this.Result = obj; - } + this.UpstreamId = 'UpstreamId' in params ? params.UpstreamId : null; this.RequestId = 'RequestId' in params ? params.RequestId : null; } } /** - * API绑定的微服务信息。 + * UpdateService返回参数结构体 * @class */ -class MicroService extends AbstractModel { +class UpdateServiceResponse extends AbstractModel { constructor(){ super(); /** - * 微服务集群ID。 - * @type {string || null} - */ - this.ClusterId = null; - - /** - * 微服务命名空间ID。 - * @type {string || null} + * 切换版本操作是否成功。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {boolean || null} */ - this.NamespaceId = null; + this.Result = null; /** - * 微服务名称。 + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 * @type {string || null} */ - this.MicroServiceName = null; + this.RequestId = null; } @@ -9256,34 +13652,110 @@ class MicroService extends AbstractModel { if (!params) { return; } - this.ClusterId = 'ClusterId' in params ? params.ClusterId : null; - this.NamespaceId = 'NamespaceId' in params ? params.NamespaceId : null; - this.MicroServiceName = 'MicroServiceName' in params ? params.MicroServiceName : null; + this.Result = 'Result' in params ? params.Result : null; + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * 使用计划详情。 + * @class + */ +class UsagePlanInfo extends AbstractModel { + constructor(){ + super(); + + /** + * 使用计划唯一 ID。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.UsagePlanId = null; + + /** + * 使用计划名称。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.UsagePlanName = null; + + /** + * 使用计划描述。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.UsagePlanDesc = null; + + /** + * 初始化调用次数。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {number || null} + */ + this.InitQuota = null; + + /** + * 每秒请求限制数。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {number || null} + */ + this.MaxRequestNumPreSec = null; + + /** + * 最大调用次数。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {number || null} + */ + this.MaxRequestNum = null; + + /** + * 是否隐藏。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {number || null} + */ + this.IsHide = null; + + /** + * 创建时间。按照 ISO8601 标准表示,并且使用 UTC 时间。格式为:YYYY-MM-DDThh:mm:ssZ。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.CreatedTime = null; + + /** + * 最后修改时间。按照 ISO8601 标准表示,并且使用 UTC 时间。格式为:YYYY-MM-DDThh:mm:ssZ。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.ModifiedTime = null; - } -} + /** + * 绑定密钥的数量。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {number || null} + */ + this.BindSecretIdTotalCount = null; -/** - * API绑定策略列表 - * @class - */ -class ApiEnvironmentStrategyStataus extends AbstractModel { - constructor(){ - super(); + /** + * 绑定密钥的详情。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {Array. || null} + */ + this.BindSecretIds = null; /** - * API绑定的限流策略数量。 + * 绑定环境数量。 注意:此字段可能返回 null,表示取不到有效值。 * @type {number || null} */ - this.TotalCount = null; + this.BindEnvironmentTotalCount = null; /** - * API绑定的限流策略列表。 + * 绑定环境详情。 注意:此字段可能返回 null,表示取不到有效值。 - * @type {Array. || null} + * @type {Array. || null} */ - this.ApiEnvironmentStrategySet = null; + this.BindEnvironments = null; } @@ -9294,14 +13766,25 @@ class ApiEnvironmentStrategyStataus extends AbstractModel { if (!params) { return; } - this.TotalCount = 'TotalCount' in params ? params.TotalCount : null; + this.UsagePlanId = 'UsagePlanId' in params ? params.UsagePlanId : null; + this.UsagePlanName = 'UsagePlanName' in params ? params.UsagePlanName : null; + this.UsagePlanDesc = 'UsagePlanDesc' in params ? params.UsagePlanDesc : null; + this.InitQuota = 'InitQuota' in params ? params.InitQuota : null; + this.MaxRequestNumPreSec = 'MaxRequestNumPreSec' in params ? params.MaxRequestNumPreSec : null; + this.MaxRequestNum = 'MaxRequestNum' in params ? params.MaxRequestNum : null; + this.IsHide = 'IsHide' in params ? params.IsHide : null; + this.CreatedTime = 'CreatedTime' in params ? params.CreatedTime : null; + this.ModifiedTime = 'ModifiedTime' in params ? params.ModifiedTime : null; + this.BindSecretIdTotalCount = 'BindSecretIdTotalCount' in params ? params.BindSecretIdTotalCount : null; + this.BindSecretIds = 'BindSecretIds' in params ? params.BindSecretIds : null; + this.BindEnvironmentTotalCount = 'BindEnvironmentTotalCount' in params ? params.BindEnvironmentTotalCount : null; - if (params.ApiEnvironmentStrategySet) { - this.ApiEnvironmentStrategySet = new Array(); - for (let z in params.ApiEnvironmentStrategySet) { - let obj = new ApiEnvironmentStrategy(); - obj.deserialize(params.ApiEnvironmentStrategySet[z]); - this.ApiEnvironmentStrategySet.push(obj); + if (params.BindEnvironments) { + this.BindEnvironments = new Array(); + for (let z in params.BindEnvironments) { + let obj = new UsagePlanBindEnvironment(); + obj.deserialize(params.BindEnvironments[z]); + this.BindEnvironments.push(obj); } } @@ -9309,25 +13792,36 @@ class ApiEnvironmentStrategyStataus extends AbstractModel { } /** - * DeleteIPStrategy返回参数结构体 + * DescribeServiceEnvironmentReleaseHistory请求参数结构体 * @class */ -class DeleteIPStrategyResponse extends AbstractModel { +class DescribeServiceEnvironmentReleaseHistoryRequest extends AbstractModel { constructor(){ super(); /** - * 删除操作是否成功。 -注意:此字段可能返回 null,表示取不到有效值。 - * @type {boolean || null} + * 待查询的服务唯一 ID。 + * @type {string || null} */ - this.Result = null; + this.ServiceId = null; /** - * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * 环境名称。 * @type {string || null} */ - this.RequestId = null; + this.EnvironmentName = null; + + /** + * 返回数量,默认为 20,最大值为 100。 + * @type {number || null} + */ + this.Limit = null; + + /** + * 偏移量,默认为 0。 + * @type {number || null} + */ + this.Offset = null; } @@ -9338,61 +13832,45 @@ class DeleteIPStrategyResponse extends AbstractModel { if (!params) { return; } - this.Result = 'Result' in params ? params.Result : null; - this.RequestId = 'RequestId' in params ? params.RequestId : null; + this.ServiceId = 'ServiceId' in params ? params.ServiceId : null; + this.EnvironmentName = 'EnvironmentName' in params ? params.EnvironmentName : null; + this.Limit = 'Limit' in params ? params.Limit : null; + this.Offset = 'Offset' in params ? params.Offset : null; } } /** - * 密钥详情 + * UnbindApiApp请求参数结构体 * @class */ -class ApiKey extends AbstractModel { +class UnbindApiAppRequest extends AbstractModel { constructor(){ super(); /** - * 创建的 API 密钥 ID 。 - * @type {string || null} - */ - this.AccessKeyId = null; - - /** - * 创建的 API 密钥 Key。 - * @type {string || null} - */ - this.AccessKeySecret = null; - - /** - * 密钥类型,auto 或者 manual。 + * 待绑定的应用唯一 ID 。 * @type {string || null} */ - this.AccessKeyType = null; + this.ApiAppId = null; /** - * 用户自定义密钥名称。 + * 待绑定的环境。 * @type {string || null} */ - this.SecretName = null; + this.Environment = null; /** - * 最后一次修改时间。按照 ISO8601 标准表示,并且使用 UTC 时间。格式为:YYYY-MM-DDThh:mm:ssZ。 + * 待绑定的服务唯一 ID。 * @type {string || null} */ - this.ModifiedTime = null; - - /** - * 密钥状态。0表示禁用,1表示启用。 - * @type {number || null} - */ - this.Status = null; + this.ServiceId = null; /** - * 创建时间。按照 ISO8601 标准表示,并且使用 UTC 时间。格式为:YYYY-MM-DDThh:mm:ssZ。 + * 待绑定的API唯一ID。 * @type {string || null} */ - this.CreatedTime = null; + this.ApiId = null; } @@ -9403,37 +13881,35 @@ class ApiKey extends AbstractModel { if (!params) { return; } - this.AccessKeyId = 'AccessKeyId' in params ? params.AccessKeyId : null; - this.AccessKeySecret = 'AccessKeySecret' in params ? params.AccessKeySecret : null; - this.AccessKeyType = 'AccessKeyType' in params ? params.AccessKeyType : null; - this.SecretName = 'SecretName' in params ? params.SecretName : null; - this.ModifiedTime = 'ModifiedTime' in params ? params.ModifiedTime : null; - this.Status = 'Status' in params ? params.Status : null; - this.CreatedTime = 'CreatedTime' in params ? params.CreatedTime : null; + this.ApiAppId = 'ApiAppId' in params ? params.ApiAppId : null; + this.Environment = 'Environment' in params ? params.Environment : null; + this.ServiceId = 'ServiceId' in params ? params.ServiceId : null; + this.ApiId = 'ApiId' in params ? params.ApiId : null; } } /** - * DescribeUsagePlan返回参数结构体 + * 发布服务返回 * @class */ -class DescribeUsagePlanResponse extends AbstractModel { +class ReleaseService extends AbstractModel { constructor(){ super(); /** - * 使用计划详情。 + * 发布时的备注信息填写。 注意:此字段可能返回 null,表示取不到有效值。 - * @type {UsagePlanInfo || null} + * @type {string || null} */ - this.Result = null; + this.ReleaseDesc = null; /** - * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * 发布的版本id。 +注意:此字段可能返回 null,表示取不到有效值。 * @type {string || null} */ - this.RequestId = null; + this.ReleaseVersion = null; } @@ -9444,54 +13920,33 @@ class DescribeUsagePlanResponse extends AbstractModel { if (!params) { return; } - - if (params.Result) { - let obj = new UsagePlanInfo(); - obj.deserialize(params.Result) - this.Result = obj; - } - this.RequestId = 'RequestId' in params ? params.RequestId : null; + this.ReleaseDesc = 'ReleaseDesc' in params ? params.ReleaseDesc : null; + this.ReleaseVersion = 'ReleaseVersion' in params ? params.ReleaseVersion : null; } } /** - * BindEnvironment请求参数结构体 + * 服务绑定环境详情 * @class */ -class BindEnvironmentRequest extends AbstractModel { +class ServiceEnvironmentSet extends AbstractModel { constructor(){ super(); /** - * 待绑定的使用计划唯一 ID 列表。 - * @type {Array. || null} - */ - this.UsagePlanIds = null; - - /** - * 绑定类型,取值为API、SERVICE,默认值为SERVICE。 - * @type {string || null} - */ - this.BindType = null; - - /** - * 待绑定的环境。 - * @type {string || null} - */ - this.Environment = null; - - /** - * 待绑定的服务唯一 ID。 - * @type {string || null} + * 服务绑定环境总数。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {number || null} */ - this.ServiceId = null; + this.TotalCount = null; /** - * API唯一ID数组,当bindType=API时,需要传入此参数。 - * @type {Array. || null} + * 服务绑定环境列表。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {Array. || null} */ - this.ApiIds = null; + this.EnvironmentList = null; } @@ -9502,20 +13957,25 @@ class BindEnvironmentRequest extends AbstractModel { if (!params) { return; } - this.UsagePlanIds = 'UsagePlanIds' in params ? params.UsagePlanIds : null; - this.BindType = 'BindType' in params ? params.BindType : null; - this.Environment = 'Environment' in params ? params.Environment : null; - this.ServiceId = 'ServiceId' in params ? params.ServiceId : null; - this.ApiIds = 'ApiIds' in params ? params.ApiIds : null; + this.TotalCount = 'TotalCount' in params ? params.TotalCount : null; + + if (params.EnvironmentList) { + this.EnvironmentList = new Array(); + for (let z in params.EnvironmentList) { + let obj = new Environment(); + obj.deserialize(params.EnvironmentList[z]); + this.EnvironmentList.push(obj); + } + } } } /** - * DescribeIPStrategy请求参数结构体 + * CreateService返回参数结构体 * @class */ -class DescribeIPStrategyRequest extends AbstractModel { +class CreateServiceResponse extends AbstractModel { constructor(){ super(); @@ -9526,34 +13986,53 @@ class DescribeIPStrategyRequest extends AbstractModel { this.ServiceId = null; /** - * IP 策略唯一ID。 + * 用户自定义服务名称。 * @type {string || null} */ - this.StrategyId = null; + this.ServiceName = null; /** - * 策略关联的环境。 + * 用户自定义服务描述。 * @type {string || null} */ - this.EnvironmentName = null; + this.ServiceDesc = null; /** - * 返回数量,默认为 20,最大值为 100。 - * @type {number || null} + * 外网默认域名。 + * @type {string || null} */ - this.Limit = null; + this.OuterSubDomain = null; /** - * 偏移量,默认为 0。 - * @type {number || null} + * vpc内网默认域名。 + * @type {string || null} */ - this.Offset = null; + this.InnerSubDomain = null; /** - * 过滤条件。预留字段,目前不支持过滤。 - * @type {Array. || null} + * 服务创建时间。按照 ISO8601 标准表示,并且使用 UTC 时间。格式为:YYYY-MM-DDThh:mm:ssZ。 + * @type {string || null} + */ + this.CreatedTime = null; + + /** + * 网络类型列表,INNER为内网访问,OUTER为外网访问。 + * @type {Array. || null} + */ + this.NetTypes = null; + + /** + * IP版本号。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.IpVersion = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} */ - this.Filters = null; + this.RequestId = null; } @@ -9565,54 +14044,37 @@ class DescribeIPStrategyRequest extends AbstractModel { return; } this.ServiceId = 'ServiceId' in params ? params.ServiceId : null; - this.StrategyId = 'StrategyId' in params ? params.StrategyId : null; - this.EnvironmentName = 'EnvironmentName' in params ? params.EnvironmentName : null; - this.Limit = 'Limit' in params ? params.Limit : null; - this.Offset = 'Offset' in params ? params.Offset : null; - - if (params.Filters) { - this.Filters = new Array(); - for (let z in params.Filters) { - let obj = new Filter(); - obj.deserialize(params.Filters[z]); - this.Filters.push(obj); - } - } + this.ServiceName = 'ServiceName' in params ? params.ServiceName : null; + this.ServiceDesc = 'ServiceDesc' in params ? params.ServiceDesc : null; + this.OuterSubDomain = 'OuterSubDomain' in params ? params.OuterSubDomain : null; + this.InnerSubDomain = 'InnerSubDomain' in params ? params.InnerSubDomain : null; + this.CreatedTime = 'CreatedTime' in params ? params.CreatedTime : null; + this.NetTypes = 'NetTypes' in params ? params.NetTypes : null; + this.IpVersion = 'IpVersion' in params ? params.IpVersion : null; + this.RequestId = 'RequestId' in params ? params.RequestId : null; } } /** - * DescribeUsagePlanEnvironments请求参数结构体 + * DeleteAPIDoc返回参数结构体 * @class */ -class DescribeUsagePlanEnvironmentsRequest extends AbstractModel { +class DeleteAPIDocResponse extends AbstractModel { constructor(){ super(); /** - * 待查询的使用计划唯一 ID。 - * @type {string || null} + * 操作是否成功 + * @type {boolean || null} */ - this.UsagePlanId = null; + this.Result = null; /** - * 定类型,取值为 API、SERVICE,默认值为 SERVICE。 + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 * @type {string || null} */ - this.BindType = null; - - /** - * 返回数量,默认为 20,最大值为 100。 - * @type {number || null} - */ - this.Limit = null; - - /** - * 偏移量,默认为 0。 - * @type {number || null} - */ - this.Offset = null; + this.RequestId = null; } @@ -9623,26 +14085,24 @@ class DescribeUsagePlanEnvironmentsRequest extends AbstractModel { if (!params) { return; } - this.UsagePlanId = 'UsagePlanId' in params ? params.UsagePlanId : null; - this.BindType = 'BindType' in params ? params.BindType : null; - this.Limit = 'Limit' in params ? params.Limit : null; - this.Offset = 'Offset' in params ? params.Offset : null; + this.Result = 'Result' in params ? params.Result : null; + this.RequestId = 'RequestId' in params ? params.RequestId : null; } } /** - * DescribeServiceReleaseVersion返回参数结构体 + * DescribeServiceEnvironmentStrategy返回参数结构体 * @class */ -class DescribeServiceReleaseVersionResponse extends AbstractModel { +class DescribeServiceEnvironmentStrategyResponse extends AbstractModel { constructor(){ super(); /** - * 服务发布版本列表。 + * 限流策略列表。 注意:此字段可能返回 null,表示取不到有效值。 - * @type {ServiceReleaseVersion || null} + * @type {ServiceEnvironmentStrategyStatus || null} */ this.Result = null; @@ -9663,7 +14123,7 @@ class DescribeServiceReleaseVersionResponse extends AbstractModel { } if (params.Result) { - let obj = new ServiceReleaseVersion(); + let obj = new ServiceEnvironmentStrategyStatus(); obj.deserialize(params.Result) this.Result = obj; } @@ -9673,166 +14133,143 @@ class DescribeServiceReleaseVersionResponse extends AbstractModel { } /** - * 请求参数 + * api状态详情 * @class */ -class RequestParameter extends AbstractModel { +class DesApisStatus extends AbstractModel { constructor(){ super(); /** - * 请求参数名称 + * 服务唯一ID。 * @type {string || null} */ - this.Name = null; + this.ServiceId = null; /** - * 描述 + * API唯一ID。 * @type {string || null} */ - this.Desc = null; + this.ApiId = null; /** - * 参数位置 + * 用户自定义的 API 接口描述。 +注意:此字段可能返回 null,表示取不到有效值。 * @type {string || null} */ - this.Position = null; + this.ApiDesc = null; /** - * 参数类型 + * 创建时间。按照 ISO8601 标准表示,并且使用 UTC 时间。格式为:YYYY-MM-DDThh:mm:ssZ。 +注意:此字段可能返回 null,表示取不到有效值。 * @type {string || null} */ - this.Type = null; + this.CreatedTime = null; /** - * 默认值 + * 最后修改时间。按照 ISO8601 标准表示,并且使用 UTC 时间。格式为:YYYY-MM-DDThh:mm:ssZ。 +注意:此字段可能返回 null,表示取不到有效值。 * @type {string || null} */ - this.DefaultValue = null; + this.ModifiedTime = null; /** - * 是否必须 - * @type {boolean || null} + * API 接口的名称。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} */ - this.Required = null; - - } - - /** - * @private - */ - deserialize(params) { - if (!params) { - return; - } - this.Name = 'Name' in params ? params.Name : null; - this.Desc = 'Desc' in params ? params.Desc : null; - this.Position = 'Position' in params ? params.Position : null; - this.Type = 'Type' in params ? params.Type : null; - this.DefaultValue = 'DefaultValue' in params ? params.DefaultValue : null; - this.Required = 'Required' in params ? params.Required : null; - - } -} - -/** - * 使用计划详情。 - * @class - */ -class UsagePlanInfo extends AbstractModel { - constructor(){ - super(); + this.ApiName = null; /** - * 使用计划唯一 ID。 + * VPCID。 注意:此字段可能返回 null,表示取不到有效值。 - * @type {string || null} + * @type {number || null} */ - this.UsagePlanId = null; + this.VpcId = null; /** - * 使用计划名称。 + * VPC唯一ID。 注意:此字段可能返回 null,表示取不到有效值。 * @type {string || null} */ - this.UsagePlanName = null; + this.UniqVpcId = null; /** - * 使用计划描述。 + * API类型。取值为NORMAL(普通API)和TSF(微服务API)。 注意:此字段可能返回 null,表示取不到有效值。 * @type {string || null} */ - this.UsagePlanDesc = null; + this.ApiType = null; /** - * 初始化调用次数。 + * API协议。 注意:此字段可能返回 null,表示取不到有效值。 - * @type {number || null} + * @type {string || null} */ - this.InitQuota = null; + this.Protocol = null; /** - * 每秒请求限制数。 + * 是否买后调试。(云市场预留字段) 注意:此字段可能返回 null,表示取不到有效值。 - * @type {number || null} + * @type {boolean || null} */ - this.MaxRequestNumPreSec = null; + this.IsDebugAfterCharge = null; /** - * 最大调用次数。 + * API 鉴权类型。取值为SECRET(密钥对鉴权)、NONE(免鉴权)、OAUTH、EIAM。 注意:此字段可能返回 null,表示取不到有效值。 - * @type {number || null} + * @type {string || null} */ - this.MaxRequestNum = null; + this.AuthType = null; /** - * 是否隐藏。 + * OAUTH API的类型。当AuthType 为 OAUTH时该字段有效, 取值为NORMAL(业务API)和 OAUTH(授权API)。 注意:此字段可能返回 null,表示取不到有效值。 - * @type {number || null} + * @type {string || null} */ - this.IsHide = null; + this.ApiBusinessType = null; /** - * 创建时间。按照 ISO8601 标准表示,并且使用 UTC 时间。格式为:YYYY-MM-DDThh:mm:ssZ。 + * 关联的授权API 唯一 ID,当AuthType为OAUTH且ApiBusinessType为NORMAL时生效。标示业务API绑定的oauth2.0授权API唯一ID。 注意:此字段可能返回 null,表示取不到有效值。 * @type {string || null} */ - this.CreatedTime = null; + this.AuthRelationApiId = null; /** - * 最后修改时间。按照 ISO8601 标准表示,并且使用 UTC 时间。格式为:YYYY-MM-DDThh:mm:ssZ。 + * OAUTH 配置信息。当AuthType是OAUTH时生效。 注意:此字段可能返回 null,表示取不到有效值。 - * @type {string || null} + * @type {OauthConfig || null} */ - this.ModifiedTime = null; + this.OauthConfig = null; /** - * 绑定密钥的数量。 + * 授权API关联的业务API列表。 注意:此字段可能返回 null,表示取不到有效值。 - * @type {number || null} + * @type {Array. || null} */ - this.BindSecretIdTotalCount = null; + this.RelationBuniessApiIds = null; /** - * 绑定密钥的详情。 + * API关联的标签信息。 注意:此字段可能返回 null,表示取不到有效值。 * @type {Array. || null} */ - this.BindSecretIds = null; + this.Tags = null; /** - * 绑定环境数量。 + * API 的路径,如 /path。 注意:此字段可能返回 null,表示取不到有效值。 - * @type {number || null} + * @type {string || null} */ - this.BindEnvironmentTotalCount = null; + this.Path = null; /** - * 绑定环境详情。 + * API 的请求方法,如 GET。 注意:此字段可能返回 null,表示取不到有效值。 - * @type {Array. || null} + * @type {string || null} */ - this.BindEnvironments = null; + this.Method = null; } @@ -9843,62 +14280,96 @@ class UsagePlanInfo extends AbstractModel { if (!params) { return; } - this.UsagePlanId = 'UsagePlanId' in params ? params.UsagePlanId : null; - this.UsagePlanName = 'UsagePlanName' in params ? params.UsagePlanName : null; - this.UsagePlanDesc = 'UsagePlanDesc' in params ? params.UsagePlanDesc : null; - this.InitQuota = 'InitQuota' in params ? params.InitQuota : null; - this.MaxRequestNumPreSec = 'MaxRequestNumPreSec' in params ? params.MaxRequestNumPreSec : null; - this.MaxRequestNum = 'MaxRequestNum' in params ? params.MaxRequestNum : null; - this.IsHide = 'IsHide' in params ? params.IsHide : null; + this.ServiceId = 'ServiceId' in params ? params.ServiceId : null; + this.ApiId = 'ApiId' in params ? params.ApiId : null; + this.ApiDesc = 'ApiDesc' in params ? params.ApiDesc : null; this.CreatedTime = 'CreatedTime' in params ? params.CreatedTime : null; this.ModifiedTime = 'ModifiedTime' in params ? params.ModifiedTime : null; - this.BindSecretIdTotalCount = 'BindSecretIdTotalCount' in params ? params.BindSecretIdTotalCount : null; - this.BindSecretIds = 'BindSecretIds' in params ? params.BindSecretIds : null; - this.BindEnvironmentTotalCount = 'BindEnvironmentTotalCount' in params ? params.BindEnvironmentTotalCount : null; + this.ApiName = 'ApiName' in params ? params.ApiName : null; + this.VpcId = 'VpcId' in params ? params.VpcId : null; + this.UniqVpcId = 'UniqVpcId' in params ? params.UniqVpcId : null; + this.ApiType = 'ApiType' in params ? params.ApiType : null; + this.Protocol = 'Protocol' in params ? params.Protocol : null; + this.IsDebugAfterCharge = 'IsDebugAfterCharge' in params ? params.IsDebugAfterCharge : null; + this.AuthType = 'AuthType' in params ? params.AuthType : null; + this.ApiBusinessType = 'ApiBusinessType' in params ? params.ApiBusinessType : null; + this.AuthRelationApiId = 'AuthRelationApiId' in params ? params.AuthRelationApiId : null; + + if (params.OauthConfig) { + let obj = new OauthConfig(); + obj.deserialize(params.OauthConfig) + this.OauthConfig = obj; + } + this.RelationBuniessApiIds = 'RelationBuniessApiIds' in params ? params.RelationBuniessApiIds : null; + this.Tags = 'Tags' in params ? params.Tags : null; + this.Path = 'Path' in params ? params.Path : null; + this.Method = 'Method' in params ? params.Method : null; + + } +} + +/** + * DescribeApiKeysStatus返回参数结构体 + * @class + */ +class DescribeApiKeysStatusResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 密钥列表。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {ApiKeysStatus || null} + */ + this.Result = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } - if (params.BindEnvironments) { - this.BindEnvironments = new Array(); - for (let z in params.BindEnvironments) { - let obj = new UsagePlanBindEnvironment(); - obj.deserialize(params.BindEnvironments[z]); - this.BindEnvironments.push(obj); - } + if (params.Result) { + let obj = new ApiKeysStatus(); + obj.deserialize(params.Result) + this.Result = obj; } + this.RequestId = 'RequestId' in params ? params.RequestId : null; } } /** - * DescribeServiceEnvironmentReleaseHistory请求参数结构体 + * 服务列表展示 * @class */ -class DescribeServiceEnvironmentReleaseHistoryRequest extends AbstractModel { +class ServicesStatus extends AbstractModel { constructor(){ super(); /** - * 待查询的服务唯一 ID。 - * @type {string || null} - */ - this.ServiceId = null; - - /** - * 环境名称。 - * @type {string || null} - */ - this.EnvironmentName = null; - - /** - * 返回数量,默认为 20,最大值为 100。 + * 服务列表总数。 +注意:此字段可能返回 null,表示取不到有效值。 * @type {number || null} */ - this.Limit = null; + this.TotalCount = null; /** - * 偏移量,默认为 0。 - * @type {number || null} + * 服务列表详情。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {Array. || null} */ - this.Offset = null; + this.ServiceSet = null; } @@ -9909,70 +14380,91 @@ class DescribeServiceEnvironmentReleaseHistoryRequest extends AbstractModel { if (!params) { return; } - this.ServiceId = 'ServiceId' in params ? params.ServiceId : null; - this.EnvironmentName = 'EnvironmentName' in params ? params.EnvironmentName : null; - this.Limit = 'Limit' in params ? params.Limit : null; - this.Offset = 'Offset' in params ? params.Offset : null; + this.TotalCount = 'TotalCount' in params ? params.TotalCount : null; + + if (params.ServiceSet) { + this.ServiceSet = new Array(); + for (let z in params.ServiceSet) { + let obj = new Service(); + obj.deserialize(params.ServiceSet[z]); + this.ServiceSet.push(obj); + } + } } } /** - * 用于使用计划列表展示 + * DescribeLogSearch请求参数结构体 * @class */ -class UsagePlanStatusInfo extends AbstractModel { +class DescribeLogSearchRequest extends AbstractModel { constructor(){ super(); /** - * 使用计划唯一 ID。 -注意:此字段可能返回 null,表示取不到有效值。 + * 日志开始时间 * @type {string || null} */ - this.UsagePlanId = null; + this.StartTime = null; /** - * 用户自定义的使用计划名称。 -注意:此字段可能返回 null,表示取不到有效值。 + * 日志结束时间 * @type {string || null} */ - this.UsagePlanName = null; + this.EndTime = null; /** - * 用户自定义的使用计划描述。 -注意:此字段可能返回 null,表示取不到有效值。 + * 服务id * @type {string || null} */ - this.UsagePlanDesc = null; + this.ServiceId = null; /** - * 每秒最大请求次数。 -注意:此字段可能返回 null,表示取不到有效值。 - * @type {number || null} + * 保留字段 + * @type {Array. || null} */ - this.MaxRequestNumPreSec = null; + this.Filters = null; /** - * 请求配额总量,-1表示没有限制。 -注意:此字段可能返回 null,表示取不到有效值。 + * 单次要返回的日志条数,单次返回的最大条数为100 * @type {number || null} */ - this.MaxRequestNum = null; + this.Limit = null; /** - * 创建时间。按照 ISO8601 标准表示,并且使用 UTC 时间。格式为:YYYY-MM-DDThh:mm:ssZ。 -注意:此字段可能返回 null,表示取不到有效值。 + * 根据上次返回的ConText,获取后续的内容,最多可获取10000条 * @type {string || null} */ - this.CreatedTime = null; + this.ConText = null; /** - * 最后修改时间。按照 ISO8601 标准表示,并且使用 UTC 时间。格式为:YYYY-MM-DDThh:mm:ssZ。 -注意:此字段可能返回 null,表示取不到有效值。 + * 按时间排序 asc(升序)或者 desc(降序),默认为 desc * @type {string || null} */ - this.ModifiedTime = null; + this.Sort = null; + + /** + * 保留字段 + * @type {string || null} + */ + this.Query = null; + + /** + * 检索条件,支持的检索条件如下: +req_id:“=” +api_id:“=” +cip:“=” +uip:“:” +err_msg:“:” +rsp_st:“=” 、“!=” 、 “:” 、 “>” 、 “<” +req_t:”>=“ 、 ”<=“ + +说明: +“:”表示包含,“!=”表示不等于,字段含义见输出参数的LogSet说明 + * @type {Array. || null} + */ + this.LogQuerys = null; } @@ -9983,38 +14475,54 @@ class UsagePlanStatusInfo extends AbstractModel { if (!params) { return; } - this.UsagePlanId = 'UsagePlanId' in params ? params.UsagePlanId : null; - this.UsagePlanName = 'UsagePlanName' in params ? params.UsagePlanName : null; - this.UsagePlanDesc = 'UsagePlanDesc' in params ? params.UsagePlanDesc : null; - this.MaxRequestNumPreSec = 'MaxRequestNumPreSec' in params ? params.MaxRequestNumPreSec : null; - this.MaxRequestNum = 'MaxRequestNum' in params ? params.MaxRequestNum : null; - this.CreatedTime = 'CreatedTime' in params ? params.CreatedTime : null; - this.ModifiedTime = 'ModifiedTime' in params ? params.ModifiedTime : null; + this.StartTime = 'StartTime' in params ? params.StartTime : null; + this.EndTime = 'EndTime' in params ? params.EndTime : null; + this.ServiceId = 'ServiceId' in params ? params.ServiceId : null; + + if (params.Filters) { + this.Filters = new Array(); + for (let z in params.Filters) { + let obj = new Filter(); + obj.deserialize(params.Filters[z]); + this.Filters.push(obj); + } + } + this.Limit = 'Limit' in params ? params.Limit : null; + this.ConText = 'ConText' in params ? params.ConText : null; + this.Sort = 'Sort' in params ? params.Sort : null; + this.Query = 'Query' in params ? params.Query : null; + + if (params.LogQuerys) { + this.LogQuerys = new Array(); + for (let z in params.LogQuerys) { + let obj = new LogQuery(); + obj.deserialize(params.LogQuerys[z]); + this.LogQuerys.push(obj); + } + } } } /** - * 发布服务返回 + * 描述api列表状态 * @class */ -class ReleaseService extends AbstractModel { +class ApisStatus extends AbstractModel { constructor(){ super(); /** - * 发布时的备注信息填写。 -注意:此字段可能返回 null,表示取不到有效值。 - * @type {string || null} + * 符合条件的 API 接口数量。 + * @type {number || null} */ - this.ReleaseDesc = null; + this.TotalCount = null; /** - * 发布的版本id。 -注意:此字段可能返回 null,表示取不到有效值。 - * @type {string || null} + * API 接口列表。 + * @type {Array. || null} */ - this.ReleaseVersion = null; + this.ApiIdStatusSet = null; } @@ -10025,74 +14533,90 @@ class ReleaseService extends AbstractModel { if (!params) { return; } - this.ReleaseDesc = 'ReleaseDesc' in params ? params.ReleaseDesc : null; - this.ReleaseVersion = 'ReleaseVersion' in params ? params.ReleaseVersion : null; + this.TotalCount = 'TotalCount' in params ? params.TotalCount : null; + + if (params.ApiIdStatusSet) { + this.ApiIdStatusSet = new Array(); + for (let z in params.ApiIdStatusSet) { + let obj = new DesApisStatus(); + obj.deserialize(params.ApiIdStatusSet[z]); + this.ApiIdStatusSet.push(obj); + } + } } } /** - * CreateService返回参数结构体 + * 密钥列表 * @class */ -class CreateServiceResponse extends AbstractModel { +class ApiKeysStatus extends AbstractModel { constructor(){ super(); /** - * 服务唯一ID。 - * @type {string || null} + * 符合条件的 API 密钥数量。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {number || null} */ - this.ServiceId = null; + this.TotalCount = null; /** - * 用户自定义服务名称。 - * @type {string || null} + * API 密钥列表。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {Array. || null} */ - this.ServiceName = null; + this.ApiKeySet = null; - /** - * 用户自定义服务描述。 - * @type {string || null} - */ - this.ServiceDesc = null; + } - /** - * 外网默认域名。 - * @type {string || null} - */ - this.OuterSubDomain = null; + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.TotalCount = 'TotalCount' in params ? params.TotalCount : null; - /** - * vpc内网默认域名。 - * @type {string || null} - */ - this.InnerSubDomain = null; + if (params.ApiKeySet) { + this.ApiKeySet = new Array(); + for (let z in params.ApiKeySet) { + let obj = new ApiKey(); + obj.deserialize(params.ApiKeySet[z]); + this.ApiKeySet.push(obj); + } + } - /** - * 服务创建时间。按照 ISO8601 标准表示,并且使用 UTC 时间。格式为:YYYY-MM-DDThh:mm:ssZ。 - * @type {string || null} - */ - this.CreatedTime = null; + } +} + +/** + * API文档基本信息 + * @class + */ +class APIDoc extends AbstractModel { + constructor(){ + super(); /** - * 网络类型列表,INNER为内网访问,OUTER为外网访问。 - * @type {Array. || null} + * API文档ID + * @type {string || null} */ - this.NetTypes = null; + this.ApiDocId = null; /** - * IP版本号。 -注意:此字段可能返回 null,表示取不到有效值。 + * API文档名称 * @type {string || null} */ - this.IpVersion = null; + this.ApiDocName = null; /** - * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * API文档构建状态 * @type {string || null} */ - this.RequestId = null; + this.ApiDocStatus = null; } @@ -10103,30 +14627,25 @@ class CreateServiceResponse extends AbstractModel { if (!params) { return; } - this.ServiceId = 'ServiceId' in params ? params.ServiceId : null; - this.ServiceName = 'ServiceName' in params ? params.ServiceName : null; - this.ServiceDesc = 'ServiceDesc' in params ? params.ServiceDesc : null; - this.OuterSubDomain = 'OuterSubDomain' in params ? params.OuterSubDomain : null; - this.InnerSubDomain = 'InnerSubDomain' in params ? params.InnerSubDomain : null; - this.CreatedTime = 'CreatedTime' in params ? params.CreatedTime : null; - this.NetTypes = 'NetTypes' in params ? params.NetTypes : null; - this.IpVersion = 'IpVersion' in params ? params.IpVersion : null; - this.RequestId = 'RequestId' in params ? params.RequestId : null; + this.ApiDocId = 'ApiDocId' in params ? params.ApiDocId : null; + this.ApiDocName = 'ApiDocName' in params ? params.ApiDocName : null; + this.ApiDocStatus = 'ApiDocStatus' in params ? params.ApiDocStatus : null; } } /** - * DeleteAPIDoc返回参数结构体 + * DescribeServiceUsagePlan返回参数结构体 * @class */ -class DeleteAPIDocResponse extends AbstractModel { +class DescribeServiceUsagePlanResponse extends AbstractModel { constructor(){ super(); /** - * 操作是否成功 - * @type {boolean || null} + * 服务绑定使用计划列表。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {ServiceUsagePlanSet || null} */ this.Result = null; @@ -10145,150 +14664,37 @@ class DeleteAPIDocResponse extends AbstractModel { if (!params) { return; } - this.Result = 'Result' in params ? params.Result : null; + + if (params.Result) { + let obj = new ServiceUsagePlanSet(); + obj.deserialize(params.Result) + this.Result = obj; + } this.RequestId = 'RequestId' in params ? params.RequestId : null; } } /** - * api状态详情 + * CreateApiApp返回参数结构体 * @class */ -class DesApisStatus extends AbstractModel { +class CreateApiAppResponse extends AbstractModel { constructor(){ super(); /** - * 服务唯一ID。 - * @type {string || null} - */ - this.ServiceId = null; - - /** - * API唯一ID。 - * @type {string || null} - */ - this.ApiId = null; - - /** - * 用户自定义的 API 接口描述。 -注意:此字段可能返回 null,表示取不到有效值。 - * @type {string || null} - */ - this.ApiDesc = null; - - /** - * 创建时间。按照 ISO8601 标准表示,并且使用 UTC 时间。格式为:YYYY-MM-DDThh:mm:ssZ。 -注意:此字段可能返回 null,表示取不到有效值。 - * @type {string || null} - */ - this.CreatedTime = null; - - /** - * 最后修改时间。按照 ISO8601 标准表示,并且使用 UTC 时间。格式为:YYYY-MM-DDThh:mm:ssZ。 -注意:此字段可能返回 null,表示取不到有效值。 - * @type {string || null} - */ - this.ModifiedTime = null; - - /** - * API 接口的名称。 -注意:此字段可能返回 null,表示取不到有效值。 - * @type {string || null} - */ - this.ApiName = null; - - /** - * VPCID。 -注意:此字段可能返回 null,表示取不到有效值。 - * @type {number || null} - */ - this.VpcId = null; - - /** - * VPC唯一ID。 -注意:此字段可能返回 null,表示取不到有效值。 - * @type {string || null} - */ - this.UniqVpcId = null; - - /** - * API类型。取值为NORMAL(普通API)和TSF(微服务API)。 -注意:此字段可能返回 null,表示取不到有效值。 - * @type {string || null} - */ - this.ApiType = null; - - /** - * API协议。 -注意:此字段可能返回 null,表示取不到有效值。 - * @type {string || null} - */ - this.Protocol = null; - - /** - * 是否买后调试。(云市场预留字段) -注意:此字段可能返回 null,表示取不到有效值。 - * @type {boolean || null} - */ - this.IsDebugAfterCharge = null; - - /** - * API 鉴权类型。取值为SECRET(密钥对鉴权)、NONE(免鉴权)、OAUTH。 -注意:此字段可能返回 null,表示取不到有效值。 - * @type {string || null} - */ - this.AuthType = null; - - /** - * OAUTH API的类型。当AuthType 为 OAUTH时该字段有效, 取值为NORMAL(业务API)和 OAUTH(授权API)。 -注意:此字段可能返回 null,表示取不到有效值。 - * @type {string || null} - */ - this.ApiBusinessType = null; - - /** - * 关联的授权API 唯一 ID,当AuthType为OAUTH且ApiBusinessType为NORMAL时生效。标示业务API绑定的oauth2.0授权API唯一ID。 -注意:此字段可能返回 null,表示取不到有效值。 - * @type {string || null} - */ - this.AuthRelationApiId = null; - - /** - * OAUTH 配置信息。当AuthType是OAUTH时生效。 -注意:此字段可能返回 null,表示取不到有效值。 - * @type {OauthConfig || null} - */ - this.OauthConfig = null; - - /** - * 授权API关联的业务API列表。 -注意:此字段可能返回 null,表示取不到有效值。 - * @type {Array. || null} - */ - this.RelationBuniessApiIds = null; - - /** - * API关联的标签信息。 -注意:此字段可能返回 null,表示取不到有效值。 - * @type {Array. || null} - */ - this.Tags = null; - - /** - * API 的路径,如 /path。 + * 新增的应用详情。 注意:此字段可能返回 null,表示取不到有效值。 - * @type {string || null} + * @type {ApiAppInfo || null} */ - this.Path = null; + this.Result = null; /** - * API 的请求方法,如 GET。 -注意:此字段可能返回 null,表示取不到有效值。 + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 * @type {string || null} */ - this.Method = null; + this.RequestId = null; } @@ -10299,54 +14705,42 @@ class DesApisStatus extends AbstractModel { if (!params) { return; } - this.ServiceId = 'ServiceId' in params ? params.ServiceId : null; - this.ApiId = 'ApiId' in params ? params.ApiId : null; - this.ApiDesc = 'ApiDesc' in params ? params.ApiDesc : null; - this.CreatedTime = 'CreatedTime' in params ? params.CreatedTime : null; - this.ModifiedTime = 'ModifiedTime' in params ? params.ModifiedTime : null; - this.ApiName = 'ApiName' in params ? params.ApiName : null; - this.VpcId = 'VpcId' in params ? params.VpcId : null; - this.UniqVpcId = 'UniqVpcId' in params ? params.UniqVpcId : null; - this.ApiType = 'ApiType' in params ? params.ApiType : null; - this.Protocol = 'Protocol' in params ? params.Protocol : null; - this.IsDebugAfterCharge = 'IsDebugAfterCharge' in params ? params.IsDebugAfterCharge : null; - this.AuthType = 'AuthType' in params ? params.AuthType : null; - this.ApiBusinessType = 'ApiBusinessType' in params ? params.ApiBusinessType : null; - this.AuthRelationApiId = 'AuthRelationApiId' in params ? params.AuthRelationApiId : null; - if (params.OauthConfig) { - let obj = new OauthConfig(); - obj.deserialize(params.OauthConfig) - this.OauthConfig = obj; + if (params.Result) { + let obj = new ApiAppInfo(); + obj.deserialize(params.Result) + this.Result = obj; } - this.RelationBuniessApiIds = 'RelationBuniessApiIds' in params ? params.RelationBuniessApiIds : null; - this.Tags = 'Tags' in params ? params.Tags : null; - this.Path = 'Path' in params ? params.Path : null; - this.Method = 'Method' in params ? params.Method : null; + this.RequestId = 'RequestId' in params ? params.RequestId : null; } } /** - * DescribeApiKeysStatus返回参数结构体 + * DescribeApiUsagePlan请求参数结构体 * @class */ -class DescribeApiKeysStatusResponse extends AbstractModel { +class DescribeApiUsagePlanRequest extends AbstractModel { constructor(){ super(); /** - * 密钥列表。 -注意:此字段可能返回 null,表示取不到有效值。 - * @type {ApiKeysStatus || null} + * 待查询的服务唯一 ID。 + * @type {string || null} */ - this.Result = null; + this.ServiceId = null; /** - * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - * @type {string || null} + * 返回数量,默认为 20,最大值为 100。 + * @type {number || null} */ - this.RequestId = null; + this.Limit = null; + + /** + * 偏移量,默认为 0。 + * @type {number || null} + */ + this.Offset = null; } @@ -10357,38 +14751,32 @@ class DescribeApiKeysStatusResponse extends AbstractModel { if (!params) { return; } - - if (params.Result) { - let obj = new ApiKeysStatus(); - obj.deserialize(params.Result) - this.Result = obj; - } - this.RequestId = 'RequestId' in params ? params.RequestId : null; + this.ServiceId = 'ServiceId' in params ? params.ServiceId : null; + this.Limit = 'Limit' in params ? params.Limit : null; + this.Offset = 'Offset' in params ? params.Offset : null; } } /** - * 服务列表展示 + * UnBindSubDomain请求参数结构体 * @class */ -class ServicesStatus extends AbstractModel { +class UnBindSubDomainRequest extends AbstractModel { constructor(){ super(); /** - * 服务列表总数。 -注意:此字段可能返回 null,表示取不到有效值。 - * @type {number || null} + * 服务唯一 ID。 + * @type {string || null} */ - this.TotalCount = null; + this.ServiceId = null; /** - * 服务列表详情。 -注意:此字段可能返回 null,表示取不到有效值。 - * @type {Array. || null} + * 待解绑的自定义的域名。 + * @type {string || null} */ - this.ServiceSet = null; + this.SubDomain = null; } @@ -10399,91 +14787,49 @@ class ServicesStatus extends AbstractModel { if (!params) { return; } - this.TotalCount = 'TotalCount' in params ? params.TotalCount : null; - - if (params.ServiceSet) { - this.ServiceSet = new Array(); - for (let z in params.ServiceSet) { - let obj = new Service(); - obj.deserialize(params.ServiceSet[z]); - this.ServiceSet.push(obj); - } - } + this.ServiceId = 'ServiceId' in params ? params.ServiceId : null; + this.SubDomain = 'SubDomain' in params ? params.SubDomain : null; } } /** - * DescribeLogSearch请求参数结构体 + * api环境绑定策略 * @class */ -class DescribeLogSearchRequest extends AbstractModel { +class ApiEnvironmentStrategy extends AbstractModel { constructor(){ super(); /** - * 日志开始时间 - * @type {string || null} - */ - this.StartTime = null; - - /** - * 日志结束时间 - * @type {string || null} - */ - this.EndTime = null; - - /** - * 服务id + * API唯一ID。 * @type {string || null} */ - this.ServiceId = null; - - /** - * 保留字段 - * @type {Array. || null} - */ - this.Filters = null; - - /** - * 单次要返回的日志条数,单次返回的最大条数为100 - * @type {number || null} - */ - this.Limit = null; + this.ApiId = null; /** - * 根据上次返回的ConText,获取后续的内容,最多可获取10000条 + * 用户自定义API名称。 * @type {string || null} */ - this.ConText = null; + this.ApiName = null; /** - * 按时间排序 asc(升序)或者 desc(降序),默认为 desc + * API的路径。如/path。 * @type {string || null} */ - this.Sort = null; + this.Path = null; /** - * 保留字段 + * API的方法。如GET。 * @type {string || null} */ - this.Query = null; + this.Method = null; /** - * 检索条件,支持的检索条件如下: -req_id:“=” -api_id:“=” -cip:“=” -uip:“:” -err_msg:“:” -rsp_st:“=” 、“!=” 、 “:” 、 “>” 、 “<” -req_t:”>=“ 、 ”<=“ - -说明: -“:”表示包含,“!=”表示不等于,字段含义见输出参数的LogSet说明 - * @type {Array. || null} + * 环境的限流信息。 + * @type {Array. || null} */ - this.LogQuerys = null; + this.EnvironmentStrategySet = null; } @@ -10494,29 +14840,17 @@ req_t:”>=“ 、 ”<=“ if (!params) { return; } - this.StartTime = 'StartTime' in params ? params.StartTime : null; - this.EndTime = 'EndTime' in params ? params.EndTime : null; - this.ServiceId = 'ServiceId' in params ? params.ServiceId : null; - - if (params.Filters) { - this.Filters = new Array(); - for (let z in params.Filters) { - let obj = new Filter(); - obj.deserialize(params.Filters[z]); - this.Filters.push(obj); - } - } - this.Limit = 'Limit' in params ? params.Limit : null; - this.ConText = 'ConText' in params ? params.ConText : null; - this.Sort = 'Sort' in params ? params.Sort : null; - this.Query = 'Query' in params ? params.Query : null; + this.ApiId = 'ApiId' in params ? params.ApiId : null; + this.ApiName = 'ApiName' in params ? params.ApiName : null; + this.Path = 'Path' in params ? params.Path : null; + this.Method = 'Method' in params ? params.Method : null; - if (params.LogQuerys) { - this.LogQuerys = new Array(); - for (let z in params.LogQuerys) { - let obj = new LogQuery(); - obj.deserialize(params.LogQuerys[z]); - this.LogQuerys.push(obj); + if (params.EnvironmentStrategySet) { + this.EnvironmentStrategySet = new Array(); + for (let z in params.EnvironmentStrategySet) { + let obj = new EnvironmentStrategy(); + obj.deserialize(params.EnvironmentStrategySet[z]); + this.EnvironmentStrategySet.push(obj); } } @@ -10524,24 +14858,25 @@ req_t:”>=“ 、 ”<=“ } /** - * 描述api列表状态 + * DescribeIPStrategysStatus返回参数结构体 * @class */ -class ApisStatus extends AbstractModel { +class DescribeIPStrategysStatusResponse extends AbstractModel { constructor(){ super(); /** - * 符合条件的 API 接口数量。 - * @type {number || null} + * 符合条件的策略列表。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {IPStrategysStatus || null} */ - this.TotalCount = null; + this.Result = null; /** - * API 接口列表。 - * @type {Array. || null} + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} */ - this.ApiIdStatusSet = null; + this.RequestId = null; } @@ -10552,41 +14887,37 @@ class ApisStatus extends AbstractModel { if (!params) { return; } - this.TotalCount = 'TotalCount' in params ? params.TotalCount : null; - if (params.ApiIdStatusSet) { - this.ApiIdStatusSet = new Array(); - for (let z in params.ApiIdStatusSet) { - let obj = new DesApisStatus(); - obj.deserialize(params.ApiIdStatusSet[z]); - this.ApiIdStatusSet.push(obj); - } + if (params.Result) { + let obj = new IPStrategysStatus(); + obj.deserialize(params.Result) + this.Result = obj; } + this.RequestId = 'RequestId' in params ? params.RequestId : null; } } /** - * 密钥列表 + * UpdateApiAppKey返回参数结构体 * @class */ -class ApiKeysStatus extends AbstractModel { +class UpdateApiAppKeyResponse extends AbstractModel { constructor(){ super(); /** - * 符合条件的 API 密钥数量。 + * 更新操作是否成功。 注意:此字段可能返回 null,表示取不到有效值。 - * @type {number || null} + * @type {boolean || null} */ - this.TotalCount = null; + this.Result = null; /** - * API 密钥列表。 -注意:此字段可能返回 null,表示取不到有效值。 - * @type {Array. || null} + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} */ - this.ApiKeySet = null; + this.RequestId = null; } @@ -10597,82 +14928,107 @@ class ApiKeysStatus extends AbstractModel { if (!params) { return; } - this.TotalCount = 'TotalCount' in params ? params.TotalCount : null; - - if (params.ApiKeySet) { - this.ApiKeySet = new Array(); - for (let z in params.ApiKeySet) { - let obj = new ApiKey(); - obj.deserialize(params.ApiKeySet[z]); - this.ApiKeySet.push(obj); - } - } + this.Result = 'Result' in params ? params.Result : null; + this.RequestId = 'RequestId' in params ? params.RequestId : null; } } /** - * API文档基本信息 + * 独享实例详情 * @class */ -class APIDoc extends AbstractModel { +class InstanceDetail extends AbstractModel { constructor(){ super(); /** - * API文档ID + * 独享实例唯一id * @type {string || null} */ - this.ApiDocId = null; + this.InstanceId = null; /** - * API文档名称 + * 可用区 * @type {string || null} */ - this.ApiDocName = null; + this.Zone = null; /** - * API文档构建状态 + * 独享实例名字 * @type {string || null} */ - this.ApiDocStatus = null; + this.InstanceName = null; - } + /** + * 独享实例描述 + * @type {string || null} + */ + this.InstanceDescription = null; - /** - * @private - */ - deserialize(params) { - if (!params) { - return; - } - this.ApiDocId = 'ApiDocId' in params ? params.ApiDocId : null; - this.ApiDocName = 'ApiDocName' in params ? params.ApiDocName : null; - this.ApiDocStatus = 'ApiDocStatus' in params ? params.ApiDocStatus : null; + /** + * 独享实例计费类型 + * @type {string || null} + */ + this.InstanceChargeType = null; - } -} + /** + * 独享实例状态 + * @type {string || null} + */ + this.InstanceState = null; -/** - * DescribeServiceUsagePlan返回参数结构体 - * @class - */ -class DescribeServiceUsagePlanResponse extends AbstractModel { - constructor(){ - super(); + /** + * 独享实例预付费类型 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {InstanceChargePrepaid || null} + */ + this.InstanceChargePrepaid = null; /** - * 服务绑定使用计划列表。 + * 独享实例类型 + * @type {string || null} + */ + this.InstanceType = null; + + /** + * 独享实例网络类型 注意:此字段可能返回 null,表示取不到有效值。 - * @type {ServiceUsagePlanSet || null} + * @type {NetworkConfig || null} */ - this.Result = null; + this.NetworkConfig = null; /** - * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * 独享实例vpc配置 + * @type {VpcConfig || null} + */ + this.VpcConfig = null; + + /** + * 独享实例参数配置 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {Array. || null} + */ + this.Parameters = null; + + /** + * 独享实例隔离时间 * @type {string || null} */ - this.RequestId = null; + this.IsolationStartedTime = null; + + /** + * 创建时间 + * @type {string || null} + */ + this.CreatedTime = null; + + /** + * 可用区列表 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.Zones = null; } @@ -10683,42 +15039,67 @@ class DescribeServiceUsagePlanResponse extends AbstractModel { if (!params) { return; } + this.InstanceId = 'InstanceId' in params ? params.InstanceId : null; + this.Zone = 'Zone' in params ? params.Zone : null; + this.InstanceName = 'InstanceName' in params ? params.InstanceName : null; + this.InstanceDescription = 'InstanceDescription' in params ? params.InstanceDescription : null; + this.InstanceChargeType = 'InstanceChargeType' in params ? params.InstanceChargeType : null; + this.InstanceState = 'InstanceState' in params ? params.InstanceState : null; + + if (params.InstanceChargePrepaid) { + let obj = new InstanceChargePrepaid(); + obj.deserialize(params.InstanceChargePrepaid) + this.InstanceChargePrepaid = obj; + } + this.InstanceType = 'InstanceType' in params ? params.InstanceType : null; - if (params.Result) { - let obj = new ServiceUsagePlanSet(); - obj.deserialize(params.Result) - this.Result = obj; + if (params.NetworkConfig) { + let obj = new NetworkConfig(); + obj.deserialize(params.NetworkConfig) + this.NetworkConfig = obj; } - this.RequestId = 'RequestId' in params ? params.RequestId : null; + + if (params.VpcConfig) { + let obj = new VpcConfig(); + obj.deserialize(params.VpcConfig) + this.VpcConfig = obj; + } + + if (params.Parameters) { + this.Parameters = new Array(); + for (let z in params.Parameters) { + let obj = new ParameterInfo(); + obj.deserialize(params.Parameters[z]); + this.Parameters.push(obj); + } + } + this.IsolationStartedTime = 'IsolationStartedTime' in params ? params.IsolationStartedTime : null; + this.CreatedTime = 'CreatedTime' in params ? params.CreatedTime : null; + this.Zones = 'Zones' in params ? params.Zones : null; } } /** - * DescribeApiUsagePlan请求参数结构体 + * UnBindSecretIds返回参数结构体 * @class */ -class DescribeApiUsagePlanRequest extends AbstractModel { +class UnBindSecretIdsResponse extends AbstractModel { constructor(){ super(); /** - * 待查询的服务唯一 ID。 - * @type {string || null} - */ - this.ServiceId = null; - - /** - * 返回数量,默认为 20,最大值为 100。 - * @type {number || null} + * 解绑操作是否成功。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {boolean || null} */ - this.Limit = null; + this.Result = null; /** - * 偏移量,默认为 0。 - * @type {number || null} + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} */ - this.Offset = null; + this.RequestId = null; } @@ -10729,32 +15110,31 @@ class DescribeApiUsagePlanRequest extends AbstractModel { if (!params) { return; } - this.ServiceId = 'ServiceId' in params ? params.ServiceId : null; - this.Limit = 'Limit' in params ? params.Limit : null; - this.Offset = 'Offset' in params ? params.Offset : null; + this.Result = 'Result' in params ? params.Result : null; + this.RequestId = 'RequestId' in params ? params.RequestId : null; } } /** - * UnBindSubDomain请求参数结构体 + * CreateApiApp请求参数结构体 * @class */ -class UnBindSubDomainRequest extends AbstractModel { +class CreateApiAppRequest extends AbstractModel { constructor(){ super(); /** - * 服务唯一 ID。 + * 用户自定义应用名称。 * @type {string || null} */ - this.ServiceId = null; + this.ApiAppName = null; /** - * 待解绑的自定义的域名。 + * 应用描述 * @type {string || null} */ - this.SubDomain = null; + this.ApiAppDesc = null; } @@ -10765,31 +15145,25 @@ class UnBindSubDomainRequest extends AbstractModel { if (!params) { return; } - this.ServiceId = 'ServiceId' in params ? params.ServiceId : null; - this.SubDomain = 'SubDomain' in params ? params.SubDomain : null; + this.ApiAppName = 'ApiAppName' in params ? params.ApiAppName : null; + this.ApiAppDesc = 'ApiAppDesc' in params ? params.ApiAppDesc : null; } } /** - * DescribeApi请求参数结构体 + * EnableApiKey请求参数结构体 * @class */ -class DescribeApiRequest extends AbstractModel { +class EnableApiKeyRequest extends AbstractModel { constructor(){ super(); /** - * API 所在的服务唯一 ID。 - * @type {string || null} - */ - this.ServiceId = null; - - /** - * API 接口唯一 ID。 + * 待启用的密钥 ID。 * @type {string || null} */ - this.ApiId = null; + this.AccessKeyId = null; } @@ -10800,24 +15174,22 @@ class DescribeApiRequest extends AbstractModel { if (!params) { return; } - this.ServiceId = 'ServiceId' in params ? params.ServiceId : null; - this.ApiId = 'ApiId' in params ? params.ApiId : null; + this.AccessKeyId = 'AccessKeyId' in params ? params.AccessKeyId : null; } } /** - * DescribeIPStrategysStatus返回参数结构体 + * ResetAPIDocPassword返回参数结构体 * @class */ -class DescribeIPStrategysStatusResponse extends AbstractModel { +class ResetAPIDocPasswordResponse extends AbstractModel { constructor(){ super(); /** - * 符合条件的策略列表。 -注意:此字段可能返回 null,表示取不到有效值。 - * @type {IPStrategysStatus || null} + * API文档基本信息 + * @type {APIDoc || null} */ this.Result = null; @@ -10838,7 +15210,7 @@ class DescribeIPStrategysStatusResponse extends AbstractModel { } if (params.Result) { - let obj = new IPStrategysStatus(); + let obj = new APIDoc(); obj.deserialize(params.Result) this.Result = obj; } @@ -10848,31 +15220,30 @@ class DescribeIPStrategysStatusResponse extends AbstractModel { } /** - * 环境限流 + * DescribeServicesStatus请求参数结构体 * @class */ -class EnvironmentStrategy extends AbstractModel { +class DescribeServicesStatusRequest extends AbstractModel { constructor(){ super(); /** - * 环境名 - * @type {string || null} + * 返回数量,默认为 20,最大值为 100。 + * @type {number || null} */ - this.EnvironmentName = null; + this.Limit = null; /** - * 限流值 + * 偏移量,默认为 0。 * @type {number || null} */ - this.Quota = null; + this.Offset = null; /** - * 限流最大值 -注意:此字段可能返回 null,表示取不到有效值。 - * @type {number || null} + * 过滤条件。支持ServiceId、ServiceName、NotUsagePlanId、Environment、IpVersion、InstanceId、NetType、EIAMAppId。 + * @type {Array. || null} */ - this.MaxQuota = null; + this.Filters = null; } @@ -10883,26 +15254,64 @@ class EnvironmentStrategy extends AbstractModel { if (!params) { return; } - this.EnvironmentName = 'EnvironmentName' in params ? params.EnvironmentName : null; - this.Quota = 'Quota' in params ? params.Quota : null; - this.MaxQuota = 'MaxQuota' in params ? params.MaxQuota : null; + this.Limit = 'Limit' in params ? params.Limit : null; + this.Offset = 'Offset' in params ? params.Offset : null; + + if (params.Filters) { + this.Filters = new Array(); + for (let z in params.Filters) { + let obj = new Filter(); + obj.deserialize(params.Filters[z]); + this.Filters.push(obj); + } + } } } /** - * EnableApiKey请求参数结构体 + * 请求参数 * @class */ -class EnableApiKeyRequest extends AbstractModel { +class RequestParameter extends AbstractModel { constructor(){ super(); /** - * 待启用的密钥 ID。 + * 请求参数名称 * @type {string || null} */ - this.AccessKeyId = null; + this.Name = null; + + /** + * 描述 + * @type {string || null} + */ + this.Desc = null; + + /** + * 参数位置 + * @type {string || null} + */ + this.Position = null; + + /** + * 参数类型 + * @type {string || null} + */ + this.Type = null; + + /** + * 默认值 + * @type {string || null} + */ + this.DefaultValue = null; + + /** + * 是否必须 + * @type {boolean || null} + */ + this.Required = null; } @@ -10913,30 +15322,95 @@ class EnableApiKeyRequest extends AbstractModel { if (!params) { return; } - this.AccessKeyId = 'AccessKeyId' in params ? params.AccessKeyId : null; + this.Name = 'Name' in params ? params.Name : null; + this.Desc = 'Desc' in params ? params.Desc : null; + this.Position = 'Position' in params ? params.Position : null; + this.Type = 'Type' in params ? params.Type : null; + this.DefaultValue = 'DefaultValue' in params ? params.DefaultValue : null; + this.Required = 'Required' in params ? params.Required : null; } } /** - * ResetAPIDocPassword返回参数结构体 + * 后端通道健康检查参数配置 * @class */ -class ResetAPIDocPasswordResponse extends AbstractModel { +class UpstreamHealthChecker extends AbstractModel { constructor(){ super(); /** - * API文档基本信息 - * @type {APIDoc || null} + * 标识是否开启主动健康检查。 + * @type {boolean || null} */ - this.Result = null; + this.EnableActiveCheck = null; /** - * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * 标识是否开启被动健康检查。 + * @type {boolean || null} + */ + this.EnablePassiveCheck = null; + + /** + * 健康检查时,判断为成功请求的 HTTP 状态码。 * @type {string || null} */ - this.RequestId = null; + this.HealthyHttpStatus = null; + + /** + * 健康检查时,判断为失败请求的 HTTP 状态码。 + * @type {string || null} + */ + this.UnhealthyHttpStatus = null; + + /** + * TCP连续错误阈值。0 表示禁用 TCP 检查。取值范围:[0, 254]。 + * @type {number || null} + */ + this.TcpFailureThreshold = null; + + /** + * 连续超时阈值。0 表示禁用超时检查。取值范围:[0, 254]。 + * @type {number || null} + */ + this.TimeoutThreshold = null; + + /** + * HTTP连续错误阈值。0 表示禁用HTTP检查。取值范围:[0, 254]。 + * @type {number || null} + */ + this.HttpFailureThreshold = null; + + /** + * 主动健康检查时探测请求的路径。默认为"/"。 + * @type {string || null} + */ + this.ActiveCheckHttpPath = null; + + /** + * 主动健康检查的探测请求超时,单位秒。默认为5秒。 + * @type {number || null} + */ + this.ActiveCheckTimeout = null; + + /** + * 主动健康检查的时间间隔,默认5秒。 + * @type {number || null} + */ + this.ActiveCheckInterval = null; + + /** + * 主动健康检查时探测请求的的请求头。 + * @type {Array. || null} + */ + this.ActiveRequestHeader = null; + + /** + * 异常节点的状态自动恢复时间,单位秒。当只开启被动检查的话,必须设置为 > 0 的值,否则被动异常节点将无法恢复。默认30秒。 + * @type {number || null} + */ + this.UnhealthyTimeout = null; } @@ -10947,42 +15421,49 @@ class ResetAPIDocPasswordResponse extends AbstractModel { if (!params) { return; } + this.EnableActiveCheck = 'EnableActiveCheck' in params ? params.EnableActiveCheck : null; + this.EnablePassiveCheck = 'EnablePassiveCheck' in params ? params.EnablePassiveCheck : null; + this.HealthyHttpStatus = 'HealthyHttpStatus' in params ? params.HealthyHttpStatus : null; + this.UnhealthyHttpStatus = 'UnhealthyHttpStatus' in params ? params.UnhealthyHttpStatus : null; + this.TcpFailureThreshold = 'TcpFailureThreshold' in params ? params.TcpFailureThreshold : null; + this.TimeoutThreshold = 'TimeoutThreshold' in params ? params.TimeoutThreshold : null; + this.HttpFailureThreshold = 'HttpFailureThreshold' in params ? params.HttpFailureThreshold : null; + this.ActiveCheckHttpPath = 'ActiveCheckHttpPath' in params ? params.ActiveCheckHttpPath : null; + this.ActiveCheckTimeout = 'ActiveCheckTimeout' in params ? params.ActiveCheckTimeout : null; + this.ActiveCheckInterval = 'ActiveCheckInterval' in params ? params.ActiveCheckInterval : null; - if (params.Result) { - let obj = new APIDoc(); - obj.deserialize(params.Result) - this.Result = obj; + if (params.ActiveRequestHeader) { + this.ActiveRequestHeader = new Array(); + for (let z in params.ActiveRequestHeader) { + let obj = new UpstreamHealthCheckerReqHeaders(); + obj.deserialize(params.ActiveRequestHeader[z]); + this.ActiveRequestHeader.push(obj); + } } - this.RequestId = 'RequestId' in params ? params.RequestId : null; + this.UnhealthyTimeout = 'UnhealthyTimeout' in params ? params.UnhealthyTimeout : null; } } /** - * DescribeServicesStatus请求参数结构体 + * 独享实例预付费详情 * @class */ -class DescribeServicesStatusRequest extends AbstractModel { +class InstanceChargePrepaid extends AbstractModel { constructor(){ super(); /** - * 返回数量,默认为 20,最大值为 100。 - * @type {number || null} - */ - this.Limit = null; - - /** - * 偏移量,默认为 0。 - * @type {number || null} + * 自动续费标示 + * @type {string || null} */ - this.Offset = null; + this.RenewFlag = null; /** - * 过滤条件。支持ServiceId、ServiceName、NotUsagePlanId、Environment、IpVersion。InstanceId - * @type {Array. || null} + * 预付费到期时间 + * @type {string || null} */ - this.Filters = null; + this.ExpiredTime = null; } @@ -10993,17 +15474,8 @@ class DescribeServicesStatusRequest extends AbstractModel { if (!params) { return; } - this.Limit = 'Limit' in params ? params.Limit : null; - this.Offset = 'Offset' in params ? params.Offset : null; - - if (params.Filters) { - this.Filters = new Array(); - for (let z in params.Filters) { - let obj = new Filter(); - obj.deserialize(params.Filters[z]); - this.Filters.push(obj); - } - } + this.RenewFlag = 'RenewFlag' in params ? params.RenewFlag : null; + this.ExpiredTime = 'ExpiredTime' in params ? params.ExpiredTime : null; } } @@ -11149,45 +15621,58 @@ module.exports = { Service: Service, DeleteAPIDocRequest: DeleteAPIDocRequest, ApiUsagePlanSet: ApiUsagePlanSet, - DemoteServiceUsagePlanRequest: DemoteServiceUsagePlanRequest, DescribeAPIDocDetailRequest: DescribeAPIDocDetailRequest, ModifyAPIDocResponse: ModifyAPIDocResponse, + AttachedApiSummary: AttachedApiSummary, DescribeUsagePlanRequest: DescribeUsagePlanRequest, DeleteUsagePlanResponse: DeleteUsagePlanResponse, DisableApiKeyResponse: DisableApiKeyResponse, + DescribeApiResponse: DescribeApiResponse, UnReleaseServiceRequest: UnReleaseServiceRequest, + DetachPluginRequest: DetachPluginRequest, ModifySubDomainRequest: ModifySubDomainRequest, + DescribeApiAppsStatusRequest: DescribeApiAppsStatusRequest, DescribeServiceUsagePlanRequest: DescribeServiceUsagePlanRequest, DescribeServiceEnvironmentListResponse: DescribeServiceEnvironmentListResponse, + DescribeApiAppBindApisStatusRequest: DescribeApiAppBindApisStatusRequest, ModifyApiResponse: ModifyApiResponse, ServiceEnvironmentStrategy: ServiceEnvironmentStrategy, - DescribeApiResponse: DescribeApiResponse, + ApiInfo: ApiInfo, TargetServicesReq: TargetServicesReq, + DescribeUsagePlansStatusRequest: DescribeUsagePlansStatusRequest, TsfLoadBalanceConfResp: TsfLoadBalanceConfResp, CreateIPStrategyRequest: CreateIPStrategyRequest, IPStrategy: IPStrategy, DescribeUsagePlansStatusResponse: DescribeUsagePlansStatusResponse, HealthCheckConf: HealthCheckConf, + DeleteUpstreamRequest: DeleteUpstreamRequest, Plugin: Plugin, + UnbindApiAppResponse: UnbindApiAppResponse, + ModifyUpstreamRequest: ModifyUpstreamRequest, DescribeApiUsagePlanResponse: DescribeApiUsagePlanResponse, DeleteIPStrategyRequest: DeleteIPStrategyRequest, - ModifyAPIDocRequest: ModifyAPIDocRequest, - DomainSets: DomainSets, + DescribeApiAppRequest: DescribeApiAppRequest, + DescribePluginResponse: DescribePluginResponse, + DescribeUpstreamBindApisRequest: DescribeUpstreamBindApisRequest, + DescribeExclusiveInstancesResponse: DescribeExclusiveInstancesResponse, + K8sService: K8sService, DeleteUsagePlanRequest: DeleteUsagePlanRequest, DeleteServiceRequest: DeleteServiceRequest, DescribeApiEnvironmentStrategyRequest: DescribeApiEnvironmentStrategyRequest, - UpdateServiceResponse: UpdateServiceResponse, + UpstreamHealthCheckerReqHeaders: UpstreamHealthCheckerReqHeaders, + DescribeServiceForApiAppResponse: DescribeServiceForApiAppResponse, ServiceConfig: ServiceConfig, - ServiceEnvironmentSet: ServiceEnvironmentSet, + DeleteApiAppResponse: DeleteApiAppResponse, DescribeServiceResponse: DescribeServiceResponse, UsagePlanEnvironmentStatus: UsagePlanEnvironmentStatus, - ModifyIPStrategyResponse: ModifyIPStrategyResponse, + DescribeExclusiveInstancesRequest: DescribeExclusiveInstancesRequest, BindSubDomainResponse: BindSubDomainResponse, BindEnvironmentResponse: BindEnvironmentResponse, Tag: Tag, - DescribeIPStrategysStatusRequest: DescribeIPStrategysStatusRequest, + DescribeExclusiveInstanceDetailResponse: DescribeExclusiveInstanceDetailResponse, + DescribeApiBindApiAppsStatusResponse: DescribeApiBindApiAppsStatusResponse, ConstantParameter: ConstantParameter, - UsagePlansStatus: UsagePlansStatus, + DescribeApiForApiAppRequest: DescribeApiForApiAppRequest, APIDocs: APIDocs, LogQuery: LogQuery, ServiceParameter: ServiceParameter, @@ -11195,134 +15680,194 @@ module.exports = { DisableApiKeyRequest: DisableApiKeyRequest, PathMapping: PathMapping, UnBindIPStrategyResponse: UnBindIPStrategyResponse, + DescribeExclusiveInstanceDetailRequest: DescribeExclusiveInstanceDetailRequest, + ModifyPluginRequest: ModifyPluginRequest, BindIPStrategyResponse: BindIPStrategyResponse, + AvailableApiInfo: AvailableApiInfo, DescribeApisStatusRequest: DescribeApisStatusRequest, DeleteServiceSubDomainMappingRequest: DeleteServiceSubDomainMappingRequest, + BindApiAppRequest: BindApiAppRequest, IPStrategyApi: IPStrategyApi, DescribeIPStrategyResponse: DescribeIPStrategyResponse, + DescribePluginRequest: DescribePluginRequest, DocumentSDK: DocumentSDK, - DeleteApiResponse: DeleteApiResponse, + AttachedApiInfo: AttachedApiInfo, CreateApiResponse: CreateApiResponse, DescribeIPStrategyApisStatusRequest: DescribeIPStrategyApisStatusRequest, - UnBindEnvironmentRequest: UnBindEnvironmentRequest, - OauthConfig: OauthConfig, + ModifyIPStrategyResponse: ModifyIPStrategyResponse, + DescribeUpstreamInfo: DescribeUpstreamInfo, ModifyApiEnvironmentStrategyRequest: ModifyApiEnvironmentStrategyRequest, + NetworkConfig: NetworkConfig, + ServiceReleaseHistory: ServiceReleaseHistory, ModifyUsagePlanResponse: ModifyUsagePlanResponse, CreateUsagePlanResponse: CreateUsagePlanResponse, - ReqParameter: ReqParameter, + DomainSets: DomainSets, + DeletePluginRequest: DeletePluginRequest, Base64EncodedTriggerRule: Base64EncodedTriggerRule, RequestConfig: RequestConfig, DeleteApiKeyResponse: DeleteApiKeyResponse, + UpstreamInfo: UpstreamInfo, + ModifyExclusiveInstanceRequest: ModifyExclusiveInstanceRequest, UsagePlan: UsagePlan, DescribeServiceReleaseVersionRequest: DescribeServiceReleaseVersionRequest, DescribeUsagePlanSecretIdsRequest: DescribeUsagePlanSecretIdsRequest, DescribeLogSearchResponse: DescribeLogSearchResponse, + ModifyAPIDocRequest: ModifyAPIDocRequest, UnBindIPStrategyRequest: UnBindIPStrategyRequest, + DescribeUpstreamsResponse: DescribeUpstreamsResponse, + DescribePluginApisRequest: DescribePluginApisRequest, ResponseErrorCodeReq: ResponseErrorCodeReq, CreateServiceRequest: CreateServiceRequest, - DescribeServiceEnvironmentStrategyResponse: DescribeServiceEnvironmentStrategyResponse, + DescribeIPStrategysStatusRequest: DescribeIPStrategysStatusRequest, DemoteServiceUsagePlanResponse: DemoteServiceUsagePlanResponse, + DescribePluginApisResponse: DescribePluginApisResponse, EnableApiKeyResponse: EnableApiKeyResponse, - ServiceReleaseHistory: ServiceReleaseHistory, + DeleteApiAppRequest: DeleteApiAppRequest, UnReleaseServiceResponse: UnReleaseServiceResponse, CreateAPIDocResponse: CreateAPIDocResponse, DescribeServiceRequest: DescribeServiceRequest, + UsagePlansStatus: UsagePlansStatus, CreateUsagePlanRequest: CreateUsagePlanRequest, DescribeUsagePlanSecretIdsResponse: DescribeUsagePlanSecretIdsResponse, - UpdateServiceRequest: UpdateServiceRequest, + CreatePluginRequest: CreatePluginRequest, MicroServiceReq: MicroServiceReq, ModifySubDomainResponse: ModifySubDomainResponse, DescribePluginsRequest: DescribePluginsRequest, BindSecretIdsRequest: BindSecretIdsRequest, - UnBindEnvironmentResponse: UnBindEnvironmentResponse, + ParameterInfo: ParameterInfo, UsagePlanBindSecret: UsagePlanBindSecret, DeleteApiKeyRequest: DeleteApiKeyRequest, - ModifyApiEnvironmentStrategyResponse: ModifyApiEnvironmentStrategyResponse, + DescribeIPStrategyApisStatusResponse: DescribeIPStrategyApisStatusResponse, + ModifyApiAppResponse: ModifyApiAppResponse, + UpdateApiAppKeyRequest: UpdateApiAppKeyRequest, DomainSetList: DomainSetList, IPStrategysStatus: IPStrategysStatus, DescribeApiKeyResponse: DescribeApiKeyResponse, ModifyApiIncrementResponse: ModifyApiIncrementResponse, ModifyApiRequest: ModifyApiRequest, + DescribeAllPluginApisResponse: DescribeAllPluginApisResponse, ModifyUsagePlanRequest: ModifyUsagePlanRequest, ApiRequestConfig: ApiRequestConfig, ModifyServiceRequest: ModifyServiceRequest, + DescribeAllPluginApisRequest: DescribeAllPluginApisRequest, ApiIdStatus: ApiIdStatus, CreateApiRequest: CreateApiRequest, DescribeServiceEnvironmentStrategyRequest: DescribeServiceEnvironmentStrategyRequest, + DescribeUpstreamBindApisResponse: DescribeUpstreamBindApisResponse, ReleaseServiceRequest: ReleaseServiceRequest, DeleteServiceResponse: DeleteServiceResponse, DescribeServiceEnvironmentReleaseHistoryResponse: DescribeServiceEnvironmentReleaseHistoryResponse, Environment: Environment, DescribeAPIDocsRequest: DescribeAPIDocsRequest, + UsagePlanStatusInfo: UsagePlanStatusInfo, ServiceReleaseHistoryInfo: ServiceReleaseHistoryInfo, + CreatePluginResponse: CreatePluginResponse, + ModifyExclusiveInstanceResponse: ModifyExclusiveInstanceResponse, + K8sLabel: K8sLabel, DescribePluginsResponse: DescribePluginsResponse, ReleaseServiceResponse: ReleaseServiceResponse, APIDocInfo: APIDocInfo, - PluginSummary: PluginSummary, + CosConfig: CosConfig, ModifyApiIncrementRequest: ModifyApiIncrementRequest, GenerateApiDocumentRequest: GenerateApiDocumentRequest, ServiceUsagePlanSet: ServiceUsagePlanSet, - DescribeIPStrategyApisStatusResponse: DescribeIPStrategyApisStatusResponse, + CreateUpstreamRequest: CreateUpstreamRequest, ModifyServiceEnvironmentStrategyResponse: ModifyServiceEnvironmentStrategyResponse, UpdateApiKeyResponse: UpdateApiKeyResponse, + DescribeApiBindApiAppsStatusRequest: DescribeApiBindApiAppsStatusRequest, DescribeApisStatusResponse: DescribeApisStatusResponse, DescribeApiKeysStatusRequest: DescribeApiKeysStatusRequest, - ApiInfo: ApiInfo, + DemoteServiceUsagePlanRequest: DemoteServiceUsagePlanRequest, BindSecretIdsResponse: BindSecretIdsResponse, CreateApiRsp: CreateApiRsp, UsagePlanBindEnvironment: UsagePlanBindEnvironment, + InstanceInfo: InstanceInfo, DeleteApiRequest: DeleteApiRequest, DescribeServiceSubDomainMappingsRequest: DescribeServiceSubDomainMappingsRequest, + DescribeApiAppResponse: DescribeApiAppResponse, DescribeServiceSubDomainMappingsResponse: DescribeServiceSubDomainMappingsResponse, - DescribeServiceEnvironmentListRequest: DescribeServiceEnvironmentListRequest, + OauthConfig: OauthConfig, + DescribeApiAppsStatusResponse: DescribeApiAppsStatusResponse, ServiceSubDomainMappings: ServiceSubDomainMappings, DescribeApiKeyRequest: DescribeApiKeyRequest, DescribeAPIDocDetailResponse: DescribeAPIDocDetailResponse, Filter: Filter, + BindApiAppResponse: BindApiAppResponse, UsagePlanBindSecretStatus: UsagePlanBindSecretStatus, DeleteServiceSubDomainMappingResponse: DeleteServiceSubDomainMappingResponse, CreateApiKeyResponse: CreateApiKeyResponse, - DescribeUsagePlansStatusRequest: DescribeUsagePlansStatusRequest, + DescribeUpstreamsRequest: DescribeUpstreamsRequest, UsagePlanEnvironment: UsagePlanEnvironment, ModifyIPStrategyRequest: ModifyIPStrategyRequest, + ModifyPluginResponse: ModifyPluginResponse, UnBindSecretIdsRequest: UnBindSecretIdsRequest, - ApiEnvironmentStrategy: ApiEnvironmentStrategy, - UnBindSecretIdsResponse: UnBindSecretIdsResponse, + DescribeApiRequest: DescribeApiRequest, + VpcConfig: VpcConfig, + CreateUpstreamResponse: CreateUpstreamResponse, ResetAPIDocPasswordRequest: ResetAPIDocPasswordRequest, ApiUsagePlan: ApiUsagePlan, BuildAPIDocRequest: BuildAPIDocRequest, DescribeAPIDocsResponse: DescribeAPIDocsResponse, + DetachPluginResponse: DetachPluginResponse, + DeletePluginResponse: DeletePluginResponse, + DescribeUpstreamBindApis: DescribeUpstreamBindApis, ModifyServiceEnvironmentStrategyRequest: ModifyServiceEnvironmentStrategyRequest, CreateAPIDocRequest: CreateAPIDocRequest, + DescribeApiAppBindApisStatusResponse: DescribeApiAppBindApisStatusResponse, DescribeServiceSubDomainsRequest: DescribeServiceSubDomainsRequest, + ModifyApiAppRequest: ModifyApiAppRequest, GenerateApiDocumentResponse: GenerateApiDocumentResponse, DescribeUsagePlanEnvironmentsResponse: DescribeUsagePlanEnvironmentsResponse, DescribeServiceSubDomainsResponse: DescribeServiceSubDomainsResponse, + AttachPluginRequest: AttachPluginRequest, + DescribeServiceForApiAppRequest: DescribeServiceForApiAppRequest, + ModifyApiEnvironmentStrategyResponse: ModifyApiEnvironmentStrategyResponse, BindSubDomainRequest: BindSubDomainRequest, + ApiAppInfos: ApiAppInfos, IPStrategyApiStatus: IPStrategyApiStatus, CreateIPStrategyResponse: CreateIPStrategyResponse, - AttachedApiInfo: AttachedApiInfo, + UnBindEnvironmentResponse: UnBindEnvironmentResponse, + DeleteApiResponse: DeleteApiResponse, BindIPStrategyRequest: BindIPStrategyRequest, + UpdateServiceRequest: UpdateServiceRequest, BuildAPIDocResponse: BuildAPIDocResponse, ErrorCodes: ErrorCodes, + DescribeServiceEnvironmentListRequest: DescribeServiceEnvironmentListRequest, ServiceEnvironmentStrategyStatus: ServiceEnvironmentStrategyStatus, + ReqParameter: ReqParameter, DescribeApiEnvironmentStrategyResponse: DescribeApiEnvironmentStrategyResponse, MicroService: MicroService, ApiEnvironmentStrategyStataus: ApiEnvironmentStrategyStataus, + PluginSummary: PluginSummary, + ApiAppInfo: ApiAppInfo, DeleteIPStrategyResponse: DeleteIPStrategyResponse, + ApiInfoSummary: ApiInfoSummary, ApiKey: ApiKey, + BindApiInfo: BindApiInfo, + ApiAppApiInfo: ApiAppApiInfo, DescribeUsagePlanResponse: DescribeUsagePlanResponse, + UnBindEnvironmentRequest: UnBindEnvironmentRequest, + AttachPluginResponse: AttachPluginResponse, BindEnvironmentRequest: BindEnvironmentRequest, + ModifyUpstreamResponse: ModifyUpstreamResponse, DescribeIPStrategyRequest: DescribeIPStrategyRequest, + DescribeApiForApiAppResponse: DescribeApiForApiAppResponse, + EnvironmentStrategy: EnvironmentStrategy, + InstanceParameterInput: InstanceParameterInput, DescribeUsagePlanEnvironmentsRequest: DescribeUsagePlanEnvironmentsRequest, DescribeServiceReleaseVersionResponse: DescribeServiceReleaseVersionResponse, - RequestParameter: RequestParameter, + UpstreamNode: UpstreamNode, + ApiAppApiInfos: ApiAppApiInfos, + DeleteUpstreamResponse: DeleteUpstreamResponse, + UpdateServiceResponse: UpdateServiceResponse, UsagePlanInfo: UsagePlanInfo, DescribeServiceEnvironmentReleaseHistoryRequest: DescribeServiceEnvironmentReleaseHistoryRequest, - UsagePlanStatusInfo: UsagePlanStatusInfo, + UnbindApiAppRequest: UnbindApiAppRequest, ReleaseService: ReleaseService, + ServiceEnvironmentSet: ServiceEnvironmentSet, CreateServiceResponse: CreateServiceResponse, DeleteAPIDocResponse: DeleteAPIDocResponse, + DescribeServiceEnvironmentStrategyResponse: DescribeServiceEnvironmentStrategyResponse, DesApisStatus: DesApisStatus, DescribeApiKeysStatusResponse: DescribeApiKeysStatusResponse, ServicesStatus: ServicesStatus, @@ -11331,14 +15876,21 @@ module.exports = { ApiKeysStatus: ApiKeysStatus, APIDoc: APIDoc, DescribeServiceUsagePlanResponse: DescribeServiceUsagePlanResponse, + CreateApiAppResponse: CreateApiAppResponse, DescribeApiUsagePlanRequest: DescribeApiUsagePlanRequest, UnBindSubDomainRequest: UnBindSubDomainRequest, - DescribeApiRequest: DescribeApiRequest, + ApiEnvironmentStrategy: ApiEnvironmentStrategy, DescribeIPStrategysStatusResponse: DescribeIPStrategysStatusResponse, - EnvironmentStrategy: EnvironmentStrategy, + UpdateApiAppKeyResponse: UpdateApiAppKeyResponse, + InstanceDetail: InstanceDetail, + UnBindSecretIdsResponse: UnBindSecretIdsResponse, + CreateApiAppRequest: CreateApiAppRequest, EnableApiKeyRequest: EnableApiKeyRequest, ResetAPIDocPasswordResponse: ResetAPIDocPasswordResponse, DescribeServicesStatusRequest: DescribeServicesStatusRequest, + RequestParameter: RequestParameter, + UpstreamHealthChecker: UpstreamHealthChecker, + InstanceChargePrepaid: InstanceChargePrepaid, ServiceReleaseVersion: ServiceReleaseVersion, DescribeServicesStatusResponse: DescribeServicesStatusResponse, CreateApiKeyRequest: CreateApiKeyRequest, diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/apm/index.js b/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/apm/index.js new file mode 100644 index 0000000000..b9eea5a01a --- /dev/null +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/apm/index.js @@ -0,0 +1,3 @@ +module.exports = { + v20210622: require("./v20210622"), +}; diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/apm/v20210622/apm_client.js b/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/apm/v20210622/apm_client.js new file mode 100644 index 0000000000..898277e82d --- /dev/null +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/apm/v20210622/apm_client.js @@ -0,0 +1,123 @@ +/* + * Copyright (c) 2018 THL A29 Limited, a Tencent company. All Rights Reserved. + * + * 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. + */ +const models = require("./models"); +const AbstractClient = require('../../common/abstract_client') +const ApmInstanceDetail = models.ApmInstanceDetail; +const CreateApmInstanceRequest = models.CreateApmInstanceRequest; +const DescribeServiceOverviewResponse = models.DescribeServiceOverviewResponse; +const QueryMetricItem = models.QueryMetricItem; +const DescribeApmInstancesResponse = models.DescribeApmInstancesResponse; +const ApmAgentInfo = models.ApmAgentInfo; +const ApmMetricRecord = models.ApmMetricRecord; +const DescribeServiceOverviewRequest = models.DescribeServiceOverviewRequest; +const DescribeApmAgentResponse = models.DescribeApmAgentResponse; +const ApmField = models.ApmField; +const Line = models.Line; +const APMKVItem = models.APMKVItem; +const OrderBy = models.OrderBy; +const DescribeMetricRecordsResponse = models.DescribeMetricRecordsResponse; +const ApmTag = models.ApmTag; +const Filter = models.Filter; +const DescribeApmAgentRequest = models.DescribeApmAgentRequest; +const DescribeMetricRecordsRequest = models.DescribeMetricRecordsRequest; +const DescribeGeneralMetricDataRequest = models.DescribeGeneralMetricDataRequest; +const CreateApmInstanceResponse = models.CreateApmInstanceResponse; +const GeneralFilter = models.GeneralFilter; +const DescribeApmInstancesRequest = models.DescribeApmInstancesRequest; +const DescribeGeneralMetricDataResponse = models.DescribeGeneralMetricDataResponse; + + +/** + * apm client + * @class + */ +class ApmClient extends AbstractClient { + + constructor(credential, region, profile) { + super("apm.tencentcloudapi.com", "2021-06-22", credential, region, profile); + } + + /** + * APM实例列表拉取 + * @param {DescribeApmInstancesRequest} req + * @param {function(string, DescribeApmInstancesResponse):void} cb + * @public + */ + DescribeApmInstances(req, cb) { + let resp = new DescribeApmInstancesResponse(); + this.request("DescribeApmInstances", req, resp, cb); + } + + /** + * 获取Apm Agent信息 + * @param {DescribeApmAgentRequest} req + * @param {function(string, DescribeApmAgentResponse):void} cb + * @public + */ + DescribeApmAgent(req, cb) { + let resp = new DescribeApmAgentResponse(); + this.request("DescribeApmAgent", req, resp, cb); + } + + /** + * 获取指标数据通用接口。用户根据需要上送请求参数,返回对应的指标数据。 +接口调用频率限制为:20次/秒,1200次/分钟。单请求的数据点数限制为1440个。 + * @param {DescribeGeneralMetricDataRequest} req + * @param {function(string, DescribeGeneralMetricDataResponse):void} cb + * @public + */ + DescribeGeneralMetricData(req, cb) { + let resp = new DescribeGeneralMetricDataResponse(); + this.request("DescribeGeneralMetricData", req, resp, cb); + } + + /** + * 拉取通用指标列表 + * @param {DescribeMetricRecordsRequest} req + * @param {function(string, DescribeMetricRecordsResponse):void} cb + * @public + */ + DescribeMetricRecords(req, cb) { + let resp = new DescribeMetricRecordsResponse(); + this.request("DescribeMetricRecords", req, resp, cb); + } + + /** + * 业务购买APM实例,调用该接口创建 + * @param {CreateApmInstanceRequest} req + * @param {function(string, CreateApmInstanceResponse):void} cb + * @public + */ + CreateApmInstance(req, cb) { + let resp = new CreateApmInstanceResponse(); + this.request("CreateApmInstance", req, resp, cb); + } + + /** + * 服务概览数据拉取 + * @param {DescribeServiceOverviewRequest} req + * @param {function(string, DescribeServiceOverviewResponse):void} cb + * @public + */ + DescribeServiceOverview(req, cb) { + let resp = new DescribeServiceOverviewResponse(); + this.request("DescribeServiceOverview", req, resp, cb); + } + + +} +module.exports = ApmClient; diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/apm/v20210622/index.js b/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/apm/v20210622/index.js new file mode 100644 index 0000000000..83c74de0b2 --- /dev/null +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/apm/v20210622/index.js @@ -0,0 +1,4 @@ +module.exports = { + Client: require("./apm_client"), + Models: require("./models"), +}; diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/apm/v20210622/models.js b/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/apm/v20210622/models.js new file mode 100644 index 0000000000..9e84bddbdb --- /dev/null +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/apm/v20210622/models.js @@ -0,0 +1,1459 @@ +/* + * Copyright (c) 2018 THL A29 Limited, a Tencent company. All Rights Reserved. + * + * 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. + */ +const AbstractModel = require("../../common/abstract_model"); + +/** + * apm实例信息 + * @class + */ +class ApmInstanceDetail extends AbstractModel { + constructor(){ + super(); + + /** + * 存储使用量(MB) +注意:此字段可能返回 null,表示取不到有效值。 + * @type {number || null} + */ + this.AmountOfUsedStorage = null; + + /** + * 实例名 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.Name = null; + + /** + * 实例所属tag列表 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {Array. || null} + */ + this.Tags = null; + + /** + * 实例ID + * @type {string || null} + */ + this.InstanceId = null; + + /** + * 创建人Uin +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.CreateUin = null; + + /** + * 该实例已上报的服务数 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {number || null} + */ + this.ServiceCount = null; + + /** + * 日均上报Span数 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {number || null} + */ + this.CountOfReportSpanPerDay = null; + + /** + * AppId信息 + * @type {number || null} + */ + this.AppId = null; + + /** + * Trace数据保存时长 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {number || null} + */ + this.TraceDuration = null; + + /** + * 实例描述信息 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.Description = null; + + /** + * 实例状态 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {number || null} + */ + this.Status = null; + + /** + * 实例所属地域 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.Region = null; + + /** + * 实例上报额度 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {number || null} + */ + this.SpanDailyCounters = null; + + /** + * 实例是否开通计费 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {number || null} + */ + this.BillingInstance = null; + + /** + * 错误率阈值 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {number || null} + */ + this.ErrRateThreshold = null; + + /** + * 采样率阈值 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {number || null} + */ + this.SampleRate = null; + + /** + * 是否开启错误采样 0 关 1 开 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {number || null} + */ + this.ErrorSample = null; + + /** + * 慢调用保存阈值 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {number || null} + */ + this.SlowRequestSavedThreshold = null; + + /** + * cls日志所在地域 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.LogRegion = null; + + /** + * 日志来源 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.LogSource = null; + + /** + * 日志功能开关 0 关 | 1 开 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {number || null} + */ + this.IsRelatedLog = null; + + /** + * 日志主题ID +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.LogTopicID = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.AmountOfUsedStorage = 'AmountOfUsedStorage' in params ? params.AmountOfUsedStorage : null; + this.Name = 'Name' in params ? params.Name : null; + + if (params.Tags) { + this.Tags = new Array(); + for (let z in params.Tags) { + let obj = new ApmTag(); + obj.deserialize(params.Tags[z]); + this.Tags.push(obj); + } + } + this.InstanceId = 'InstanceId' in params ? params.InstanceId : null; + this.CreateUin = 'CreateUin' in params ? params.CreateUin : null; + this.ServiceCount = 'ServiceCount' in params ? params.ServiceCount : null; + this.CountOfReportSpanPerDay = 'CountOfReportSpanPerDay' in params ? params.CountOfReportSpanPerDay : null; + this.AppId = 'AppId' in params ? params.AppId : null; + this.TraceDuration = 'TraceDuration' in params ? params.TraceDuration : null; + this.Description = 'Description' in params ? params.Description : null; + this.Status = 'Status' in params ? params.Status : null; + this.Region = 'Region' in params ? params.Region : null; + this.SpanDailyCounters = 'SpanDailyCounters' in params ? params.SpanDailyCounters : null; + this.BillingInstance = 'BillingInstance' in params ? params.BillingInstance : null; + this.ErrRateThreshold = 'ErrRateThreshold' in params ? params.ErrRateThreshold : null; + this.SampleRate = 'SampleRate' in params ? params.SampleRate : null; + this.ErrorSample = 'ErrorSample' in params ? params.ErrorSample : null; + this.SlowRequestSavedThreshold = 'SlowRequestSavedThreshold' in params ? params.SlowRequestSavedThreshold : null; + this.LogRegion = 'LogRegion' in params ? params.LogRegion : null; + this.LogSource = 'LogSource' in params ? params.LogSource : null; + this.IsRelatedLog = 'IsRelatedLog' in params ? params.IsRelatedLog : null; + this.LogTopicID = 'LogTopicID' in params ? params.LogTopicID : null; + + } +} + +/** + * CreateApmInstance请求参数结构体 + * @class + */ +class CreateApmInstanceRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 实例名 + * @type {string || null} + */ + this.Name = null; + + /** + * 实例描述信息 + * @type {string || null} + */ + this.Description = null; + + /** + * Trace数据保存时长 + * @type {number || null} + */ + this.TraceDuration = null; + + /** + * 标签列表 + * @type {Array. || null} + */ + this.Tags = null; + + /** + * 实例上报额度值 + * @type {number || null} + */ + this.SpanDailyCounters = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Name = 'Name' in params ? params.Name : null; + this.Description = 'Description' in params ? params.Description : null; + this.TraceDuration = 'TraceDuration' in params ? params.TraceDuration : null; + + if (params.Tags) { + this.Tags = new Array(); + for (let z in params.Tags) { + let obj = new ApmTag(); + obj.deserialize(params.Tags[z]); + this.Tags.push(obj); + } + } + this.SpanDailyCounters = 'SpanDailyCounters' in params ? params.SpanDailyCounters : null; + + } +} + +/** + * DescribeServiceOverview返回参数结构体 + * @class + */ +class DescribeServiceOverviewResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 指标结果集 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {Array. || null} + */ + this.Records = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + + if (params.Records) { + this.Records = new Array(); + for (let z in params.Records) { + let obj = new ApmMetricRecord(); + obj.deserialize(params.Records[z]); + this.Records.push(obj); + } + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * 查询 + * @class + */ +class QueryMetricItem extends AbstractModel { + constructor(){ + super(); + + /** + * 指标名 + * @type {string || null} + */ + this.MetricName = null; + + /** + * 同比,已弃用,不建议使用 + * @type {string || null} + */ + this.Compare = null; + + /** + * 同比,支持多种同比方式 + * @type {Array. || null} + */ + this.Compares = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.MetricName = 'MetricName' in params ? params.MetricName : null; + this.Compare = 'Compare' in params ? params.Compare : null; + this.Compares = 'Compares' in params ? params.Compares : null; + + } +} + +/** + * DescribeApmInstances返回参数结构体 + * @class + */ +class DescribeApmInstancesResponse extends AbstractModel { + constructor(){ + super(); + + /** + * apm实例列表 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {Array. || null} + */ + this.Instances = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + + if (params.Instances) { + this.Instances = new Array(); + for (let z in params.Instances) { + let obj = new ApmInstanceDetail(); + obj.deserialize(params.Instances[z]); + this.Instances.push(obj); + } + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * apm Agent信息 + * @class + */ +class ApmAgentInfo extends AbstractModel { + constructor(){ + super(); + + /** + * Agent下载地址 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.AgentDownloadURL = null; + + /** + * Collector上报地址 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.CollectorURL = null; + + /** + * Token信息 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.Token = null; + + /** + * 外网上报地址 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.PublicCollectorURL = null; + + /** + * 自研VPC上报地址 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.InnerCollectorURL = null; + + /** + * 内网上报地址(Private Link上报地址) +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.PrivateLinkCollectorURL = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.AgentDownloadURL = 'AgentDownloadURL' in params ? params.AgentDownloadURL : null; + this.CollectorURL = 'CollectorURL' in params ? params.CollectorURL : null; + this.Token = 'Token' in params ? params.Token : null; + this.PublicCollectorURL = 'PublicCollectorURL' in params ? params.PublicCollectorURL : null; + this.InnerCollectorURL = 'InnerCollectorURL' in params ? params.InnerCollectorURL : null; + this.PrivateLinkCollectorURL = 'PrivateLinkCollectorURL' in params ? params.PrivateLinkCollectorURL : null; + + } +} + +/** + * 指标列表单元 + * @class + */ +class ApmMetricRecord extends AbstractModel { + constructor(){ + super(); + + /** + * field数组 + * @type {Array. || null} + */ + this.Fields = null; + + /** + * tag数组 + * @type {Array. || null} + */ + this.Tags = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + + if (params.Fields) { + this.Fields = new Array(); + for (let z in params.Fields) { + let obj = new ApmField(); + obj.deserialize(params.Fields[z]); + this.Fields.push(obj); + } + } + + if (params.Tags) { + this.Tags = new Array(); + for (let z in params.Tags) { + let obj = new ApmTag(); + obj.deserialize(params.Tags[z]); + this.Tags.push(obj); + } + } + + } +} + +/** + * DescribeServiceOverview请求参数结构体 + * @class + */ +class DescribeServiceOverviewRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 过滤条件 + * @type {Array. || null} + */ + this.Filters = null; + + /** + * 指标列表 + * @type {Array. || null} + */ + this.Metrics = null; + + /** + * 聚合维度 + * @type {Array. || null} + */ + this.GroupBy = null; + + /** + * 排序 + * @type {OrderBy || null} + */ + this.OrderBy = null; + + /** + * 实例ID + * @type {string || null} + */ + this.InstanceId = null; + + /** + * 每页大小 + * @type {number || null} + */ + this.Limit = null; + + /** + * 开始时间 + * @type {number || null} + */ + this.StartTime = null; + + /** + * 分页起始点 + * @type {number || null} + */ + this.Offset = null; + + /** + * 结束时间 + * @type {number || null} + */ + this.EndTime = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + + if (params.Filters) { + this.Filters = new Array(); + for (let z in params.Filters) { + let obj = new Filter(); + obj.deserialize(params.Filters[z]); + this.Filters.push(obj); + } + } + + if (params.Metrics) { + this.Metrics = new Array(); + for (let z in params.Metrics) { + let obj = new QueryMetricItem(); + obj.deserialize(params.Metrics[z]); + this.Metrics.push(obj); + } + } + this.GroupBy = 'GroupBy' in params ? params.GroupBy : null; + + if (params.OrderBy) { + let obj = new OrderBy(); + obj.deserialize(params.OrderBy) + this.OrderBy = obj; + } + this.InstanceId = 'InstanceId' in params ? params.InstanceId : null; + this.Limit = 'Limit' in params ? params.Limit : null; + this.StartTime = 'StartTime' in params ? params.StartTime : null; + this.Offset = 'Offset' in params ? params.Offset : null; + this.EndTime = 'EndTime' in params ? params.EndTime : null; + + } +} + +/** + * DescribeApmAgent返回参数结构体 + * @class + */ +class DescribeApmAgentResponse extends AbstractModel { + constructor(){ + super(); + + /** + * Agent信息 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {ApmAgentInfo || null} + */ + this.ApmAgent = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + + if (params.ApmAgent) { + let obj = new ApmAgentInfo(); + obj.deserialize(params.ApmAgent) + this.ApmAgent = obj; + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * 指标维度信息 + * @class + */ +class ApmField extends AbstractModel { + constructor(){ + super(); + + /** + * 昨日同比指标值,已弃用,不建议使用 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.CompareVal = null; + + /** + * Compare值结果数组,推荐使用 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {Array. || null} + */ + this.CompareVals = null; + + /** + * 指标值 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {number || null} + */ + this.Value = null; + + /** + * 指标所对应的单位 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.Unit = null; + + /** + * 请求数 + * @type {string || null} + */ + this.Key = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.CompareVal = 'CompareVal' in params ? params.CompareVal : null; + + if (params.CompareVals) { + this.CompareVals = new Array(); + for (let z in params.CompareVals) { + let obj = new APMKVItem(); + obj.deserialize(params.CompareVals[z]); + this.CompareVals.push(obj); + } + } + this.Value = 'Value' in params ? params.Value : null; + this.Unit = 'Unit' in params ? params.Unit : null; + this.Key = 'Key' in params ? params.Key : null; + + } +} + +/** + * 指标曲线数据 + * @class + */ +class Line extends AbstractModel { + constructor(){ + super(); + + /** + * 指标名 + * @type {string || null} + */ + this.MetricName = null; + + /** + * 指标中文名 + * @type {string || null} + */ + this.MetricNameCN = null; + + /** + * 时间序列 + * @type {Array. || null} + */ + this.TimeSerial = null; + + /** + * 数据序列 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {Array. || null} + */ + this.DataSerial = null; + + /** + * 维度列表 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {Array. || null} + */ + this.Tags = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.MetricName = 'MetricName' in params ? params.MetricName : null; + this.MetricNameCN = 'MetricNameCN' in params ? params.MetricNameCN : null; + this.TimeSerial = 'TimeSerial' in params ? params.TimeSerial : null; + this.DataSerial = 'DataSerial' in params ? params.DataSerial : null; + + if (params.Tags) { + this.Tags = new Array(); + for (let z in params.Tags) { + let obj = new ApmTag(); + obj.deserialize(params.Tags[z]); + this.Tags.push(obj); + } + } + + } +} + +/** + * Apm通用KV结构 + * @class + */ +class APMKVItem extends AbstractModel { + constructor(){ + super(); + + /** + * Key值定义 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.Key = null; + + /** + * Value值定义 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.Value = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Key = 'Key' in params ? params.Key : null; + this.Value = 'Value' in params ? params.Value : null; + + } +} + +/** + * sql排序字段 + * @class + */ +class OrderBy extends AbstractModel { + constructor(){ + super(); + + /** + * 需要排序的字段 + * @type {string || null} + */ + this.Key = null; + + /** + * 顺序排序/倒序排序 + * @type {string || null} + */ + this.Value = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Key = 'Key' in params ? params.Key : null; + this.Value = 'Value' in params ? params.Value : null; + + } +} + +/** + * DescribeMetricRecords返回参数结构体 + * @class + */ +class DescribeMetricRecordsResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 指标结果集 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {Array. || null} + */ + this.Records = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + + if (params.Records) { + this.Records = new Array(); + for (let z in params.Records) { + let obj = new ApmMetricRecord(); + obj.deserialize(params.Records[z]); + this.Records.push(obj); + } + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * 维度(标签)对象 + * @class + */ +class ApmTag extends AbstractModel { + constructor(){ + super(); + + /** + * 维度Key(列名,标签Key) + * @type {string || null} + */ + this.Key = null; + + /** + * 维度值(标签值) + * @type {string || null} + */ + this.Value = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Key = 'Key' in params ? params.Key : null; + this.Value = 'Value' in params ? params.Value : null; + + } +} + +/** + * 查询过滤参数 + * @class + */ +class Filter extends AbstractModel { + constructor(){ + super(); + + /** + * 过滤方式(=, !=, in) + * @type {string || null} + */ + this.Type = null; + + /** + * 过滤维度名 + * @type {string || null} + */ + this.Key = null; + + /** + * 过滤值,in过滤方式用逗号分割多个值 + * @type {string || null} + */ + this.Value = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Type = 'Type' in params ? params.Type : null; + this.Key = 'Key' in params ? params.Key : null; + this.Value = 'Value' in params ? params.Value : null; + + } +} + +/** + * DescribeApmAgent请求参数结构体 + * @class + */ +class DescribeApmAgentRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 实例ID + * @type {string || null} + */ + this.InstanceId = null; + + /** + * 接入方式 + * @type {string || null} + */ + this.AgentType = null; + + /** + * 环境 + * @type {string || null} + */ + this.NetworkMode = null; + + /** + * 语言 + * @type {string || null} + */ + this.LanguageEnvironment = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.InstanceId = 'InstanceId' in params ? params.InstanceId : null; + this.AgentType = 'AgentType' in params ? params.AgentType : null; + this.NetworkMode = 'NetworkMode' in params ? params.NetworkMode : null; + this.LanguageEnvironment = 'LanguageEnvironment' in params ? params.LanguageEnvironment : null; + + } +} + +/** + * DescribeMetricRecords请求参数结构体 + * @class + */ +class DescribeMetricRecordsRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 过滤条件 + * @type {Array. || null} + */ + this.Filters = null; + + /** + * 指标列表 + * @type {Array. || null} + */ + this.Metrics = null; + + /** + * 聚合维度 + * @type {Array. || null} + */ + this.GroupBy = null; + + /** + * 排序 + * @type {OrderBy || null} + */ + this.OrderBy = null; + + /** + * 实例ID + * @type {string || null} + */ + this.InstanceId = null; + + /** + * 每页大小 + * @type {number || null} + */ + this.Limit = null; + + /** + * 开始时间 + * @type {number || null} + */ + this.StartTime = null; + + /** + * 分页起始点 + * @type {number || null} + */ + this.Offset = null; + + /** + * 结束时间 + * @type {number || null} + */ + this.EndTime = null; + + /** + * 业务名称(默认值:taw) + * @type {string || null} + */ + this.BusinessName = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + + if (params.Filters) { + this.Filters = new Array(); + for (let z in params.Filters) { + let obj = new Filter(); + obj.deserialize(params.Filters[z]); + this.Filters.push(obj); + } + } + + if (params.Metrics) { + this.Metrics = new Array(); + for (let z in params.Metrics) { + let obj = new QueryMetricItem(); + obj.deserialize(params.Metrics[z]); + this.Metrics.push(obj); + } + } + this.GroupBy = 'GroupBy' in params ? params.GroupBy : null; + + if (params.OrderBy) { + let obj = new OrderBy(); + obj.deserialize(params.OrderBy) + this.OrderBy = obj; + } + this.InstanceId = 'InstanceId' in params ? params.InstanceId : null; + this.Limit = 'Limit' in params ? params.Limit : null; + this.StartTime = 'StartTime' in params ? params.StartTime : null; + this.Offset = 'Offset' in params ? params.Offset : null; + this.EndTime = 'EndTime' in params ? params.EndTime : null; + this.BusinessName = 'BusinessName' in params ? params.BusinessName : null; + + } +} + +/** + * DescribeGeneralMetricData请求参数结构体 + * @class + */ +class DescribeGeneralMetricDataRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 要过滤的维度信息,支持:service.name(服务名)、span.kind(客户端/服务端视角)为维度进行过滤。 + +span.kind: + + server:服务端视角 + client:客户端视角 + +默认为服务端视角进行查询。 + * @type {Array. || null} + */ + this.Filters = null; + + /** + * 需要查询的指标,不可自定义输入。支持:service_request_count(总请求)、service_duration(平均响应时间)的指标数据。 + * @type {Array. || null} + */ + this.Metrics = null; + + /** + * 实例ID + * @type {string || null} + */ + this.InstanceId = null; + + /** + * 视图名称 + * @type {string || null} + */ + this.ViewName = null; + + /** + * 聚合维度,支持:service.name(服务名)、span.kind (客户端/服务端视角)维度进行聚合。 + * @type {Array. || null} + */ + this.GroupBy = null; + + /** + * 起始时间的时间戳,单位为秒,只支持查询2天内最多1小时的指标数据。 + * @type {number || null} + */ + this.StartTime = null; + + /** + * 结束时间的时间戳,单位为秒,只支持查询2天内最多1小时的指标数据。 + * @type {number || null} + */ + this.EndTime = null; + + /** + * 聚合粒度,单位为秒,最小为60s,即一分钟的聚合粒度;如果为空或0则计算开始时间到截止时间的指标数据,上报其他值会报错。 + * @type {number || null} + */ + this.Period = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + + if (params.Filters) { + this.Filters = new Array(); + for (let z in params.Filters) { + let obj = new GeneralFilter(); + obj.deserialize(params.Filters[z]); + this.Filters.push(obj); + } + } + this.Metrics = 'Metrics' in params ? params.Metrics : null; + this.InstanceId = 'InstanceId' in params ? params.InstanceId : null; + this.ViewName = 'ViewName' in params ? params.ViewName : null; + this.GroupBy = 'GroupBy' in params ? params.GroupBy : null; + this.StartTime = 'StartTime' in params ? params.StartTime : null; + this.EndTime = 'EndTime' in params ? params.EndTime : null; + this.Period = 'Period' in params ? params.Period : null; + + } +} + +/** + * CreateApmInstance返回参数结构体 + * @class + */ +class CreateApmInstanceResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 实例ID +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.InstanceId = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.InstanceId = 'InstanceId' in params ? params.InstanceId : null; + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * 查询过滤参数 + * @class + */ +class GeneralFilter extends AbstractModel { + constructor(){ + super(); + + /** + * 过滤维度名 + * @type {string || null} + */ + this.Key = null; + + /** + * 过滤值 + * @type {string || null} + */ + this.Value = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Key = 'Key' in params ? params.Key : null; + this.Value = 'Value' in params ? params.Value : null; + + } +} + +/** + * DescribeApmInstances请求参数结构体 + * @class + */ +class DescribeApmInstancesRequest extends AbstractModel { + constructor(){ + super(); + + /** + * Tag列表 + * @type {Array. || null} + */ + this.Tags = null; + + /** + * 搜索实例名 + * @type {string || null} + */ + this.InstanceName = null; + + /** + * 过滤实例ID + * @type {Array. || null} + */ + this.InstanceIds = null; + + /** + * 是否查询官方demo实例 + * @type {number || null} + */ + this.DemoInstanceFlag = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + + if (params.Tags) { + this.Tags = new Array(); + for (let z in params.Tags) { + let obj = new ApmTag(); + obj.deserialize(params.Tags[z]); + this.Tags.push(obj); + } + } + this.InstanceName = 'InstanceName' in params ? params.InstanceName : null; + this.InstanceIds = 'InstanceIds' in params ? params.InstanceIds : null; + this.DemoInstanceFlag = 'DemoInstanceFlag' in params ? params.DemoInstanceFlag : null; + + } +} + +/** + * DescribeGeneralMetricData返回参数结构体 + * @class + */ +class DescribeGeneralMetricDataResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 指标结果集 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {Array. || null} + */ + this.Records = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + + if (params.Records) { + this.Records = new Array(); + for (let z in params.Records) { + let obj = new Line(); + obj.deserialize(params.Records[z]); + this.Records.push(obj); + } + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +module.exports = { + ApmInstanceDetail: ApmInstanceDetail, + CreateApmInstanceRequest: CreateApmInstanceRequest, + DescribeServiceOverviewResponse: DescribeServiceOverviewResponse, + QueryMetricItem: QueryMetricItem, + DescribeApmInstancesResponse: DescribeApmInstancesResponse, + ApmAgentInfo: ApmAgentInfo, + ApmMetricRecord: ApmMetricRecord, + DescribeServiceOverviewRequest: DescribeServiceOverviewRequest, + DescribeApmAgentResponse: DescribeApmAgentResponse, + ApmField: ApmField, + Line: Line, + APMKVItem: APMKVItem, + OrderBy: OrderBy, + DescribeMetricRecordsResponse: DescribeMetricRecordsResponse, + ApmTag: ApmTag, + Filter: Filter, + DescribeApmAgentRequest: DescribeApmAgentRequest, + DescribeMetricRecordsRequest: DescribeMetricRecordsRequest, + DescribeGeneralMetricDataRequest: DescribeGeneralMetricDataRequest, + CreateApmInstanceResponse: CreateApmInstanceResponse, + GeneralFilter: GeneralFilter, + DescribeApmInstancesRequest: DescribeApmInstancesRequest, + DescribeGeneralMetricDataResponse: DescribeGeneralMetricDataResponse, + +} diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/as/v20180419/as_client.js b/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/as/v20180419/as_client.js index 07ccd1ae4b..5dac573dbc 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/as/v20180419/as_client.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/as/v20180419/as_client.js @@ -24,74 +24,77 @@ const ScaleOutInstancesRequest = models.ScaleOutInstancesRequest; const AutoScalingNotification = models.AutoScalingNotification; const ModifyScheduledActionRequest = models.ModifyScheduledActionRequest; const DescribeAutoScalingGroupsRequest = models.DescribeAutoScalingGroupsRequest; -const CreateAutoScalingGroupResponse = models.CreateAutoScalingGroupResponse; +const LaunchConfiguration = models.LaunchConfiguration; const DescribeAccountLimitsResponse = models.DescribeAccountLimitsResponse; -const CreatePaiInstanceResponse = models.CreatePaiInstanceResponse; const CreateLaunchConfigurationResponse = models.CreateLaunchConfigurationResponse; +const Advice = models.Advice; const CreateLifecycleHookResponse = models.CreateLifecycleHookResponse; const ClearLaunchConfigurationAttributesResponse = models.ClearLaunchConfigurationAttributesResponse; const DescribeAutoScalingGroupsResponse = models.DescribeAutoScalingGroupsResponse; -const CreatePaiInstanceRequest = models.CreatePaiInstanceRequest; +const CreateScheduledActionRequest = models.CreateScheduledActionRequest; const SystemDisk = models.SystemDisk; const SpotMarketOptions = models.SpotMarketOptions; const StopAutoScalingInstancesResponse = models.StopAutoScalingInstancesResponse; const DescribeScalingPoliciesRequest = models.DescribeScalingPoliciesRequest; const InstanceNameSettings = models.InstanceNameSettings; +const DetailedStatusMessage = models.DetailedStatusMessage; const ModifyScheduledActionResponse = models.ModifyScheduledActionResponse; -const CreateAutoScalingGroupFromInstanceRequest = models.CreateAutoScalingGroupFromInstanceRequest; +const AttachLoadBalancersResponse = models.AttachLoadBalancersResponse; const ExecuteScalingPolicyResponse = models.ExecuteScalingPolicyResponse; -const ModifyLaunchConfigurationAttributesResponse = models.ModifyLaunchConfigurationAttributesResponse; +const DeleteAutoScalingGroupRequest = models.DeleteAutoScalingGroupRequest; const SetInstancesProtectionResponse = models.SetInstancesProtectionResponse; const StartAutoScalingInstancesResponse = models.StartAutoScalingInstancesResponse; const CompleteLifecycleActionRequest = models.CompleteLifecycleActionRequest; const CreateScalingPolicyResponse = models.CreateScalingPolicyResponse; const CreateNotificationConfigurationResponse = models.CreateNotificationConfigurationResponse; const DescribeLaunchConfigurationsResponse = models.DescribeLaunchConfigurationsResponse; +const RemoveInstancesRequest = models.RemoveInstancesRequest; const DeleteScalingPolicyResponse = models.DeleteScalingPolicyResponse; const Tag = models.Tag; +const DetachLoadBalancersRequest = models.DetachLoadBalancersRequest; const DescribeAutoScalingInstancesRequest = models.DescribeAutoScalingInstancesRequest; -const LimitedLoginSettings = models.LimitedLoginSettings; const ModifyLoadBalancersRequest = models.ModifyLoadBalancersRequest; const RemoveInstancesResponse = models.RemoveInstancesResponse; const ModifyScalingPolicyResponse = models.ModifyScalingPolicyResponse; const SetInstancesProtectionRequest = models.SetInstancesProtectionRequest; const DeleteNotificationConfigurationResponse = models.DeleteNotificationConfigurationResponse; const DetachInstancesResponse = models.DetachInstancesResponse; +const ModifyLaunchConfigurationAttributesResponse = models.ModifyLaunchConfigurationAttributesResponse; const CreateLaunchConfigurationRequest = models.CreateLaunchConfigurationRequest; const AutoScalingGroup = models.AutoScalingGroup; const AttachInstancesResponse = models.AttachInstancesResponse; const DescribeAutoScalingGroupLastActivitiesResponse = models.DescribeAutoScalingGroupLastActivitiesResponse; const DescribeAccountLimitsRequest = models.DescribeAccountLimitsRequest; const UpgradeLifecycleHookRequest = models.UpgradeLifecycleHookRequest; +const DetachLoadBalancersResponse = models.DetachLoadBalancersResponse; const ScalingPolicy = models.ScalingPolicy; const DescribeAutoScalingGroupLastActivitiesRequest = models.DescribeAutoScalingGroupLastActivitiesRequest; const HostNameSettings = models.HostNameSettings; const ModifyLoadBalancersResponse = models.ModifyLoadBalancersResponse; -const DescribePaiInstancesRequest = models.DescribePaiInstancesRequest; const CreateNotificationConfigurationRequest = models.CreateNotificationConfigurationRequest; const DescribeScheduledActionsResponse = models.DescribeScheduledActionsResponse; -const ModifyNotificationConfigurationRequest = models.ModifyNotificationConfigurationRequest; const DeleteLifecycleHookRequest = models.DeleteLifecycleHookRequest; +const ModifyLoadBalancerTargetAttributesResponse = models.ModifyLoadBalancerTargetAttributesResponse; const ModifyAutoScalingGroupResponse = models.ModifyAutoScalingGroupResponse; const DeleteLaunchConfigurationRequest = models.DeleteLaunchConfigurationRequest; const ModifyScalingPolicyRequest = models.ModifyScalingPolicyRequest; const InstanceMarketOptionsRequest = models.InstanceMarketOptionsRequest; const UpgradeLifecycleHookResponse = models.UpgradeLifecycleHookResponse; const InstanceTag = models.InstanceTag; -const PaiInstance = models.PaiInstance; +const ModifyLifecycleHookResponse = models.ModifyLifecycleHookResponse; +const DescribeAutoScalingAdvicesResponse = models.DescribeAutoScalingAdvicesResponse; const CreateAutoScalingGroupRequest = models.CreateAutoScalingGroupRequest; const DeleteScheduledActionResponse = models.DeleteScheduledActionResponse; const UpgradeLaunchConfigurationRequest = models.UpgradeLaunchConfigurationRequest; const DescribeAutoScalingActivitiesResponse = models.DescribeAutoScalingActivitiesResponse; const DescribeNotificationConfigurationsResponse = models.DescribeNotificationConfigurationsResponse; const DataDisk = models.DataDisk; -const PreviewPaiDomainNameRequest = models.PreviewPaiDomainNameRequest; const DeleteScalingPolicyRequest = models.DeleteScalingPolicyRequest; const LoginSettings = models.LoginSettings; const CreateAutoScalingGroupFromInstanceResponse = models.CreateAutoScalingGroupFromInstanceResponse; const DetachInstancesRequest = models.DetachInstancesRequest; const Instance = models.Instance; -const CreateScheduledActionRequest = models.CreateScheduledActionRequest; +const DescribeAutoScalingInstancesResponse = models.DescribeAutoScalingInstancesResponse; const EnhancedService = models.EnhancedService; const DeleteLaunchConfigurationResponse = models.DeleteLaunchConfigurationResponse; const DescribeScheduledActionsRequest = models.DescribeScheduledActionsRequest; @@ -102,21 +105,24 @@ const ModifyDesiredCapacityRequest = models.ModifyDesiredCapacityRequest; const CreateScheduledActionResponse = models.CreateScheduledActionResponse; const CreateLifecycleHookRequest = models.CreateLifecycleHookRequest; const ScheduledAction = models.ScheduledAction; +const ModifyLifecycleHookRequest = models.ModifyLifecycleHookRequest; const CompleteLifecycleActionResponse = models.CompleteLifecycleActionResponse; const ScaleOutInstancesResponse = models.ScaleOutInstancesResponse; const Filter = models.Filter; const DescribeLifecycleHooksRequest = models.DescribeLifecycleHooksRequest; const ServiceSettings = models.ServiceSettings; -const LaunchConfiguration = models.LaunchConfiguration; +const CreateAutoScalingGroupResponse = models.CreateAutoScalingGroupResponse; const TargetAttribute = models.TargetAttribute; const ModifyNotificationConfigurationResponse = models.ModifyNotificationConfigurationResponse; -const DescribeAutoScalingInstancesResponse = models.DescribeAutoScalingInstancesResponse; +const LimitedLoginSettings = models.LimitedLoginSettings; const DescribeLifecycleHooksResponse = models.DescribeLifecycleHooksResponse; const CreateScalingPolicyRequest = models.CreateScalingPolicyRequest; const ScaleInInstancesResponse = models.ScaleInInstancesResponse; +const DescribeAutoScalingAdvicesRequest = models.DescribeAutoScalingAdvicesRequest; const DeleteNotificationConfigurationRequest = models.DeleteNotificationConfigurationRequest; const DescribeLaunchConfigurationsRequest = models.DescribeLaunchConfigurationsRequest; const NotificationTarget = models.NotificationTarget; +const ModifyLoadBalancerTargetAttributesRequest = models.ModifyLoadBalancerTargetAttributesRequest; const DeleteAutoScalingGroupResponse = models.DeleteAutoScalingGroupResponse; const LifecycleActionResultInfo = models.LifecycleActionResultInfo; const AutoScalingGroupAbstract = models.AutoScalingGroupAbstract; @@ -127,23 +133,25 @@ const ScaleInInstancesRequest = models.ScaleInInstancesRequest; const LifecycleHook = models.LifecycleHook; const ForwardLoadBalancer = models.ForwardLoadBalancer; const ClearLaunchConfigurationAttributesRequest = models.ClearLaunchConfigurationAttributesRequest; -const PreviewPaiDomainNameResponse = models.PreviewPaiDomainNameResponse; -const DeleteAutoScalingGroupRequest = models.DeleteAutoScalingGroupRequest; -const RemoveInstancesRequest = models.RemoveInstancesRequest; +const ForwardLoadBalancerIdentification = models.ForwardLoadBalancerIdentification; +const AutoScalingAdvice = models.AutoScalingAdvice; const StartAutoScalingInstancesRequest = models.StartAutoScalingInstancesRequest; const AttachInstancesRequest = models.AttachInstancesRequest; +const AttachLoadBalancersRequest = models.AttachLoadBalancersRequest; +const SpotMixedAllocationPolicy = models.SpotMixedAllocationPolicy; const DescribeScalingPoliciesResponse = models.DescribeScalingPoliciesResponse; const Activity = models.Activity; const ModifyDesiredCapacityResponse = models.ModifyDesiredCapacityResponse; const StopAutoScalingInstancesRequest = models.StopAutoScalingInstancesRequest; const RunMonitorServiceEnabled = models.RunMonitorServiceEnabled; -const DeleteLifecycleHookResponse = models.DeleteLifecycleHookResponse; +const ModifyNotificationConfigurationRequest = models.ModifyNotificationConfigurationRequest; const ActivtyRelatedInstance = models.ActivtyRelatedInstance; +const CreateAutoScalingGroupFromInstanceRequest = models.CreateAutoScalingGroupFromInstanceRequest; const InternetAccessible = models.InternetAccessible; const EnableAutoScalingGroupResponse = models.EnableAutoScalingGroupResponse; const UpgradeLaunchConfigurationResponse = models.UpgradeLaunchConfigurationResponse; const InstanceChargePrepaid = models.InstanceChargePrepaid; -const DescribePaiInstancesResponse = models.DescribePaiInstancesResponse; +const DeleteLifecycleHookResponse = models.DeleteLifecycleHookResponse; const ExecuteScalingPolicyRequest = models.ExecuteScalingPolicyRequest; @@ -182,18 +190,6 @@ class AsClient extends AbstractClient { this.request("CreateAutoScalingGroup", req, resp, cb); } - /** - * 本接口(PreviewPaiDomainName)用于预览PAI实例域名。 - - * @param {PreviewPaiDomainNameRequest} req - * @param {function(string, PreviewPaiDomainNameResponse):void} cb - * @public - */ - PreviewPaiDomainName(req, cb) { - let resp = new PreviewPaiDomainNameResponse(); - this.request("PreviewPaiDomainName", req, resp, cb); - } - /** * 本接口(ClearLaunchConfigurationAttributes)用于将启动配置内的特定属性完全清空。 * @param {ClearLaunchConfigurationAttributesRequest} req @@ -216,6 +212,17 @@ class AsClient extends AbstractClient { this.request("ModifyScalingPolicy", req, resp, cb); } + /** + * 本接口(ModifyLoadBalancerTargetAttributes)用于修改伸缩组内负载均衡器的目标规则属性。 + * @param {ModifyLoadBalancerTargetAttributesRequest} req + * @param {function(string, ModifyLoadBalancerTargetAttributesResponse):void} cb + * @public + */ + ModifyLoadBalancerTargetAttributes(req, cb) { + let resp = new ModifyLoadBalancerTargetAttributesResponse(); + this.request("ModifyLoadBalancerTargetAttributes", req, resp, cb); + } + /** * 本接口 (DescribeNotificationConfigurations) 用于查询一个或多个通知的详细信息。 @@ -244,6 +251,7 @@ class AsClient extends AbstractClient { /** * 为伸缩组指定数量扩容实例,返回扩容活动的 ActivityId。 * 伸缩组需要未处于活动中 +* 伸缩组处于停用状态时,该接口也会生效,可参考[停用伸缩组](https://cloud.tencent.com/document/api/377/20435)文档查看伸缩组停用状态的影响范围 * 接口会增加期望实例数,新的期望实例数需要小于等于最大实例数 * 扩容如果失败或者部分成功,最后期望实例数只会增加实际成功的实例数量 * @param {ScaleOutInstancesRequest} req @@ -268,17 +276,6 @@ class AsClient extends AbstractClient { this.request("StartAutoScalingInstances", req, resp, cb); } - /** - * 本接口 (CreatePaiInstance) 用于创建一个指定配置的PAI实例。 - * @param {CreatePaiInstanceRequest} req - * @param {function(string, CreatePaiInstanceResponse):void} cb - * @public - */ - CreatePaiInstance(req, cb) { - let resp = new CreatePaiInstanceResponse(); - this.request("CreatePaiInstance", req, resp, cb); - } - /** * 本接口(UpgradeLaunchConfiguration)用于升级启动配置。 @@ -293,8 +290,32 @@ class AsClient extends AbstractClient { this.request("UpgradeLaunchConfiguration", req, resp, cb); } + /** + * 此接口用于修改生命周期挂钩。 + * @param {ModifyLifecycleHookRequest} req + * @param {function(string, ModifyLifecycleHookResponse):void} cb + * @public + */ + ModifyLifecycleHook(req, cb) { + let resp = new ModifyLifecycleHookResponse(); + this.request("ModifyLifecycleHook", req, resp, cb); + } + + /** + * 本接口(DetachLoadBalancers)用于从伸缩组移出负载均衡器,本接口不会销毁负载均衡器。 + * @param {DetachLoadBalancersRequest} req + * @param {function(string, DetachLoadBalancersResponse):void} cb + * @public + */ + DetachLoadBalancers(req, cb) { + let resp = new DetachLoadBalancersResponse(); + this.request("DetachLoadBalancers", req, resp, cb); + } + /** * 本接口(AttachInstances)用于将 CVM 实例添加到伸缩组。 +* 仅支持添加处于`RUNNING`(运行中)或`STOPPED`(已关机)状态的 CVM 实例 +* 添加的 CVM 实例需要和伸缩组 VPC 网络一致 * @param {AttachInstancesRequest} req * @param {function(string, AttachInstancesResponse):void} cb @@ -327,6 +348,17 @@ class AsClient extends AbstractClient { this.request("DeleteScheduledAction", req, resp, cb); } + /** + * 此接口(AttachLoadBalancers)用于将负载均衡器添加到伸缩组。 + * @param {AttachLoadBalancersRequest} req + * @param {function(string, AttachLoadBalancersResponse):void} cb + * @public + */ + AttachLoadBalancers(req, cb) { + let resp = new AttachLoadBalancersResponse(); + this.request("AttachLoadBalancers", req, resp, cb); + } + /** * 本接口(DetachInstances)用于从伸缩组移出 CVM 实例,本接口不会销毁实例。 * 如果移出指定实例后,伸缩组内处于`IN_SERVICE`状态的实例数量小于伸缩组最小值,接口将报错 @@ -344,6 +376,7 @@ class AsClient extends AbstractClient { /** * 为伸缩组指定数量缩容实例,返回缩容活动的 ActivityId。 * 伸缩组需要未处于活动中 +* 伸缩组处于停用状态时,该接口也会生效,可参考[停用伸缩组](https://cloud.tencent.com/document/api/377/20435)文档查看伸缩组停用状态的影响范围 * 根据伸缩组的`TerminationPolicies`策略,选择被缩容的实例,可参考[缩容处理](https://cloud.tencent.com/document/product/377/8563) * 接口只会选择`IN_SERVICE`实例缩容,如果需要缩容其他状态实例,可以使用 [DetachInstances](https://cloud.tencent.com/document/api/377/20436) 或 [RemoveInstances](https://cloud.tencent.com/document/api/377/20431) 接口 * 接口会减少期望实例数,新的期望实例数需要大于等于最小实例数 @@ -368,6 +401,17 @@ class AsClient extends AbstractClient { this.request("CreateScheduledAction", req, resp, cb); } + /** + * 此接口用于查询伸缩组配置建议。 + * @param {DescribeAutoScalingAdvicesRequest} req + * @param {function(string, DescribeAutoScalingAdvicesResponse):void} cb + * @public + */ + DescribeAutoScalingAdvices(req, cb) { + let resp = new DescribeAutoScalingAdvicesResponse(); + this.request("DescribeAutoScalingAdvices", req, resp, cb); + } + /** * 本接口(RemoveInstances)用于从伸缩组删除 CVM 实例。根据当前的产品逻辑,如果实例由弹性伸缩自动创建,则实例会被销毁;如果实例系创建后加入伸缩组的,则会从伸缩组中移除,保留实例。 * 如果删除指定实例后,伸缩组内处于`IN_SERVICE`状态的实例数量小于伸缩组最小值,接口将报错 @@ -410,7 +454,7 @@ class AsClient extends AbstractClient { /** * 本接口(ModifyLoadBalancers)用于修改伸缩组的负载均衡器。 -* 本接口用于为伸缩组指定新的负载均衡器配置,采用“完全覆盖”风格,无论之前配置如何,统一按照接口参数配置为新的负载均衡器。 +* 本接口用于为伸缩组指定新的负载均衡器配置,采用`完全覆盖`风格,无论之前配置如何,`统一按照接口参数配置为新的负载均衡器`。 * 如果要为伸缩组清空负载均衡器,则在调用本接口时仅指定伸缩组ID,不指定具体负载均衡器。 * 本接口会立即修改伸缩组的负载均衡器,并生成一个伸缩活动,异步修改存量实例的负载均衡器。 * @param {ModifyLoadBalancersRequest} req @@ -434,8 +478,8 @@ class AsClient extends AbstractClient { } /** - * 本接口(SetInstancesProtection)用于设置实例移除保护。 -子机设置为移除保护之后,当发生不健康替换、报警策略、期望值变更等触发缩容时,将不对此子机缩容操作。 + * 本接口(SetInstancesProtection)用于设置实例保护。 +实例设置保护之后,当发生不健康替换、报警策略、期望值变更等触发缩容时,将不对此实例缩容操作。 * @param {SetInstancesProtectionRequest} req * @param {function(string, SetInstancesProtectionResponse):void} cb * @public @@ -447,6 +491,7 @@ class AsClient extends AbstractClient { /** * 本接口(ModifyNotificationConfiguration)用于修改通知。 +* 通知的接收端类型不支持修改。 * @param {ModifyNotificationConfigurationRequest} req * @param {function(string, ModifyNotificationConfigurationResponse):void} cb * @public @@ -500,6 +545,33 @@ class AsClient extends AbstractClient { /** * 本接口(CreateNotificationConfiguration)用于创建通知。 +通知到 CMQ 主题或队列时,消息内容如下: +``` +{ + "Service": "Tencent Cloud Auto Scaling", + "CreatedTime": "2021-10-11T10:15:11Z", // 活动创建时间 + "AppId": "100000000", + "ActivityId": "asa-fznnvrja", // 伸缩活动ID + "AutoScalingGroupId": "asg-pc2oqu2z", // 伸缩组ID + "ActivityType": "SCALE_OUT", // 伸缩活动类型 + "StatusCode": "SUCCESSFUL", // 伸缩活动结果 + "Description": "Activity was launched in response to a difference between desired capacity and actual capacity, + scale out 1 instance(s).", // 伸缩活动描述 + "StartTime": "2021-10-11T10:15:11Z", // 活动开始时间 + "EndTime": "2021-10-11T10:15:32Z", // 活动结束时间 + "DetailedStatusMessageSet": [ // 活动内部错误集合(非空不代表活动失败) + { + "Code": "InvalidInstanceType", + "Zone": "ap-guangzhou-2", + "InstanceId": "", + "InstanceChargeType": "POSTPAID_BY_HOUR", + "SubnetId": "subnet-4t5mgeuu", + "Message": "The specified instance type `S5.LARGE8` is invalid in `subnet-4t5mgeuu`, `ap-guangzhou-2`.", + "InstanceType": "S5.LARGE8" + } + ] +} +``` * @param {CreateNotificationConfigurationRequest} req * @param {function(string, CreateNotificationConfigurationResponse):void} cb * @public @@ -581,6 +653,19 @@ class AsClient extends AbstractClient { /** * 本接口(DisableAutoScalingGroup)用于停用指定伸缩组。 +* 停用伸缩组后,自动触发的伸缩活动不再进行,包括: + - 告警策略触发的伸缩活动 + - 匹配期望实例数的伸缩活动 + - 不健康实例替换活动 + - 定时任务 +* 停用伸缩组后,手动触发的伸缩活动允许进行,包括: + - 指定数量扩容实例(ScaleOutInstances) + - 指定数量缩容实例(ScaleInInstances) + - 从伸缩组中移出 CVM 实例(DetachInstances) + - 从伸缩组中删除 CVM 实例(RemoveInstances) + - 添加 CVM 实例到伸缩组(AttachInstances) + - 关闭伸缩组内 CVM 实例(StopAutoScalingInstances) + - 开启伸缩组内 CVM 实例(StartAutoScalingInstances) * @param {DisableAutoScalingGroupRequest} req * @param {function(string, DisableAutoScalingGroupResponse):void} cb * @public @@ -604,20 +689,6 @@ class AsClient extends AbstractClient { this.request("DescribeLaunchConfigurations", req, resp, cb); } - /** - * 本接口(DescribePaiInstances)用于查询PAI实例信息。 - -* 可以根据实例ID、实例域名等信息来查询PAI实例的详细信息。过滤信息详细请见过滤器`Filter`。 -* 如果参数为空,返回当前用户一定数量(`Limit`所指定的数量,默认为20)的PAI实例。 - * @param {DescribePaiInstancesRequest} req - * @param {function(string, DescribePaiInstancesResponse):void} cb - * @public - */ - DescribePaiInstances(req, cb) { - let resp = new DescribePaiInstancesResponse(); - this.request("DescribePaiInstances", req, resp, cb); - } - /** * 本接口(CreateScalingPolicy)用于创建告警触发策略。 * @param {CreateScalingPolicyRequest} req diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/as/v20180419/models.js b/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/as/v20180419/models.js index 14243bcbce..d4d70d7dc9 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/as/v20180419/models.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/as/v20180419/models.js @@ -66,7 +66,7 @@ class ModifyLaunchConfigurationAttributesRequest extends AbstractModel { /** * 实例类型列表,不同实例机型指定了不同的资源规格,最多支持10种实例机型。 -启动配置,通过 InstanceType 表示单一实例类型,通过 InstanceTypes 表示多实例类型。指定 InstanceTypes 成功启动配置后,原有的 InstanceType 自动失效。 +InstanceType 指定单一实例类型,通过设置 InstanceTypes可以指定多实例类型,并使原有的InstanceType失效。 * @type {Array. || null} */ this.InstanceTypes = null; @@ -89,7 +89,7 @@ class ModifyLaunchConfigurationAttributesRequest extends AbstractModel { this.LaunchConfigurationName = null; /** - * 经过 Base64 编码后的自定义数据,最大长度不超过16KB。如果要清空UserData,则指定其为空字符串 + * 经过 Base64 编码后的自定义数据,最大长度不超过16KB。如果要清空UserData,则指定其为空字符串。 * @type {string || null} */ this.UserData = null; @@ -103,7 +103,7 @@ class ModifyLaunchConfigurationAttributesRequest extends AbstractModel { /** * 公网带宽相关信息设置。 -本字段属复杂类型,修改时采取整字段全覆盖模式。即只修改复杂类型内部一个子字段时,也请提供全部所需子字段。 +当公网出带宽上限为0Mbps时,不支持修改为开通分配公网IP;相应的,当前为开通分配公网IP时,修改的公网出带宽上限值必须大于0Mbps。 * @type {InternetAccessible || null} */ this.InternetAccessible = null; @@ -120,7 +120,8 @@ class ModifyLaunchConfigurationAttributesRequest extends AbstractModel { /** * 预付费模式,即包年包月相关参数设置。通过该参数可以指定包年包月实例的购买时长、是否设置自动续费等属性。 若修改实例的付费模式为预付费,则该参数必传;从预付费修改为其他付费模式时,本字段原信息会自动丢弃。 -本字段属复杂类型,修改时采取整字段全覆盖模式。即只修改复杂类型内部一个子字段时,也请提供全部所需子字段。 +当新增该字段时,必须传递购买实例的时长,其它未传递字段会设置为默认值。 +当修改本字段时,当前付费模式必须为预付费。 * @type {InstanceChargePrepaid || null} */ this.InstanceChargePrepaid = null; @@ -128,7 +129,8 @@ class ModifyLaunchConfigurationAttributesRequest extends AbstractModel { /** * 实例的市场相关选项,如竞价实例相关参数。 若修改实例的付费模式为竞价付费,则该参数必传;从竞价付费修改为其他付费模式时,本字段原信息会自动丢弃。 -本字段属复杂类型,修改时采取整字段全覆盖模式。即只修改复杂类型内部一个子字段时,也请提供全部所需子字段。 +当新增该字段时,必须传递竞价相关选项下的竞价出价,其它未传递字段会设置为默认值。 +当修改本字段时,当前付费模式必须为竞价付费。 * @type {InstanceMarketOptionsRequest || null} */ this.InstanceMarketOptions = null; @@ -148,11 +150,41 @@ class ModifyLaunchConfigurationAttributesRequest extends AbstractModel { this.SystemDisk = null; /** - * 实例数据盘配置信息。最多支持指定11块数据盘。采取整体修改,因此请提供修改后的全部值。 + * 实例数据盘配置信息。 +最多支持指定11块数据盘。采取整体修改,因此请提供修改后的全部值。 +数据盘类型默认与系统盘类型保持一致。 * @type {Array. || null} */ this.DataDisks = null; + /** + * 云服务器主机名(HostName)的相关设置。 +不支持windows实例设置主机名。 +新增该属性时,必须传递云服务器的主机名,其它未传递字段会设置为默认值。 + * @type {HostNameSettings || null} + */ + this.HostNameSettings = null; + + /** + * 云服务器(InstanceName)实例名的相关设置。 +如果用户在启动配置中设置此字段,则伸缩组创建出的实例 InstanceName 参照此字段进行设置,并传递给 CVM;如果用户未在启动配置中设置此字段,则伸缩组创建出的实例 InstanceName 按照“as-{{ 伸缩组AutoScalingGroupName }}”进行设置,并传递给 CVM。 +新增该属性时,必须传递云服务器的实例名称,其它未传递字段会设置为默认值。 + * @type {InstanceNameSettings || null} + */ + this.InstanceNameSettings = null; + + /** + * 增强服务。通过该参数可以指定是否开启云安全、云监控等服务。 + * @type {EnhancedService || null} + */ + this.EnhancedService = null; + + /** + * CAM角色名称。可通过DescribeRoleList接口返回值中的roleName获取。 + * @type {string || null} + */ + this.CamRoleName = null; + } /** @@ -205,6 +237,25 @@ class ModifyLaunchConfigurationAttributesRequest extends AbstractModel { } } + if (params.HostNameSettings) { + let obj = new HostNameSettings(); + obj.deserialize(params.HostNameSettings) + this.HostNameSettings = obj; + } + + if (params.InstanceNameSettings) { + let obj = new InstanceNameSettings(); + obj.deserialize(params.InstanceNameSettings) + this.InstanceNameSettings = obj; + } + + if (params.EnhancedService) { + let obj = new EnhancedService(); + obj.deserialize(params.EnhancedService) + this.EnhancedService = obj; + } + this.CamRoleName = 'CamRoleName' in params ? params.CamRoleName : null; + } } @@ -351,19 +402,53 @@ class ModifyAutoScalingGroupRequest extends AbstractModel { this.Ipv6AddressCount = null; /** - * 多可用区/子网策略,取值包括 PRIORITY 和 EQUALITY。 + * 多可用区/子网策略,取值包括 PRIORITY 和 EQUALITY,默认为 PRIORITY。
  • PRIORITY,按照可用区/子网列表的顺序,作为优先级来尝试创建实例,如果优先级最高的可用区/子网可以创建成功,则总在该可用区/子网创建。 -
  • EQUALITY:每次选择当前实例数最少的可用区/子网进行扩容,使得每个可用区/子网都有机会发生扩容,多次扩容出的实例会打散到多个可用区/子网。 +
  • EQUALITY:扩容出的实例会打散到多个可用区/子网,保证扩容后的各个可用区/子网实例数相对均衡。 与本策略相关的注意点:
  • 当伸缩组为基础网络时,本策略适用于多可用区;当伸缩组为VPC网络时,本策略适用于多子网,此时不再考虑可用区因素,例如四个子网ABCD,其中ABC处于可用区1,D处于可用区2,此时考虑子网ABCD进行排序,而不考虑可用区1、2。
  • 本策略适用于多可用区/子网,不适用于启动配置的多机型。多机型按照优先级策略进行选择。 -
  • 创建实例时,先保证多机型的策略,后保证多可用区/子网的策略。例如多机型A、B,多子网1、2、3(按照PRIORITY策略),会按照A1、A2、A3、B1、B2、B3 进行尝试,如果A1售罄,会尝试A2(而非B1)。 -
  • 无论使用哪种策略,单次伸缩活动总是优先保持使用一种具体配置(机型 * 可用区/子网)。 +
  • 按照 PRIORITY 策略创建实例时,先保证多机型的策略,后保证多可用区/子网的策略。例如多机型A、B,多子网1、2、3,会按照A1、A2、A3、B1、B2、B3 进行尝试,如果A1售罄,会尝试A2(而非B1)。 * @type {string || null} */ this.MultiZoneSubnetPolicy = null; + /** + * 伸缩组实例健康检查类型,取值如下:
  • CVM:根据实例网络状态判断实例是否处于不健康状态,不健康的网络状态即发生实例 PING 不可达事件,详细判断标准可参考[实例健康检查](https://cloud.tencent.com/document/product/377/8553)
  • CLB:根据 CLB 的健康检查状态判断实例是否处于不健康状态,CLB健康检查原理可参考[健康检查](https://cloud.tencent.com/document/product/214/6097) + * @type {string || null} + */ + this.HealthCheckType = null; + + /** + * CLB健康检查宽限期。 + * @type {number || null} + */ + this.LoadBalancerHealthCheckGracePeriod = null; + + /** + * 实例分配策略,取值包括 LAUNCH_CONFIGURATION 和 SPOT_MIXED。 +
  • LAUNCH_CONFIGURATION,代表传统的按照启动配置模式。 +
  • SPOT_MIXED,代表竞价混合模式。目前仅支持启动配置为按量计费模式时使用混合模式,混合模式下,伸缩组将根据设定扩容按量或竞价机型。使用混合模式时,关联的启动配置的计费类型不可被修改。 + * @type {string || null} + */ + this.InstanceAllocationPolicy = null; + + /** + * 竞价混合模式下,各计费类型实例的分配策略。 +仅当 InstanceAllocationPolicy 取 SPOT_MIXED 时可用。 + * @type {SpotMixedAllocationPolicy || null} + */ + this.SpotMixedAllocationPolicy = null; + + /** + * 容量重平衡功能,仅对伸缩组内的竞价实例有效。取值范围: +
  • TRUE,开启该功能,当伸缩组内的竞价实例即将被竞价实例服务自动回收前,AS 主动发起竞价实例销毁流程,如果有配置过缩容 hook,则销毁前 hook 会生效。销毁流程启动后,AS 会异步开启一个扩容活动,用于补齐期望实例数。 +
  • FALSE,不开启该功能,则 AS 等待竞价实例被销毁后才会去扩容补齐伸缩组期望实例数。 + * @type {boolean || null} + */ + this.CapacityRebalance = null; + } /** @@ -395,6 +480,16 @@ class ModifyAutoScalingGroupRequest extends AbstractModel { } this.Ipv6AddressCount = 'Ipv6AddressCount' in params ? params.Ipv6AddressCount : null; this.MultiZoneSubnetPolicy = 'MultiZoneSubnetPolicy' in params ? params.MultiZoneSubnetPolicy : null; + this.HealthCheckType = 'HealthCheckType' in params ? params.HealthCheckType : null; + this.LoadBalancerHealthCheckGracePeriod = 'LoadBalancerHealthCheckGracePeriod' in params ? params.LoadBalancerHealthCheckGracePeriod : null; + this.InstanceAllocationPolicy = 'InstanceAllocationPolicy' in params ? params.InstanceAllocationPolicy : null; + + if (params.SpotMixedAllocationPolicy) { + let obj = new SpotMixedAllocationPolicy(); + obj.deserialize(params.SpotMixedAllocationPolicy) + this.SpotMixedAllocationPolicy = obj; + } + this.CapacityRebalance = 'CapacityRebalance' in params ? params.CapacityRebalance : null; } } @@ -466,6 +561,24 @@ class AutoScalingNotification extends AbstractModel { */ this.AutoScalingNotificationId = null; + /** + * 通知接收端类型。 + * @type {string || null} + */ + this.TargetType = null; + + /** + * CMQ 队列名。 + * @type {string || null} + */ + this.QueueName = null; + + /** + * CMQ 主题名。 + * @type {string || null} + */ + this.TopicName = null; + } /** @@ -479,6 +592,9 @@ class AutoScalingNotification extends AbstractModel { this.NotificationUserGroupIds = 'NotificationUserGroupIds' in params ? params.NotificationUserGroupIds : null; this.NotificationTypes = 'NotificationTypes' in params ? params.NotificationTypes : null; this.AutoScalingNotificationId = 'AutoScalingNotificationId' in params ? params.AutoScalingNotificationId : null; + this.TargetType = 'TargetType' in params ? params.TargetType : null; + this.QueueName = 'QueueName' in params ? params.QueueName : null; + this.TopicName = 'TopicName' in params ? params.TopicName : null; } } @@ -626,189 +742,441 @@ class DescribeAutoScalingGroupsRequest extends AbstractModel { } /** - * CreateAutoScalingGroup返回参数结构体 + * 符合条件的启动配置信息的集合。 * @class */ -class CreateAutoScalingGroupResponse extends AbstractModel { +class LaunchConfiguration extends AbstractModel { constructor(){ super(); /** - * 伸缩组ID - * @type {string || null} + * 实例所属项目ID。 + * @type {number || null} */ - this.AutoScalingGroupId = null; + this.ProjectId = null; /** - * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * 启动配置ID。 * @type {string || null} */ - this.RequestId = null; - - } - - /** - * @private - */ - deserialize(params) { - if (!params) { - return; - } - this.AutoScalingGroupId = 'AutoScalingGroupId' in params ? params.AutoScalingGroupId : null; - this.RequestId = 'RequestId' in params ? params.RequestId : null; - - } -} - -/** - * DescribeAccountLimits返回参数结构体 - * @class - */ -class DescribeAccountLimitsResponse extends AbstractModel { - constructor(){ - super(); + this.LaunchConfigurationId = null; /** - * 用户账户被允许创建的启动配置最大数量 - * @type {number || null} + * 启动配置名称。 + * @type {string || null} */ - this.MaxNumberOfLaunchConfigurations = null; + this.LaunchConfigurationName = null; /** - * 用户账户启动配置的当前数量 - * @type {number || null} + * 实例机型。 + * @type {string || null} */ - this.NumberOfLaunchConfigurations = null; + this.InstanceType = null; /** - * 用户账户被允许创建的伸缩组最大数量 - * @type {number || null} + * 实例系统盘配置信息。 + * @type {SystemDisk || null} */ - this.MaxNumberOfAutoScalingGroups = null; + this.SystemDisk = null; /** - * 用户账户伸缩组的当前数量 - * @type {number || null} + * 实例数据盘配置信息。 + * @type {Array. || null} */ - this.NumberOfAutoScalingGroups = null; + this.DataDisks = null; /** - * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - * @type {string || null} + * 实例登录设置。 + * @type {LimitedLoginSettings || null} */ - this.RequestId = null; - - } - - /** - * @private - */ - deserialize(params) { - if (!params) { - return; - } - this.MaxNumberOfLaunchConfigurations = 'MaxNumberOfLaunchConfigurations' in params ? params.MaxNumberOfLaunchConfigurations : null; - this.NumberOfLaunchConfigurations = 'NumberOfLaunchConfigurations' in params ? params.NumberOfLaunchConfigurations : null; - this.MaxNumberOfAutoScalingGroups = 'MaxNumberOfAutoScalingGroups' in params ? params.MaxNumberOfAutoScalingGroups : null; - this.NumberOfAutoScalingGroups = 'NumberOfAutoScalingGroups' in params ? params.NumberOfAutoScalingGroups : null; - this.RequestId = 'RequestId' in params ? params.RequestId : null; - - } -} + this.LoginSettings = null; -/** - * CreatePaiInstance返回参数结构体 - * @class - */ -class CreatePaiInstanceResponse extends AbstractModel { - constructor(){ - super(); + /** + * 公网带宽相关信息设置。 + * @type {InternetAccessible || null} + */ + this.InternetAccessible = null; /** - * 当通过本接口来创建实例时会返回该参数,表示一个或多个实例`ID`。返回实例`ID`列表并不代表实例创建成功,可根据 [DescribeInstances](https://cloud.tencent.com/document/api/213/15728) 接口查询返回的InstancesSet中对应实例的`ID`的状态来判断创建是否完成;如果实例状态由“准备中”变为“正在运行”,则为创建成功。 + * 实例所属安全组。 * @type {Array. || null} */ - this.InstanceIdSet = null; + this.SecurityGroupIds = null; /** - * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - * @type {string || null} + * 启动配置关联的伸缩组。 + * @type {Array. || null} */ - this.RequestId = null; - - } - - /** - * @private - */ - deserialize(params) { - if (!params) { - return; - } - this.InstanceIdSet = 'InstanceIdSet' in params ? params.InstanceIdSet : null; - this.RequestId = 'RequestId' in params ? params.RequestId : null; - - } -} - -/** - * CreateLaunchConfiguration返回参数结构体 - * @class - */ -class CreateLaunchConfigurationResponse extends AbstractModel { - constructor(){ - super(); + this.AutoScalingGroupAbstractSet = null; /** - * 当通过本接口来创建启动配置时会返回该参数,表示启动配置ID。 + * 自定义数据。 +注意:此字段可能返回 null,表示取不到有效值。 * @type {string || null} */ - this.LaunchConfigurationId = null; + this.UserData = null; /** - * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * 启动配置创建时间。 * @type {string || null} */ - this.RequestId = null; - - } - - /** - * @private - */ - deserialize(params) { - if (!params) { - return; - } - this.LaunchConfigurationId = 'LaunchConfigurationId' in params ? params.LaunchConfigurationId : null; - this.RequestId = 'RequestId' in params ? params.RequestId : null; - - } -} + this.CreatedTime = null; -/** - * CreateLifecycleHook返回参数结构体 - * @class - */ -class CreateLifecycleHookResponse extends AbstractModel { - constructor(){ - super(); + /** + * 实例的增强服务启用情况与其设置。 + * @type {EnhancedService || null} + */ + this.EnhancedService = null; /** - * 生命周期挂钩ID + * 镜像ID。 * @type {string || null} */ - this.LifecycleHookId = null; + this.ImageId = null; /** - * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * 启动配置当前状态。取值范围:
  • NORMAL:正常
  • IMAGE_ABNORMAL:启动配置镜像异常
  • CBS_SNAP_ABNORMAL:启动配置数据盘快照异常
  • SECURITY_GROUP_ABNORMAL:启动配置安全组异常
    * @type {string || null} */ - this.RequestId = null; - - } + this.LaunchConfigurationStatus = null; - /** + /** + * 实例计费类型,CVM默认值按照POSTPAID_BY_HOUR处理。 +
  • POSTPAID_BY_HOUR:按小时后付费 +
  • SPOTPAID:竞价付费 + * @type {string || null} + */ + this.InstanceChargeType = null; + + /** + * 实例的市场相关选项,如竞价实例相关参数,若指定实例的付费模式为竞价付费则该参数必传。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {InstanceMarketOptionsRequest || null} + */ + this.InstanceMarketOptions = null; + + /** + * 实例机型列表。 + * @type {Array. || null} + */ + this.InstanceTypes = null; + + /** + * 标签列表。 + * @type {Array. || null} + */ + this.InstanceTags = null; + + /** + * 版本号。 + * @type {number || null} + */ + this.VersionNumber = null; + + /** + * 更新时间。 + * @type {string || null} + */ + this.UpdatedTime = null; + + /** + * CAM角色名称。可通过DescribeRoleList接口返回值中的roleName获取。 + * @type {string || null} + */ + this.CamRoleName = null; + + /** + * 上次操作时,InstanceTypesCheckPolicy 取值。 + * @type {string || null} + */ + this.LastOperationInstanceTypesCheckPolicy = null; + + /** + * 云服务器主机名(HostName)的相关设置。 + * @type {HostNameSettings || null} + */ + this.HostNameSettings = null; + + /** + * 云服务器实例名(InstanceName)的相关设置。 + * @type {InstanceNameSettings || null} + */ + this.InstanceNameSettings = null; + + /** + * 预付费模式,即包年包月相关参数设置。通过该参数可以指定包年包月实例的购买时长、是否设置自动续费等属性。若指定实例的付费模式为预付费则该参数必传。 + * @type {InstanceChargePrepaid || null} + */ + this.InstanceChargePrepaid = null; + + /** + * 云盘类型选择策略。取值范围: +
  • ORIGINAL:使用设置的云盘类型 +
  • AUTOMATIC:自动选择当前可用区下可用的云盘类型 + * @type {string || null} + */ + this.DiskTypePolicy = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.ProjectId = 'ProjectId' in params ? params.ProjectId : null; + this.LaunchConfigurationId = 'LaunchConfigurationId' in params ? params.LaunchConfigurationId : null; + this.LaunchConfigurationName = 'LaunchConfigurationName' in params ? params.LaunchConfigurationName : null; + this.InstanceType = 'InstanceType' in params ? params.InstanceType : null; + + if (params.SystemDisk) { + let obj = new SystemDisk(); + obj.deserialize(params.SystemDisk) + this.SystemDisk = obj; + } + + if (params.DataDisks) { + this.DataDisks = new Array(); + for (let z in params.DataDisks) { + let obj = new DataDisk(); + obj.deserialize(params.DataDisks[z]); + this.DataDisks.push(obj); + } + } + + if (params.LoginSettings) { + let obj = new LimitedLoginSettings(); + obj.deserialize(params.LoginSettings) + this.LoginSettings = obj; + } + + if (params.InternetAccessible) { + let obj = new InternetAccessible(); + obj.deserialize(params.InternetAccessible) + this.InternetAccessible = obj; + } + this.SecurityGroupIds = 'SecurityGroupIds' in params ? params.SecurityGroupIds : null; + + if (params.AutoScalingGroupAbstractSet) { + this.AutoScalingGroupAbstractSet = new Array(); + for (let z in params.AutoScalingGroupAbstractSet) { + let obj = new AutoScalingGroupAbstract(); + obj.deserialize(params.AutoScalingGroupAbstractSet[z]); + this.AutoScalingGroupAbstractSet.push(obj); + } + } + this.UserData = 'UserData' in params ? params.UserData : null; + this.CreatedTime = 'CreatedTime' in params ? params.CreatedTime : null; + + if (params.EnhancedService) { + let obj = new EnhancedService(); + obj.deserialize(params.EnhancedService) + this.EnhancedService = obj; + } + this.ImageId = 'ImageId' in params ? params.ImageId : null; + this.LaunchConfigurationStatus = 'LaunchConfigurationStatus' in params ? params.LaunchConfigurationStatus : null; + this.InstanceChargeType = 'InstanceChargeType' in params ? params.InstanceChargeType : null; + + if (params.InstanceMarketOptions) { + let obj = new InstanceMarketOptionsRequest(); + obj.deserialize(params.InstanceMarketOptions) + this.InstanceMarketOptions = obj; + } + this.InstanceTypes = 'InstanceTypes' in params ? params.InstanceTypes : null; + + if (params.InstanceTags) { + this.InstanceTags = new Array(); + for (let z in params.InstanceTags) { + let obj = new InstanceTag(); + obj.deserialize(params.InstanceTags[z]); + this.InstanceTags.push(obj); + } + } + this.VersionNumber = 'VersionNumber' in params ? params.VersionNumber : null; + this.UpdatedTime = 'UpdatedTime' in params ? params.UpdatedTime : null; + this.CamRoleName = 'CamRoleName' in params ? params.CamRoleName : null; + this.LastOperationInstanceTypesCheckPolicy = 'LastOperationInstanceTypesCheckPolicy' in params ? params.LastOperationInstanceTypesCheckPolicy : null; + + if (params.HostNameSettings) { + let obj = new HostNameSettings(); + obj.deserialize(params.HostNameSettings) + this.HostNameSettings = obj; + } + + if (params.InstanceNameSettings) { + let obj = new InstanceNameSettings(); + obj.deserialize(params.InstanceNameSettings) + this.InstanceNameSettings = obj; + } + + if (params.InstanceChargePrepaid) { + let obj = new InstanceChargePrepaid(); + obj.deserialize(params.InstanceChargePrepaid) + this.InstanceChargePrepaid = obj; + } + this.DiskTypePolicy = 'DiskTypePolicy' in params ? params.DiskTypePolicy : null; + + } +} + +/** + * DescribeAccountLimits返回参数结构体 + * @class + */ +class DescribeAccountLimitsResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 用户账户被允许创建的启动配置最大数量 + * @type {number || null} + */ + this.MaxNumberOfLaunchConfigurations = null; + + /** + * 用户账户启动配置的当前数量 + * @type {number || null} + */ + this.NumberOfLaunchConfigurations = null; + + /** + * 用户账户被允许创建的伸缩组最大数量 + * @type {number || null} + */ + this.MaxNumberOfAutoScalingGroups = null; + + /** + * 用户账户伸缩组的当前数量 + * @type {number || null} + */ + this.NumberOfAutoScalingGroups = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.MaxNumberOfLaunchConfigurations = 'MaxNumberOfLaunchConfigurations' in params ? params.MaxNumberOfLaunchConfigurations : null; + this.NumberOfLaunchConfigurations = 'NumberOfLaunchConfigurations' in params ? params.NumberOfLaunchConfigurations : null; + this.MaxNumberOfAutoScalingGroups = 'MaxNumberOfAutoScalingGroups' in params ? params.MaxNumberOfAutoScalingGroups : null; + this.NumberOfAutoScalingGroups = 'NumberOfAutoScalingGroups' in params ? params.NumberOfAutoScalingGroups : null; + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * CreateLaunchConfiguration返回参数结构体 + * @class + */ +class CreateLaunchConfigurationResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 当通过本接口来创建启动配置时会返回该参数,表示启动配置ID。 + * @type {string || null} + */ + this.LaunchConfigurationId = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.LaunchConfigurationId = 'LaunchConfigurationId' in params ? params.LaunchConfigurationId : null; + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * 伸缩配置建议。 + * @class + */ +class Advice extends AbstractModel { + constructor(){ + super(); + + /** + * 问题描述。 + * @type {string || null} + */ + this.Problem = null; + + /** + * 问题详情。 + * @type {string || null} + */ + this.Detail = null; + + /** + * 建议解决方案。 + * @type {string || null} + */ + this.Solution = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Problem = 'Problem' in params ? params.Problem : null; + this.Detail = 'Detail' in params ? params.Detail : null; + this.Solution = 'Solution' in params ? params.Solution : null; + + } +} + +/** + * CreateLifecycleHook返回参数结构体 + * @class + */ +class CreateLifecycleHookResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 生命周期挂钩ID + * @type {string || null} + */ + this.LifecycleHookId = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** * @private */ deserialize(params) { @@ -900,78 +1268,60 @@ class DescribeAutoScalingGroupsResponse extends AbstractModel { } /** - * CreatePaiInstance请求参数结构体 + * CreateScheduledAction请求参数结构体 * @class */ -class CreatePaiInstanceRequest extends AbstractModel { +class CreateScheduledActionRequest extends AbstractModel { constructor(){ super(); /** - * PAI实例的域名。 + * 伸缩组ID * @type {string || null} */ - this.DomainName = null; - - /** - * 公网带宽相关信息设置。 - * @type {InternetAccessible || null} - */ - this.InternetAccessible = null; + this.AutoScalingGroupId = null; /** - * 启动脚本的base64编码字符串。 + * 定时任务名称。名称仅支持中文、英文、数字、下划线、分隔符"-"、小数点,最大长度不能超60个字节。同一伸缩组下必须唯一。 * @type {string || null} */ - this.InitScript = null; + this.ScheduledActionName = null; /** - * 可用区列表。 - * @type {Array. || null} + * 当定时任务触发时,设置的伸缩组最大实例数。 + * @type {number || null} */ - this.Zones = null; + this.MaxSize = null; /** - * VPC ID。 - * @type {string || null} + * 当定时任务触发时,设置的伸缩组最小实例数。 + * @type {number || null} */ - this.VpcId = null; + this.MinSize = null; /** - * 子网列表。 - * @type {Array. || null} + * 当定时任务触发时,设置的伸缩组期望实例数。 + * @type {number || null} */ - this.SubnetIds = null; + this.DesiredCapacity = null; /** - * 实例显示名称。 + * 定时任务的首次触发时间,取值为`北京时间`(UTC+8),按照`ISO8601`标准,格式:`YYYY-MM-DDThh:mm:ss+08:00`。 * @type {string || null} */ - this.InstanceName = null; - - /** - * 实例机型列表。 - * @type {Array. || null} - */ - this.InstanceTypes = null; - - /** - * 实例登录设置。 - * @type {LoginSettings || null} - */ - this.LoginSettings = null; + this.StartTime = null; /** - * 实例计费类型。 + * 定时任务的结束时间,取值为`北京时间`(UTC+8),按照`ISO8601`标准,格式:`YYYY-MM-DDThh:mm:ss+08:00`。

    此参数与`Recurrence`需要同时指定,到达结束时间之后,定时任务将不再生效。 * @type {string || null} */ - this.InstanceChargeType = null; + this.EndTime = null; /** - * 预付费模式,即包年包月相关参数设置。通过该参数可以指定包年包月实例的购买时长、是否设置自动续费等属性。若指定实例的付费模式为预付费则该参数必传。 - * @type {InstanceChargePrepaid || null} + * 定时任务的重复方式。为标准 Cron 格式

    此参数与`EndTime`需要同时指定。 + * @type {string || null} */ - this.InstanceChargePrepaid = null; + this.Recurrence = null; } @@ -982,32 +1332,14 @@ class CreatePaiInstanceRequest extends AbstractModel { if (!params) { return; } - this.DomainName = 'DomainName' in params ? params.DomainName : null; - - if (params.InternetAccessible) { - let obj = new InternetAccessible(); - obj.deserialize(params.InternetAccessible) - this.InternetAccessible = obj; - } - this.InitScript = 'InitScript' in params ? params.InitScript : null; - this.Zones = 'Zones' in params ? params.Zones : null; - this.VpcId = 'VpcId' in params ? params.VpcId : null; - this.SubnetIds = 'SubnetIds' in params ? params.SubnetIds : null; - this.InstanceName = 'InstanceName' in params ? params.InstanceName : null; - this.InstanceTypes = 'InstanceTypes' in params ? params.InstanceTypes : null; - - if (params.LoginSettings) { - let obj = new LoginSettings(); - obj.deserialize(params.LoginSettings) - this.LoginSettings = obj; - } - this.InstanceChargeType = 'InstanceChargeType' in params ? params.InstanceChargeType : null; - - if (params.InstanceChargePrepaid) { - let obj = new InstanceChargePrepaid(); - obj.deserialize(params.InstanceChargePrepaid) - this.InstanceChargePrepaid = obj; - } + this.AutoScalingGroupId = 'AutoScalingGroupId' in params ? params.AutoScalingGroupId : null; + this.ScheduledActionName = 'ScheduledActionName' in params ? params.ScheduledActionName : null; + this.MaxSize = 'MaxSize' in params ? params.MaxSize : null; + this.MinSize = 'MinSize' in params ? params.MinSize : null; + this.DesiredCapacity = 'DesiredCapacity' in params ? params.DesiredCapacity : null; + this.StartTime = 'StartTime' in params ? params.StartTime : null; + this.EndTime = 'EndTime' in params ? params.EndTime : null; + this.Recurrence = 'Recurrence' in params ? params.Recurrence : null; } } @@ -1021,7 +1353,7 @@ class SystemDisk extends AbstractModel { super(); /** - * 系统盘类型。系统盘类型限制详见[CVM实例配置](https://cloud.tencent.com/document/product/213/2177)。取值范围:
  • LOCAL_BASIC:本地硬盘
  • LOCAL_SSD:本地SSD硬盘
  • CLOUD_BASIC:普通云硬盘
  • CLOUD_PREMIUM:高性能云硬盘
  • CLOUD_SSD:SSD云硬盘

    默认取值:LOCAL_BASIC。 + * 系统盘类型。系统盘类型限制详见[云硬盘类型](https://cloud.tencent.com/document/product/362/2353)。取值范围:
  • LOCAL_BASIC:本地硬盘
  • LOCAL_SSD:本地SSD硬盘
  • CLOUD_BASIC:普通云硬盘
  • CLOUD_PREMIUM:高性能云硬盘
  • CLOUD_SSD:SSD云硬盘

    默认取值:CLOUD_PREMIUM。 注意:此字段可能返回 null,表示取不到有效值。 * @type {string || null} */ @@ -1193,9 +1525,7 @@ class InstanceNameSettings extends AbstractModel { * 云服务器的实例名。 点号(.)和短横线(-)不能作为 InstanceName 的首尾字符,不能连续使用。 - -其他类型(Linux 等)实例:字符长度为[2, 40],允许支持多个点号,点之间为一段,每段允许字母(不限制大小写)、数字和短横线(-)组成。不允许为纯数字。 -注意:此字段可能返回 null,表示取不到有效值。 +字符长度为[2, 40],允许支持多个点号,点之间为一段,每段允许字母(不限制大小写)、数字和短横线(-)组成。不允许为纯数字。 * @type {string || null} */ this.InstanceName = null; @@ -1206,7 +1536,6 @@ class InstanceNameSettings extends AbstractModel { ORIGINAL,AS 直接将入参中所填的 InstanceName 传递给 CVM,CVM 可能会对 InstanceName 追加序列号,伸缩组中实例的 InstanceName 会出现冲突的情况。 UNIQUE,入参所填的 InstanceName 相当于实例名前缀,AS 和 CVM 会对其进行拓展,伸缩组中实例的 InstanceName 可以保证唯一。 -注意:此字段可能返回 null,表示取不到有效值。 * @type {string || null} */ this.InstanceNameStyle = null; @@ -1227,18 +1556,54 @@ UNIQUE,入参所填的 InstanceName 相当于实例名前缀,AS 和 CVM 会 } /** - * ModifyScheduledAction返回参数结构体 + * 伸缩活动状态详细描述。 * @class */ -class ModifyScheduledActionResponse extends AbstractModel { +class DetailedStatusMessage extends AbstractModel { constructor(){ super(); /** - * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * 错误类型。 * @type {string || null} */ - this.RequestId = null; + this.Code = null; + + /** + * 可用区信息。 + * @type {string || null} + */ + this.Zone = null; + + /** + * 实例ID。 + * @type {string || null} + */ + this.InstanceId = null; + + /** + * 实例计费类型。 + * @type {string || null} + */ + this.InstanceChargeType = null; + + /** + * 子网ID。 + * @type {string || null} + */ + this.SubnetId = null; + + /** + * 错误描述。 + * @type {string || null} + */ + this.Message = null; + + /** + * 实例类型。 + * @type {string || null} + */ + this.InstanceType = null; } @@ -1249,54 +1614,64 @@ class ModifyScheduledActionResponse extends AbstractModel { if (!params) { return; } - this.RequestId = 'RequestId' in params ? params.RequestId : null; + this.Code = 'Code' in params ? params.Code : null; + this.Zone = 'Zone' in params ? params.Zone : null; + this.InstanceId = 'InstanceId' in params ? params.InstanceId : null; + this.InstanceChargeType = 'InstanceChargeType' in params ? params.InstanceChargeType : null; + this.SubnetId = 'SubnetId' in params ? params.SubnetId : null; + this.Message = 'Message' in params ? params.Message : null; + this.InstanceType = 'InstanceType' in params ? params.InstanceType : null; } } /** - * CreateAutoScalingGroupFromInstance请求参数结构体 + * ModifyScheduledAction返回参数结构体 * @class */ -class CreateAutoScalingGroupFromInstanceRequest extends AbstractModel { +class ModifyScheduledActionResponse extends AbstractModel { constructor(){ super(); /** - * 伸缩组名称,在您账号中必须唯一。名称仅支持中文、英文、数字、下划线、分隔符"-"、小数点,最大长度不能超55个字节。 + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 * @type {string || null} */ - this.AutoScalingGroupName = null; + this.RequestId = null; - /** - * 实例ID - * @type {string || null} - */ - this.InstanceId = null; + } - /** - * 最小实例数,取值范围为0-2000。 - * @type {number || null} - */ - this.MinSize = null; + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; - /** - * 最大实例数,取值范围为0-2000。 - * @type {number || null} - */ - this.MaxSize = null; + } +} - /** - * 期望实例数,大小介于最小实例数和最大实例数之间。 - * @type {number || null} +/** + * AttachLoadBalancers返回参数结构体 + * @class + */ +class AttachLoadBalancersResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 伸缩活动ID + * @type {string || null} */ - this.DesiredCapacity = null; + this.ActivityId = null; /** - * 是否继承实例标签,默认值为False - * @type {boolean || null} + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} */ - this.InheritInstanceTag = null; + this.RequestId = null; } @@ -1307,12 +1682,8 @@ class CreateAutoScalingGroupFromInstanceRequest extends AbstractModel { if (!params) { return; } - this.AutoScalingGroupName = 'AutoScalingGroupName' in params ? params.AutoScalingGroupName : null; - this.InstanceId = 'InstanceId' in params ? params.InstanceId : null; - this.MinSize = 'MinSize' in params ? params.MinSize : null; - this.MaxSize = 'MaxSize' in params ? params.MaxSize : null; - this.DesiredCapacity = 'DesiredCapacity' in params ? params.DesiredCapacity : null; - this.InheritInstanceTag = 'InheritInstanceTag' in params ? params.InheritInstanceTag : null; + this.ActivityId = 'ActivityId' in params ? params.ActivityId : null; + this.RequestId = 'RequestId' in params ? params.RequestId : null; } } @@ -1353,18 +1724,18 @@ class ExecuteScalingPolicyResponse extends AbstractModel { } /** - * ModifyLaunchConfigurationAttributes返回参数结构体 + * DeleteAutoScalingGroup请求参数结构体 * @class */ -class ModifyLaunchConfigurationAttributesResponse extends AbstractModel { +class DeleteAutoScalingGroupRequest extends AbstractModel { constructor(){ super(); /** - * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * 伸缩组ID * @type {string || null} */ - this.RequestId = null; + this.AutoScalingGroupId = null; } @@ -1375,7 +1746,7 @@ class ModifyLaunchConfigurationAttributesResponse extends AbstractModel { if (!params) { return; } - this.RequestId = 'RequestId' in params ? params.RequestId : null; + this.AutoScalingGroupId = 'AutoScalingGroupId' in params ? params.AutoScalingGroupId : null; } } @@ -1612,6 +1983,41 @@ class DescribeLaunchConfigurationsResponse extends AbstractModel { } } +/** + * RemoveInstances请求参数结构体 + * @class + */ +class RemoveInstancesRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 伸缩组ID + * @type {string || null} + */ + this.AutoScalingGroupId = null; + + /** + * CVM实例ID列表 + * @type {Array. || null} + */ + this.InstanceIds = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.AutoScalingGroupId = 'AutoScalingGroupId' in params ? params.AutoScalingGroupId : null; + this.InstanceIds = 'InstanceIds' in params ? params.InstanceIds : null; + + } +} + /** * DeleteScalingPolicy返回参数结构体 * @class @@ -1683,6 +2089,56 @@ class Tag extends AbstractModel { } } +/** + * DetachLoadBalancers请求参数结构体 + * @class + */ +class DetachLoadBalancersRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 伸缩组ID + * @type {string || null} + */ + this.AutoScalingGroupId = null; + + /** + * 传统负载均衡器ID列表,列表长度上限为20,LoadBalancerIds 和 ForwardLoadBalancerIdentifications 二者同时最多只能指定一个 + * @type {Array. || null} + */ + this.LoadBalancerIds = null; + + /** + * 应用型负载均衡器标识信息列表,列表长度上限为50,LoadBalancerIds 和 ForwardLoadBalancerIdentifications二者同时最多只能指定一个 + * @type {Array. || null} + */ + this.ForwardLoadBalancerIdentifications = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.AutoScalingGroupId = 'AutoScalingGroupId' in params ? params.AutoScalingGroupId : null; + this.LoadBalancerIds = 'LoadBalancerIds' in params ? params.LoadBalancerIds : null; + + if (params.ForwardLoadBalancerIdentifications) { + this.ForwardLoadBalancerIdentifications = new Array(); + for (let z in params.ForwardLoadBalancerIdentifications) { + let obj = new ForwardLoadBalancerIdentification(); + obj.deserialize(params.ForwardLoadBalancerIdentifications[z]); + this.ForwardLoadBalancerIdentifications.push(obj); + } + } + + } +} + /** * DescribeAutoScalingInstances请求参数结构体 * @class @@ -1692,7 +2148,7 @@ class DescribeAutoScalingInstancesRequest extends AbstractModel { super(); /** - * 待查询云服务器(CVM)的实例ID。参数不支持同时指定InstanceIds和Filters。 + * 待查询云服务器(CVM)的实例ID。每次请求的上限为100。参数不支持同时指定InstanceIds和Filters。 * @type {Array. || null} */ this.InstanceIds = null; @@ -1743,34 +2199,6 @@ class DescribeAutoScalingInstancesRequest extends AbstractModel { } } -/** - * 描述了实例登录相关配置与信息,出于安全性考虑,不会描述敏感信息。 - * @class - */ -class LimitedLoginSettings extends AbstractModel { - constructor(){ - super(); - - /** - * 密钥ID列表。 - * @type {Array. || null} - */ - this.KeyIds = null; - - } - - /** - * @private - */ - deserialize(params) { - if (!params) { - return; - } - this.KeyIds = 'KeyIds' in params ? params.KeyIds : null; - - } -} - /** * ModifyLoadBalancers请求参数结构体 * @class @@ -1792,7 +2220,7 @@ class ModifyLoadBalancersRequest extends AbstractModel { this.LoadBalancerIds = null; /** - * 应用型负载均衡器列表,目前长度上限为20,LoadBalancerIds 和 ForwardLoadBalancers 二者同时最多只能指定一个 + * 应用型负载均衡器列表,目前长度上限为50,LoadBalancerIds 和 ForwardLoadBalancers 二者同时最多只能指定一个 * @type {Array. || null} */ this.ForwardLoadBalancers = null; @@ -1914,7 +2342,7 @@ class SetInstancesProtectionRequest extends AbstractModel { this.InstanceIds = null; /** - * 实例是否需要移出保护。 + * 实例是否需要设置保护。 * @type {boolean || null} */ this.ProtectedFromScaleIn = null; @@ -1998,6 +2426,34 @@ class DetachInstancesResponse extends AbstractModel { } } +/** + * ModifyLaunchConfigurationAttributes返回参数结构体 + * @class + */ +class ModifyLaunchConfigurationAttributesResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + /** * CreateLaunchConfiguration请求参数结构体 * @class @@ -2019,7 +2475,7 @@ class CreateLaunchConfigurationRequest extends AbstractModel { this.ImageId = null; /** - * 启动配置所属项目ID。该参数可以通过调用 [DescribeProject](https://cloud.tencent.com/document/api/378/4400) 的返回值中的`projectId`字段来获取。不填为默认项目。 + * 启动配置所属项目ID。不填为默认项目。 注意:伸缩组内实例所属项目ID取伸缩组项目ID,与这里取值无关。 * @type {number || null} */ @@ -2257,7 +2713,17 @@ class AutoScalingGroup extends AbstractModel { this.AutoScalingGroupName = null; /** - * 伸缩组当前状态。取值范围:
  • NORMAL:正常
  • CVM_ABNORMAL:启动配置异常
  • LB_ABNORMAL:负载均衡器异常
  • VPC_ABNORMAL:VPC网络异常
  • INSUFFICIENT_BALANCE:余额不足
  • LB_BACKEND_REGION_NOT_MATCH:CLB实例后端地域与AS服务所在地域不匹配
    + * 伸缩组当前状态。取值范围:
    +
  • NORMAL:正常
    +
  • CVM_ABNORMAL:启动配置异常
    +
  • LB_ABNORMAL:负载均衡器异常
    +
  • LB_LISTENER_ABNORMAL:负载均衡器监听器异常
    +
  • LB_LOCATION_ABNORMAL:负载均衡器监听器转发配置异常
    +
  • VPC_ABNORMAL:VPC网络异常
    +
  • SUBNET_ABNORMAL:VPC子网异常
    +
  • INSUFFICIENT_BALANCE:余额不足
    +
  • LB_BACKEND_REGION_NOT_MATCH:CLB实例后端地域与AS服务所在地域不匹配
    +
  • LB_BACKEND_VPC_NOT_MATCH:CLB实例VPC与伸缩组VPC不匹配 * @type {string || null} */ this.AutoScalingGroupStatus = null; @@ -2402,6 +2868,41 @@ class AutoScalingGroup extends AbstractModel { */ this.MultiZoneSubnetPolicy = null; + /** + * 伸缩组实例健康检查类型,取值如下:
  • CVM:根据实例网络状态判断实例是否处于不健康状态,不健康的网络状态即发生实例 PING 不可达事件,详细判断标准可参考[实例健康检查](https://cloud.tencent.com/document/product/377/8553)
  • CLB:根据 CLB 的健康检查状态判断实例是否处于不健康状态,CLB健康检查原理可参考[健康检查](https://cloud.tencent.com/document/product/214/6097) + * @type {string || null} + */ + this.HealthCheckType = null; + + /** + * CLB健康检查宽限期 + * @type {number || null} + */ + this.LoadBalancerHealthCheckGracePeriod = null; + + /** + * 实例分配策略,取值包括 LAUNCH_CONFIGURATION 和 SPOT_MIXED。 +
  • LAUNCH_CONFIGURATION,代表传统的按照启动配置模式。 +
  • SPOT_MIXED,代表竞价混合模式。目前仅支持启动配置为按量计费模式时使用混合模式,混合模式下,伸缩组将根据设定扩容按量或竞价机型。使用混合模式时,关联的启动配置的计费类型不可被修改。 + * @type {string || null} + */ + this.InstanceAllocationPolicy = null; + + /** + * 竞价混合模式下,各计费类型实例的分配策略。 +仅当 InstanceAllocationPolicy 取 SPOT_MIXED 时才会返回有效值。 + * @type {SpotMixedAllocationPolicy || null} + */ + this.SpotMixedAllocationPolicy = null; + + /** + * 容量重平衡功能,仅对伸缩组内的竞价实例有效。取值范围: +
  • TRUE,开启该功能,当伸缩组内的竞价实例即将被竞价实例服务自动回收前,AS 主动发起竞价实例销毁流程,如果有配置过缩容 hook,则销毁前 hook 会生效。销毁流程启动后,AS 会异步开启一个扩容活动,用于补齐期望实例数。 +
  • FALSE,不开启该功能,则 AS 等待竞价实例被销毁后才会去扩容补齐伸缩组期望实例数。 + * @type {boolean || null} + */ + this.CapacityRebalance = null; + } /** @@ -2458,6 +2959,16 @@ class AutoScalingGroup extends AbstractModel { } this.Ipv6AddressCount = 'Ipv6AddressCount' in params ? params.Ipv6AddressCount : null; this.MultiZoneSubnetPolicy = 'MultiZoneSubnetPolicy' in params ? params.MultiZoneSubnetPolicy : null; + this.HealthCheckType = 'HealthCheckType' in params ? params.HealthCheckType : null; + this.LoadBalancerHealthCheckGracePeriod = 'LoadBalancerHealthCheckGracePeriod' in params ? params.LoadBalancerHealthCheckGracePeriod : null; + this.InstanceAllocationPolicy = 'InstanceAllocationPolicy' in params ? params.InstanceAllocationPolicy : null; + + if (params.SpotMixedAllocationPolicy) { + let obj = new SpotMixedAllocationPolicy(); + obj.deserialize(params.SpotMixedAllocationPolicy) + this.SpotMixedAllocationPolicy = obj; + } + this.CapacityRebalance = 'CapacityRebalance' in params ? params.CapacityRebalance : null; } } @@ -2643,6 +3154,41 @@ class UpgradeLifecycleHookRequest extends AbstractModel { } } +/** + * DetachLoadBalancers返回参数结构体 + * @class + */ +class DetachLoadBalancersResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 伸缩活动ID + * @type {string || null} + */ + this.ActivityId = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.ActivityId = 'ActivityId' in params ? params.ActivityId : null; + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + /** * 告警触发策略。 * @class @@ -2804,63 +3350,16 @@ class ModifyLoadBalancersResponse extends AbstractModel { super(); /** - * 伸缩活动ID - * @type {string || null} - */ - this.ActivityId = null; - - /** - * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - * @type {string || null} - */ - this.RequestId = null; - - } - - /** - * @private - */ - deserialize(params) { - if (!params) { - return; - } - this.ActivityId = 'ActivityId' in params ? params.ActivityId : null; - this.RequestId = 'RequestId' in params ? params.RequestId : null; - - } -} - -/** - * DescribePaiInstances请求参数结构体 - * @class - */ -class DescribePaiInstancesRequest extends AbstractModel { - constructor(){ - super(); - - /** - * 依据PAI实例的实例ID进行查询。 - * @type {Array. || null} - */ - this.InstanceIds = null; - - /** - * 过滤条件。 - * @type {Array. || null} - */ - this.Filters = null; - - /** - * 返回数量,默认为20,最大值为100。 - * @type {number || null} + * 伸缩活动ID + * @type {string || null} */ - this.Limit = null; + this.ActivityId = null; /** - * 偏移量,默认为0。 - * @type {number || null} + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} */ - this.Offset = null; + this.RequestId = null; } @@ -2871,18 +3370,8 @@ class DescribePaiInstancesRequest extends AbstractModel { if (!params) { return; } - this.InstanceIds = 'InstanceIds' in params ? params.InstanceIds : null; - - if (params.Filters) { - this.Filters = new Array(); - for (let z in params.Filters) { - let obj = new Filter(); - obj.deserialize(params.Filters[z]); - this.Filters.push(obj); - } - } - this.Limit = 'Limit' in params ? params.Limit : null; - this.Offset = 'Offset' in params ? params.Offset : null; + this.ActivityId = 'ActivityId' in params ? params.ActivityId : null; + this.RequestId = 'RequestId' in params ? params.RequestId : null; } } @@ -2919,6 +3408,31 @@ class CreateNotificationConfigurationRequest extends AbstractModel { */ this.NotificationUserGroupIds = null; + /** + * 通知接收端类型,取值如下 +
  • USER_GROUP:用户组 +
  • CMQ_QUEUE:CMQ 队列 +
  • CMQ_TOPIC:CMQ 主题 +
  • TDMQ_CMQ_TOPIC:TDMQ CMQ 主题 +
  • TDMQ_CMQ_QUEUE:TDMQ CMQ 队列 + +默认值为:`USER_GROUP`。 + * @type {string || null} + */ + this.TargetType = null; + + /** + * CMQ 队列名称,如 TargetType 取值为 `CMQ_QUEUE` 或 `TDMQ_CMQ_QUEUE` 时,该字段必填。 + * @type {string || null} + */ + this.QueueName = null; + + /** + * CMQ 主题名称,如 TargetType 取值为 `CMQ_TOPIC` 或 `TDMQ_CMQ_TOPIC` 时,该字段必填。 + * @type {string || null} + */ + this.TopicName = null; + } /** @@ -2931,6 +3445,9 @@ class CreateNotificationConfigurationRequest extends AbstractModel { this.AutoScalingGroupId = 'AutoScalingGroupId' in params ? params.AutoScalingGroupId : null; this.NotificationTypes = 'NotificationTypes' in params ? params.NotificationTypes : null; this.NotificationUserGroupIds = 'NotificationUserGroupIds' in params ? params.NotificationUserGroupIds : null; + this.TargetType = 'TargetType' in params ? params.TargetType : null; + this.QueueName = 'QueueName' in params ? params.QueueName : null; + this.TopicName = 'TopicName' in params ? params.TopicName : null; } } @@ -2986,36 +3503,18 @@ class DescribeScheduledActionsResponse extends AbstractModel { } /** - * ModifyNotificationConfiguration请求参数结构体 + * DeleteLifecycleHook请求参数结构体 * @class */ -class ModifyNotificationConfigurationRequest extends AbstractModel { +class DeleteLifecycleHookRequest extends AbstractModel { constructor(){ super(); /** - * 待修改的通知ID。 + * 生命周期挂钩ID * @type {string || null} */ - this.AutoScalingNotificationId = null; - - /** - * 通知类型,即为需要订阅的通知类型集合,取值范围如下: -
  • SCALE_OUT_SUCCESSFUL:扩容成功
  • -
  • SCALE_OUT_FAILED:扩容失败
  • -
  • SCALE_IN_SUCCESSFUL:缩容成功
  • -
  • SCALE_IN_FAILED:缩容失败
  • -
  • REPLACE_UNHEALTHY_INSTANCE_SUCCESSFUL:替换不健康子机成功
  • -
  • REPLACE_UNHEALTHY_INSTANCE_FAILED:替换不健康子机失败
  • - * @type {Array. || null} - */ - this.NotificationTypes = null; - - /** - * 通知组ID,即为用户组ID集合,用户组ID可以通过[ListGroups](https://cloud.tencent.com/document/product/598/34589)查询。 - * @type {Array. || null} - */ - this.NotificationUserGroupIds = null; + this.LifecycleHookId = null; } @@ -3026,26 +3525,30 @@ class ModifyNotificationConfigurationRequest extends AbstractModel { if (!params) { return; } - this.AutoScalingNotificationId = 'AutoScalingNotificationId' in params ? params.AutoScalingNotificationId : null; - this.NotificationTypes = 'NotificationTypes' in params ? params.NotificationTypes : null; - this.NotificationUserGroupIds = 'NotificationUserGroupIds' in params ? params.NotificationUserGroupIds : null; + this.LifecycleHookId = 'LifecycleHookId' in params ? params.LifecycleHookId : null; } } /** - * DeleteLifecycleHook请求参数结构体 + * ModifyLoadBalancerTargetAttributes返回参数结构体 * @class */ -class DeleteLifecycleHookRequest extends AbstractModel { +class ModifyLoadBalancerTargetAttributesResponse extends AbstractModel { constructor(){ super(); /** - * 生命周期挂钩ID + * 伸缩活动ID * @type {string || null} */ - this.LifecycleHookId = null; + this.ActivityId = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; } @@ -3056,7 +3559,8 @@ class DeleteLifecycleHookRequest extends AbstractModel { if (!params) { return; } - this.LifecycleHookId = 'LifecycleHookId' in params ? params.LifecycleHookId : null; + this.ActivityId = 'ActivityId' in params ? params.ActivityId : null; + this.RequestId = 'RequestId' in params ? params.RequestId : null; } } @@ -3298,30 +3802,52 @@ class InstanceTag extends AbstractModel { } /** - * PAI实例 + * ModifyLifecycleHook返回参数结构体 * @class */ -class PaiInstance extends AbstractModel { +class ModifyLifecycleHookResponse extends AbstractModel { constructor(){ super(); /** - * 实例ID + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 * @type {string || null} */ - this.InstanceId = null; + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * DescribeAutoScalingAdvices返回参数结构体 + * @class + */ +class DescribeAutoScalingAdvicesResponse extends AbstractModel { + constructor(){ + super(); /** - * 实例域名 - * @type {string || null} + * 伸缩组配置建议集合。 + * @type {Array. || null} */ - this.DomainName = null; + this.AutoScalingAdviceSet = null; /** - * PAI管理页面URL + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 * @type {string || null} */ - this.PaiMateUrl = null; + this.RequestId = null; } @@ -3332,9 +3858,16 @@ class PaiInstance extends AbstractModel { if (!params) { return; } - this.InstanceId = 'InstanceId' in params ? params.InstanceId : null; - this.DomainName = 'DomainName' in params ? params.DomainName : null; - this.PaiMateUrl = 'PaiMateUrl' in params ? params.PaiMateUrl : null; + + if (params.AutoScalingAdviceSet) { + this.AutoScalingAdviceSet = new Array(); + for (let z in params.AutoScalingAdviceSet) { + let obj = new AutoScalingAdvice(); + obj.deserialize(params.AutoScalingAdviceSet[z]); + this.AutoScalingAdviceSet.push(obj); + } + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; } } @@ -3396,13 +3929,13 @@ class CreateAutoScalingGroupRequest extends AbstractModel { this.LoadBalancerIds = null; /** - * 伸缩组内实例所属项目ID。该参数可以通过调用 [DescribeProject](https://cloud.tencent.com/document/api/378/4400) 的返回值中的`projectId`字段来获取。不填为默认项目。 + * 伸缩组内实例所属项目ID。不填为默认项目。 * @type {number || null} */ this.ProjectId = null; /** - * 应用型负载均衡器列表,目前长度上限为20,LoadBalancerIds 和 ForwardLoadBalancers 二者同时最多只能指定一个 + * 应用型负载均衡器列表,目前长度上限为50,LoadBalancerIds 和 ForwardLoadBalancers 二者同时最多只能指定一个 * @type {Array. || null} */ this.ForwardLoadBalancers = null; @@ -3468,17 +4001,53 @@ class CreateAutoScalingGroupRequest extends AbstractModel { /** * 多可用区/子网策略,取值包括 PRIORITY 和 EQUALITY,默认为 PRIORITY。
  • PRIORITY,按照可用区/子网列表的顺序,作为优先级来尝试创建实例,如果优先级最高的可用区/子网可以创建成功,则总在该可用区/子网创建。 -
  • EQUALITY:每次选择当前实例数最少的可用区/子网进行扩容,使得每个可用区/子网都有机会发生扩容,多次扩容出的实例会打散到多个可用区/子网。 +
  • EQUALITY:扩容出的实例会打散到多个可用区/子网,保证扩容后的各个可用区/子网实例数相对均衡。 与本策略相关的注意点:
  • 当伸缩组为基础网络时,本策略适用于多可用区;当伸缩组为VPC网络时,本策略适用于多子网,此时不再考虑可用区因素,例如四个子网ABCD,其中ABC处于可用区1,D处于可用区2,此时考虑子网ABCD进行排序,而不考虑可用区1、2。
  • 本策略适用于多可用区/子网,不适用于启动配置的多机型。多机型按照优先级策略进行选择。 -
  • 创建实例时,先保证多机型的策略,后保证多可用区/子网的策略。例如多机型A、B,多子网1、2、3(按照PRIORITY策略),会按照A1、A2、A3、B1、B2、B3 进行尝试,如果A1售罄,会尝试A2(而非B1)。 -
  • 无论使用哪种策略,单次伸缩活动总是优先保持使用一种具体配置(机型 * 可用区/子网)。 +
  • 按照 PRIORITY 策略创建实例时,先保证多机型的策略,后保证多可用区/子网的策略。例如多机型A、B,多子网1、2、3,会按照A1、A2、A3、B1、B2、B3 进行尝试,如果A1售罄,会尝试A2(而非B1)。 * @type {string || null} */ this.MultiZoneSubnetPolicy = null; + /** + * 伸缩组实例健康检查类型,取值如下:
  • CVM:根据实例网络状态判断实例是否处于不健康状态,不健康的网络状态即发生实例 PING 不可达事件,详细判断标准可参考[实例健康检查](https://cloud.tencent.com/document/product/377/8553)
  • CLB:根据 CLB 的健康检查状态判断实例是否处于不健康状态,CLB健康检查原理可参考[健康检查](https://cloud.tencent.com/document/product/214/6097)
    如果选择了`CLB`类型,伸缩组将同时检查实例网络状态与CLB健康检查状态,如果出现实例网络状态不健康,实例将被标记为 UNHEALTHY 状态;如果出现 CLB 健康检查状态异常,实例将被标记为CLB_UNHEALTHY 状态,如果两个异常状态同时出现,实例`HealthStatus`字段将返回 UNHEALTHY|CLB_UNHEALTHY。默认值:CLB + * @type {string || null} + */ + this.HealthCheckType = null; + + /** + * CLB健康检查宽限期,当扩容的实例进入`IN_SERVICE`后,在宽限期时间范围内将不会被标记为不健康`CLB_UNHEALTHY`。
    默认值:0。取值范围[0, 7200],单位:秒。 + * @type {number || null} + */ + this.LoadBalancerHealthCheckGracePeriod = null; + + /** + * 实例分配策略,取值包括 LAUNCH_CONFIGURATION 和 SPOT_MIXED,默认取 LAUNCH_CONFIGURATION。 +
  • LAUNCH_CONFIGURATION,代表传统的按照启动配置模式。 +
  • SPOT_MIXED,代表竞价混合模式。目前仅支持启动配置为按量计费模式时使用混合模式,混合模式下,伸缩组将根据设定扩容按量或竞价机型。使用混合模式时,关联的启动配置的计费类型不可被修改。 + * @type {string || null} + */ + this.InstanceAllocationPolicy = null; + + /** + * 竞价混合模式下,各计费类型实例的分配策略。 +仅当 InstanceAllocationPolicy 取 SPOT_MIXED 时可用。 + * @type {SpotMixedAllocationPolicy || null} + */ + this.SpotMixedAllocationPolicy = null; + + /** + * 容量重平衡功能,仅对伸缩组内的竞价实例有效。取值范围: +
  • TRUE,开启该功能,当伸缩组内的竞价实例即将被竞价实例服务自动回收前,AS 主动发起竞价实例销毁流程,如果有配置过缩容 hook,则销毁前 hook 会生效。销毁流程启动后,AS 会异步开启一个扩容活动,用于补齐期望实例数。 +
  • FALSE,不开启该功能,则 AS 等待竞价实例被销毁后才会去扩容补齐伸缩组期望实例数。 + +默认取 FALSE。 + * @type {boolean || null} + */ + this.CapacityRebalance = null; + } /** @@ -3528,6 +4097,16 @@ class CreateAutoScalingGroupRequest extends AbstractModel { } this.Ipv6AddressCount = 'Ipv6AddressCount' in params ? params.Ipv6AddressCount : null; this.MultiZoneSubnetPolicy = 'MultiZoneSubnetPolicy' in params ? params.MultiZoneSubnetPolicy : null; + this.HealthCheckType = 'HealthCheckType' in params ? params.HealthCheckType : null; + this.LoadBalancerHealthCheckGracePeriod = 'LoadBalancerHealthCheckGracePeriod' in params ? params.LoadBalancerHealthCheckGracePeriod : null; + this.InstanceAllocationPolicy = 'InstanceAllocationPolicy' in params ? params.InstanceAllocationPolicy : null; + + if (params.SpotMixedAllocationPolicy) { + let obj = new SpotMixedAllocationPolicy(); + obj.deserialize(params.SpotMixedAllocationPolicy) + this.SpotMixedAllocationPolicy = obj; + } + this.CapacityRebalance = 'CapacityRebalance' in params ? params.CapacityRebalance : null; } } @@ -3643,7 +4222,7 @@ class UpgradeLaunchConfigurationRequest extends AbstractModel { this.LoginSettings = null; /** - * 实例所属项目ID。该参数可以通过调用 [DescribeProject](https://cloud.tencent.com/document/api/378/4400) 的返回值中的`projectId`字段来获取。不填为默认项目。 + * 实例所属项目ID。不填为默认项目。 * @type {number || null} */ this.ProjectId = null; @@ -3903,7 +4482,7 @@ class DataDisk extends AbstractModel { super(); /** - * 数据盘类型。数据盘类型限制详见[CVM实例配置](https://cloud.tencent.com/document/product/213/2177)。取值范围:
  • LOCAL_BASIC:本地硬盘
  • LOCAL_SSD:本地SSD硬盘
  • CLOUD_BASIC:普通云硬盘
  • CLOUD_PREMIUM:高性能云硬盘
  • CLOUD_SSD:SSD云硬盘

    默认取值:LOCAL_BASIC。 + * 数据盘类型。数据盘类型限制详见[云硬盘类型](https://cloud.tencent.com/document/product/362/2353)。取值范围:
  • LOCAL_BASIC:本地硬盘
  • LOCAL_SSD:本地SSD硬盘
  • CLOUD_BASIC:普通云硬盘
  • CLOUD_PREMIUM:高性能云硬盘
  • CLOUD_SSD:SSD云硬盘
  • CLOUD_HSSD:增强型SSD云硬盘
  • CLOUD_TSSD:极速型SSD云硬盘

    默认取值与系统盘类型(SystemDisk.DiskType)保持一致。 注意:此字段可能返回 null,表示取不到有效值。 * @type {string || null} */ @@ -3923,35 +4502,27 @@ class DataDisk extends AbstractModel { */ this.SnapshotId = null; - } - - /** - * @private - */ - deserialize(params) { - if (!params) { - return; - } - this.DiskType = 'DiskType' in params ? params.DiskType : null; - this.DiskSize = 'DiskSize' in params ? params.DiskSize : null; - this.SnapshotId = 'SnapshotId' in params ? params.SnapshotId : null; - - } -} + /** + * 数据盘是否随子机销毁。取值范围:
  • TRUE:子机销毁时,销毁数据盘,只支持按小时后付费云盘
  • FALSE:子机销毁时,保留数据盘 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {boolean || null} + */ + this.DeleteWithInstance = null; -/** - * PreviewPaiDomainName请求参数结构体 - * @class - */ -class PreviewPaiDomainNameRequest extends AbstractModel { - constructor(){ - super(); + /** + * 数据盘是否加密。取值范围:
  • TRUE:加密
  • FALSE:不加密 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {boolean || null} + */ + this.Encrypt = null; /** - * 域名类型 - * @type {string || null} + * 云硬盘性能,单位:MB/s。使用此参数可给云硬盘购买额外的性能,功能介绍和类型限制详见:[增强型 SSD 云硬盘额外性能说明](https://cloud.tencent.com/document/product/362/51896#.E5.A2.9E.E5.BC.BA.E5.9E.8B-ssd-.E4.BA.91.E7.A1.AC.E7.9B.98.E9.A2.9D.E5.A4.96.E6.80.A7.E8.83.BD)。 +当前仅支持极速型云盘(CLOUD_TSSD)和增强型SSD云硬盘(CLOUD_HSSD)且 需容量 > 460GB。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {number || null} */ - this.DomainNameType = null; + this.ThroughputPerformance = null; } @@ -3962,7 +4533,12 @@ class PreviewPaiDomainNameRequest extends AbstractModel { if (!params) { return; } - this.DomainNameType = 'DomainNameType' in params ? params.DomainNameType : null; + this.DiskType = 'DiskType' in params ? params.DiskType : null; + this.DiskSize = 'DiskSize' in params ? params.DiskSize : null; + this.SnapshotId = 'SnapshotId' in params ? params.SnapshotId : null; + this.DeleteWithInstance = 'DeleteWithInstance' in params ? params.DeleteWithInstance : null; + this.Encrypt = 'Encrypt' in params ? params.Encrypt : null; + this.ThroughputPerformance = 'ThroughputPerformance' in params ? params.ThroughputPerformance : null; } } @@ -4235,60 +4811,30 @@ class Instance extends AbstractModel { } /** - * CreateScheduledAction请求参数结构体 + * DescribeAutoScalingInstances返回参数结构体 * @class */ -class CreateScheduledActionRequest extends AbstractModel { +class DescribeAutoScalingInstancesResponse extends AbstractModel { constructor(){ super(); /** - * 伸缩组ID - * @type {string || null} - */ - this.AutoScalingGroupId = null; - - /** - * 定时任务名称。名称仅支持中文、英文、数字、下划线、分隔符"-"、小数点,最大长度不能超60个字节。同一伸缩组下必须唯一。 - * @type {string || null} - */ - this.ScheduledActionName = null; - - /** - * 当定时任务触发时,设置的伸缩组最大实例数。 - * @type {number || null} - */ - this.MaxSize = null; - - /** - * 当定时任务触发时,设置的伸缩组最小实例数。 - * @type {number || null} + * 实例详细信息列表。 + * @type {Array. || null} */ - this.MinSize = null; + this.AutoScalingInstanceSet = null; /** - * 当定时任务触发时,设置的伸缩组期望实例数。 + * 符合条件的实例数量。 * @type {number || null} */ - this.DesiredCapacity = null; - - /** - * 定时任务的首次触发时间,取值为`北京时间`(UTC+8),按照`ISO8601`标准,格式:`YYYY-MM-DDThh:mm:ss+08:00`。 - * @type {string || null} - */ - this.StartTime = null; - - /** - * 定时任务的结束时间,取值为`北京时间`(UTC+8),按照`ISO8601`标准,格式:`YYYY-MM-DDThh:mm:ss+08:00`。

    此参数与`Recurrence`需要同时指定,到达结束时间之后,定时任务将不再生效。 - * @type {string || null} - */ - this.EndTime = null; + this.TotalCount = null; /** - * 定时任务的重复方式。为标准 Cron 格式

    此参数与`EndTime`需要同时指定。 + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 * @type {string || null} */ - this.Recurrence = null; + this.RequestId = null; } @@ -4299,14 +4845,17 @@ class CreateScheduledActionRequest extends AbstractModel { if (!params) { return; } - this.AutoScalingGroupId = 'AutoScalingGroupId' in params ? params.AutoScalingGroupId : null; - this.ScheduledActionName = 'ScheduledActionName' in params ? params.ScheduledActionName : null; - this.MaxSize = 'MaxSize' in params ? params.MaxSize : null; - this.MinSize = 'MinSize' in params ? params.MinSize : null; - this.DesiredCapacity = 'DesiredCapacity' in params ? params.DesiredCapacity : null; - this.StartTime = 'StartTime' in params ? params.StartTime : null; - this.EndTime = 'EndTime' in params ? params.EndTime : null; - this.Recurrence = 'Recurrence' in params ? params.Recurrence : null; + + if (params.AutoScalingInstanceSet) { + this.AutoScalingInstanceSet = new Array(); + for (let z in params.AutoScalingInstanceSet) { + let obj = new Instance(); + obj.deserialize(params.AutoScalingInstanceSet[z]); + this.AutoScalingInstanceSet.push(obj); + } + } + this.TotalCount = 'TotalCount' in params ? params.TotalCount : null; + this.RequestId = 'RequestId' in params ? params.RequestId : null; } } @@ -4586,16 +5135,28 @@ class ModifyDesiredCapacityRequest extends AbstractModel { super(); /** - * 伸缩组ID - * @type {string || null} + * 伸缩组ID + * @type {string || null} + */ + this.AutoScalingGroupId = null; + + /** + * 期望实例数 + * @type {number || null} + */ + this.DesiredCapacity = null; + + /** + * 最小实例数,取值范围为0-2000。 + * @type {number || null} */ - this.AutoScalingGroupId = null; + this.MinSize = null; /** - * 期望实例数 + * 最大实例数,取值范围为0-2000。 * @type {number || null} */ - this.DesiredCapacity = null; + this.MaxSize = null; } @@ -4608,6 +5169,8 @@ class ModifyDesiredCapacityRequest extends AbstractModel { } this.AutoScalingGroupId = 'AutoScalingGroupId' in params ? params.AutoScalingGroupId : null; this.DesiredCapacity = 'DesiredCapacity' in params ? params.DesiredCapacity : null; + this.MinSize = 'MinSize' in params ? params.MinSize : null; + this.MaxSize = 'MaxSize' in params ? params.MaxSize : null; } } @@ -4797,6 +5360,12 @@ class ScheduledAction extends AbstractModel { */ this.CreatedTime = null; + /** + * 定时任务的执行类型。取值范围:
  • CRONTAB:代表定时任务为重复执行。
  • ONCE:代表定时任务为单次执行。 + * @type {string || null} + */ + this.ScheduledType = null; + } /** @@ -4816,6 +5385,93 @@ class ScheduledAction extends AbstractModel { this.DesiredCapacity = 'DesiredCapacity' in params ? params.DesiredCapacity : null; this.MinSize = 'MinSize' in params ? params.MinSize : null; this.CreatedTime = 'CreatedTime' in params ? params.CreatedTime : null; + this.ScheduledType = 'ScheduledType' in params ? params.ScheduledType : null; + + } +} + +/** + * ModifyLifecycleHook请求参数结构体 + * @class + */ +class ModifyLifecycleHookRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 生命周期挂钩ID。 + * @type {string || null} + */ + this.LifecycleHookId = null; + + /** + * 生命周期挂钩名称。 + * @type {string || null} + */ + this.LifecycleHookName = null; + + /** + * 进入生命周期挂钩场景,取值包括: +
  • INSTANCE_LAUNCHING:实例启动后 +
  • INSTANCE_TERMINATING:实例销毁前 + * @type {string || null} + */ + this.LifecycleTransition = null; + + /** + * 定义伸缩组在生命周期挂钩超时的情况下应采取的操作,取值包括: +
  • CONTINUE: 超时后继续伸缩活动 +
  • ABANDON:超时后终止伸缩活动 + * @type {string || null} + */ + this.DefaultResult = null; + + /** + * 生命周期挂钩超时之前可以经过的最长时间(以秒为单位),范围从 30 到 7200 秒。 + * @type {number || null} + */ + this.HeartbeatTimeout = null; + + /** + * 弹性伸缩向通知目标发送的附加信息。 + * @type {string || null} + */ + this.NotificationMetadata = null; + + /** + * 进行生命周期挂钩的场景类型,取值范围包括`NORMAL`和 `EXTENSION`。说明:设置为`EXTENSION`值,在AttachInstances、DetachInstances、RemoveInstances 接口时会触发生命周期挂钩操作,值为`NORMAL`则不会在这些接口中触发生命周期挂钩。 + * @type {string || null} + */ + this.LifecycleTransitionType = null; + + /** + * 通知目标信息。 + * @type {NotificationTarget || null} + */ + this.NotificationTarget = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.LifecycleHookId = 'LifecycleHookId' in params ? params.LifecycleHookId : null; + this.LifecycleHookName = 'LifecycleHookName' in params ? params.LifecycleHookName : null; + this.LifecycleTransition = 'LifecycleTransition' in params ? params.LifecycleTransition : null; + this.DefaultResult = 'DefaultResult' in params ? params.DefaultResult : null; + this.HeartbeatTimeout = 'HeartbeatTimeout' in params ? params.HeartbeatTimeout : null; + this.NotificationMetadata = 'NotificationMetadata' in params ? params.NotificationMetadata : null; + this.LifecycleTransitionType = 'LifecycleTransitionType' in params ? params.LifecycleTransitionType : null; + + if (params.NotificationTarget) { + let obj = new NotificationTarget(); + obj.deserialize(params.NotificationTarget) + this.NotificationTarget = obj; + } } } @@ -4948,10 +5604,6 @@ class DescribeLifecycleHooksRequest extends AbstractModel {
  • lifecycle-hook-id - String - 是否必填:否 -(过滤条件)按照生命周期挂钩ID过滤。
  • lifecycle-hook-name - String - 是否必填:否 -(过滤条件)按照生命周期挂钩名称过滤。
  • auto-scaling-group-id - String - 是否必填:否 -(过滤条件)按照伸缩组ID过滤。
  • -过滤条件。 -
  • lifecycle-hook-id - String - 是否必填:否 -(过滤条件)按照生命周期挂钩ID过滤。
  • -
  • lifecycle-hook-name - String - 是否必填:否 -(过滤条件)按照生命周期挂钩名称过滤。
  • -
  • auto-scaling-group-id - String - 是否必填:否 -(过滤条件)按照伸缩组ID过滤。
  • 每次请求的`Filters`的上限为10,`Filter.Values`的上限为5。参数不支持同时指定`LifecycleHookIds `和`Filters`。 * @type {Array. || null} */ @@ -5017,6 +5669,12 @@ WAKE_UP_STOPPED_SCALING:扩容优先开机。扩容时优先对已关机的实 */ this.ScalingMode = null; + /** + * 开启负载均衡不健康替换服务。若开启则对于负载均衡健康检查判断不健康的实例,弹性伸缩服务会进行替换。若不指定该参数,则默认为 False。 + * @type {boolean || null} + */ + this.ReplaceLoadBalancerUnhealthy = null; + } /** @@ -5028,185 +5686,30 @@ WAKE_UP_STOPPED_SCALING:扩容优先开机。扩容时优先对已关机的实 } this.ReplaceMonitorUnhealthy = 'ReplaceMonitorUnhealthy' in params ? params.ReplaceMonitorUnhealthy : null; this.ScalingMode = 'ScalingMode' in params ? params.ScalingMode : null; + this.ReplaceLoadBalancerUnhealthy = 'ReplaceLoadBalancerUnhealthy' in params ? params.ReplaceLoadBalancerUnhealthy : null; } } /** - * 符合条件的启动配置信息的集合。 + * CreateAutoScalingGroup返回参数结构体 * @class */ -class LaunchConfiguration extends AbstractModel { +class CreateAutoScalingGroupResponse extends AbstractModel { constructor(){ super(); /** - * 实例所属项目ID。 - * @type {number || null} - */ - this.ProjectId = null; - - /** - * 启动配置ID。 - * @type {string || null} - */ - this.LaunchConfigurationId = null; - - /** - * 启动配置名称。 - * @type {string || null} - */ - this.LaunchConfigurationName = null; - - /** - * 实例机型。 - * @type {string || null} - */ - this.InstanceType = null; - - /** - * 实例系统盘配置信息。 - * @type {SystemDisk || null} - */ - this.SystemDisk = null; - - /** - * 实例数据盘配置信息。 - * @type {Array. || null} - */ - this.DataDisks = null; - - /** - * 实例登录设置。 - * @type {LimitedLoginSettings || null} - */ - this.LoginSettings = null; - - /** - * 公网带宽相关信息设置。 - * @type {InternetAccessible || null} - */ - this.InternetAccessible = null; - - /** - * 实例所属安全组。 - * @type {Array. || null} - */ - this.SecurityGroupIds = null; - - /** - * 启动配置关联的伸缩组。 - * @type {Array. || null} - */ - this.AutoScalingGroupAbstractSet = null; - - /** - * 自定义数据。 -注意:此字段可能返回 null,表示取不到有效值。 - * @type {string || null} - */ - this.UserData = null; - - /** - * 启动配置创建时间。 - * @type {string || null} - */ - this.CreatedTime = null; - - /** - * 实例的增强服务启用情况与其设置。 - * @type {EnhancedService || null} - */ - this.EnhancedService = null; - - /** - * 镜像ID。 - * @type {string || null} - */ - this.ImageId = null; - - /** - * 启动配置当前状态。取值范围:
  • NORMAL:正常
  • IMAGE_ABNORMAL:启动配置镜像异常
  • CBS_SNAP_ABNORMAL:启动配置数据盘快照异常
  • SECURITY_GROUP_ABNORMAL:启动配置安全组异常
    - * @type {string || null} - */ - this.LaunchConfigurationStatus = null; - - /** - * 实例计费类型,CVM默认值按照POSTPAID_BY_HOUR处理。 -
  • POSTPAID_BY_HOUR:按小时后付费 -
  • SPOTPAID:竞价付费 - * @type {string || null} - */ - this.InstanceChargeType = null; - - /** - * 实例的市场相关选项,如竞价实例相关参数,若指定实例的付费模式为竞价付费则该参数必传。 -注意:此字段可能返回 null,表示取不到有效值。 - * @type {InstanceMarketOptionsRequest || null} - */ - this.InstanceMarketOptions = null; - - /** - * 实例机型列表。 - * @type {Array. || null} - */ - this.InstanceTypes = null; - - /** - * 标签列表。 - * @type {Array. || null} - */ - this.InstanceTags = null; - - /** - * 版本号。 - * @type {number || null} - */ - this.VersionNumber = null; - - /** - * 更新时间。 - * @type {string || null} - */ - this.UpdatedTime = null; - - /** - * CAM角色名称。可通过DescribeRoleList接口返回值中的roleName获取。 - * @type {string || null} - */ - this.CamRoleName = null; - - /** - * 上次操作时,InstanceTypesCheckPolicy 取值。 - * @type {string || null} - */ - this.LastOperationInstanceTypesCheckPolicy = null; - - /** - * 云服务器主机名(HostName)的相关设置。 - * @type {HostNameSettings || null} - */ - this.HostNameSettings = null; - - /** - * 云服务器实例名(InstanceName)的相关设置。 - * @type {InstanceNameSettings || null} - */ - this.InstanceNameSettings = null; - - /** - * 预付费模式,即包年包月相关参数设置。通过该参数可以指定包年包月实例的购买时长、是否设置自动续费等属性。若指定实例的付费模式为预付费则该参数必传。 - * @type {InstanceChargePrepaid || null} + * 伸缩组ID + * @type {string || null} */ - this.InstanceChargePrepaid = null; + this.AutoScalingGroupId = null; /** - * 云盘类型选择策略。取值范围: -
  • ORIGINAL:使用设置的云盘类型 -
  • AUTOMATIC:自动选择当前可用区下可用的云盘类型 + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 * @type {string || null} */ - this.DiskTypePolicy = null; + this.RequestId = null; } @@ -5217,97 +5720,8 @@ class LaunchConfiguration extends AbstractModel { if (!params) { return; } - this.ProjectId = 'ProjectId' in params ? params.ProjectId : null; - this.LaunchConfigurationId = 'LaunchConfigurationId' in params ? params.LaunchConfigurationId : null; - this.LaunchConfigurationName = 'LaunchConfigurationName' in params ? params.LaunchConfigurationName : null; - this.InstanceType = 'InstanceType' in params ? params.InstanceType : null; - - if (params.SystemDisk) { - let obj = new SystemDisk(); - obj.deserialize(params.SystemDisk) - this.SystemDisk = obj; - } - - if (params.DataDisks) { - this.DataDisks = new Array(); - for (let z in params.DataDisks) { - let obj = new DataDisk(); - obj.deserialize(params.DataDisks[z]); - this.DataDisks.push(obj); - } - } - - if (params.LoginSettings) { - let obj = new LimitedLoginSettings(); - obj.deserialize(params.LoginSettings) - this.LoginSettings = obj; - } - - if (params.InternetAccessible) { - let obj = new InternetAccessible(); - obj.deserialize(params.InternetAccessible) - this.InternetAccessible = obj; - } - this.SecurityGroupIds = 'SecurityGroupIds' in params ? params.SecurityGroupIds : null; - - if (params.AutoScalingGroupAbstractSet) { - this.AutoScalingGroupAbstractSet = new Array(); - for (let z in params.AutoScalingGroupAbstractSet) { - let obj = new AutoScalingGroupAbstract(); - obj.deserialize(params.AutoScalingGroupAbstractSet[z]); - this.AutoScalingGroupAbstractSet.push(obj); - } - } - this.UserData = 'UserData' in params ? params.UserData : null; - this.CreatedTime = 'CreatedTime' in params ? params.CreatedTime : null; - - if (params.EnhancedService) { - let obj = new EnhancedService(); - obj.deserialize(params.EnhancedService) - this.EnhancedService = obj; - } - this.ImageId = 'ImageId' in params ? params.ImageId : null; - this.LaunchConfigurationStatus = 'LaunchConfigurationStatus' in params ? params.LaunchConfigurationStatus : null; - this.InstanceChargeType = 'InstanceChargeType' in params ? params.InstanceChargeType : null; - - if (params.InstanceMarketOptions) { - let obj = new InstanceMarketOptionsRequest(); - obj.deserialize(params.InstanceMarketOptions) - this.InstanceMarketOptions = obj; - } - this.InstanceTypes = 'InstanceTypes' in params ? params.InstanceTypes : null; - - if (params.InstanceTags) { - this.InstanceTags = new Array(); - for (let z in params.InstanceTags) { - let obj = new InstanceTag(); - obj.deserialize(params.InstanceTags[z]); - this.InstanceTags.push(obj); - } - } - this.VersionNumber = 'VersionNumber' in params ? params.VersionNumber : null; - this.UpdatedTime = 'UpdatedTime' in params ? params.UpdatedTime : null; - this.CamRoleName = 'CamRoleName' in params ? params.CamRoleName : null; - this.LastOperationInstanceTypesCheckPolicy = 'LastOperationInstanceTypesCheckPolicy' in params ? params.LastOperationInstanceTypesCheckPolicy : null; - - if (params.HostNameSettings) { - let obj = new HostNameSettings(); - obj.deserialize(params.HostNameSettings) - this.HostNameSettings = obj; - } - - if (params.InstanceNameSettings) { - let obj = new InstanceNameSettings(); - obj.deserialize(params.InstanceNameSettings) - this.InstanceNameSettings = obj; - } - - if (params.InstanceChargePrepaid) { - let obj = new InstanceChargePrepaid(); - obj.deserialize(params.InstanceChargePrepaid) - this.InstanceChargePrepaid = obj; - } - this.DiskTypePolicy = 'DiskTypePolicy' in params ? params.DiskTypePolicy : null; + this.AutoScalingGroupId = 'AutoScalingGroupId' in params ? params.AutoScalingGroupId : null; + this.RequestId = 'RequestId' in params ? params.RequestId : null; } } @@ -5376,30 +5790,18 @@ class ModifyNotificationConfigurationResponse extends AbstractModel { } /** - * DescribeAutoScalingInstances返回参数结构体 + * 描述了实例登录相关配置与信息,出于安全性考虑,不会描述敏感信息。 * @class */ -class DescribeAutoScalingInstancesResponse extends AbstractModel { +class LimitedLoginSettings extends AbstractModel { constructor(){ super(); /** - * 实例详细信息列表。 - * @type {Array. || null} - */ - this.AutoScalingInstanceSet = null; - - /** - * 符合条件的实例数量。 - * @type {number || null} - */ - this.TotalCount = null; - - /** - * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - * @type {string || null} + * 密钥ID列表。 + * @type {Array. || null} */ - this.RequestId = null; + this.KeyIds = null; } @@ -5410,17 +5812,7 @@ class DescribeAutoScalingInstancesResponse extends AbstractModel { if (!params) { return; } - - if (params.AutoScalingInstanceSet) { - this.AutoScalingInstanceSet = new Array(); - for (let z in params.AutoScalingInstanceSet) { - let obj = new Instance(); - obj.deserialize(params.AutoScalingInstanceSet[z]); - this.AutoScalingInstanceSet.push(obj); - } - } - this.TotalCount = 'TotalCount' in params ? params.TotalCount : null; - this.RequestId = 'RequestId' in params ? params.RequestId : null; + this.KeyIds = 'KeyIds' in params ? params.KeyIds : null; } } @@ -5585,6 +5977,34 @@ class ScaleInInstancesResponse extends AbstractModel { } } +/** + * DescribeAutoScalingAdvices请求参数结构体 + * @class + */ +class DescribeAutoScalingAdvicesRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 待查询的伸缩组列表,上限100。 + * @type {Array. || null} + */ + this.AutoScalingGroupIds = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.AutoScalingGroupIds = 'AutoScalingGroupIds' in params ? params.AutoScalingGroupIds : null; + + } +} + /** * DeleteNotificationConfiguration请求参数结构体 * @class @@ -5683,21 +6103,23 @@ class NotificationTarget extends AbstractModel { super(); /** - * 目标类型,取值范围包括`CMQ_QUEUE`、`CMQ_TOPIC`。 + * 目标类型,取值范围包括`CMQ_QUEUE`、`CMQ_TOPIC`、`TDMQ_CMQ_QUEUE`、`TDMQ_CMQ_TOPIC`。
  • CMQ_QUEUE,指腾讯云消息队列-队列模型。
  • CMQ_TOPIC,指腾讯云消息队列-主题模型。
  • +
  • TDMQ_CMQ_QUEUE,指腾讯云 TDMQ 消息队列-队列模型。
  • +
  • TDMQ_CMQ_TOPIC,指腾讯云 TDMQ 消息队列-主题模型。
  • * @type {string || null} */ this.TargetType = null; /** - * 队列名称,如果`TargetType`取值为`CMQ_QUEUE`,则本字段必填。 + * 队列名称,如果`TargetType`取值为`CMQ_QUEUE` 或 `TDMQ_CMQ_QUEUE`,则本字段必填。 * @type {string || null} */ this.QueueName = null; /** - * 主题名称,如果`TargetType`取值为`CMQ_TOPIC`,则本字段必填。 + * 主题名称,如果`TargetType`取值为`CMQ_TOPIC` 或 `TDMQ_CMQ_TOPIC`,则本字段必填。 * @type {string || null} */ this.TopicName = null; @@ -5718,6 +6140,49 @@ class NotificationTarget extends AbstractModel { } } +/** + * ModifyLoadBalancerTargetAttributes请求参数结构体 + * @class + */ +class ModifyLoadBalancerTargetAttributesRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 伸缩组ID + * @type {string || null} + */ + this.AutoScalingGroupId = null; + + /** + * 需修改目标规则属性的应用型负载均衡器列表,列表长度上限为50 + * @type {Array. || null} + */ + this.ForwardLoadBalancers = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.AutoScalingGroupId = 'AutoScalingGroupId' in params ? params.AutoScalingGroupId : null; + + if (params.ForwardLoadBalancers) { + this.ForwardLoadBalancers = new Array(); + for (let z in params.ForwardLoadBalancers) { + let obj = new ForwardLoadBalancer(); + obj.deserialize(params.ForwardLoadBalancers[z]); + this.ForwardLoadBalancers.push(obj); + } + } + + } +} + /** * DeleteAutoScalingGroup返回参数结构体 * @class @@ -6166,43 +6631,100 @@ class ForwardLoadBalancer extends AbstractModel { if (!params) { return; } - this.LoadBalancerId = 'LoadBalancerId' in params ? params.LoadBalancerId : null; - this.ListenerId = 'ListenerId' in params ? params.ListenerId : null; - - if (params.TargetAttributes) { - this.TargetAttributes = new Array(); - for (let z in params.TargetAttributes) { - let obj = new TargetAttribute(); - obj.deserialize(params.TargetAttributes[z]); - this.TargetAttributes.push(obj); - } - } - this.LocationId = 'LocationId' in params ? params.LocationId : null; - this.Region = 'Region' in params ? params.Region : null; + this.LoadBalancerId = 'LoadBalancerId' in params ? params.LoadBalancerId : null; + this.ListenerId = 'ListenerId' in params ? params.ListenerId : null; + + if (params.TargetAttributes) { + this.TargetAttributes = new Array(); + for (let z in params.TargetAttributes) { + let obj = new TargetAttribute(); + obj.deserialize(params.TargetAttributes[z]); + this.TargetAttributes.push(obj); + } + } + this.LocationId = 'LocationId' in params ? params.LocationId : null; + this.Region = 'Region' in params ? params.Region : null; + + } +} + +/** + * ClearLaunchConfigurationAttributes请求参数结构体 + * @class + */ +class ClearLaunchConfigurationAttributesRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 启动配置ID。 + * @type {string || null} + */ + this.LaunchConfigurationId = null; + + /** + * 是否清空数据盘信息,非必填,默认为 false。 +填 true 代表清空“数据盘”信息,清空后基于此新创建的云主机将不含有任何数据盘。 + * @type {boolean || null} + */ + this.ClearDataDisks = null; + + /** + * 是否清空云服务器主机名相关设置信息,非必填,默认为 false。 +填 true 代表清空主机名设置信息,清空后基于此新创建的云主机将不设置主机名。 + * @type {boolean || null} + */ + this.ClearHostNameSettings = null; + + /** + * 是否清空云服务器实例名相关设置信息,非必填,默认为 false。 +填 true 代表清空主机名设置信息,清空后基于此新创建的云主机将按照“as-{{ 伸缩组AutoScalingGroupName }}”进行设置。 + * @type {boolean || null} + */ + this.ClearInstanceNameSettings = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.LaunchConfigurationId = 'LaunchConfigurationId' in params ? params.LaunchConfigurationId : null; + this.ClearDataDisks = 'ClearDataDisks' in params ? params.ClearDataDisks : null; + this.ClearHostNameSettings = 'ClearHostNameSettings' in params ? params.ClearHostNameSettings : null; + this.ClearInstanceNameSettings = 'ClearInstanceNameSettings' in params ? params.ClearInstanceNameSettings : null; } } /** - * ClearLaunchConfigurationAttributes请求参数结构体 + * 应用型负载均衡器标识信息 * @class */ -class ClearLaunchConfigurationAttributesRequest extends AbstractModel { +class ForwardLoadBalancerIdentification extends AbstractModel { constructor(){ super(); /** - * 启动配置ID。 + * 负载均衡器ID * @type {string || null} */ - this.LaunchConfigurationId = null; + this.LoadBalancerId = null; /** - * 是否清空数据盘信息,非必填,默认为 false。 -填 true 代表清空“数据盘”信息,清空后基于此新创建的云主机将不含有任何数据盘。 - * @type {boolean || null} + * 应用型负载均衡监听器 ID + * @type {string || null} */ - this.ClearDataDisks = null; + this.ListenerId = null; + + /** + * 转发规则ID,注意:针对七层监听器此参数必填 + * @type {string || null} + */ + this.LocationId = null; } @@ -6213,31 +6735,41 @@ class ClearLaunchConfigurationAttributesRequest extends AbstractModel { if (!params) { return; } - this.LaunchConfigurationId = 'LaunchConfigurationId' in params ? params.LaunchConfigurationId : null; - this.ClearDataDisks = 'ClearDataDisks' in params ? params.ClearDataDisks : null; + this.LoadBalancerId = 'LoadBalancerId' in params ? params.LoadBalancerId : null; + this.ListenerId = 'ListenerId' in params ? params.ListenerId : null; + this.LocationId = 'LocationId' in params ? params.LocationId : null; } } /** - * PreviewPaiDomainName返回参数结构体 + * 伸缩组配置建议。 * @class */ -class PreviewPaiDomainNameResponse extends AbstractModel { +class AutoScalingAdvice extends AbstractModel { constructor(){ super(); /** - * 可用的PAI域名 + * 伸缩组ID。 * @type {string || null} */ - this.DomainName = null; + this.AutoScalingGroupId = null; /** - * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * 伸缩组警告级别。取值范围:
    +
  • NORMAL:正常
    +
  • WARNING:警告级别
    +
  • CRITICAL:严重级别
    * @type {string || null} */ - this.RequestId = null; + this.Level = null; + + /** + * 伸缩组配置建议集合。 + * @type {Array. || null} + */ + this.Advices = null; } @@ -6248,17 +6780,26 @@ class PreviewPaiDomainNameResponse extends AbstractModel { if (!params) { return; } - this.DomainName = 'DomainName' in params ? params.DomainName : null; - this.RequestId = 'RequestId' in params ? params.RequestId : null; + this.AutoScalingGroupId = 'AutoScalingGroupId' in params ? params.AutoScalingGroupId : null; + this.Level = 'Level' in params ? params.Level : null; + + if (params.Advices) { + this.Advices = new Array(); + for (let z in params.Advices) { + let obj = new Advice(); + obj.deserialize(params.Advices[z]); + this.Advices.push(obj); + } + } } } /** - * DeleteAutoScalingGroup请求参数结构体 + * StartAutoScalingInstances请求参数结构体 * @class */ -class DeleteAutoScalingGroupRequest extends AbstractModel { +class StartAutoScalingInstancesRequest extends AbstractModel { constructor(){ super(); @@ -6268,6 +6809,12 @@ class DeleteAutoScalingGroupRequest extends AbstractModel { */ this.AutoScalingGroupId = null; + /** + * 待开启的CVM实例ID列表 + * @type {Array. || null} + */ + this.InstanceIds = null; + } /** @@ -6278,15 +6825,16 @@ class DeleteAutoScalingGroupRequest extends AbstractModel { return; } this.AutoScalingGroupId = 'AutoScalingGroupId' in params ? params.AutoScalingGroupId : null; + this.InstanceIds = 'InstanceIds' in params ? params.InstanceIds : null; } } /** - * RemoveInstances请求参数结构体 + * AttachInstances请求参数结构体 * @class */ -class RemoveInstancesRequest extends AbstractModel { +class AttachInstancesRequest extends AbstractModel { constructor(){ super(); @@ -6318,10 +6866,10 @@ class RemoveInstancesRequest extends AbstractModel { } /** - * StartAutoScalingInstances请求参数结构体 + * AttachLoadBalancers请求参数结构体 * @class */ -class StartAutoScalingInstancesRequest extends AbstractModel { +class AttachLoadBalancersRequest extends AbstractModel { constructor(){ super(); @@ -6332,10 +6880,16 @@ class StartAutoScalingInstancesRequest extends AbstractModel { this.AutoScalingGroupId = null; /** - * 待开启的CVM实例ID列表 + * 传统型负载均衡器ID列表,每个伸缩组绑定传统型负载均衡器数量上限为20,LoadBalancerIds 和 ForwardLoadBalancers 二者同时最多只能指定一个 * @type {Array. || null} */ - this.InstanceIds = null; + this.LoadBalancerIds = null; + + /** + * 应用型负载均衡器列表,每个伸缩组绑定应用型负载均衡器数量上限为50,LoadBalancerIds 和 ForwardLoadBalancers 二者同时最多只能指定一个 + * @type {Array. || null} + */ + this.ForwardLoadBalancers = null; } @@ -6347,30 +6901,62 @@ class StartAutoScalingInstancesRequest extends AbstractModel { return; } this.AutoScalingGroupId = 'AutoScalingGroupId' in params ? params.AutoScalingGroupId : null; - this.InstanceIds = 'InstanceIds' in params ? params.InstanceIds : null; + this.LoadBalancerIds = 'LoadBalancerIds' in params ? params.LoadBalancerIds : null; + + if (params.ForwardLoadBalancers) { + this.ForwardLoadBalancers = new Array(); + for (let z in params.ForwardLoadBalancers) { + let obj = new ForwardLoadBalancer(); + obj.deserialize(params.ForwardLoadBalancers[z]); + this.ForwardLoadBalancers.push(obj); + } + } } } /** - * AttachInstances请求参数结构体 + * 竞价混合模式下,各计费类型实例的分配策略。包括按量计费实例和竞价计费实例。 * @class */ -class AttachInstancesRequest extends AbstractModel { +class SpotMixedAllocationPolicy extends AbstractModel { constructor(){ super(); /** - * 伸缩组ID + * 混合模式下,基础容量的大小,基础容量部分固定为按量计费实例。默认值 0,最大不可超过伸缩组的最大实例数。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {number || null} + */ + this.BaseCapacity = null; + + /** + * 超出基础容量部分,按量计费实例所占的比例。取值范围 [0, 100],0 代表超出基础容量的部分仅生产竞价实例,100 代表仅生产按量实例,默认值为 70。按百分比计算按量实例数时,向上取整。 +比如,总期望实例数取 3,基础容量取 1,超基础部分按量百分比取 1,则最终按量 2 台(1 台来自基础容量,1 台按百分比向上取整得到),竞价 1台。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {number || null} + */ + this.OnDemandPercentageAboveBaseCapacity = null; + + /** + * 混合模式下,竞价实例的分配策略。取值包括 COST_OPTIMIZED 和 CAPACITY_OPTIMIZED,默认取 COST_OPTIMIZED。 +
  • COST_OPTIMIZED,成本优化策略。对于启动配置内的所有机型,按照各机型在各可用区的每核单价由小到大依次尝试。优先尝试购买每核单价最便宜的,如果购买失败则尝试购买次便宜的,以此类推。 +
  • CAPACITY_OPTIMIZED,容量优化策略。对于启动配置内的所有机型,按照各机型在各可用区的库存情况由大到小依次尝试。优先尝试购买剩余库存最大的机型,这样可尽量降低竞价实例被动回收的发生概率。 +注意:此字段可能返回 null,表示取不到有效值。 * @type {string || null} */ - this.AutoScalingGroupId = null; + this.SpotAllocationStrategy = null; /** - * CVM实例ID列表 - * @type {Array. || null} + * 按量实例替补功能。取值范围: +
  • TRUE,开启该功能,当所有竞价机型因库存不足等原因全部购买失败后,尝试购买按量实例。 +
  • FALSE,不开启该功能,伸缩组在需要扩容竞价实例时仅尝试所配置的竞价机型。 + +默认取值: TRUE。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {boolean || null} */ - this.InstanceIds = null; + this.CompensateWithBaseInstance = null; } @@ -6381,8 +6967,10 @@ class AttachInstancesRequest extends AbstractModel { if (!params) { return; } - this.AutoScalingGroupId = 'AutoScalingGroupId' in params ? params.AutoScalingGroupId : null; - this.InstanceIds = 'InstanceIds' in params ? params.InstanceIds : null; + this.BaseCapacity = 'BaseCapacity' in params ? params.BaseCapacity : null; + this.OnDemandPercentageAboveBaseCapacity = 'OnDemandPercentageAboveBaseCapacity' in params ? params.OnDemandPercentageAboveBaseCapacity : null; + this.SpotAllocationStrategy = 'SpotAllocationStrategy' in params ? params.SpotAllocationStrategy : null; + this.CompensateWithBaseInstance = 'CompensateWithBaseInstance' in params ? params.CompensateWithBaseInstance : null; } } @@ -6532,6 +7120,12 @@ class Activity extends AbstractModel { */ this.LifecycleActionResultSet = null; + /** + * 伸缩活动状态详细描述。 + * @type {Array. || null} + */ + this.DetailedStatusMessageSet = null; + } /** @@ -6571,6 +7165,15 @@ class Activity extends AbstractModel { } } + if (params.DetailedStatusMessageSet) { + this.DetailedStatusMessageSet = new Array(); + for (let z in params.DetailedStatusMessageSet) { + let obj = new DetailedStatusMessage(); + obj.deserialize(params.DetailedStatusMessageSet[z]); + this.DetailedStatusMessageSet.push(obj); + } + } + } } @@ -6677,18 +7280,48 @@ class RunMonitorServiceEnabled extends AbstractModel { } /** - * DeleteLifecycleHook返回参数结构体 + * ModifyNotificationConfiguration请求参数结构体 * @class */ -class DeleteLifecycleHookResponse extends AbstractModel { +class ModifyNotificationConfigurationRequest extends AbstractModel { constructor(){ super(); /** - * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * 待修改的通知ID。 * @type {string || null} */ - this.RequestId = null; + this.AutoScalingNotificationId = null; + + /** + * 通知类型,即为需要订阅的通知类型集合,取值范围如下: +
  • SCALE_OUT_SUCCESSFUL:扩容成功
  • +
  • SCALE_OUT_FAILED:扩容失败
  • +
  • SCALE_IN_SUCCESSFUL:缩容成功
  • +
  • SCALE_IN_FAILED:缩容失败
  • +
  • REPLACE_UNHEALTHY_INSTANCE_SUCCESSFUL:替换不健康子机成功
  • +
  • REPLACE_UNHEALTHY_INSTANCE_FAILED:替换不健康子机失败
  • + * @type {Array. || null} + */ + this.NotificationTypes = null; + + /** + * 通知组ID,即为用户组ID集合,用户组ID可以通过[ListGroups](https://cloud.tencent.com/document/product/598/34589)查询。 + * @type {Array. || null} + */ + this.NotificationUserGroupIds = null; + + /** + * CMQ 队列或 TDMQ CMQ 队列名。 + * @type {string || null} + */ + this.QueueName = null; + + /** + * CMQ 主题或 TDMQ CMQ 主题名。 + * @type {string || null} + */ + this.TopicName = null; } @@ -6699,7 +7332,11 @@ class DeleteLifecycleHookResponse extends AbstractModel { if (!params) { return; } - this.RequestId = 'RequestId' in params ? params.RequestId : null; + this.AutoScalingNotificationId = 'AutoScalingNotificationId' in params ? params.AutoScalingNotificationId : null; + this.NotificationTypes = 'NotificationTypes' in params ? params.NotificationTypes : null; + this.NotificationUserGroupIds = 'NotificationUserGroupIds' in params ? params.NotificationUserGroupIds : null; + this.QueueName = 'QueueName' in params ? params.QueueName : null; + this.TopicName = 'TopicName' in params ? params.TopicName : null; } } @@ -6743,6 +7380,69 @@ class ActivtyRelatedInstance extends AbstractModel { } } +/** + * CreateAutoScalingGroupFromInstance请求参数结构体 + * @class + */ +class CreateAutoScalingGroupFromInstanceRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 伸缩组名称,在您账号中必须唯一。名称仅支持中文、英文、数字、下划线、分隔符"-"、小数点,最大长度不能超55个字节。 + * @type {string || null} + */ + this.AutoScalingGroupName = null; + + /** + * 实例ID + * @type {string || null} + */ + this.InstanceId = null; + + /** + * 最小实例数,取值范围为0-2000。 + * @type {number || null} + */ + this.MinSize = null; + + /** + * 最大实例数,取值范围为0-2000。 + * @type {number || null} + */ + this.MaxSize = null; + + /** + * 期望实例数,大小介于最小实例数和最大实例数之间。 + * @type {number || null} + */ + this.DesiredCapacity = null; + + /** + * 是否继承实例标签,默认值为False + * @type {boolean || null} + */ + this.InheritInstanceTag = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.AutoScalingGroupName = 'AutoScalingGroupName' in params ? params.AutoScalingGroupName : null; + this.InstanceId = 'InstanceId' in params ? params.InstanceId : null; + this.MinSize = 'MinSize' in params ? params.MinSize : null; + this.MaxSize = 'MaxSize' in params ? params.MaxSize : null; + this.DesiredCapacity = 'DesiredCapacity' in params ? params.DesiredCapacity : null; + this.InheritInstanceTag = 'InheritInstanceTag' in params ? params.InheritInstanceTag : null; + + } +} + /** * 描述了启动配置创建实例的公网可访问性,声明了实例的公网使用计费模式,最大带宽等 * @class @@ -6888,25 +7588,13 @@ class InstanceChargePrepaid extends AbstractModel { } /** - * DescribePaiInstances返回参数结构体 + * DeleteLifecycleHook返回参数结构体 * @class */ -class DescribePaiInstancesResponse extends AbstractModel { +class DeleteLifecycleHookResponse extends AbstractModel { constructor(){ super(); - /** - * 符合条件的PAI实例数量 - * @type {number || null} - */ - this.TotalCount = null; - - /** - * PAI实例详细信息 - * @type {Array. || null} - */ - this.PaiInstanceSet = null; - /** * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 * @type {string || null} @@ -6922,16 +7610,6 @@ class DescribePaiInstancesResponse extends AbstractModel { if (!params) { return; } - this.TotalCount = 'TotalCount' in params ? params.TotalCount : null; - - if (params.PaiInstanceSet) { - this.PaiInstanceSet = new Array(); - for (let z in params.PaiInstanceSet) { - let obj = new PaiInstance(); - obj.deserialize(params.PaiInstanceSet[z]); - this.PaiInstanceSet.push(obj); - } - } this.RequestId = 'RequestId' in params ? params.RequestId : null; } @@ -6988,74 +7666,77 @@ module.exports = { AutoScalingNotification: AutoScalingNotification, ModifyScheduledActionRequest: ModifyScheduledActionRequest, DescribeAutoScalingGroupsRequest: DescribeAutoScalingGroupsRequest, - CreateAutoScalingGroupResponse: CreateAutoScalingGroupResponse, + LaunchConfiguration: LaunchConfiguration, DescribeAccountLimitsResponse: DescribeAccountLimitsResponse, - CreatePaiInstanceResponse: CreatePaiInstanceResponse, CreateLaunchConfigurationResponse: CreateLaunchConfigurationResponse, + Advice: Advice, CreateLifecycleHookResponse: CreateLifecycleHookResponse, ClearLaunchConfigurationAttributesResponse: ClearLaunchConfigurationAttributesResponse, DescribeAutoScalingGroupsResponse: DescribeAutoScalingGroupsResponse, - CreatePaiInstanceRequest: CreatePaiInstanceRequest, + CreateScheduledActionRequest: CreateScheduledActionRequest, SystemDisk: SystemDisk, SpotMarketOptions: SpotMarketOptions, StopAutoScalingInstancesResponse: StopAutoScalingInstancesResponse, DescribeScalingPoliciesRequest: DescribeScalingPoliciesRequest, InstanceNameSettings: InstanceNameSettings, + DetailedStatusMessage: DetailedStatusMessage, ModifyScheduledActionResponse: ModifyScheduledActionResponse, - CreateAutoScalingGroupFromInstanceRequest: CreateAutoScalingGroupFromInstanceRequest, + AttachLoadBalancersResponse: AttachLoadBalancersResponse, ExecuteScalingPolicyResponse: ExecuteScalingPolicyResponse, - ModifyLaunchConfigurationAttributesResponse: ModifyLaunchConfigurationAttributesResponse, + DeleteAutoScalingGroupRequest: DeleteAutoScalingGroupRequest, SetInstancesProtectionResponse: SetInstancesProtectionResponse, StartAutoScalingInstancesResponse: StartAutoScalingInstancesResponse, CompleteLifecycleActionRequest: CompleteLifecycleActionRequest, CreateScalingPolicyResponse: CreateScalingPolicyResponse, CreateNotificationConfigurationResponse: CreateNotificationConfigurationResponse, DescribeLaunchConfigurationsResponse: DescribeLaunchConfigurationsResponse, + RemoveInstancesRequest: RemoveInstancesRequest, DeleteScalingPolicyResponse: DeleteScalingPolicyResponse, Tag: Tag, + DetachLoadBalancersRequest: DetachLoadBalancersRequest, DescribeAutoScalingInstancesRequest: DescribeAutoScalingInstancesRequest, - LimitedLoginSettings: LimitedLoginSettings, ModifyLoadBalancersRequest: ModifyLoadBalancersRequest, RemoveInstancesResponse: RemoveInstancesResponse, ModifyScalingPolicyResponse: ModifyScalingPolicyResponse, SetInstancesProtectionRequest: SetInstancesProtectionRequest, DeleteNotificationConfigurationResponse: DeleteNotificationConfigurationResponse, DetachInstancesResponse: DetachInstancesResponse, + ModifyLaunchConfigurationAttributesResponse: ModifyLaunchConfigurationAttributesResponse, CreateLaunchConfigurationRequest: CreateLaunchConfigurationRequest, AutoScalingGroup: AutoScalingGroup, AttachInstancesResponse: AttachInstancesResponse, DescribeAutoScalingGroupLastActivitiesResponse: DescribeAutoScalingGroupLastActivitiesResponse, DescribeAccountLimitsRequest: DescribeAccountLimitsRequest, UpgradeLifecycleHookRequest: UpgradeLifecycleHookRequest, + DetachLoadBalancersResponse: DetachLoadBalancersResponse, ScalingPolicy: ScalingPolicy, DescribeAutoScalingGroupLastActivitiesRequest: DescribeAutoScalingGroupLastActivitiesRequest, HostNameSettings: HostNameSettings, ModifyLoadBalancersResponse: ModifyLoadBalancersResponse, - DescribePaiInstancesRequest: DescribePaiInstancesRequest, CreateNotificationConfigurationRequest: CreateNotificationConfigurationRequest, DescribeScheduledActionsResponse: DescribeScheduledActionsResponse, - ModifyNotificationConfigurationRequest: ModifyNotificationConfigurationRequest, DeleteLifecycleHookRequest: DeleteLifecycleHookRequest, + ModifyLoadBalancerTargetAttributesResponse: ModifyLoadBalancerTargetAttributesResponse, ModifyAutoScalingGroupResponse: ModifyAutoScalingGroupResponse, DeleteLaunchConfigurationRequest: DeleteLaunchConfigurationRequest, ModifyScalingPolicyRequest: ModifyScalingPolicyRequest, InstanceMarketOptionsRequest: InstanceMarketOptionsRequest, UpgradeLifecycleHookResponse: UpgradeLifecycleHookResponse, InstanceTag: InstanceTag, - PaiInstance: PaiInstance, + ModifyLifecycleHookResponse: ModifyLifecycleHookResponse, + DescribeAutoScalingAdvicesResponse: DescribeAutoScalingAdvicesResponse, CreateAutoScalingGroupRequest: CreateAutoScalingGroupRequest, DeleteScheduledActionResponse: DeleteScheduledActionResponse, UpgradeLaunchConfigurationRequest: UpgradeLaunchConfigurationRequest, DescribeAutoScalingActivitiesResponse: DescribeAutoScalingActivitiesResponse, DescribeNotificationConfigurationsResponse: DescribeNotificationConfigurationsResponse, DataDisk: DataDisk, - PreviewPaiDomainNameRequest: PreviewPaiDomainNameRequest, DeleteScalingPolicyRequest: DeleteScalingPolicyRequest, LoginSettings: LoginSettings, CreateAutoScalingGroupFromInstanceResponse: CreateAutoScalingGroupFromInstanceResponse, DetachInstancesRequest: DetachInstancesRequest, Instance: Instance, - CreateScheduledActionRequest: CreateScheduledActionRequest, + DescribeAutoScalingInstancesResponse: DescribeAutoScalingInstancesResponse, EnhancedService: EnhancedService, DeleteLaunchConfigurationResponse: DeleteLaunchConfigurationResponse, DescribeScheduledActionsRequest: DescribeScheduledActionsRequest, @@ -7066,21 +7747,24 @@ module.exports = { CreateScheduledActionResponse: CreateScheduledActionResponse, CreateLifecycleHookRequest: CreateLifecycleHookRequest, ScheduledAction: ScheduledAction, + ModifyLifecycleHookRequest: ModifyLifecycleHookRequest, CompleteLifecycleActionResponse: CompleteLifecycleActionResponse, ScaleOutInstancesResponse: ScaleOutInstancesResponse, Filter: Filter, DescribeLifecycleHooksRequest: DescribeLifecycleHooksRequest, ServiceSettings: ServiceSettings, - LaunchConfiguration: LaunchConfiguration, + CreateAutoScalingGroupResponse: CreateAutoScalingGroupResponse, TargetAttribute: TargetAttribute, ModifyNotificationConfigurationResponse: ModifyNotificationConfigurationResponse, - DescribeAutoScalingInstancesResponse: DescribeAutoScalingInstancesResponse, + LimitedLoginSettings: LimitedLoginSettings, DescribeLifecycleHooksResponse: DescribeLifecycleHooksResponse, CreateScalingPolicyRequest: CreateScalingPolicyRequest, ScaleInInstancesResponse: ScaleInInstancesResponse, + DescribeAutoScalingAdvicesRequest: DescribeAutoScalingAdvicesRequest, DeleteNotificationConfigurationRequest: DeleteNotificationConfigurationRequest, DescribeLaunchConfigurationsRequest: DescribeLaunchConfigurationsRequest, NotificationTarget: NotificationTarget, + ModifyLoadBalancerTargetAttributesRequest: ModifyLoadBalancerTargetAttributesRequest, DeleteAutoScalingGroupResponse: DeleteAutoScalingGroupResponse, LifecycleActionResultInfo: LifecycleActionResultInfo, AutoScalingGroupAbstract: AutoScalingGroupAbstract, @@ -7091,23 +7775,25 @@ module.exports = { LifecycleHook: LifecycleHook, ForwardLoadBalancer: ForwardLoadBalancer, ClearLaunchConfigurationAttributesRequest: ClearLaunchConfigurationAttributesRequest, - PreviewPaiDomainNameResponse: PreviewPaiDomainNameResponse, - DeleteAutoScalingGroupRequest: DeleteAutoScalingGroupRequest, - RemoveInstancesRequest: RemoveInstancesRequest, + ForwardLoadBalancerIdentification: ForwardLoadBalancerIdentification, + AutoScalingAdvice: AutoScalingAdvice, StartAutoScalingInstancesRequest: StartAutoScalingInstancesRequest, AttachInstancesRequest: AttachInstancesRequest, + AttachLoadBalancersRequest: AttachLoadBalancersRequest, + SpotMixedAllocationPolicy: SpotMixedAllocationPolicy, DescribeScalingPoliciesResponse: DescribeScalingPoliciesResponse, Activity: Activity, ModifyDesiredCapacityResponse: ModifyDesiredCapacityResponse, StopAutoScalingInstancesRequest: StopAutoScalingInstancesRequest, RunMonitorServiceEnabled: RunMonitorServiceEnabled, - DeleteLifecycleHookResponse: DeleteLifecycleHookResponse, + ModifyNotificationConfigurationRequest: ModifyNotificationConfigurationRequest, ActivtyRelatedInstance: ActivtyRelatedInstance, + CreateAutoScalingGroupFromInstanceRequest: CreateAutoScalingGroupFromInstanceRequest, InternetAccessible: InternetAccessible, EnableAutoScalingGroupResponse: EnableAutoScalingGroupResponse, UpgradeLaunchConfigurationResponse: UpgradeLaunchConfigurationResponse, InstanceChargePrepaid: InstanceChargePrepaid, - DescribePaiInstancesResponse: DescribePaiInstancesResponse, + DeleteLifecycleHookResponse: DeleteLifecycleHookResponse, ExecuteScalingPolicyRequest: ExecuteScalingPolicyRequest, } diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/asr/v20190614/asr_client.js b/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/asr/v20190614/asr_client.js index 535e153db6..7033e0705a 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/asr/v20190614/asr_client.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/asr/v20190614/asr_client.js @@ -111,17 +111,17 @@ class AsrClient extends AbstractClient { /** * 本接口服务对时长5小时以内的录音文件进行识别,异步返回识别全部结果。 -
    • 支持中文普通话、英语、粤语、日语、泰语 -
    • 支持通用、音视频领域 -
    • 支持wav、mp3、m4a、flv、mp4、wma、3gp、amr、aac、ogg-opus、flac格式 -
    • 支持语音 URL 和本地语音文件两种请求方式 -
    • 语音 URL 的音频时长不能长于5小时,文件大小不超过512MB -
    • 本地语音文件不能大于5MB -
    • 提交录音文件识别请求后,在5小时内完成识别(半小时内发送超过1000小时录音或者2万条识别任务的除外),识别结果在服务端可保存7天 -
    • 支持回调或轮询的方式获取结果,结果获取请参考[ 录音文件识别结果查询](https://cloud.tencent.com/document/product/1093/37822)。 -
    • 请求方法为 HTTP POST , Content-Type为"application/json; charset=utf-8" -
    • 签名方法参考 [公共参数](https://cloud.tencent.com/document/api/1093/35640) 中签名方法v3。 -
    • 默认接口请求频率限制:20次/秒,如您有提高请求频率限制的需求,请提[工单](https://console.cloud.tencent.com/workorder/category)进行咨询。 +• 支持中文普通话、英语、粤语、日语、上海话、四川话、武汉话、贵阳话、昆明话、西安话、郑州话、太原话、兰州话、银川话、西宁话、南京话、合肥话、南昌话、长沙话、苏州话、杭州话、济南话、天津话、石家庄话、黑龙江话、吉林话、辽宁话。 +• 支持通用、音视频领域 +• 支持wav、mp3、m4a、flv、mp4、wma、3gp、amr、aac、ogg-opus、flac格式 +• 支持语音 URL 和本地语音文件两种请求方式 +• 语音 URL 的音频时长不能长于5小时,文件大小不超过512MB +• 本地语音文件不能大于5MB +• 提交录音文件识别请求后,在3小时内完成识别(大多数情况下1小时音频约3分钟以内完成识别,半小时内发送超过1000小时录音或者2万条识别任务的除外),识别结果在服务端可保存7天 +• 支持回调或轮询的方式获取结果,结果获取请参考[ 录音文件识别结果查询](https://cloud.tencent.com/document/product/1093/37822)。 +• 请求方法为 HTTP POST , Content-Type为"application/json; charset=utf-8" +• 签名方法参考 [公共参数](https://cloud.tencent.com/document/api/1093/35640) 中签名方法v3。 +• 默认接口请求频率限制:20次/秒,如您有提高请求频率限制的需求,请提[工单](https://console.cloud.tencent.com/workorder/category)进行咨询。 * @param {CreateRecTaskRequest} req * @param {function(string, CreateRecTaskResponse):void} cb * @public @@ -291,14 +291,7 @@ class AsrClient extends AbstractClient { } /** - * 本接口用于对60秒之内的短音频文件进行识别。 -
    • 支持中文普通话、英语、粤语、日语、上海话方言。 -
    • 支持本地语音文件上传和语音URL上传两种请求方式,音频时长不能超过60s。 -
    • 音频格式支持wav、mp3;采样率支持8000Hz或者16000Hz;采样精度支持16bits;声道支持单声道。 -
    • 当音频文件通过请求中body内容上传时,请求大小不能超过3MB。 -
    • 请求方法为 HTTP POST , Content-Type为"application/json; charset=utf-8" -
    • 签名方法参考 [公共参数](https://cloud.tencent.com/document/api/1093/35640) 中签名方法v3。 -
    • 默认接口请求频率限制:25次/秒,如您有提高请求频率限制的需求,请提[工单](https://console.cloud.tencent.com/workorder/category)进行咨询。 + * 本接口用于对60秒之内的短音频文件进行识别。
    • 支持中文普通话、英语、粤语、日语、上海话、四川话、武汉话、贵阳话、昆明话、西安话、郑州话、太原话、兰州话、银川话、西宁话、南京话、合肥话、南昌话、长沙话、苏州话、杭州话、济南话、天津话、石家庄话、黑龙江话、吉林话、辽宁话。
    • 支持本地语音文件上传和语音URL上传两种请求方式,音频时长不能超过60s,音频文件大小不能超过3MB。
    • 音频格式支持wav、pcm、ogg-opus、speex、silk、mp3、m4a、aac;采样率建议8000Hz或者16000Hz;采样精度建议16bits;声道支持单声道。
    • 请求方法为 HTTP POST , Content-Type为"application/json; charset=utf-8"
    • 签名方法参考 [公共参数](https://cloud.tencent.com/document/api/1093/35640) 中签名方法v3。
    • 默认接口请求频率限制:25次/秒,如您有提高请求频率限制的需求,请提[工单](https://console.cloud.tencent.com/workorder/category)进行咨询。 * @param {SentenceRecognitionRequest} req * @param {function(string, SentenceRecognitionResponse):void} cb * @public diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/asr/v20190614/models.js b/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/asr/v20190614/models.js index 43e23cf921..fd8764571b 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/asr/v20190614/models.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/asr/v20190614/models.js @@ -299,6 +299,12 @@ class CreateAsyncRecognitionTaskRequest extends AbstractModel { */ this.HotwordId = null; + /** + * 回调数据中,是否需要对应音频数据。 + * @type {boolean || null} + */ + this.AudioData = null; + } /** @@ -318,6 +324,7 @@ class CreateAsyncRecognitionTaskRequest extends AbstractModel { this.ConvertNumMode = 'ConvertNumMode' in params ? params.ConvertNumMode : null; this.WordInfo = 'WordInfo' in params ? params.WordInfo : null; this.HotwordId = 'HotwordId' in params ? params.HotwordId : null; + this.AudioData = 'AudioData' in params ? params.AudioData : null; } } @@ -455,8 +462,8 @@ class SentenceRecognitionRequest extends AbstractModel { • 16k_en:16k 英语; • 16k_ca:16k 粤语; • 16k_ja:16k 日语; -•16k_wuu-SH:16k 上海话方言; -•16k_zh_medical:16k 医疗。 +• 16k_zh_medical:16k 医疗; +• 16k_zh_dialect:多方言。 * @type {string || null} */ this.EngSerViceType = null; @@ -468,7 +475,7 @@ class SentenceRecognitionRequest extends AbstractModel { this.SourceType = null; /** - * 识别音频的音频格式。mp3、wav。 + * 识别音频的音频格式,支持wav、pcm、ogg-opus、speex、silk、mp3、m4a、aac。 * @type {string || null} */ this.VoiceFormat = null; @@ -480,13 +487,13 @@ class SentenceRecognitionRequest extends AbstractModel { this.UsrAudioKey = null; /** - * 语音 URL,公网可下载。当 SourceType 值为 0(语音 URL上传) 时须填写该字段,为 1 时不填;URL 的长度大于 0,小于 2048,需进行urlencode编码。音频时间长度要小于60s。 + * 语音 URL,公网可下载。当 SourceType 值为 0(语音 URL上传) 时须填写该字段,为 1 时不填;URL 的长度大于 0,小于 2048,需进行urlencode编码。音频时长不能超过60s,音频文件大小不能超过3MB。 * @type {string || null} */ this.Url = null; /** - * 语音数据,当SourceType 值为1(本地语音数据上传)时必须填写,当SourceType 值为0(语音 URL上传)可不写。要使用base64编码(采用python语言时注意读取文件应该为string而不是byte,以byte格式读取后要decode()。编码后的数据不可带有回车换行符)。数据长度要小于3MB(Base64后)。 + * 语音数据,当SourceType 值为1(本地语音数据上传)时必须填写,当SourceType 值为0(语音 URL上传)可不写。要使用base64编码(采用python语言时注意读取文件应该为string而不是byte,以byte格式读取后要decode()。编码后的数据不可带有回车换行符)。音频时长不能超过60s,音频文件大小不能超过3MB(Base64后)。 * @type {string || null} */ this.Data = null; @@ -528,7 +535,7 @@ class SentenceRecognitionRequest extends AbstractModel { this.ConvertNumMode = null; /** - * 是否显示词级别时间戳。0:不显示;1:显示,不包含标点时间戳,2:显示,包含标点时间戳。支持引擎8k_zh,16k_zh,16k_en,16k_ca,16k_ja,16k_wuu-SH。默认值为 0。 + * 是否显示词级别时间戳。0:不显示;1:显示,不包含标点时间戳,2:显示,包含标点时间戳。默认值为 0。 * @type {number || null} */ this.WordInfo = null; @@ -916,12 +923,14 @@ class CreateRecTaskRequest extends AbstractModel { • 16k_en_edu 英文教育; • 16k_zh_medical 医疗; • 16k_th 泰语; +• 16k_wuu-SH:16k 上海话方言; +• 16k_zh_dialect:多方言。 * @type {string || null} */ this.EngineModelType = null; /** - * 识别声道数。1:单声道;2:双声道(仅支持 8k_zh 引擎模)。注意:录音识别会自动将音频转码为填写的识别声道数 + * 识别声道数。1:单声道(非电话场景,直接选择单声道即可,忽略音频声道数);2:双声道(仅支持8k_zh电话场景,双声道应分别对应通话双方)。注意:双声道的电话音频已物理分离说话人,无需再开启说话人分离功能。 * @type {number || null} */ this.ChannelNum = null; @@ -939,7 +948,8 @@ class CreateRecTaskRequest extends AbstractModel { this.SourceType = null; /** - * 是否开启说话人分离,0:不开启,1:开启(仅支持8k_zh,16k_zh,16k_zh_video引擎模型,单声道音频),默认值为 0。 + * 是否开启说话人分离,0:不开启,1:开启(仅支持8k_zh,16k_zh,16k_zh_video,单声道音频),默认值为 0。 +注意:8k电话场景建议使用双声道来区分通话双方,设置ChannelNum=2即可,不用开启说话人分离。 * @type {number || null} */ this.SpeakerDiarization = null; @@ -964,7 +974,7 @@ class CreateRecTaskRequest extends AbstractModel { this.Url = null; /** - * 语音数据,当SourceType 值为1时必须填写,为0可不写。要base64编码(采用python语言时注意读取文件应该为string而不是byte,以byte格式读取后要decode()。编码后的数据不可带有回车换行符)。音频数据要小于5MB。 + * 语音数据base64编码,当SourceType 值为1时必须填写,为0可不写。音频数据要小于5MB。 * @type {string || null} */ this.Data = null; @@ -976,10 +986,10 @@ class CreateRecTaskRequest extends AbstractModel { this.DataLen = null; /** - * 热词id。用于调用对应的热词表,如果在调用语音识别服务时,不进行单独的热词id设置,自动生效默认热词;如果进行了单独的热词id设置,那么将生效单独设置的热词id。 - * @type {string || null} + * 是否进行阿拉伯数字智能转换(目前支持中文普通话引擎)。0:不转换,直接输出中文数字,1:根据场景智能转换为阿拉伯数字,3: 打开数学相关数字转换。默认值为 1。 + * @type {number || null} */ - this.HotwordId = null; + this.ConvertNumMode = null; /** * 是否过滤脏词(目前支持中文普通话引擎)。0:不过滤脏词;1:过滤脏词;2:将脏词替换为 * 。默认值为 0。 @@ -988,16 +998,16 @@ class CreateRecTaskRequest extends AbstractModel { this.FilterDirty = null; /** - * 是否过滤语气词(目前支持中文普通话引擎)。0:不过滤语气词;1:部分过滤;2:严格过滤 。默认值为 0。 - * @type {number || null} + * 热词表id。如不设置该参数,自动生效默认热词表;如果设置了该参数,那么将生效对应的热词表。 + * @type {string || null} */ - this.FilterModal = null; + this.HotwordId = null; /** - * 是否进行阿拉伯数字智能转换(目前支持中文普通话引擎)。0:不转换,直接输出中文数字,1:根据场景智能转换为阿拉伯数字,3: 打开数学相关数字转换。默认值为 1。 - * @type {number || null} + * 自学习模型 id。如不设置该参数,自动生效最后一次上线的自学习模型;如果设置了该参数,那么将生效对应的自学习模型。 + * @type {string || null} */ - this.ConvertNumMode = null; + this.CustomizationId = null; /** * 附加参数(该参数无意义,忽略即可) @@ -1011,6 +1021,12 @@ class CreateRecTaskRequest extends AbstractModel { */ this.FilterPunc = null; + /** + * 是否过滤语气词(目前支持中文普通话引擎)。0:不过滤语气词;1:部分过滤;2:严格过滤 。默认值为 0。 + * @type {number || null} + */ + this.FilterModal = null; + } /** @@ -1030,12 +1046,13 @@ class CreateRecTaskRequest extends AbstractModel { this.Url = 'Url' in params ? params.Url : null; this.Data = 'Data' in params ? params.Data : null; this.DataLen = 'DataLen' in params ? params.DataLen : null; - this.HotwordId = 'HotwordId' in params ? params.HotwordId : null; - this.FilterDirty = 'FilterDirty' in params ? params.FilterDirty : null; - this.FilterModal = 'FilterModal' in params ? params.FilterModal : null; this.ConvertNumMode = 'ConvertNumMode' in params ? params.ConvertNumMode : null; + this.FilterDirty = 'FilterDirty' in params ? params.FilterDirty : null; + this.HotwordId = 'HotwordId' in params ? params.HotwordId : null; + this.CustomizationId = 'CustomizationId' in params ? params.CustomizationId : null; this.Extra = 'Extra' in params ? params.Extra : null; this.FilterPunc = 'FilterPunc' in params ? params.FilterPunc : null; + this.FilterModal = 'FilterModal' in params ? params.FilterModal : null; } } @@ -1454,7 +1471,7 @@ class DeleteCustomizationResponse extends AbstractModel { } /** - * 获取录音识别结果结果的返回参数 + * 获取录音识别结果的返回参数 * @class */ class TaskStatus extends AbstractModel { @@ -1498,6 +1515,13 @@ class TaskStatus extends AbstractModel { */ this.ResultDetail = null; + /** + * 音频时长(秒)。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {number || null} + */ + this.AudioDuration = null; + } /** @@ -1521,6 +1545,7 @@ class TaskStatus extends AbstractModel { this.ResultDetail.push(obj); } } + this.AudioDuration = 'AudioDuration' in params ? params.AudioDuration : null; } } @@ -1858,6 +1883,13 @@ class SentenceDetail extends AbstractModel { */ this.SpeechSpeed = null; + /** + * 声道或说话人 Id(请求中如果设置了 speaker_diarization或者ChannelNum为双声道,可区分说话人或声道) +注意:此字段可能返回 null,表示取不到有效值。 + * @type {number || null} + */ + this.SpeakerId = null; + } /** @@ -1882,6 +1914,7 @@ class SentenceDetail extends AbstractModel { } } this.SpeechSpeed = 'SpeechSpeed' in params ? params.SpeechSpeed : null; + this.SpeakerId = 'SpeakerId' in params ? params.SpeakerId : null; } } diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/asw/v20200722/models.js b/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/asw/v20200722/models.js index c32b0fd0c7..c9625cfc2a 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/asw/v20200722/models.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/asw/v20200722/models.js @@ -640,7 +640,7 @@ class StartExecutionRequest extends AbstractModel { this.StateMachineResourceName = null; /** - * 输入参数 + * 输入参数,内容为JsonObject,长度不大于524288字符。 * @type {string || null} */ this.Input = null; diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/ba/v20200720/ba_client.js b/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/ba/v20200720/ba_client.js index 79fcbbb284..40a2570eae 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/ba/v20200720/ba_client.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/ba/v20200720/ba_client.js @@ -16,8 +16,12 @@ */ const models = require("./models"); const AbstractClient = require('../../common/abstract_client') +const DescribeGetAuthInfoResponse = models.DescribeGetAuthInfoResponse; +const SyncIcpOrderWebInfoResponse = models.SyncIcpOrderWebInfoResponse; +const SyncIcpOrderWebInfoRequest = models.SyncIcpOrderWebInfoRequest; const CreateWeappQRUrlRequest = models.CreateWeappQRUrlRequest; const CreateWeappQRUrlResponse = models.CreateWeappQRUrlResponse; +const DescribeGetAuthInfoRequest = models.DescribeGetAuthInfoRequest; /** @@ -30,6 +34,18 @@ class BaClient extends AbstractClient { super("ba.tencentcloudapi.com", "2020-07-20", credential, region, profile); } + /** + * 将备案ICP订单下的一个网站信息 同步给订单下其他网站,需要被同步的网站被检查通过(isCheck:true); +只有指定的网站信息字段能被同步 + * @param {SyncIcpOrderWebInfoRequest} req + * @param {function(string, SyncIcpOrderWebInfoResponse):void} cb + * @public + */ + SyncIcpOrderWebInfo(req, cb) { + let resp = new SyncIcpOrderWebInfoResponse(); + this.request("SyncIcpOrderWebInfo", req, resp, cb); + } + /** * 创建渠道备案小程序二维码 * @param {CreateWeappQRUrlRequest} req @@ -41,6 +57,17 @@ class BaClient extends AbstractClient { this.request("CreateWeappQRUrl", req, resp, cb); } + /** + * 获取实名认证信息 + * @param {DescribeGetAuthInfoRequest} req + * @param {function(string, DescribeGetAuthInfoResponse):void} cb + * @public + */ + DescribeGetAuthInfo(req, cb) { + let resp = new DescribeGetAuthInfoResponse(); + this.request("DescribeGetAuthInfo", req, resp, cb); + } + } module.exports = BaClient; diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/ba/v20200720/models.js b/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/ba/v20200720/models.js index bd7fffb5e1..c68620b0d4 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/ba/v20200720/models.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/ba/v20200720/models.js @@ -16,6 +16,139 @@ */ const AbstractModel = require("../../common/abstract_model"); +/** + * DescribeGetAuthInfo返回参数结构体 + * @class + */ +class DescribeGetAuthInfoResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 实名认证状态:0未实名,1已实名 + * @type {string || null} + */ + this.IsTenPayMasked = null; + + /** + * 实名认证类型:0个人,1企业 + * @type {string || null} + */ + this.IsAuthenticated = null; + + /** + * 认证类型,个人0,企业1 + * @type {string || null} + */ + this.Type = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.IsTenPayMasked = 'IsTenPayMasked' in params ? params.IsTenPayMasked : null; + this.IsAuthenticated = 'IsAuthenticated' in params ? params.IsAuthenticated : null; + this.Type = 'Type' in params ? params.Type : null; + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * SyncIcpOrderWebInfo返回参数结构体 + * @class + */ +class SyncIcpOrderWebInfoResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * SyncIcpOrderWebInfo请求参数结构体 + * @class + */ +class SyncIcpOrderWebInfoRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 备案ICP订单号 + * @type {string || null} + */ + this.IcpOrderId = null; + + /** + * 订单里的webId + * @type {string || null} + */ + this.SourceWebId = null; + + /** + * 订单里的webId 数组(如果传入的webIds含有 订单中不包含的webId,会自动跳过) + * @type {Array. || null} + */ + this.TargetWebIds = null; + + /** + * 网站信息字段名 数组 + * @type {Array. || null} + */ + this.SyncFields = null; + + /** + * 是否先判断同步的网站负责人是否一致 (这里会判断 sitePersonName, sitePersonCerType,sitePersonCerNum三个字段完全一致) 默认:true. 非必要 不建议关闭修改该参数默认值 + * @type {boolean || null} + */ + this.CheckSamePerson = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.IcpOrderId = 'IcpOrderId' in params ? params.IcpOrderId : null; + this.SourceWebId = 'SourceWebId' in params ? params.SourceWebId : null; + this.TargetWebIds = 'TargetWebIds' in params ? params.TargetWebIds : null; + this.SyncFields = 'SyncFields' in params ? params.SyncFields : null; + this.CheckSamePerson = 'CheckSamePerson' in params ? params.CheckSamePerson : null; + + } +} + /** * CreateWeappQRUrl请求参数结构体 * @class @@ -79,8 +212,33 @@ class CreateWeappQRUrlResponse extends AbstractModel { } } +/** + * DescribeGetAuthInfo请求参数结构体 + * @class + */ +class DescribeGetAuthInfoRequest extends AbstractModel { + constructor(){ + super(); + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + + } +} + module.exports = { + DescribeGetAuthInfoResponse: DescribeGetAuthInfoResponse, + SyncIcpOrderWebInfoResponse: SyncIcpOrderWebInfoResponse, + SyncIcpOrderWebInfoRequest: SyncIcpOrderWebInfoRequest, CreateWeappQRUrlRequest: CreateWeappQRUrlRequest, CreateWeappQRUrlResponse: CreateWeappQRUrlResponse, + DescribeGetAuthInfoRequest: DescribeGetAuthInfoRequest, } diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/batch/v20170312/batch_client.js b/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/batch/v20170312/batch_client.js index 8128614fab..6bd7007634 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/batch/v20170312/batch_client.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/batch/v20170312/batch_client.js @@ -86,6 +86,7 @@ const DetachInstancesRequest = models.DetachInstancesRequest; const Instance = models.Instance; const OutputMapping = models.OutputMapping; const EnhancedService = models.EnhancedService; +const RunAutomationServiceEnabled = models.RunAutomationServiceEnabled; const DescribeJobSubmitInfoResponse = models.DescribeJobSubmitInfoResponse; const DescribeComputeEnvCreateInfosResponse = models.DescribeComputeEnvCreateInfosResponse; const RunSecurityServiceEnabled = models.RunSecurityServiceEnabled; diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/batch/v20170312/models.js b/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/batch/v20170312/models.js index 0eb417be63..c72b36eb38 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/batch/v20170312/models.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/batch/v20170312/models.js @@ -878,7 +878,7 @@ class Task extends AbstractModel { this.RestartComputeNode = null; /** - * 启动任务过程中,创建计算资源如CVM失败后的最大重试次数,默认为0。 + * 启动任务过程中,创建计算资源如CVM失败后的最大重试次数,默认为0。最大值100。 * @type {number || null} */ this.ResourceMaxRetryCount = null; @@ -2500,6 +2500,15 @@ class Job extends AbstractModel { */ this.Tags = null; + /** + * 表示通知信息的通知目标类型。 +取值范围:CMQ,TDMQ_CMQ。 +CMQ:表示向腾讯云CMQ发送消息。 +TDMQ_CMQ:表示向腾讯云TDMQ_CMQ发送消息。
    默认值为CMQ。
    注:腾讯云计划于2022年6月前正式下线消息队列 CMQ,建议使用TDMQ_CMQ。参考文档:[CMQ迁移到TDMQ_CMQ](https://cloud.tencent.com/document/product/406/60860) + * @type {string || null} + */ + this.NotificationTarget = null; + } /** @@ -2550,6 +2559,7 @@ class Job extends AbstractModel { this.Tags.push(obj); } } + this.NotificationTarget = 'NotificationTarget' in params ? params.NotificationTarget : null; } } @@ -3371,7 +3381,7 @@ class NamedCpmComputeEnv extends AbstractModel { this.ActionIfComputeNodeInactive = null; /** - * 对于实例创建失败或异常退还的计算节点,定期重新创建实例资源的最大重试次数,最大值11,如果不设置的话,系统会设置一个默认值,当前为7 + * 对于实例创建失败或异常退还的计算节点,定期重新创建实例资源的最大重试次数,最大值100,如果不设置的话,系统会设置一个默认值,当前为7。 * @type {number || null} */ this.ResourceMaxRetryCount = null; @@ -3382,6 +3392,15 @@ class NamedCpmComputeEnv extends AbstractModel { */ this.Tags = null; + /** + * 表示通知信息的通知目标类型。 +取值范围:CMQ,TDMQ_CMQ。 +CMQ:表示向腾讯云CMQ发送消息。 +TDMQ_CMQ:表示向腾讯云TDMQ_CMQ发送消息。
    默认值为CMQ。
    注:腾讯云计划于2022年6月前正式下线消息队列 CMQ,建议使用TDMQ_CMQ。参考文档:[CMQ迁移到TDMQ_CMQ](https://cloud.tencent.com/document/product/406/60860) + * @type {string || null} + */ + this.NotificationTarget = null; + } /** @@ -3436,6 +3455,7 @@ class NamedCpmComputeEnv extends AbstractModel { this.Tags.push(obj); } } + this.NotificationTarget = 'NotificationTarget' in params ? params.NotificationTarget : null; } } @@ -3762,6 +3782,7 @@ class DataDisk extends AbstractModel { /** * 数据盘ID。LOCAL_BASIC 和 LOCAL_SSD 类型没有ID,暂时不支持该参数。 +该参数目前仅用于`DescribeInstances`接口。 * @type {string || null} */ this.DiskId = null; @@ -3904,7 +3925,7 @@ class NamedComputeEnv extends AbstractModel { /** * 通知信息 - * @type {Notification || null} + * @type {Array. || null} */ this.Notifications = null; @@ -3915,7 +3936,7 @@ class NamedComputeEnv extends AbstractModel { this.ActionIfComputeNodeInactive = null; /** - * 对于实例创建失败或异常退还的计算节点,定期重新创建实例资源的最大重试次数,最大值11,如果不设置的话,系统会设置一个默认值,当前为7 + * 对于实例创建失败或异常退还的计算节点,定期重新创建实例资源的最大重试次数,最大值100,如果不设置的话,系统会设置一个默认值,当前为7 * @type {number || null} */ this.ResourceMaxRetryCount = null; @@ -3926,6 +3947,15 @@ class NamedComputeEnv extends AbstractModel { */ this.Tags = null; + /** + * 表示通知信息的通知目标类型。 +取值范围:CMQ,TDMQ_CMQ。 +CMQ:表示向腾讯云CMQ发送消息。 +TDMQ_CMQ:表示向腾讯云TDMQ_CMQ发送消息。
    默认值为CMQ。
    注:腾讯云计划于2022年6月前正式下线消息队列 CMQ,建议使用TDMQ_CMQ。参考文档:[CMQ迁移到TDMQ_CMQ](https://cloud.tencent.com/document/product/406/60860) + * @type {string || null} + */ + this.NotificationTarget = null; + } /** @@ -3980,9 +4010,12 @@ class NamedComputeEnv extends AbstractModel { } if (params.Notifications) { - let obj = new Notification(); - obj.deserialize(params.Notifications) - this.Notifications = obj; + this.Notifications = new Array(); + for (let z in params.Notifications) { + let obj = new Notification(); + obj.deserialize(params.Notifications[z]); + this.Notifications.push(obj); + } } this.ActionIfComputeNodeInactive = 'ActionIfComputeNodeInactive' in params ? params.ActionIfComputeNodeInactive : null; this.ResourceMaxRetryCount = 'ResourceMaxRetryCount' in params ? params.ResourceMaxRetryCount : null; @@ -3995,6 +4028,7 @@ class NamedComputeEnv extends AbstractModel { this.Tags.push(obj); } } + this.NotificationTarget = 'NotificationTarget' in params ? params.NotificationTarget : null; } } @@ -4277,6 +4311,12 @@ class EnhancedService extends AbstractModel { */ this.MonitorService = null; + /** + * 开启云自动化助手服务。若不指定该参数,则默认不开启云自动化助手服务。 + * @type {RunAutomationServiceEnabled || null} + */ + this.AutomationService = null; + } /** @@ -4299,6 +4339,40 @@ class EnhancedService extends AbstractModel { this.MonitorService = obj; } + if (params.AutomationService) { + let obj = new RunAutomationServiceEnabled(); + obj.deserialize(params.AutomationService) + this.AutomationService = obj; + } + + } +} + +/** + * 描述了 “云自动化助手” 服务相关的信息 + * @class + */ +class RunAutomationServiceEnabled extends AbstractModel { + constructor(){ + super(); + + /** + * 是否开启云自动化助手。取值范围:
  • TRUE:表示开启云自动化助手服务
  • FALSE:表示不开启云自动化助手服务

    默认取值:FALSE。 + * @type {boolean || null} + */ + this.Enabled = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Enabled = 'Enabled' in params ? params.Enabled : null; + } } @@ -4979,7 +5053,7 @@ class ModifyComputeEnvResponse extends AbstractModel { } /** - * 描述了实例的抽象位置,包括其所在的可用区,所属的项目,宿主机(仅CDH产品可用),母机ip等 + * 描述了实例的抽象位置,包括其所在的可用区,所属的项目,宿主机(仅专用宿主机产品可用),母机ip等 * @class */ class Placement extends AbstractModel { @@ -5343,7 +5417,7 @@ class InstanceTypeQuotaItem extends AbstractModel { this.InstanceType = null; /** - * 实例计费模式。取值范围:
  • PREPAID:表示预付费,即包年包月
  • POSTPAID_BY_HOUR:表示后付费,即按量计费
  • CDHPAID:表示[CDH](https://cloud.tencent.com/document/product/416)付费,即只对CDH计费,不对CDH上的实例计费。
  • `SPOTPAID`:表示竞价实例付费。 + * 实例计费模式。取值范围:
  • PREPAID:表示预付费,即包年包月
  • POSTPAID_BY_HOUR:表示后付费,即按量计费
  • CDHPAID:表示[专用宿主机](https://cloud.tencent.com/document/product/416)付费,即只对`专用宿主机`计费,不对`专用宿主机`上的实例计费。
  • `SPOTPAID`:表示竞价实例付费。 * @type {string || null} */ this.InstanceChargeType = null; @@ -6819,7 +6893,7 @@ class VirtualPrivateCloud extends AbstractModel { this.SubnetId = null; /** - * 是否用作公网网关。公网网关只有在实例拥有公网IP以及处于私有网络下时才能正常使用。取值范围:
  • TRUE:表示用作公网网关
  • FALSE:表示不用作公网网关

    默认取值:FALSE。 + * 是否用作公网网关。公网网关只有在实例拥有公网IP以及处于私有网络下时才能正常使用。取值范围:
  • TRUE:表示用作公网网关
  • FALSE:表示不作为公网网关

    默认取值:FALSE。 * @type {boolean || null} */ this.AsVpcGateway = null; @@ -7234,6 +7308,7 @@ module.exports = { Instance: Instance, OutputMapping: OutputMapping, EnhancedService: EnhancedService, + RunAutomationServiceEnabled: RunAutomationServiceEnabled, DescribeJobSubmitInfoResponse: DescribeJobSubmitInfoResponse, DescribeComputeEnvCreateInfosResponse: DescribeComputeEnvCreateInfosResponse, RunSecurityServiceEnabled: RunSecurityServiceEnabled, diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/bda/v20200324/bda_client.js b/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/bda/v20200324/bda_client.js index 4c2e8a3eb6..d22ded5777 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/bda/v20200324/bda_client.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/bda/v20200324/bda_client.js @@ -24,6 +24,7 @@ const DeletePersonRequest = models.DeletePersonRequest; const ModifyGroupResponse = models.ModifyGroupResponse; const TerminateSegmentationTaskResponse = models.TerminateSegmentationTaskResponse; const BodyAttributeInfo = models.BodyAttributeInfo; +const GetSummaryInfoRequest = models.GetSummaryInfoRequest; const GetGroupListResponse = models.GetGroupListResponse; const GroupInfo = models.GroupInfo; const DescribeSegmentationTaskRequest = models.DescribeSegmentationTaskRequest; @@ -35,6 +36,7 @@ const CreatePersonRequest = models.CreatePersonRequest; const ModifyPersonInfoResponse = models.ModifyPersonInfoResponse; const CreateSegmentationTaskResponse = models.CreateSegmentationTaskResponse; const DeleteGroupRequest = models.DeleteGroupRequest; +const GetSummaryInfoResponse = models.GetSummaryInfoResponse; const ModifyPersonInfoRequest = models.ModifyPersonInfoRequest; const Gender = models.Gender; const SegmentCustomizedPortraitPicRequest = models.SegmentCustomizedPortraitPicRequest; @@ -90,14 +92,14 @@ class BdaClient extends AbstractClient { } /** - * 本接口用于对一组待识别的人体轨迹(Trace)图片,在人体库中识别出最相似的 TopK 人体,按照相似度从大到小排列。 + * 本接口用于对一组待识别的人体动作轨迹(Trace)图片,在人体库中识别出最相似的 TopK 人体,按照相似度从大到小排列。 -人体轨迹(Trace)图片要求:图片中当且仅包含一个人体。人体完整、无遮挡。 +人体动作轨迹(Trace)图片要求:图片中当且仅包含一个人体。人体完整、无遮挡。 > 请注意: -- 我们希望您的输入为严格符合轨迹图片要求的图片。如果您输入的图片不符合轨迹图片要求,会对最终效果产生较大负面影响; -- 人体轨迹,是一个包含1-5张图片的图片序列。您可以输入1张图片作为轨迹,也可以输入多张。单个轨迹中包含越多符合质量的图片,搜索效果越好。 -- 构成人体轨迹单张图片大小不得超过2M,分辨率不得超过1920*1080。 +- 我们希望您的输入为严格符合动作轨迹图片要求的图片。如果您输入的图片不符合动作轨迹图片要求,会对最终效果产生较大负面影响; +- 人体动作轨迹,是一个包含1-5张图片的图片序列。您可以输入1张图片作为动作轨迹,也可以输入多张。单个动作轨迹中包含越多符合质量的图片,搜索效果越好。 +- 构成人体动作轨迹单张图片大小不得超过2M,分辨率不得超过1920*1080。 * @param {SearchTraceRequest} req * @param {function(string, SearchTraceResponse):void} cb * @public @@ -118,6 +120,17 @@ class BdaClient extends AbstractClient { this.request("TerminateSegmentationTask", req, resp, cb); } + /** + * 获取人体库汇总信息。 + * @param {GetSummaryInfoRequest} req + * @param {function(string, GetSummaryInfoResponse):void} cb + * @public + */ + GetSummaryInfo(req, cb) { + let resp = new GetSummaryInfoResponse(); + this.request("GetSummaryInfo", req, resp, cb); + } + /** * 检测给定图片中的人体(Body)的位置信息及属性信息。 @@ -155,14 +168,14 @@ class BdaClient extends AbstractClient { } /** - * 将一个人体轨迹添加到一个人员中。一个人员最多允许包含 5 个人体轨迹。同一人的人体轨迹越多,搜索识别效果越好。 + * 将一个人体动作轨迹添加到一个人员中。一个人员最多允许包含 5 个人体动作轨迹。同一人的人体动作轨迹越多,搜索识别效果越好。 >请注意: -- 我们希望您的输入为 严格符合轨迹图片 要求的图片。如果您输入的图片不符合轨迹图片要求,会对最终效果产生较大负面影响。请您尽量保证一个Trace中的图片人体清晰、无遮挡、连贯。 -- 一个人体轨迹(Trace)可以包含1-5张人体图片。提供越多质量高的人体图片有助于提升最终识别结果。 -- 无论您在单个Trace中提供了多少张人体图片,我们都将生成一个对应的轨迹(Trace)信息。即,Trace仅和本次输入的图片序列相关,和图片的个数无关。 +- 我们希望您的输入为 严格符合动作轨迹图片 要求的图片。如果您输入的图片不符合动作轨迹图片要求,会对最终效果产生较大负面影响。请您尽量保证一个Trace中的图片人体清晰、无遮挡、连贯。 +- 一个人体动作轨迹(Trace)可以包含1-5张人体图片。提供越多质量高的人体图片有助于提升最终识别结果。 +- 无论您在单个Trace中提供了多少张人体图片,我们都将生成一个对应的动作轨迹(Trace)信息。即,Trace仅和本次输入的图片序列相关,和图片的个数无关。 - 输入的图片组中,若有部分图片输入不合法(如图片大小过大、分辨率过大、无法解码等),我们将舍弃这部分图片,确保合法图片被正确搜索。即,我们将尽可能保证请求成功,去除不合法的输入; -- 构成人体轨迹单张图片大小限制为2M,分辨率限制为1920*1080。 +- 构成人体动作轨迹单张图片大小限制为2M,分辨率限制为1920*1080。 * @param {CreateTraceRequest} req * @param {function(string, CreateTraceResponse):void} cb * @public @@ -241,11 +254,11 @@ class BdaClient extends AbstractClient { /** * 用于创建一个空的人体库,如果人体库已存在返回错误。 -1个APPID下最多有2000W个人体轨迹(Trace),最多1W个人体库(Group)。 +1个APPID下最多有2000W个人体动作轨迹(Trace),最多1W个人体库(Group)。 -单个人体库(Group)最多10W个人体轨迹(Trace)。 +单个人体库(Group)最多10W个人体动作轨迹(Trace)。 -单个人员(Person)最多添加 5 个人体轨迹(Trace)。 +单个人员(Person)最多添加 5 个人体动作轨迹(Trace)。 * @param {CreateGroupRequest} req * @param {function(string, CreateGroupResponse):void} cb * @public @@ -256,14 +269,14 @@ class BdaClient extends AbstractClient { } /** - * 创建人员,添加对应人员的人体轨迹信息。 + * 创建人员,添加对应人员的人体动作轨迹信息。 请注意: -- 我们希望您的输入为 严格符合轨迹图片 要求的图片。如果您输入的图片不符合轨迹图片要求,会对最终效果产生较大负面影响。请您尽量保证一个Trace中的图片人体清晰、无遮挡、连贯; -- 一个人体轨迹(Trace)可以包含1-5张人体图片。提供越多质量高的人体图片有助于提升最终识别结果; -- 无论您在单个Trace中提供了多少张人体图片,我们都将生成一个对应的轨迹(Trace)信息。即,Trace仅和本次输入的图片序列相关,和图片的个数无关; +- 我们希望您的输入为 严格符合动作轨迹图片 要求的图片。如果您输入的图片不符合动作轨迹图片要求,会对最终效果产生较大负面影响。请您尽量保证一个Trace中的图片人体清晰、无遮挡、连贯; +- 一个人体动作轨迹(Trace)可以包含1-5张人体图片。提供越多质量高的人体图片有助于提升最终识别结果; +- 无论您在单个Trace中提供了多少张人体图片,我们都将生成一个对应的动作轨迹(Trace)信息。即,Trace仅和本次输入的图片序列相关,和图片的个数无关; - 输入的图片组中,若有部分图片输入不合法(如图片大小过大、分辨率过大、无法解码等),我们将舍弃这部分图片,确保合法图片被正确搜索。即,我们将尽可能保证请求成功,去除不合法的输入; -- 构成人体轨迹单张图片大小不得超过2M,分辨率不得超过1920*1080。 +- 构成人体动作轨迹单张图片大小不得超过2M,分辨率不得超过1920*1080。 * @param {CreatePersonRequest} req * @param {function(string, CreatePersonResponse):void} cb * @public @@ -296,7 +309,7 @@ class BdaClient extends AbstractClient { } /** - * 本接口为离线人像分割处理接口组中的提交任务接口,可以对提交的资源进行处理视频流/图片流识别视频作品中的人像区域,进行一键抠像、背景替换、人像虚化等后期处理。 + * 本接口为人像分割在线处理接口组中的提交任务接口,可以对提交的资源进行处理视频流/图片流识别视频作品中的人像区域,进行一键抠像、背景替换、人像虚化等后期处理。 * @param {CreateSegmentationTaskRequest} req * @param {function(string, CreateSegmentationTaskResponse):void} cb * @public diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/bda/v20200324/models.js b/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/bda/v20200324/models.js index 6f7bbc7ee2..6928d96c7e 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/bda/v20200324/models.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/bda/v20200324/models.js @@ -116,7 +116,7 @@ class Candidate extends AbstractModel { this.PersonId = null; /** - * 人体轨迹ID。 + * 人体动作轨迹ID。 * @type {string || null} */ this.TraceId = null; @@ -393,6 +393,27 @@ AttributesType 不含 LowerBodyCloth 或检测超过 5 个人体时,此参数 } } +/** + * GetSummaryInfo请求参数结构体 + * @class + */ +class GetSummaryInfoRequest extends AbstractModel { + constructor(){ + super(); + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + + } +} + /** * GetGroupList返回参数结构体 * @class @@ -829,7 +850,7 @@ class CreatePersonRequest extends AbstractModel { this.PersonId = null; /** - * 人体轨迹信息。 + * 人体动作轨迹信息。 * @type {Trace || null} */ this.Trace = null; @@ -954,6 +975,55 @@ class DeleteGroupRequest extends AbstractModel { } } +/** + * GetSummaryInfo返回参数结构体 + * @class + */ +class GetSummaryInfoResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 人体库总数量。 + * @type {number || null} + */ + this.GroupCount = null; + + /** + * 人员总数量 + * @type {number || null} + */ + this.PersonCount = null; + + /** + * 人员轨迹总数量 + * @type {number || null} + */ + this.TraceCount = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.GroupCount = 'GroupCount' in params ? params.GroupCount : null; + this.PersonCount = 'PersonCount' in params ? params.PersonCount : null; + this.TraceCount = 'TraceCount' in params ? params.TraceCount : null; + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + /** * ModifyPersonInfo请求参数结构体 * @class @@ -1232,7 +1302,7 @@ class CreateSegmentationTaskRequest extends AbstractModel { } /** - * 人体轨迹信息。 + * 人体动作轨迹信息。 * @class */ class TraceInfo extends AbstractModel { @@ -1240,13 +1310,13 @@ class TraceInfo extends AbstractModel { super(); /** - * 人体轨迹ID。 + * 人体动作轨迹ID。 * @type {string || null} */ this.TraceId = null; /** - * 包含的人体轨迹图片Id列表。 + * 包含的人体动作轨迹图片Id列表。 * @type {Array. || null} */ this.BodyIds = null; @@ -1537,13 +1607,13 @@ class SearchTraceRequest extends AbstractModel { this.GroupId = null; /** - * 人体轨迹信息。 + * 人体动作轨迹信息。 * @type {Trace || null} */ this.Trace = null; /** - * 单张被识别的人体轨迹返回的最相似人员数量。 + * 单张被识别的人体动作轨迹返回的最相似人员数量。 默认值为5,最大值为100。 例,设MaxPersonNum为8,则返回Top8相似的人员信息。 值越大,需要处理的时间越长。建议不要超过10。 * @type {number || null} @@ -1692,7 +1762,7 @@ class PersonInfo extends AbstractModel { this.PersonId = null; /** - * 包含的人体轨迹图片信息列表。 + * 包含的人体动作轨迹图片信息列表。 * @type {Array. || null} */ this.TraceInfos = null; @@ -1816,7 +1886,7 @@ class SegmentCustomizedPortraitPicResponse extends AbstractModel { } /** - * 人体轨迹信息 + * 人体动作轨迹信息 * @class */ class Trace extends AbstractModel { @@ -1824,7 +1894,7 @@ class Trace extends AbstractModel { super(); /** - * 人体轨迹图片 Base64 数组。 + * 人体动作轨迹图片 Base64 数组。 数组长度最小为1最大为5。 单个图片 base64 编码后大小不可超过2M。 支持PNG、JPG、JPEG、BMP,不支持 GIF 图片。 @@ -1833,7 +1903,7 @@ class Trace extends AbstractModel { this.Images = null; /** - * 人体轨迹图片 Url 数组。 + * 人体动作轨迹图片 Url 数组。 数组长度最小为1最大为5。 单个图片 base64 编码后大小不可超过2M。 Urls、Images必须提供一个,如果都提供,只使用 Urls。 @@ -2372,16 +2442,16 @@ class SearchTraceResponse extends AbstractModel { this.Candidates = null; /** - * 输入的人体轨迹图片中的合法性校验结果。 + * 输入的人体动作轨迹图片中的合法性校验结果。 只有为0时结果才有意义。 --1001: 输入图片不合法。-1002: 输入图片不能构成轨迹。 +-1001: 输入图片不合法。-1002: 输入图片不能构成动作轨迹。 * @type {number || null} */ this.InputRetCode = null; /** - * 输入的人体轨迹图片中的合法性校验结果详情。 --1101:图片无效,-1102:url不合法。-1103:图片过大。-1104:图片下载失败。-1105:图片解码失败。-1109:图片分辨率过高。-2023:轨迹中有非同人图片。-2024: 轨迹提取失败。-2025: 人体检测失败。 + * 输入的人体动作轨迹图片中的合法性校验结果详情。 +-1101:图片无效,-1102:url不合法。-1103:图片过大。-1104:图片下载失败。-1105:图片解码失败。-1109:图片分辨率过高。-2023:动作轨迹中有非同人图片。-2024: 动作轨迹提取失败。-2025: 人体检测失败。 * @type {Array. || null} */ this.InputRetCodeDetails = null; @@ -2433,7 +2503,7 @@ class CreateTraceResponse extends AbstractModel { super(); /** - * 人员轨迹唯一标识。 + * 人员动作轨迹唯一标识。 * @type {string || null} */ this.TraceId = null; @@ -2445,7 +2515,7 @@ class CreateTraceResponse extends AbstractModel { this.BodyModelVersion = null; /** - * 输入的人体轨迹图片中的合法性校验结果。 + * 输入的人体动作轨迹图片中的合法性校验结果。 只有为0时结果才有意义。 -1001: 输入图片不合法。-1002: 输入图片不能构成轨迹。 * @type {number || null} @@ -2453,8 +2523,8 @@ class CreateTraceResponse extends AbstractModel { this.InputRetCode = null; /** - * 输入的人体轨迹图片中的合法性校验结果详情。 --1101:图片无效,-1102:url不合法。-1103:图片过大。-1104:图片下载失败。-1105:图片解码失败。-1109:图片分辨率过高。-2023:轨迹中有非同人图片。-2024: 轨迹提取失败。-2025: 人体检测失败。 + * 输入的人体动作轨迹图片中的合法性校验结果详情。 +-1101:图片无效,-1102:url不合法。-1103:图片过大。-1104:图片下载失败。-1105:图片解码失败。-1109:图片分辨率过高。-2023:动作轨迹中有非同人图片。-2024: 动作轨迹提取失败。-2025: 人体检测失败。 * @type {Array. || null} */ this.InputRetCodeDetails = null; @@ -2492,7 +2562,7 @@ class CreatePersonResponse extends AbstractModel { super(); /** - * 人员轨迹唯一标识。 + * 人员动作轨迹唯一标识。 * @type {string || null} */ this.TraceId = null; @@ -2504,16 +2574,16 @@ class CreatePersonResponse extends AbstractModel { this.BodyModelVersion = null; /** - * 输入的人体轨迹图片中的合法性校验结果。 + * 输入的人体动作轨迹图片中的合法性校验结果。 只有为0时结果才有意义。 --1001: 输入图片不合法。-1002: 输入图片不能构成轨迹。 +-1001: 输入图片不合法。-1002: 输入图片不能构成动作轨迹。 * @type {number || null} */ this.InputRetCode = null; /** - * 输入的人体轨迹图片中的合法性校验结果详情。 --1101:图片无效,-1102:url不合法。-1103:图片过大。-1104:图片下载失败。-1105:图片解码失败。-1109:图片分辨率过高。-2023:轨迹中有非同人图片。-2024: 轨迹提取失败。-2025: 人体检测失败。 + * 输入的人体动作轨迹图片中的合法性校验结果详情。 +-1101:图片无效,-1102:url不合法。-1103:图片过大。-1104:图片下载失败。-1105:图片解码失败。-1109:图片分辨率过高。-2023:动作轨迹中有非同人图片。-2024: 动作轨迹提取失败。-2025: 人体检测失败。 RetCode 的顺序和入参中Images 或 Urls 的顺序一致。 * @type {Array. || null} */ @@ -2776,7 +2846,7 @@ class CreateTraceRequest extends AbstractModel { this.PersonId = null; /** - * 人体轨迹信息。 + * 人体动作轨迹信息。 * @type {Trace || null} */ this.Trace = null; @@ -2931,6 +3001,7 @@ module.exports = { ModifyGroupResponse: ModifyGroupResponse, TerminateSegmentationTaskResponse: TerminateSegmentationTaskResponse, BodyAttributeInfo: BodyAttributeInfo, + GetSummaryInfoRequest: GetSummaryInfoRequest, GetGroupListResponse: GetGroupListResponse, GroupInfo: GroupInfo, DescribeSegmentationTaskRequest: DescribeSegmentationTaskRequest, @@ -2942,6 +3013,7 @@ module.exports = { ModifyPersonInfoResponse: ModifyPersonInfoResponse, CreateSegmentationTaskResponse: CreateSegmentationTaskResponse, DeleteGroupRequest: DeleteGroupRequest, + GetSummaryInfoResponse: GetSummaryInfoResponse, ModifyPersonInfoRequest: ModifyPersonInfoRequest, Gender: Gender, SegmentCustomizedPortraitPicRequest: SegmentCustomizedPortraitPicRequest, diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/bi/index.js b/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/bi/index.js new file mode 100644 index 0000000000..888609d65a --- /dev/null +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/bi/index.js @@ -0,0 +1,3 @@ +module.exports = { + v20220105: require("./v20220105"), +}; diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/bi/v20220105/bi_client.js b/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/bi/v20220105/bi_client.js new file mode 100644 index 0000000000..a903ead8a3 --- /dev/null +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/bi/v20220105/bi_client.js @@ -0,0 +1,61 @@ +/* + * Copyright (c) 2018 THL A29 Limited, a Tencent company. All Rights Reserved. + * + * 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. + */ +const models = require("./models"); +const AbstractClient = require('../../common/abstract_client') +const CreateEmbedTokenResponse = models.CreateEmbedTokenResponse; +const ApplyEmbedIntervalRequest = models.ApplyEmbedIntervalRequest; +const ApplyEmbedTokenInfo = models.ApplyEmbedTokenInfo; +const ApplyEmbedIntervalResponse = models.ApplyEmbedIntervalResponse; +const CreateEmbedTokenRequest = models.CreateEmbedTokenRequest; +const EmbedTokenInfo = models.EmbedTokenInfo; + + +/** + * bi client + * @class + */ +class BiClient extends AbstractClient { + + constructor(credential, region, profile) { + super("bi.tencentcloudapi.com", "2022-01-05", credential, region, profile); + } + + /** + * 创建嵌出报表-强鉴权 + * @param {CreateEmbedTokenRequest} req + * @param {function(string, CreateEmbedTokenResponse):void} cb + * @public + */ + CreateEmbedToken(req, cb) { + let resp = new CreateEmbedTokenResponse(); + this.request("CreateEmbedToken", req, resp, cb); + } + + /** + * 申请延长Token可用时间接口-强鉴权 + * @param {ApplyEmbedIntervalRequest} req + * @param {function(string, ApplyEmbedIntervalResponse):void} cb + * @public + */ + ApplyEmbedInterval(req, cb) { + let resp = new ApplyEmbedIntervalResponse(); + this.request("ApplyEmbedInterval", req, resp, cb); + } + + +} +module.exports = BiClient; diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/bi/v20220105/index.js b/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/bi/v20220105/index.js new file mode 100644 index 0000000000..ef9130b5d1 --- /dev/null +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/bi/v20220105/index.js @@ -0,0 +1,4 @@ +module.exports = { + Client: require("./bi_client"), + Models: require("./models"), +}; diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/bi/v20220105/models.js b/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/bi/v20220105/models.js new file mode 100644 index 0000000000..09abeeb58d --- /dev/null +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/bi/v20220105/models.js @@ -0,0 +1,391 @@ +/* + * Copyright (c) 2018 THL A29 Limited, a Tencent company. All Rights Reserved. + * + * 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. + */ +const AbstractModel = require("../../common/abstract_model"); + +/** + * CreateEmbedToken返回参数结构体 + * @class + */ +class CreateEmbedTokenResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 额外信息 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.Extra = null; + + /** + * 数据 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {EmbedTokenInfo || null} + */ + this.Data = null; + + /** + * 结果描述 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.Msg = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Extra = 'Extra' in params ? params.Extra : null; + + if (params.Data) { + let obj = new EmbedTokenInfo(); + obj.deserialize(params.Data) + this.Data = obj; + } + this.Msg = 'Msg' in params ? params.Msg : null; + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * ApplyEmbedInterval请求参数结构体 + * @class + */ +class ApplyEmbedIntervalRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 分享项目id,必选 + * @type {number || null} + */ + this.ProjectId = null; + + /** + * 分享页面id,嵌出看板时此为空值0 + * @type {number || null} + */ + this.PageId = null; + + /** + * 需要申请延期的Token + * @type {string || null} + */ + this.BIToken = null; + + /** + * 备用字段 + * @type {string || null} + */ + this.ExtraParam = null; + + /** + * panel,看板;page,页面 + * @type {string || null} + */ + this.Scope = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.ProjectId = 'ProjectId' in params ? params.ProjectId : null; + this.PageId = 'PageId' in params ? params.PageId : null; + this.BIToken = 'BIToken' in params ? params.BIToken : null; + this.ExtraParam = 'ExtraParam' in params ? params.ExtraParam : null; + this.Scope = 'Scope' in params ? params.Scope : null; + + } +} + +/** + * 申请Token延期 + * @class + */ +class ApplyEmbedTokenInfo extends AbstractModel { + constructor(){ + super(); + + /** + * 申请结果 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {boolean || null} + */ + this.Result = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Result = 'Result' in params ? params.Result : null; + + } +} + +/** + * ApplyEmbedInterval返回参数结构体 + * @class + */ +class ApplyEmbedIntervalResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 额外参数 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.Extra = null; + + /** + * 结果数据 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {ApplyEmbedTokenInfo || null} + */ + this.Data = null; + + /** + * 结果描述 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.Msg = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Extra = 'Extra' in params ? params.Extra : null; + + if (params.Data) { + let obj = new ApplyEmbedTokenInfo(); + obj.deserialize(params.Data) + this.Data = obj; + } + this.Msg = 'Msg' in params ? params.Msg : null; + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * CreateEmbedToken请求参数结构体 + * @class + */ +class CreateEmbedTokenRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 分享项目id,必选 + * @type {number || null} + */ + this.ProjectId = null; + + /** + * 分享页面id,嵌出看板时此为空值0 + * @type {number || null} + */ + this.PageId = null; + + /** + * page表示嵌出页面,panel表嵌出整个看板 + * @type {string || null} + */ + this.Scope = null; + + /** + * 过期时间。 单位:分钟 最大值:240。即,4小时 默认值:240 + * @type {string || null} + */ + this.ExpireTime = null; + + /** + * 备用字段 + * @type {string || null} + */ + this.ExtraParam = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.ProjectId = 'ProjectId' in params ? params.ProjectId : null; + this.PageId = 'PageId' in params ? params.PageId : null; + this.Scope = 'Scope' in params ? params.Scope : null; + this.ExpireTime = 'ExpireTime' in params ? params.ExpireTime : null; + this.ExtraParam = 'ExtraParam' in params ? params.ExtraParam : null; + + } +} + +/** + * 报表嵌出数据结构-强鉴权 + * @class + */ +class EmbedTokenInfo extends AbstractModel { + constructor(){ + super(); + + /** + * 信息标识 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {number || null} + */ + this.Id = null; + + /** + * 令牌 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.BIToken = null; + + /** + * 项目Id +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.ProjectId = null; + + /** + * 创建人 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.CreatedUser = null; + + /** + * 创建时间 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.CreatedAt = null; + + /** + * 更新人 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.UpdatedUser = null; + + /** + * 更新时间 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.UpdatedAt = null; + + /** + * 页面Id +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.PageId = null; + + /** + * 备用 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.ExtraParam = null; + + /** + * 嵌出类型 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.Scope = null; + + /** + * 过期时间,分钟为单位,最大240 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {number || null} + */ + this.ExpireTime = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Id = 'Id' in params ? params.Id : null; + this.BIToken = 'BIToken' in params ? params.BIToken : null; + this.ProjectId = 'ProjectId' in params ? params.ProjectId : null; + this.CreatedUser = 'CreatedUser' in params ? params.CreatedUser : null; + this.CreatedAt = 'CreatedAt' in params ? params.CreatedAt : null; + this.UpdatedUser = 'UpdatedUser' in params ? params.UpdatedUser : null; + this.UpdatedAt = 'UpdatedAt' in params ? params.UpdatedAt : null; + this.PageId = 'PageId' in params ? params.PageId : null; + this.ExtraParam = 'ExtraParam' in params ? params.ExtraParam : null; + this.Scope = 'Scope' in params ? params.Scope : null; + this.ExpireTime = 'ExpireTime' in params ? params.ExpireTime : null; + + } +} + +module.exports = { + CreateEmbedTokenResponse: CreateEmbedTokenResponse, + ApplyEmbedIntervalRequest: ApplyEmbedIntervalRequest, + ApplyEmbedTokenInfo: ApplyEmbedTokenInfo, + ApplyEmbedIntervalResponse: ApplyEmbedIntervalResponse, + CreateEmbedTokenRequest: CreateEmbedTokenRequest, + EmbedTokenInfo: EmbedTokenInfo, + +} diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/billing/v20180709/billing_client.js b/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/billing/v20180709/billing_client.js index ed02552886..9494d2168e 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/billing/v20180709/billing_client.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/billing/v20180709/billing_client.js @@ -17,6 +17,7 @@ const models = require("./models"); const AbstractClient = require('../../common/abstract_client') const CostComponentSet = models.CostComponentSet; +const VoucherInfos = models.VoucherInfos; const DescribeCostSummaryByProductRequest = models.DescribeCostSummaryByProductRequest; const ConsumptionSummaryTotal = models.ConsumptionSummaryTotal; const DescribeCostSummaryByProjectResponse = models.DescribeCostSummaryByProjectResponse; @@ -36,11 +37,12 @@ const BillTagInfo = models.BillTagInfo; const DescribeBillSummaryByRegionResponse = models.DescribeBillSummaryByRegionResponse; const DetailSet = models.DetailSet; const BillTransactionInfo = models.BillTransactionInfo; -const RegionSummaryOverviewItem = models.RegionSummaryOverviewItem; +const DescribeVoucherInfoResponse = models.DescribeVoucherInfoResponse; const ConsumptionResourceSummaryDataItem = models.ConsumptionResourceSummaryDataItem; const DescribeAccountBalanceRequest = models.DescribeAccountBalanceRequest; const DescribeBillDetailRequest = models.DescribeBillDetailRequest; const ConsumptionProjectSummaryDataItem = models.ConsumptionProjectSummaryDataItem; +const RegionSummaryOverviewItem = models.RegionSummaryOverviewItem; const DescribeCostSummaryByProductResponse = models.DescribeCostSummaryByProductResponse; const ProductInfo = models.ProductInfo; const DescribeDosageDetailByDateResponse = models.DescribeDosageDetailByDateResponse; @@ -53,16 +55,22 @@ const ConsumptionSummaryTrend = models.ConsumptionSummaryTrend; const DescribeBillSummaryByRegionRequest = models.DescribeBillSummaryByRegionRequest; const DescribeBillSummaryByPayModeRequest = models.DescribeBillSummaryByPayModeRequest; const DescribeCostSummaryByProjectRequest = models.DescribeCostSummaryByProjectRequest; +const UsageRecords = models.UsageRecords; const ConsumptionRegionSummaryDataItem = models.ConsumptionRegionSummaryDataItem; const DescribeDosageCosDetailByDateResponse = models.DescribeDosageCosDetailByDateResponse; +const UsageDetails = models.UsageDetails; const DescribeBillResourceSummaryResponse = models.DescribeBillResourceSummaryResponse; const ActionSummaryOverviewItem = models.ActionSummaryOverviewItem; +const DescribeVoucherInfoRequest = models.DescribeVoucherInfoRequest; +const ApplicableProducts = models.ApplicableProducts; const ConditionPayMode = models.ConditionPayMode; +const DescribeVoucherUsageDetailsRequest = models.DescribeVoucherUsageDetailsRequest; const DescribeDealsByCondRequest = models.DescribeDealsByCondRequest; const DescribeBillResourceSummaryRequest = models.DescribeBillResourceSummaryRequest; const PayDealsRequest = models.PayDealsRequest; const DescribeBillListRequest = models.DescribeBillListRequest; const PayDealsResponse = models.PayDealsResponse; +const SummaryTotal = models.SummaryTotal; const BillDetail = models.BillDetail; const DescribeBillSummaryByTagResponse = models.DescribeBillSummaryByTagResponse; const TagSummaryOverviewItem = models.TagSummaryOverviewItem; @@ -71,6 +79,7 @@ const DescribeBillDetailResponse = models.DescribeBillDetailResponse; const ConsumptionResourceSummaryConditionValue = models.ConsumptionResourceSummaryConditionValue; const Deal = models.Deal; const DescribeCostDetailRequest = models.DescribeCostDetailRequest; +const DescribeVoucherUsageDetailsResponse = models.DescribeVoucherUsageDetailsResponse; const DescribeDealsByCondResponse = models.DescribeDealsByCondResponse; const ConditionProject = models.ConditionProject; const CosDetailSets = models.CosDetailSets; @@ -80,6 +89,7 @@ const ConditionBusiness = models.ConditionBusiness; const DescribeCostSummaryByResourceRequest = models.DescribeCostSummaryByResourceRequest; const DescribeCostDetailResponse = models.DescribeCostDetailResponse; const DescribeDosageCosDetailByDateRequest = models.DescribeDosageCosDetailByDateRequest; +const ExcludedProducts = models.ExcludedProducts; const PayModeSummaryOverviewItem = models.PayModeSummaryOverviewItem; const BusinessSummaryTotal = models.BusinessSummaryTotal; const DescribeCostSummaryByRegionResponse = models.DescribeCostSummaryByRegionResponse; @@ -106,6 +116,17 @@ class BillingClient extends AbstractClient { this.request("DescribeAccountBalance", req, resp, cb); } + /** + * 获取代金券相关信息 + * @param {DescribeVoucherInfoRequest} req + * @param {function(string, DescribeVoucherInfoResponse):void} cb + * @public + */ + DescribeVoucherInfo(req, cb) { + let resp = new DescribeVoucherInfoResponse(); + this.request("DescribeVoucherInfo", req, resp, cb); + } + /** * 按日期获取产品用量明细 * @param {DescribeDosageDetailByDateRequest} req @@ -128,6 +149,17 @@ class BillingClient extends AbstractClient { this.request("DescribeCostSummaryByResource", req, resp, cb); } + /** + * 获取代金券使用记录 + * @param {DescribeVoucherUsageDetailsRequest} req + * @param {function(string, DescribeVoucherUsageDetailsResponse):void} cb + * @public + */ + DescribeVoucherUsageDetails(req, cb) { + let resp = new DescribeVoucherUsageDetailsResponse(); + this.request("DescribeVoucherUsageDetails", req, resp, cb); + } + /** * 获取收支明细列表,支持翻页和参数过滤 * @param {DescribeBillListRequest} req diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/billing/v20180709/models.js b/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/billing/v20180709/models.js index 477b28e4f7..88f30344db 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/billing/v20180709/models.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/billing/v20180709/models.js @@ -121,6 +121,119 @@ class CostComponentSet extends AbstractModel { } } +/** + * 代金券相关信息 + * @class + */ +class VoucherInfos extends AbstractModel { + constructor(){ + super(); + + /** + * 代金券拥有者 + * @type {string || null} + */ + this.OwnerUin = null; + + /** + * 券状态:待使用:unUsed,已使用: used,已发货:delivered,已作废: cancel,已过期:overdue + * @type {string || null} + */ + this.Status = null; + + /** + * 代金券面额(微分) + * @type {number || null} + */ + this.NominalValue = null; + + /** + * 剩余金额(微分) + * @type {number || null} + */ + this.Balance = null; + + /** + * 代金券id + * @type {string || null} + */ + this.VoucherId = null; + + /** + * postPay后付费/prePay预付费/riPay预留实例/空字符串或者'*'表示全部模式 + * @type {string || null} + */ + this.PayMode = null; + + /** + * 付费场景PayMode=postPay时:spotpay-竞价实例,"settle account"-普通后付费PayMode=prePay时:purchase-包年包月新购,renew-包年包月续费(自动续费),modify-包年包月配置变更(变配)PayMode=riPay时:oneOffFee-预留实例预付,hourlyFee-预留实例每小时扣费,*-支持全部付费场景 + * @type {string || null} + */ + this.PayScene = null; + + /** + * 有效期生效时间 + * @type {string || null} + */ + this.BeginTime = null; + + /** + * 有效期截止时间 + * @type {string || null} + */ + this.EndTime = null; + + /** + * 适用商品信息 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {ApplicableProducts || null} + */ + this.ApplicableProducts = null; + + /** + * 不适用商品信息 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {Array. || null} + */ + this.ExcludedProducts = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.OwnerUin = 'OwnerUin' in params ? params.OwnerUin : null; + this.Status = 'Status' in params ? params.Status : null; + this.NominalValue = 'NominalValue' in params ? params.NominalValue : null; + this.Balance = 'Balance' in params ? params.Balance : null; + this.VoucherId = 'VoucherId' in params ? params.VoucherId : null; + this.PayMode = 'PayMode' in params ? params.PayMode : null; + this.PayScene = 'PayScene' in params ? params.PayScene : null; + this.BeginTime = 'BeginTime' in params ? params.BeginTime : null; + this.EndTime = 'EndTime' in params ? params.EndTime : null; + + if (params.ApplicableProducts) { + let obj = new ApplicableProducts(); + obj.deserialize(params.ApplicableProducts) + this.ApplicableProducts = obj; + } + + if (params.ExcludedProducts) { + this.ExcludedProducts = new Array(); + for (let z in params.ExcludedProducts) { + let obj = new ExcludedProducts(); + obj.deserialize(params.ExcludedProducts[z]); + this.ExcludedProducts.push(obj); + } + } + + } +} + /** * DescribeCostSummaryByProduct请求参数结构体 * @class @@ -328,7 +441,7 @@ cdn业务: /** * 查询域名 例如 www.qq.com -非CDN业务查询时值为空 +非CDN业务查询时传入空字符串,返回的值为空 * @type {string || null} */ this.Domain = null; @@ -414,6 +527,12 @@ class ProjectSummaryOverviewItem extends AbstractModel { */ this.BillMonth = null; + /** + * 原价,单位为元。TotalCost字段自账单3.0(即2021-05)之后开始生效,账单3.0之前返回"-"。合同价的情况下,TotalCost字段与官网价格存在差异,也返回“-”。 + * @type {string || null} + */ + this.TotalCost = null; + } /** @@ -431,6 +550,7 @@ class ProjectSummaryOverviewItem extends AbstractModel { this.IncentivePayAmount = 'IncentivePayAmount' in params ? params.IncentivePayAmount : null; this.VoucherPayAmount = 'VoucherPayAmount' in params ? params.VoucherPayAmount : null; this.BillMonth = 'BillMonth' in params ? params.BillMonth : null; + this.TotalCost = 'TotalCost' in params ? params.TotalCost : null; } } @@ -496,6 +616,17 @@ class DescribeBillSummaryByProductRequest extends AbstractModel { */ this.PayerUin = null; + /** + * 款项类别,与L0账单上的汇总类别对应。 +此参数自账单3.0(即2021-05)之后开始生效。 +枚举值: +consume-消费 +refund-退款 +adjustment-调账 + * @type {string || null} + */ + this.PayType = null; + } /** @@ -508,6 +639,7 @@ class DescribeBillSummaryByProductRequest extends AbstractModel { this.BeginTime = 'BeginTime' in params ? params.BeginTime : null; this.EndTime = 'EndTime' in params ? params.EndTime : null; this.PayerUin = 'PayerUin' in params ? params.PayerUin : null; + this.PayType = 'PayType' in params ? params.PayType : null; } } @@ -521,7 +653,7 @@ class ConsumptionBusinessSummaryDataItem extends AbstractModel { super(); /** - * 产品码 + * 产品名称代码 * @type {string || null} */ this.BusinessCode = null; @@ -616,13 +748,13 @@ class CostDetail extends AbstractModel { this.PayerUin = null; /** - * 业务名称 + * 产品名称 * @type {string || null} */ this.BusinessCodeName = null; /** - * 产品名称 + * 子产品名称 * @type {string || null} */ this.ProductCodeName = null; @@ -701,7 +833,7 @@ class CostDetail extends AbstractModel { this.ComponentSet = null; /** - * 产品代码 + * 子产品名称代码 * @type {string || null} */ this.ProductCode = null; @@ -809,7 +941,7 @@ class BillResourceSummary extends AbstractModel { this.BusinessCodeName = null; /** - * 子产品:云产品子类,如云服务器CVM-标准型S1, 当没有获取到子产品名称时,返回"-" + * 子产品名称:云产品子类,如云服务器CVM-标准型S1, 当没有获取到子产品名称时,返回"-" * @type {string || null} */ this.ProductCodeName = null; @@ -906,6 +1038,7 @@ class BillResourceSummary extends AbstractModel { /** * 折扣率 +当聚合之后折扣不唯一或者合同价的情况下,返回“-” * @type {string || null} */ this.Discount = null; @@ -984,13 +1117,13 @@ class BillResourceSummary extends AbstractModel { this.OperateUin = null; /** - * 商品名称代码 + * 产品名称代码 * @type {string || null} */ this.BusinessCode = null; /** - * 子商品名称代码 + * 子产品名称代码 * @type {string || null} */ this.ProductCode = null; @@ -1087,6 +1220,12 @@ class DescribeBillSummaryByTagRequest extends AbstractModel { */ this.PayerUin = null; + /** + * 分账标签值 + * @type {string || null} + */ + this.TagValue = null; + } /** @@ -1100,6 +1239,7 @@ class DescribeBillSummaryByTagRequest extends AbstractModel { this.EndTime = 'EndTime' in params ? params.EndTime : null; this.TagKey = 'TagKey' in params ? params.TagKey : null; this.PayerUin = 'PayerUin' in params ? params.PayerUin : null; + this.TagValue = 'TagValue' in params ? params.TagValue : null; } } @@ -1119,7 +1259,7 @@ class Conditions extends AbstractModel { this.TimeRange = null; /** - * 产品编码 + * 产品名称代码 * @type {string || null} */ this.BusinessCode = null; @@ -1149,13 +1289,13 @@ class Conditions extends AbstractModel { this.ResourceKeyword = null; /** - * 产品编码 + * 产品名称代码 * @type {Array. || null} */ this.BusinessCodes = null; /** - * 子产品编码 + * 子产品名称代码 * @type {Array. || null} */ this.ProductCodes = null; @@ -1558,61 +1698,37 @@ class BillTransactionInfo extends AbstractModel { } /** - * 按地域汇总消费详情 + * DescribeVoucherInfo返回参数结构体 * @class */ -class RegionSummaryOverviewItem extends AbstractModel { +class DescribeVoucherInfoResponse extends AbstractModel { constructor(){ super(); /** - * 地域ID -注意:此字段可能返回 null,表示取不到有效值。 - * @type {string || null} - */ - this.RegionId = null; - - /** - * 地域名称 - * @type {string || null} - */ - this.RegionName = null; - - /** - * 实际花费 - * @type {string || null} - */ - this.RealTotalCost = null; - - /** - * 费用所占百分比,两位小数 - * @type {string || null} - */ - this.RealTotalCostRatio = null; - - /** - * 现金金额 - * @type {string || null} + * 券总数 + * @type {number || null} */ - this.CashPayAmount = null; + this.TotalCount = null; /** - * 赠送金金额 - * @type {string || null} + * 总余额(微分) + * @type {number || null} */ - this.IncentivePayAmount = null; + this.TotalBalance = null; /** - * 代金券金额 - * @type {string || null} + * 代金券相关信息 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {Array. || null} */ - this.VoucherPayAmount = null; + this.VoucherInfos = null; /** - * 账单月份,格式2019-08 + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 * @type {string || null} */ - this.BillMonth = null; + this.RequestId = null; } @@ -1623,14 +1739,18 @@ class RegionSummaryOverviewItem extends AbstractModel { if (!params) { return; } - this.RegionId = 'RegionId' in params ? params.RegionId : null; - this.RegionName = 'RegionName' in params ? params.RegionName : null; - this.RealTotalCost = 'RealTotalCost' in params ? params.RealTotalCost : null; - this.RealTotalCostRatio = 'RealTotalCostRatio' in params ? params.RealTotalCostRatio : null; - this.CashPayAmount = 'CashPayAmount' in params ? params.CashPayAmount : null; - this.IncentivePayAmount = 'IncentivePayAmount' in params ? params.IncentivePayAmount : null; - this.VoucherPayAmount = 'VoucherPayAmount' in params ? params.VoucherPayAmount : null; - this.BillMonth = 'BillMonth' in params ? params.BillMonth : null; + this.TotalCount = 'TotalCount' in params ? params.TotalCount : null; + this.TotalBalance = 'TotalBalance' in params ? params.TotalBalance : null; + + if (params.VoucherInfos) { + this.VoucherInfos = new Array(); + for (let z in params.VoucherInfos) { + let obj = new VoucherInfos(); + obj.deserialize(params.VoucherInfos[z]); + this.VoucherInfos.push(obj); + } + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; } } @@ -1704,7 +1824,7 @@ class ConsumptionResourceSummaryDataItem extends AbstractModel { this.PayModeName = null; /** - * 产品码 + * 产品名称代码 * @type {string || null} */ this.BusinessCode = null; @@ -1820,7 +1940,7 @@ class DescribeBillDetailRequest extends AbstractModel { this.NeedRecordNum = null; /** - * 查询指定产品信息(暂时未开放获取) + * 已废弃参数,未开放 * @type {string || null} */ this.ProductCode = null; @@ -1838,7 +1958,37 @@ class DescribeBillDetailRequest extends AbstractModel { this.ResourceId = null; /** - * 查询交易类型。如 按量计费日结,按量计费小时结 等 + * 查询交易类型,如下: +包年包月新购 +包年包月续费 +包年包月配置变更 +包年包月退款 +按量计费扣费 +按量计费小时结 +按量计费日结 +按量计费月结 +线下项目扣费 +线下产品扣费 +调账扣费 +调账补偿 +竞价实例小时结 +线下项目调账补偿 +线下产品调账补偿 +优惠扣费 +优惠补偿 +按量计费迁入资源 +按量计费迁出资源 +包年包月迁入资源 +包年包月迁出资源 +预付费用 +小时费用 +预留实例退款 +按量计费冲正 +按量计费冲正 +按量计费冲正 +按量计费冲正 +按量计费冲正 +包年包月转按量 * @type {string || null} */ this.ActionType = null; @@ -1849,6 +1999,13 @@ class DescribeBillDetailRequest extends AbstractModel { */ this.ProjectId = null; + /** + * 产品名称代码 +备注:如需获取当月使用过的BusinessCode,请调用API:获取产品汇总费用分布 + * @type {string || null} + */ + this.BusinessCode = null; + } /** @@ -1870,6 +2027,7 @@ class DescribeBillDetailRequest extends AbstractModel { this.ResourceId = 'ResourceId' in params ? params.ResourceId : null; this.ActionType = 'ActionType' in params ? params.ActionType : null; this.ProjectId = 'ProjectId' in params ? params.ProjectId : null; + this.BusinessCode = 'BusinessCode' in params ? params.BusinessCode : null; } } @@ -1943,6 +2101,91 @@ class ConsumptionProjectSummaryDataItem extends AbstractModel { } } +/** + * 按地域汇总消费详情 + * @class + */ +class RegionSummaryOverviewItem extends AbstractModel { + constructor(){ + super(); + + /** + * 地域ID +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.RegionId = null; + + /** + * 地域名称 + * @type {string || null} + */ + this.RegionName = null; + + /** + * 实际花费 + * @type {string || null} + */ + this.RealTotalCost = null; + + /** + * 费用所占百分比,两位小数 + * @type {string || null} + */ + this.RealTotalCostRatio = null; + + /** + * 现金金额 + * @type {string || null} + */ + this.CashPayAmount = null; + + /** + * 赠送金金额 + * @type {string || null} + */ + this.IncentivePayAmount = null; + + /** + * 代金券金额 + * @type {string || null} + */ + this.VoucherPayAmount = null; + + /** + * 账单月份,格式2019-08 + * @type {string || null} + */ + this.BillMonth = null; + + /** + * 原价,单位为元。TotalCost字段自账单3.0(即2021-05)之后开始生效,账单3.0之前返回"-"。合同价的情况下,TotalCost字段与官网价格存在差异,也返回“-”。 + * @type {string || null} + */ + this.TotalCost = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.RegionId = 'RegionId' in params ? params.RegionId : null; + this.RegionName = 'RegionName' in params ? params.RegionName : null; + this.RealTotalCost = 'RealTotalCost' in params ? params.RealTotalCost : null; + this.RealTotalCostRatio = 'RealTotalCostRatio' in params ? params.RealTotalCostRatio : null; + this.CashPayAmount = 'CashPayAmount' in params ? params.CashPayAmount : null; + this.IncentivePayAmount = 'IncentivePayAmount' in params ? params.IncentivePayAmount : null; + this.VoucherPayAmount = 'VoucherPayAmount' in params ? params.VoucherPayAmount : null; + this.BillMonth = 'BillMonth' in params ? params.BillMonth : null; + this.TotalCost = 'TotalCost' in params ? params.TotalCost : null; + + } +} + /** * DescribeCostSummaryByProduct返回参数结构体 * @class @@ -2428,7 +2671,7 @@ class BusinessSummaryOverviewItem extends AbstractModel { super(); /** - * 产品码 + * 产品名称代码 注意:此字段可能返回 null,表示取不到有效值。 * @type {string || null} */ @@ -2476,6 +2719,12 @@ class BusinessSummaryOverviewItem extends AbstractModel { */ this.BillMonth = null; + /** + * 原价,单位为元。TotalCost字段自账单3.0(即2021-05)之后开始生效,账单3.0之前返回"-"。合同价的情况下,TotalCost字段与官网价格存在差异,也返回“-”。 + * @type {string || null} + */ + this.TotalCost = null; + } /** @@ -2493,6 +2742,7 @@ class BusinessSummaryOverviewItem extends AbstractModel { this.IncentivePayAmount = 'IncentivePayAmount' in params ? params.IncentivePayAmount : null; this.VoucherPayAmount = 'VoucherPayAmount' in params ? params.VoucherPayAmount : null; this.BillMonth = 'BillMonth' in params ? params.BillMonth : null; + this.TotalCost = 'TotalCost' in params ? params.TotalCost : null; } } @@ -2837,6 +3087,57 @@ class DescribeCostSummaryByProjectRequest extends AbstractModel { } } +/** + * 使用记录 + * @class + */ +class UsageRecords extends AbstractModel { + constructor(){ + super(); + + /** + * 使用金额(微分) + * @type {number || null} + */ + this.UsedAmount = null; + + /** + * 使用时间 + * @type {string || null} + */ + this.UsedTime = null; + + /** + * 使用记录细节 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {Array. || null} + */ + this.UsageDetails = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.UsedAmount = 'UsedAmount' in params ? params.UsedAmount : null; + this.UsedTime = 'UsedTime' in params ? params.UsedTime : null; + + if (params.UsageDetails) { + this.UsageDetails = new Array(); + for (let z in params.UsageDetails) { + let obj = new UsageDetails(); + obj.deserialize(params.UsageDetails[z]); + this.UsageDetails.push(obj); + } + } + + } +} + /** * 消耗按地域汇总详情 * @class @@ -2949,6 +3250,43 @@ class DescribeDosageCosDetailByDateResponse extends AbstractModel { } } +/** + * 购买商品信息 + * @class + */ +class UsageDetails extends AbstractModel { + constructor(){ + super(); + + /** + * 商品名 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.ProductName = null; + + /** + * 商品细节 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.SubProductName = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.ProductName = 'ProductName' in params ? params.ProductName : null; + this.SubProductName = 'SubProductName' in params ? params.SubProductName : null; + + } +} + /** * DescribeBillResourceSummary返回参数结构体 * @class @@ -3056,6 +3394,12 @@ class ActionSummaryOverviewItem extends AbstractModel { */ this.BillMonth = null; + /** + * 原价,单位为元。TotalCost字段自账单3.0(即2021-05)之后开始生效,账单3.0之前返回"-"。合同价的情况下,TotalCost字段与官网价格存在差异,也返回“-”。 + * @type {string || null} + */ + this.TotalCost = null; + } /** @@ -3073,6 +3417,168 @@ class ActionSummaryOverviewItem extends AbstractModel { this.IncentivePayAmount = 'IncentivePayAmount' in params ? params.IncentivePayAmount : null; this.VoucherPayAmount = 'VoucherPayAmount' in params ? params.VoucherPayAmount : null; this.BillMonth = 'BillMonth' in params ? params.BillMonth : null; + this.TotalCost = 'TotalCost' in params ? params.TotalCost : null; + + } +} + +/** + * DescribeVoucherInfo请求参数结构体 + * @class + */ +class DescribeVoucherInfoRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 一页多少条数据,默认是20条,最大不超过1000 + * @type {number || null} + */ + this.Limit = null; + + /** + * 第多少页,默认是1 + * @type {number || null} + */ + this.Offset = null; + + /** + * 券状态:待使用:unUsed,已使用: used,已发货:delivered,已作废: cancel,已过期:overdue + * @type {string || null} + */ + this.Status = null; + + /** + * 代金券id + * @type {string || null} + */ + this.VoucherId = null; + + /** + * 代金券订单id + * @type {string || null} + */ + this.CodeId = null; + + /** + * 商品码 + * @type {string || null} + */ + this.ProductCode = null; + + /** + * 活动id + * @type {string || null} + */ + this.ActivityId = null; + + /** + * 代金券名称 + * @type {string || null} + */ + this.VoucherName = null; + + /** + * 发放开始时间 + * @type {string || null} + */ + this.TimeFrom = null; + + /** + * 发放结束时间 + * @type {string || null} + */ + this.TimeTo = null; + + /** + * 指定排序字段:BeginTime开始时间、EndTime到期时间、CreateTime创建时间 + * @type {string || null} + */ + this.SortField = null; + + /** + * 指定升序降序:desc、asc + * @type {string || null} + */ + this.SortOrder = null; + + /** + * 付费模式,postPay后付费/prePay预付费/riPay预留实例/""或者"*"表示全部模式,如果payMode为""或"*",那么productCode与subProductCode必须传空 + * @type {string || null} + */ + this.PayMode = null; + + /** + * 付费场景PayMode=postPay时:spotpay-竞价实例,"settle account"-普通后付费PayMode=prePay时:purchase-包年包月新购,renew-包年包月续费(自动续费),modify-包年包月配置变更(变配)PayMode=riPay时:oneOffFee-预留实例预付,hourlyFee-预留实例每小时扣费,*-支持全部付费场景 + * @type {string || null} + */ + this.PayScene = null; + + /** + * 操作人,默认就是用户uin + * @type {string || null} + */ + this.Operator = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Limit = 'Limit' in params ? params.Limit : null; + this.Offset = 'Offset' in params ? params.Offset : null; + this.Status = 'Status' in params ? params.Status : null; + this.VoucherId = 'VoucherId' in params ? params.VoucherId : null; + this.CodeId = 'CodeId' in params ? params.CodeId : null; + this.ProductCode = 'ProductCode' in params ? params.ProductCode : null; + this.ActivityId = 'ActivityId' in params ? params.ActivityId : null; + this.VoucherName = 'VoucherName' in params ? params.VoucherName : null; + this.TimeFrom = 'TimeFrom' in params ? params.TimeFrom : null; + this.TimeTo = 'TimeTo' in params ? params.TimeTo : null; + this.SortField = 'SortField' in params ? params.SortField : null; + this.SortOrder = 'SortOrder' in params ? params.SortOrder : null; + this.PayMode = 'PayMode' in params ? params.PayMode : null; + this.PayScene = 'PayScene' in params ? params.PayScene : null; + this.Operator = 'Operator' in params ? params.Operator : null; + + } +} + +/** + * 适用商品信息 + * @class + */ +class ApplicableProducts extends AbstractModel { + constructor(){ + super(); + + /** + * 适用商品名称,值为“全产品通用”或商品名称组成的string,以","分割。 + * @type {string || null} + */ + this.GoodsName = null; + + /** + * postPay后付费/prePay预付费/riPay预留实例/空字符串或者"*"表示全部模式。如GoodsName为多个商品名以","分割组成的string,而PayMode为"*",表示每一件商品的模式都为"*"。 + * @type {string || null} + */ + this.PayMode = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.GoodsName = 'GoodsName' in params ? params.GoodsName : null; + this.PayMode = 'PayMode' in params ? params.PayMode : null; } } @@ -3112,6 +3618,55 @@ class ConditionPayMode extends AbstractModel { } } +/** + * DescribeVoucherUsageDetails请求参数结构体 + * @class + */ +class DescribeVoucherUsageDetailsRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 一页多少条数据,默认是20条,最大不超过1000 + * @type {number || null} + */ + this.Limit = null; + + /** + * 第多少页,默认是1 + * @type {number || null} + */ + this.Offset = null; + + /** + * 代金券id + * @type {string || null} + */ + this.VoucherId = null; + + /** + * 操作人,默认就是用户uin + * @type {string || null} + */ + this.Operator = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Limit = 'Limit' in params ? params.Limit : null; + this.Offset = 'Offset' in params ? params.Offset : null; + this.VoucherId = 'VoucherId' in params ? params.VoucherId : null; + this.Operator = 'Operator' in params ? params.Operator : null; + + } +} + /** * DescribeDealsByCond请求参数结构体 * @class @@ -3174,6 +3729,12 @@ class DescribeDealsByCondRequest extends AbstractModel { */ this.BigDealId = null; + /** + * 资源id + * @type {string || null} + */ + this.ResourceId = null; + } /** @@ -3190,6 +3751,7 @@ class DescribeDealsByCondRequest extends AbstractModel { this.Status = 'Status' in params ? params.Status : null; this.OrderId = 'OrderId' in params ? params.OrderId : null; this.BigDealId = 'BigDealId' in params ? params.BigDealId : null; + this.ResourceId = 'ResourceId' in params ? params.ResourceId : null; } } @@ -3215,16 +3777,16 @@ class DescribeBillResourceSummaryRequest extends AbstractModel { this.Limit = null; /** - * 周期类型,byUsedTime按计费周期/byPayTime按扣费周期。需要与费用中心该月份账单的周期保持一致。您可前往[账单概览](https://console.cloud.tencent.com/expense/bill/overview)页面顶部查看确认您的账单统计周期类型。 + * 月份,格式为yyyy-mm。不能早于开通账单2.0的月份,最多可拉取24个月内的数据。 * @type {string || null} */ - this.PeriodType = null; + this.Month = null; /** - * 月份,格式为yyyy-mm。不能早于开通账单2.0的月份,最多可拉取24个月内的数据。 + * 周期类型,byUsedTime按计费周期/byPayTime按扣费周期。需要与费用中心该月份账单的周期保持一致。您可前往[账单概览](https://console.cloud.tencent.com/expense/bill/overview)页面顶部查看确认您的账单统计周期类型。 * @type {string || null} */ - this.Month = null; + this.PeriodType = null; /** * 是否需要访问列表的总记录数,用于前端分页 @@ -3234,11 +3796,60 @@ class DescribeBillResourceSummaryRequest extends AbstractModel { this.NeedRecordNum = null; /** - * 查询交易类型。如 按量计费日结,按量计费小时结 等 + * 查询交易类型,如下: +包年包月新购 +包年包月续费 +包年包月配置变更 +包年包月退款 +按量计费扣费 +按量计费小时结 +按量计费日结 +按量计费月结 +线下项目扣费 +线下产品扣费 +调账扣费 +调账补偿 +竞价实例小时结 +线下项目调账补偿 +线下产品调账补偿 +优惠扣费 +优惠补偿 +按量计费迁入资源 +按量计费迁出资源 +包年包月迁入资源 +包年包月迁出资源 +预付费用 +小时费用 +预留实例退款 +按量计费冲正 +按量计费冲正 +按量计费冲正 +按量计费冲正 +按量计费冲正 +包年包月转按量 * @type {string || null} */ this.ActionType = null; + /** + * 查询指定资源信息 + * @type {string || null} + */ + this.ResourceId = null; + + /** + * 付费模式 prePay/postPay + * @type {string || null} + */ + this.PayMode = null; + + /** + * 产品名称代码 +备注:如需获取当月使用过的BusinessCode,请调用API:获取产品汇总费用分布 + * @type {string || null} + */ + this.BusinessCode = null; + } /** @@ -3250,10 +3861,13 @@ class DescribeBillResourceSummaryRequest extends AbstractModel { } this.Offset = 'Offset' in params ? params.Offset : null; this.Limit = 'Limit' in params ? params.Limit : null; - this.PeriodType = 'PeriodType' in params ? params.PeriodType : null; this.Month = 'Month' in params ? params.Month : null; + this.PeriodType = 'PeriodType' in params ? params.PeriodType : null; this.NeedRecordNum = 'NeedRecordNum' in params ? params.NeedRecordNum : null; this.ActionType = 'ActionType' in params ? params.ActionType : null; + this.ResourceId = 'ResourceId' in params ? params.ResourceId : null; + this.PayMode = 'PayMode' in params ? params.PayMode : null; + this.BusinessCode = 'BusinessCode' in params ? params.BusinessCode : null; } } @@ -3346,7 +3960,30 @@ class DescribeBillListRequest extends AbstractModel { this.PayType = null; /** - * 扣费模式,当所选的交易类型中包含扣费deduct时有意义: all所有扣费类型,trade预付费支付,hour_h按量小时结,hour_d按量日结,hour_m按量月结,decompensate调账扣费,other其他扣费 + * 扣费模式, +当所选的交易类型为扣费deduct时: +all所有扣费类型;trade预付费支付;hour_h按量小时结;hour_d按量日结;hour_m按量月结;decompensate调账扣费;other第三方扣费;panshi 线下项目扣费;offline 线下产品扣费; + +当所选的交易类型为扣费recharge时: +online 在线充值;bank-enterprice 银企直连;offline 线下充值;transfer 分成充值 + +当所选的交易类型为扣费cash时: +online 线上提现;offline 线下提现;panshi 赠送金清零 + +当所选的交易类型为扣费advanced时: +advanced 垫付充值 + +当所选的交易类型为扣费repay时: +panshi 垫付回款 + +当所选的交易类型为扣费block时: +other 第三方冻结;hour 按量冻结;month按月冻结 + +当所选的交易类型为扣费return时: +compensate 调账补偿;trade 预付费退款 + +当所选的交易类型为扣费unblock时: +other 第三方解冻;hour 按量解冻;month 按月解冻 * @type {Array. || null} */ this.SubPayType = null; @@ -3426,6 +4063,43 @@ class PayDealsResponse extends AbstractModel { } } +/** + * 总数 + * @class + */ +class SummaryTotal extends AbstractModel { + constructor(){ + super(); + + /** + * 总数 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.RealTotalCost = null; + + /** + * 原价,单位为元。TotalCost字段自账单3.0(即2021-05)之后开始生效,账单3.0之前返回"-"。合同价的情况下,TotalCost字段与官网价格存在差异,也返回“-”。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.TotalCost = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.RealTotalCost = 'RealTotalCost' in params ? params.RealTotalCost : null; + this.TotalCost = 'TotalCost' in params ? params.TotalCost : null; + + } +} + /** * 账单明细数据对象 * @class @@ -3550,21 +4224,21 @@ class BillDetail extends AbstractModel { this.Tags = null; /** - * 商品名称代码 + * 产品名称代码 注意:此字段可能返回 null,表示取不到有效值。 * @type {string || null} */ this.BusinessCode = null; /** - * 子商品名称代码 + * 子产品名称代码 注意:此字段可能返回 null,表示取不到有效值。 * @type {string || null} */ this.ProductCode = null; /** - * 交易类型代码(未开放的字段) + * 交易类型代码 注意:此字段可能返回 null,表示取不到有效值。 * @type {string || null} */ @@ -3657,6 +4331,13 @@ class DescribeBillSummaryByTagResponse extends AbstractModel { */ this.SummaryOverview = null; + /** + * 总数 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {SummaryTotal || null} + */ + this.SummaryTotal = null; + /** * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 * @type {string || null} @@ -3682,6 +4363,12 @@ class DescribeBillSummaryByTagResponse extends AbstractModel { this.SummaryOverview.push(obj); } } + + if (params.SummaryTotal) { + let obj = new SummaryTotal(); + obj.deserialize(params.SummaryTotal) + this.SummaryTotal = obj; + } this.RequestId = 'RequestId' in params ? params.RequestId : null; } @@ -3716,6 +4403,13 @@ class TagSummaryOverviewItem extends AbstractModel { */ this.RealTotalCostRatio = null; + /** + * 原价,单位为元。TotalCost字段自账单3.0(即2021-05)之后开始生效,账单3.0之前返回"-"。合同价的情况下,TotalCost字段与官网价格存在差异,也返回“-”。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.TotalCost = null; + } /** @@ -3728,6 +4422,7 @@ class TagSummaryOverviewItem extends AbstractModel { this.TagValue = 'TagValue' in params ? params.TagValue : null; this.RealTotalCost = 'RealTotalCost' in params ? params.RealTotalCost : null; this.RealTotalCostRatio = 'RealTotalCostRatio' in params ? params.RealTotalCostRatio : null; + this.TotalCost = 'TotalCost' in params ? params.TotalCost : null; } } @@ -4092,6 +4787,46 @@ class Deal extends AbstractModel { */ this.PayMode = null; + /** + * 交易类型 +modifyNetworkMode 调整带宽模式 +modifyNetworkSize 调整带宽大小 +refund 退款 +downgrade 降配 +upgrade 升配 +renew 续费 +purchase 购买 +preMoveOut 包年包月迁出资源 +preMoveIn 包年包月迁入资源 +preToPost 预付费转后付费 +postMoveOut 按量计费迁出资源 +postMoveIn 按量计费迁入资源 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.Action = null; + + /** + * 产品编码中文名称 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.ProductName = null; + + /** + * 子产品编码中文名称 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.SubProductName = null; + + /** + * 订单对应的资源id, 查询参数Limit超过200,将返回null +注意:此字段可能返回 null,表示取不到有效值。 + * @type {Array. || null} + */ + this.ResourceId = null; + } /** @@ -4131,6 +4866,10 @@ class Deal extends AbstractModel { this.Formula = 'Formula' in params ? params.Formula : null; this.RefReturnDeals = 'RefReturnDeals' in params ? params.RefReturnDeals : null; this.PayMode = 'PayMode' in params ? params.PayMode : null; + this.Action = 'Action' in params ? params.Action : null; + this.ProductName = 'ProductName' in params ? params.ProductName : null; + this.SubProductName = 'SubProductName' in params ? params.SubProductName : null; + this.ResourceId = 'ResourceId' in params ? params.ResourceId : null; } } @@ -4220,6 +4959,64 @@ class DescribeCostDetailRequest extends AbstractModel { } } +/** + * DescribeVoucherUsageDetails返回参数结构体 + * @class + */ +class DescribeVoucherUsageDetailsResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 券总数 + * @type {number || null} + */ + this.TotalCount = null; + + /** + * 总已用金额(微分) + * @type {number || null} + */ + this.TotalUsedAmount = null; + + /** + * 代金券使用记录细节 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {Array. || null} + */ + this.UsageRecords = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.TotalCount = 'TotalCount' in params ? params.TotalCount : null; + this.TotalUsedAmount = 'TotalUsedAmount' in params ? params.TotalUsedAmount : null; + + if (params.UsageRecords) { + this.UsageRecords = new Array(); + for (let z in params.UsageRecords) { + let obj = new UsageRecords(); + obj.deserialize(params.UsageRecords[z]); + this.UsageRecords.push(obj); + } + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + /** * DescribeDealsByCond返回参数结构体 * @class @@ -4477,7 +5274,7 @@ class ConditionBusiness extends AbstractModel { super(); /** - * 产品码 + * 产品名称代码 * @type {string || null} */ this.BusinessCode = null; @@ -4658,7 +5455,7 @@ class DescribeDosageCosDetailByDateRequest extends AbstractModel { this.EndDate = null; /** - * COS 存储桶名称,可通过Get Service 接口是用来获取请求者名下的所有存储空间列表(Bucket list)https://tcloud-dev.oa.com/document/product/555/30925?!preview&!document=1 + * COS 存储桶名称,可通过Get Service 接口是用来获取请求者名下的所有存储空间列表(Bucket list)https://cloud.tencent.com/document/product/436/8291 * @type {string || null} */ this.BucketName = null; @@ -4679,6 +5476,41 @@ class DescribeDosageCosDetailByDateRequest extends AbstractModel { } } +/** + * 不适用商品信息 + * @class + */ +class ExcludedProducts extends AbstractModel { + constructor(){ + super(); + + /** + * 不适用商品名称 + * @type {string || null} + */ + this.GoodsName = null; + + /** + * postPay后付费/prePay预付费/riPay预留实例/空字符串或者"*"表示全部模式。 + * @type {string || null} + */ + this.PayMode = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.GoodsName = 'GoodsName' in params ? params.GoodsName : null; + this.PayMode = 'PayMode' in params ? params.PayMode : null; + + } +} + /** * 按付费模式汇总消费详情 * @class @@ -4735,6 +5567,12 @@ class PayModeSummaryOverviewItem extends AbstractModel { */ this.VoucherPayAmount = null; + /** + * 原价,单位为元。TotalCost字段自账单3.0(即2021-05)之后开始生效,账单3.0之前返回"-"。合同价的情况下,TotalCost字段与官网价格存在差异,也返回“-”。 + * @type {string || null} + */ + this.TotalCost = null; + } /** @@ -4760,6 +5598,7 @@ class PayModeSummaryOverviewItem extends AbstractModel { this.CashPayAmount = 'CashPayAmount' in params ? params.CashPayAmount : null; this.IncentivePayAmount = 'IncentivePayAmount' in params ? params.IncentivePayAmount : null; this.VoucherPayAmount = 'VoucherPayAmount' in params ? params.VoucherPayAmount : null; + this.TotalCost = 'TotalCost' in params ? params.TotalCost : null; } } @@ -4796,6 +5635,12 @@ class BusinessSummaryTotal extends AbstractModel { */ this.CashPayAmount = null; + /** + * 原价,单位为元。TotalCost字段自账单3.0(即2021-05)之后开始生效,账单3.0之前返回"-"。合同价的情况下,TotalCost字段与官网价格存在差异,也返回“-”。 + * @type {string || null} + */ + this.TotalCost = null; + } /** @@ -4809,6 +5654,7 @@ class BusinessSummaryTotal extends AbstractModel { this.VoucherPayAmount = 'VoucherPayAmount' in params ? params.VoucherPayAmount : null; this.IncentivePayAmount = 'IncentivePayAmount' in params ? params.IncentivePayAmount : null; this.CashPayAmount = 'CashPayAmount' in params ? params.CashPayAmount : null; + this.TotalCost = 'TotalCost' in params ? params.TotalCost : null; } } @@ -4885,6 +5731,7 @@ class DescribeCostSummaryByRegionResponse extends AbstractModel { module.exports = { CostComponentSet: CostComponentSet, + VoucherInfos: VoucherInfos, DescribeCostSummaryByProductRequest: DescribeCostSummaryByProductRequest, ConsumptionSummaryTotal: ConsumptionSummaryTotal, DescribeCostSummaryByProjectResponse: DescribeCostSummaryByProjectResponse, @@ -4904,11 +5751,12 @@ module.exports = { DescribeBillSummaryByRegionResponse: DescribeBillSummaryByRegionResponse, DetailSet: DetailSet, BillTransactionInfo: BillTransactionInfo, - RegionSummaryOverviewItem: RegionSummaryOverviewItem, + DescribeVoucherInfoResponse: DescribeVoucherInfoResponse, ConsumptionResourceSummaryDataItem: ConsumptionResourceSummaryDataItem, DescribeAccountBalanceRequest: DescribeAccountBalanceRequest, DescribeBillDetailRequest: DescribeBillDetailRequest, ConsumptionProjectSummaryDataItem: ConsumptionProjectSummaryDataItem, + RegionSummaryOverviewItem: RegionSummaryOverviewItem, DescribeCostSummaryByProductResponse: DescribeCostSummaryByProductResponse, ProductInfo: ProductInfo, DescribeDosageDetailByDateResponse: DescribeDosageDetailByDateResponse, @@ -4921,16 +5769,22 @@ module.exports = { DescribeBillSummaryByRegionRequest: DescribeBillSummaryByRegionRequest, DescribeBillSummaryByPayModeRequest: DescribeBillSummaryByPayModeRequest, DescribeCostSummaryByProjectRequest: DescribeCostSummaryByProjectRequest, + UsageRecords: UsageRecords, ConsumptionRegionSummaryDataItem: ConsumptionRegionSummaryDataItem, DescribeDosageCosDetailByDateResponse: DescribeDosageCosDetailByDateResponse, + UsageDetails: UsageDetails, DescribeBillResourceSummaryResponse: DescribeBillResourceSummaryResponse, ActionSummaryOverviewItem: ActionSummaryOverviewItem, + DescribeVoucherInfoRequest: DescribeVoucherInfoRequest, + ApplicableProducts: ApplicableProducts, ConditionPayMode: ConditionPayMode, + DescribeVoucherUsageDetailsRequest: DescribeVoucherUsageDetailsRequest, DescribeDealsByCondRequest: DescribeDealsByCondRequest, DescribeBillResourceSummaryRequest: DescribeBillResourceSummaryRequest, PayDealsRequest: PayDealsRequest, DescribeBillListRequest: DescribeBillListRequest, PayDealsResponse: PayDealsResponse, + SummaryTotal: SummaryTotal, BillDetail: BillDetail, DescribeBillSummaryByTagResponse: DescribeBillSummaryByTagResponse, TagSummaryOverviewItem: TagSummaryOverviewItem, @@ -4939,6 +5793,7 @@ module.exports = { ConsumptionResourceSummaryConditionValue: ConsumptionResourceSummaryConditionValue, Deal: Deal, DescribeCostDetailRequest: DescribeCostDetailRequest, + DescribeVoucherUsageDetailsResponse: DescribeVoucherUsageDetailsResponse, DescribeDealsByCondResponse: DescribeDealsByCondResponse, ConditionProject: ConditionProject, CosDetailSets: CosDetailSets, @@ -4948,6 +5803,7 @@ module.exports = { DescribeCostSummaryByResourceRequest: DescribeCostSummaryByResourceRequest, DescribeCostDetailResponse: DescribeCostDetailResponse, DescribeDosageCosDetailByDateRequest: DescribeDosageCosDetailByDateRequest, + ExcludedProducts: ExcludedProducts, PayModeSummaryOverviewItem: PayModeSummaryOverviewItem, BusinessSummaryTotal: BusinessSummaryTotal, DescribeCostSummaryByRegionResponse: DescribeCostSummaryByRegionResponse, diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/bm/v20180423/bm_client.js b/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/bm/v20180423/bm_client.js index 4b88ac42da..9c30f98e49 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/bm/v20180423/bm_client.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/bm/v20180423/bm_client.js @@ -642,12 +642,14 @@ TaskStatus(任务状态ID)与状态中文名的对应关系如下:
    AuthorizeRepair(授权维修)
    Ignore(暂不提醒)
    ConfirmRecovered(维修完成后,确认故障恢复)
    -ConfirmUnRecovered(维修完成后,确认故障未恢复)
    +ConfirmUnRecovered(维修完成后,确认故障未恢复,该操作已不推荐用)
    +NeedRepairAgain(维修完成后,故障未恢复,需要重新维修,推荐用此操作打回)
    +入参OperateRemark仅在Operate为NeedRepairAgain时有效,表示打回重修原因,建议给出打回的具体原因。

    操作约束(当前任务状态(TaskStatus)->对应可执行的操作):
    未授权(1)->授权维修;暂不处理
    暂不处理(4)->授权维修
    -待确认(3)->确认故障恢复;确认故障未恢复
    +待确认(3)->确认故障恢复;确认故障未恢复;需要重新维修
    未恢复(6)->确认故障恢复

    对于Ping不可达故障的任务,还允许:
    diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/bm/v20180423/models.js b/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/bm/v20180423/models.js index 2f31edcec4..a300422514 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/bm/v20180423/models.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/bm/v20180423/models.js @@ -6470,7 +6470,7 @@ class DescribeDevicesRequest extends AbstractModel { this.Offset = null; /** - * 返回数量 + * 返回数量,默认为20,最大值为100。 * @type {number || null} */ this.Limit = null; @@ -6571,6 +6571,12 @@ class DescribeDevicesRequest extends AbstractModel { */ this.Order = null; + /** + * 按照维保方式过滤。可取值为 Maintain: 在保; WillExpire: 即将过保; Expire: 已过保 + * @type {string || null} + */ + this.MaintainStatus = null; + } /** @@ -6606,6 +6612,7 @@ class DescribeDevicesRequest extends AbstractModel { this.IsLuckyDevice = 'IsLuckyDevice' in params ? params.IsLuckyDevice : null; this.OrderField = 'OrderField' in params ? params.OrderField : null; this.Order = 'Order' in params ? params.Order : null; + this.MaintainStatus = 'MaintainStatus' in params ? params.MaintainStatus : null; } } @@ -6851,6 +6858,12 @@ class RepairTaskControlRequest extends AbstractModel { */ this.Operate = null; + /** + * 需要重新维修操作的备注信息,可提供返场维修原因,以便驻场快速针对问题定位解决。 + * @type {string || null} + */ + this.OperateRemark = null; + } /** @@ -6862,6 +6875,7 @@ class RepairTaskControlRequest extends AbstractModel { } this.TaskId = 'TaskId' in params ? params.TaskId : null; this.Operate = 'Operate' in params ? params.Operate : null; + this.OperateRemark = 'OperateRemark' in params ? params.OperateRemark : null; } } @@ -6998,7 +7012,7 @@ class DeviceInfo extends AbstractModel { /** * 设备操作状态ID,取值: -
  • 1:运行中
  • 2:正在关机
  • 3:已关机
  • 5:正在开机
  • 7:重启中
  • 9:重装中
  • 12:绑定EIP
  • 13:解绑EIP
  • 14:绑定LB
  • 15:解绑LB
  • 19:更换IP中
  • 20:制作镜像中
  • 21:制作镜像失败
  • 23:故障待重装
  • +
  • 1:运行中
  • 2:正在关机
  • 3:已关机
  • 5:正在开机
  • 7:重启中
  • 9:重装中
  • 12:绑定EIP
  • 13:解绑EIP
  • 14:绑定LB
  • 15:解绑LB
  • 19:更换IP中
  • 20:制作镜像中
  • 21:制作镜像失败
  • 23:故障待重装
  • 24:无备件待退回
  • * @type {number || null} */ this.OperateStatus = null; @@ -7117,6 +7131,20 @@ class DeviceInfo extends AbstractModel { */ this.IsLuckyDevice = null; + /** + * 标识机器维保状态。Maintain: 在保; WillExpire: 即将过保; Expire: 已过保 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.MaintainStatus = null; + + /** + * 维保信息描述 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.MaintainMessage = null; + } /** @@ -7158,6 +7186,8 @@ class DeviceInfo extends AbstractModel { this.VpcCidrBlock = 'VpcCidrBlock' in params ? params.VpcCidrBlock : null; this.SubnetCidrBlock = 'SubnetCidrBlock' in params ? params.SubnetCidrBlock : null; this.IsLuckyDevice = 'IsLuckyDevice' in params ? params.IsLuckyDevice : null; + this.MaintainStatus = 'MaintainStatus' in params ? params.MaintainStatus : null; + this.MaintainMessage = 'MaintainMessage' in params ? params.MaintainMessage : null; } } diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/bsca/index.js b/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/bsca/index.js new file mode 100644 index 0000000000..9abee623fc --- /dev/null +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/bsca/index.js @@ -0,0 +1,3 @@ +module.exports = { + v20210811: require("./v20210811"), +}; diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/bsca/v20210811/bsca_client.js b/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/bsca/v20210811/bsca_client.js new file mode 100644 index 0000000000..a68140564a --- /dev/null +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/bsca/v20210811/bsca_client.js @@ -0,0 +1,99 @@ +/* + * Copyright (c) 2018 THL A29 Limited, a Tencent company. All Rights Reserved. + * + * 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. + */ +const models = require("./models"); +const AbstractClient = require('../../common/abstract_client') +const DescribeKBComponentVulnerabilityRequest = models.DescribeKBComponentVulnerabilityRequest; +const ComponentVulnerabilityUnion = models.ComponentVulnerabilityUnion; +const LicenseUnion = models.LicenseUnion; +const DescribeKBComponentVulnerabilityResponse = models.DescribeKBComponentVulnerabilityResponse; +const LicenseSummary = models.LicenseSummary; +const Qualifier = models.Qualifier; +const CVSSV3Info = models.CVSSV3Info; +const Component = models.Component; +const DescribeKBVulnerabilityResponse = models.DescribeKBVulnerabilityResponse; +const DescribeKBLicenseResponse = models.DescribeKBLicenseResponse; +const VulnerabilityUnion = models.VulnerabilityUnion; +const LicenseDetail = models.LicenseDetail; +const DescribeKBVulnerabilityRequest = models.DescribeKBVulnerabilityRequest; +const VulnerabilityDetail = models.VulnerabilityDetail; +const DescribeKBComponentResponse = models.DescribeKBComponentResponse; +const VulnerabilitySummary = models.VulnerabilitySummary; +const DescribeKBLicenseRequest = models.DescribeKBLicenseRequest; +const CVSSV2Info = models.CVSSV2Info; +const DescribeKBComponentRequest = models.DescribeKBComponentRequest; +const LicenseRestriction = models.LicenseRestriction; +const ComponentVulnerabilitySummary = models.ComponentVulnerabilitySummary; +const PURL = models.PURL; + + +/** + * bsca client + * @class + */ +class BscaClient extends AbstractClient { + + constructor(credential, region, profile) { + super("bsca.tencentcloudapi.com", "2021-08-11", credential, region, profile); + } + + /** + * 本接口(DescribeKBComponentVulnerability)用于在知识库中查询开源组件的漏洞信息。 + * @param {DescribeKBComponentVulnerabilityRequest} req + * @param {function(string, DescribeKBComponentVulnerabilityResponse):void} cb + * @public + */ + DescribeKBComponentVulnerability(req, cb) { + let resp = new DescribeKBComponentVulnerabilityResponse(); + this.request("DescribeKBComponentVulnerability", req, resp, cb); + } + + /** + * 本接口(DescribeKBComponent)用于在知识库中查询开源组件信息。本接口根据用户输入的PURL在知识库中寻找对应的开源组件,其中Name为必填字段。 + * @param {DescribeKBComponentRequest} req + * @param {function(string, DescribeKBComponentResponse):void} cb + * @public + */ + DescribeKBComponent(req, cb) { + let resp = new DescribeKBComponentResponse(); + this.request("DescribeKBComponent", req, resp, cb); + } + + /** + * 本接口(DescribeKBLicense)用于在知识库中查询许可证信息。 + * @param {DescribeKBLicenseRequest} req + * @param {function(string, DescribeKBLicenseResponse):void} cb + * @public + */ + DescribeKBLicense(req, cb) { + let resp = new DescribeKBLicenseResponse(); + this.request("DescribeKBLicense", req, resp, cb); + } + + /** + * 本接口(DescribeKBVulnerability)用于在知识库中查询漏洞详细信息,支持根据CVE ID查询或者根据Vul ID查询。 + * @param {DescribeKBVulnerabilityRequest} req + * @param {function(string, DescribeKBVulnerabilityResponse):void} cb + * @public + */ + DescribeKBVulnerability(req, cb) { + let resp = new DescribeKBVulnerabilityResponse(); + this.request("DescribeKBVulnerability", req, resp, cb); + } + + +} +module.exports = BscaClient; diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/bsca/v20210811/index.js b/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/bsca/v20210811/index.js new file mode 100644 index 0000000000..247a064a9a --- /dev/null +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/bsca/v20210811/index.js @@ -0,0 +1,4 @@ +module.exports = { + Client: require("./bsca_client"), + Models: require("./models"), +}; diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/bsca/v20210811/models.js b/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/bsca/v20210811/models.js new file mode 100644 index 0000000000..b9d5e93a21 --- /dev/null +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/bsca/v20210811/models.js @@ -0,0 +1,1310 @@ +/* + * Copyright (c) 2018 THL A29 Limited, a Tencent company. All Rights Reserved. + * + * 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. + */ +const AbstractModel = require("../../common/abstract_model"); + +/** + * DescribeKBComponentVulnerability请求参数结构体 + * @class + */ +class DescribeKBComponentVulnerabilityRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 组件的PURL,其中Name和Version为必填字段 + * @type {PURL || null} + */ + this.PURL = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + + if (params.PURL) { + let obj = new PURL(); + obj.deserialize(params.PURL) + this.PURL = obj; + } + + } +} + +/** + * 描述组件漏洞相关概览信息。 + * @class + */ +class ComponentVulnerabilityUnion extends AbstractModel { + constructor(){ + super(); + + /** + * 漏洞概览信息 + * @type {VulnerabilitySummary || null} + */ + this.Summary = null; + + /** + * 与组件相关的漏洞概览信息 + * @type {ComponentVulnerabilitySummary || null} + */ + this.SummaryInComponent = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + + if (params.Summary) { + let obj = new VulnerabilitySummary(); + obj.deserialize(params.Summary) + this.Summary = obj; + } + + if (params.SummaryInComponent) { + let obj = new ComponentVulnerabilitySummary(); + obj.deserialize(params.SummaryInComponent) + this.SummaryInComponent = obj; + } + + } +} + +/** + * 许可证详细信息。 + * @class + */ +class LicenseUnion extends AbstractModel { + constructor(){ + super(); + + /** + * 许可证概览信息 + * @type {LicenseSummary || null} + */ + this.LicenseSummary = null; + + /** + * 许可证详细信息 + * @type {LicenseDetail || null} + */ + this.LicenseDetail = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + + if (params.LicenseSummary) { + let obj = new LicenseSummary(); + obj.deserialize(params.LicenseSummary) + this.LicenseSummary = obj; + } + + if (params.LicenseDetail) { + let obj = new LicenseDetail(); + obj.deserialize(params.LicenseDetail) + this.LicenseDetail = obj; + } + + } +} + +/** + * DescribeKBComponentVulnerability返回参数结构体 + * @class + */ +class DescribeKBComponentVulnerabilityResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 漏洞信息列表 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {Array. || null} + */ + this.VulnerabilityList = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + + if (params.VulnerabilityList) { + this.VulnerabilityList = new Array(); + for (let z in params.VulnerabilityList) { + let obj = new ComponentVulnerabilityUnion(); + obj.deserialize(params.VulnerabilityList[z]); + this.VulnerabilityList.push(obj); + } + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * 描述许可证的概览信息。 + * @class + */ +class LicenseSummary extends AbstractModel { + constructor(){ + super(); + + /** + * 许可证标识符 + * @type {string || null} + */ + this.Key = null; + + /** + * 许可证的SPDX标识符,见 https://spdx.org/licenses/ + * @type {string || null} + */ + this.SPDXKey = null; + + /** + * 许可证短名称 + * @type {string || null} + */ + this.ShortName = null; + + /** + * 许可证完整名称 + * @type {string || null} + */ + this.Name = null; + + /** + * License风险等级 +
  • NotDefined
  • +
  • LowRisk
  • +
  • MediumRisk
  • +
  • HighRisk
  • + * @type {string || null} + */ + this.Risk = null; + + /** + * 许可证来源URL + * @type {string || null} + */ + this.Source = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Key = 'Key' in params ? params.Key : null; + this.SPDXKey = 'SPDXKey' in params ? params.SPDXKey : null; + this.ShortName = 'ShortName' in params ? params.ShortName : null; + this.Name = 'Name' in params ? params.Name : null; + this.Risk = 'Risk' in params ? params.Risk : null; + this.Source = 'Source' in params ? params.Source : null; + + } +} + +/** + * PURL下的Qualifier属性类型,用于定义第三方组件的额外属性,见 https://github.com/package-url/purl-spec。 + * @class + */ +class Qualifier extends AbstractModel { + constructor(){ + super(); + + /** + * 额外属性的名称。 + * @type {string || null} + */ + this.Key = null; + + /** + * 额外属性的值。 + * @type {string || null} + */ + this.Value = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Key = 'Key' in params ? params.Key : null; + this.Value = 'Value' in params ? params.Value : null; + + } +} + +/** + * Cvssv3.0详细信息。 + * @class + */ +class CVSSV3Info extends AbstractModel { + constructor(){ + super(); + + /** + * CVE评分。 + * @type {number || null} + */ + this.CVSS = null; + + /** + * AttackVector 攻击途径。 +取值范围: +
  • NETWORK 远程
  • +
  • ADJACENT_NETWORK 近邻
  • +
  • LOCAL 本地
  • +
  • PHYSICAL 物理
  • + * @type {string || null} + */ + this.AttackVector = null; + + /** + * AttackComplexity 攻击复杂度。 +取值范围: +
  • HIGH 高
  • +
  • LOW 低
  • + * @type {string || null} + */ + this.AttackComplexity = null; + + /** + * PrivilegesRequired 触发特权。 +取值范围: +
  • HIGH 高
  • +
  • LOW 低
  • +
  • NONE 无
  • + * @type {string || null} + */ + this.PrivilegesRequired = null; + + /** + * UserInteraction 交互必要性。 +取值范围: +
  • NONE 无
  • +
  • REQUIRED 需要
  • + * @type {string || null} + */ + this.UserInteraction = null; + + /** + * Scope 绕过安全边界。 +取值范围: +
  • UNCHANGED 否
  • +
  • CHANGED 能
  • + * @type {string || null} + */ + this.Scope = null; + + /** + * ConfidentialityImpact 机密性影响。 +取值范围: +
  • NONE 无
  • +
  • LOW 低
  • +
  • HIGH 高
  • + * @type {string || null} + */ + this.ConImpact = null; + + /** + * IntegrityImpact 完整性影响。 +取值范围: +
  • NONE 无
  • +
  • LOW 低
  • +
  • HIGH 高
  • + * @type {string || null} + */ + this.IntegrityImpact = null; + + /** + * AvailabilityImpact 可用性影响。 +取值范围: +
  • NONE 无
  • +
  • LOW 低
  • +
  • HIGH 高
  • + * @type {string || null} + */ + this.AvailabilityImpact = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.CVSS = 'CVSS' in params ? params.CVSS : null; + this.AttackVector = 'AttackVector' in params ? params.AttackVector : null; + this.AttackComplexity = 'AttackComplexity' in params ? params.AttackComplexity : null; + this.PrivilegesRequired = 'PrivilegesRequired' in params ? params.PrivilegesRequired : null; + this.UserInteraction = 'UserInteraction' in params ? params.UserInteraction : null; + this.Scope = 'Scope' in params ? params.Scope : null; + this.ConImpact = 'ConImpact' in params ? params.ConImpact : null; + this.IntegrityImpact = 'IntegrityImpact' in params ? params.IntegrityImpact : null; + this.AvailabilityImpact = 'AvailabilityImpact' in params ? params.AvailabilityImpact : null; + + } +} + +/** + * 描述一个第三方组件的源信息。 + * @class + */ +class Component extends AbstractModel { + constructor(){ + super(); + + /** + * 第三方组件的PURL + * @type {PURL || null} + */ + this.PURL = null; + + /** + * 第三方组件的主页 + * @type {string || null} + */ + this.Homepage = null; + + /** + * 第三方组件的简介 + * @type {string || null} + */ + this.Summary = null; + + /** + * 第三方组件的别名列表 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {Array. || null} + */ + this.NicknameList = null; + + /** + * 第三方组件的代码位置列表 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {Array. || null} + */ + this.CodeLocationList = null; + + /** + * 第三方组件的许可证表达式 + * @type {string || null} + */ + this.LicenseExpression = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + + if (params.PURL) { + let obj = new PURL(); + obj.deserialize(params.PURL) + this.PURL = obj; + } + this.Homepage = 'Homepage' in params ? params.Homepage : null; + this.Summary = 'Summary' in params ? params.Summary : null; + this.NicknameList = 'NicknameList' in params ? params.NicknameList : null; + this.CodeLocationList = 'CodeLocationList' in params ? params.CodeLocationList : null; + this.LicenseExpression = 'LicenseExpression' in params ? params.LicenseExpression : null; + + } +} + +/** + * DescribeKBVulnerability返回参数结构体 + * @class + */ +class DescribeKBVulnerabilityResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 漏洞详细信息列表 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {Array. || null} + */ + this.VulnerabilityDetailList = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + + if (params.VulnerabilityDetailList) { + this.VulnerabilityDetailList = new Array(); + for (let z in params.VulnerabilityDetailList) { + let obj = new VulnerabilityUnion(); + obj.deserialize(params.VulnerabilityDetailList[z]); + this.VulnerabilityDetailList.push(obj); + } + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * DescribeKBLicense返回参数结构体 + * @class + */ +class DescribeKBLicenseResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 许可证列表 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {Array. || null} + */ + this.LicenseList = null; + + /** + * 用于匹配的License表达式 + * @type {string || null} + */ + this.NormalizedLicenseExpression = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + + if (params.LicenseList) { + this.LicenseList = new Array(); + for (let z in params.LicenseList) { + let obj = new LicenseUnion(); + obj.deserialize(params.LicenseList[z]); + this.LicenseList.push(obj); + } + } + this.NormalizedLicenseExpression = 'NormalizedLicenseExpression' in params ? params.NormalizedLicenseExpression : null; + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * 描述漏洞的详细信息。 + * @class + */ +class VulnerabilityUnion extends AbstractModel { + constructor(){ + super(); + + /** + * 漏洞概览信息 + * @type {VulnerabilitySummary || null} + */ + this.Summary = null; + + /** + * 漏洞详细信息 + * @type {VulnerabilityDetail || null} + */ + this.Detail = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + + if (params.Summary) { + let obj = new VulnerabilitySummary(); + obj.deserialize(params.Summary) + this.Summary = obj; + } + + if (params.Detail) { + let obj = new VulnerabilityDetail(); + obj.deserialize(params.Detail) + this.Detail = obj; + } + + } +} + +/** + * 描述许可证的详细信息。 + * @class + */ +class LicenseDetail extends AbstractModel { + constructor(){ + super(); + + /** + * 许可证内容 + * @type {string || null} + */ + this.Content = null; + + /** + * 许可证允许信息列表 + * @type {Array. || null} + */ + this.ConditionSet = null; + + /** + * 许可证要求信息列表 + * @type {Array. || null} + */ + this.ForbiddenSet = null; + + /** + * 许可证禁止信息列表 + * @type {Array. || null} + */ + this.PermissionSet = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Content = 'Content' in params ? params.Content : null; + + if (params.ConditionSet) { + this.ConditionSet = new Array(); + for (let z in params.ConditionSet) { + let obj = new LicenseRestriction(); + obj.deserialize(params.ConditionSet[z]); + this.ConditionSet.push(obj); + } + } + + if (params.ForbiddenSet) { + this.ForbiddenSet = new Array(); + for (let z in params.ForbiddenSet) { + let obj = new LicenseRestriction(); + obj.deserialize(params.ForbiddenSet[z]); + this.ForbiddenSet.push(obj); + } + } + + if (params.PermissionSet) { + this.PermissionSet = new Array(); + for (let z in params.PermissionSet) { + let obj = new LicenseRestriction(); + obj.deserialize(params.PermissionSet[z]); + this.PermissionSet.push(obj); + } + } + + } +} + +/** + * DescribeKBVulnerability请求参数结构体 + * @class + */ +class DescribeKBVulnerabilityRequest extends AbstractModel { + constructor(){ + super(); + + /** + * CVE ID列表(不能与Vul ID同时存在) + * @type {Array. || null} + */ + this.CVEID = null; + + /** + * Vul ID列表(不能与CVE ID 同时存在) + * @type {Array. || null} + */ + this.VulID = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.CVEID = 'CVEID' in params ? params.CVEID : null; + this.VulID = 'VulID' in params ? params.VulID : null; + + } +} + +/** + * 描述漏洞详细信息。 + * @class + */ +class VulnerabilityDetail extends AbstractModel { + constructor(){ + super(); + + /** + * 漏洞类别 + * @type {string || null} + */ + this.Category = null; + + /** + * 漏洞分类 + * @type {string || null} + */ + this.CategoryType = null; + + /** + * 漏洞描述 + * @type {string || null} + */ + this.Description = null; + + /** + * 漏洞官方解决方案 + * @type {string || null} + */ + this.OfficialSolution = null; + + /** + * 漏洞信息参考列表 + * @type {Array. || null} + */ + this.ReferenceList = null; + + /** + * 漏洞防御方案 + * @type {string || null} + */ + this.DefenseSolution = null; + + /** + * 漏洞CVSSv2信息 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {CVSSV2Info || null} + */ + this.CVSSv2Info = null; + + /** + * 漏洞CVSSv3信息 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {CVSSV3Info || null} + */ + this.CVSSv3Info = null; + + /** + * 漏洞提交时间 + * @type {string || null} + */ + this.SubmitTime = null; + + /** + * CWE编号 + * @type {string || null} + */ + this.CWEID = null; + + /** + * 漏洞CVSSv2向量 + * @type {string || null} + */ + this.CVSSv2Vector = null; + + /** + * 漏洞CVSSv3向量 + * @type {string || null} + */ + this.CVSSv3Vector = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Category = 'Category' in params ? params.Category : null; + this.CategoryType = 'CategoryType' in params ? params.CategoryType : null; + this.Description = 'Description' in params ? params.Description : null; + this.OfficialSolution = 'OfficialSolution' in params ? params.OfficialSolution : null; + this.ReferenceList = 'ReferenceList' in params ? params.ReferenceList : null; + this.DefenseSolution = 'DefenseSolution' in params ? params.DefenseSolution : null; + + if (params.CVSSv2Info) { + let obj = new CVSSV2Info(); + obj.deserialize(params.CVSSv2Info) + this.CVSSv2Info = obj; + } + + if (params.CVSSv3Info) { + let obj = new CVSSV3Info(); + obj.deserialize(params.CVSSv3Info) + this.CVSSv3Info = obj; + } + this.SubmitTime = 'SubmitTime' in params ? params.SubmitTime : null; + this.CWEID = 'CWEID' in params ? params.CWEID : null; + this.CVSSv2Vector = 'CVSSv2Vector' in params ? params.CVSSv2Vector : null; + this.CVSSv3Vector = 'CVSSv3Vector' in params ? params.CVSSv3Vector : null; + + } +} + +/** + * DescribeKBComponent返回参数结构体 + * @class + */ +class DescribeKBComponentResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 匹配的组件信息 + * @type {Component || null} + */ + this.Component = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + + if (params.Component) { + let obj = new Component(); + obj.deserialize(params.Component) + this.Component = obj; + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * 描述漏洞的摘要信息。 + * @class + */ +class VulnerabilitySummary extends AbstractModel { + constructor(){ + super(); + + /** + * 漏洞ID + * @type {string || null} + */ + this.VulID = null; + + /** + * 漏洞所属CVE编号 + * @type {string || null} + */ + this.CVEID = null; + + /** + * 漏洞所属CNVD编号 + * @type {string || null} + */ + this.CNVDID = null; + + /** + * 漏洞所属CNNVD编号 + * @type {string || null} + */ + this.CNNVDID = null; + + /** + * 漏洞名称 + * @type {string || null} + */ + this.Name = null; + + /** + * 该漏洞是否是需重点关注的漏洞 + * @type {boolean || null} + */ + this.IsSuggest = null; + + /** + * 漏洞风险等级 +
  • Critical
  • +
  • High
  • +
  • Medium
  • +
  • Low
  • + * @type {string || null} + */ + this.Severity = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.VulID = 'VulID' in params ? params.VulID : null; + this.CVEID = 'CVEID' in params ? params.CVEID : null; + this.CNVDID = 'CNVDID' in params ? params.CNVDID : null; + this.CNNVDID = 'CNNVDID' in params ? params.CNNVDID : null; + this.Name = 'Name' in params ? params.Name : null; + this.IsSuggest = 'IsSuggest' in params ? params.IsSuggest : null; + this.Severity = 'Severity' in params ? params.Severity : null; + + } +} + +/** + * DescribeKBLicense请求参数结构体 + * @class + */ +class DescribeKBLicenseRequest extends AbstractModel { + constructor(){ + super(); + + /** + * License表达式 + * @type {string || null} + */ + this.LicenseExpression = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.LicenseExpression = 'LicenseExpression' in params ? params.LicenseExpression : null; + + } +} + +/** + * CVSSv2.0详细信息。 + * @class + */ +class CVSSV2Info extends AbstractModel { + constructor(){ + super(); + + /** + * CVE评分。 + * @type {number || null} + */ + this.CVSS = null; + + /** + * AccessVector 攻击途径。 +取值范围: +
  • NETWORK 远程
  • +
  • ADJACENT_NETWORK 近邻
  • +
  • LOCAL 本地
  • + * @type {string || null} + */ + this.AccessVector = null; + + /** + * AccessComplexity 攻击复杂度。 +取值范围: +
  • HIGH 高
  • +
  • MEDIUM 中
  • +
  • LOW 低
  • + * @type {string || null} + */ + this.AccessComplexity = null; + + /** + * Authentication 身份验证。 +取值范围: +
  • MULTIPLE 多系统认证
  • +
  • SINGLE 单系统认证
  • +
  • NONE 无
  • + * @type {string || null} + */ + this.Authentication = null; + + /** + * ConfidentialityImpact 机密性影响。 +取值范围: +
  • NONE 无
  • +
  • PARTIAL 部分
  • +
  • COMPLETE 完整
  • + * @type {string || null} + */ + this.ConImpact = null; + + /** + * IntegrityImpact 完整性影响。 +取值范围: +
  • NONE 无
  • +
  • PARTIAL 部分
  • +
  • COMPLETE 完整
  • + * @type {string || null} + */ + this.IntegrityImpact = null; + + /** + * AvailabilityImpact 可用性影响。 +取值范围: +
  • NONE 无
  • +
  • PARTIAL 部分
  • +
  • COMPLETE 完整
  • + * @type {string || null} + */ + this.AvailabilityImpact = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.CVSS = 'CVSS' in params ? params.CVSS : null; + this.AccessVector = 'AccessVector' in params ? params.AccessVector : null; + this.AccessComplexity = 'AccessComplexity' in params ? params.AccessComplexity : null; + this.Authentication = 'Authentication' in params ? params.Authentication : null; + this.ConImpact = 'ConImpact' in params ? params.ConImpact : null; + this.IntegrityImpact = 'IntegrityImpact' in params ? params.IntegrityImpact : null; + this.AvailabilityImpact = 'AvailabilityImpact' in params ? params.AvailabilityImpact : null; + + } +} + +/** + * DescribeKBComponent请求参数结构体 + * @class + */ +class DescribeKBComponentRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 组件的PURL + * @type {PURL || null} + */ + this.PURL = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + + if (params.PURL) { + let obj = new PURL(); + obj.deserialize(params.PURL) + this.PURL = obj; + } + + } +} + +/** + * License约束信息。 + * @class + */ +class LicenseRestriction extends AbstractModel { + constructor(){ + super(); + + /** + * license约束的名称。 + * @type {string || null} + */ + this.Name = null; + + /** + * license约束的描述。 + * @type {string || null} + */ + this.Description = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Name = 'Name' in params ? params.Name : null; + this.Description = 'Description' in params ? params.Description : null; + + } +} + +/** + * 与输入组件相关的漏洞信息摘要信息。 + * @class + */ +class ComponentVulnerabilitySummary extends AbstractModel { + constructor(){ + super(); + + /** + * 用于匹配漏洞的PURL +注意:此字段可能返回 null,表示取不到有效值。 + * @type {PURL || null} + */ + this.PURL = null; + + /** + * 该组件是否包含修复漏洞的官方补丁 + * @type {boolean || null} + */ + this.CanBeFixed = null; + + /** + * 修复漏洞的组件版本号 + * @type {string || null} + */ + this.FixedVersion = null; + + /** + * 漏洞影响的组件版本号 + * @type {string || null} + */ + this.AffectedVersion = null; + + /** + * 漏洞影响组件 + * @type {string || null} + */ + this.AffectedComponent = null; + + /** + * 漏洞在该产品中的风险等级 +
  • Critical
  • +
  • High
  • +
  • Medium
  • +
  • Low
  • + * @type {string || null} + */ + this.RiskLevel = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + + if (params.PURL) { + let obj = new PURL(); + obj.deserialize(params.PURL) + this.PURL = obj; + } + this.CanBeFixed = 'CanBeFixed' in params ? params.CanBeFixed : null; + this.FixedVersion = 'FixedVersion' in params ? params.FixedVersion : null; + this.AffectedVersion = 'AffectedVersion' in params ? params.AffectedVersion : null; + this.AffectedComponent = 'AffectedComponent' in params ? params.AffectedComponent : null; + this.RiskLevel = 'RiskLevel' in params ? params.RiskLevel : null; + + } +} + +/** + * PURL(Package URL)用于定位一个产品或组件,见 https://github.com/package-url/purl-spec。 + * @class + */ +class PURL extends AbstractModel { + constructor(){ + super(); + + /** + * 组件名称 + * @type {string || null} + */ + this.Name = null; + + /** + * 组件所属的类型,如:github, gitlab, generic, deb, rpm, maven 等 + * @type {string || null} + */ + this.Protocol = null; + + /** + * 组件名的前缀名,如github和gitlab的用户名,deb的操作系统,maven包的group id等 + * @type {string || null} + */ + this.Namespace = null; + + /** + * 修饰组件的额外属性 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {Array. || null} + */ + this.Qualifiers = null; + + /** + * 相对于组件包根位置的子目录 + * @type {string || null} + */ + this.Subpath = null; + + /** + * 组件版本号 + * @type {string || null} + */ + this.Version = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Name = 'Name' in params ? params.Name : null; + this.Protocol = 'Protocol' in params ? params.Protocol : null; + this.Namespace = 'Namespace' in params ? params.Namespace : null; + + if (params.Qualifiers) { + this.Qualifiers = new Array(); + for (let z in params.Qualifiers) { + let obj = new Qualifier(); + obj.deserialize(params.Qualifiers[z]); + this.Qualifiers.push(obj); + } + } + this.Subpath = 'Subpath' in params ? params.Subpath : null; + this.Version = 'Version' in params ? params.Version : null; + + } +} + +module.exports = { + DescribeKBComponentVulnerabilityRequest: DescribeKBComponentVulnerabilityRequest, + ComponentVulnerabilityUnion: ComponentVulnerabilityUnion, + LicenseUnion: LicenseUnion, + DescribeKBComponentVulnerabilityResponse: DescribeKBComponentVulnerabilityResponse, + LicenseSummary: LicenseSummary, + Qualifier: Qualifier, + CVSSV3Info: CVSSV3Info, + Component: Component, + DescribeKBVulnerabilityResponse: DescribeKBVulnerabilityResponse, + DescribeKBLicenseResponse: DescribeKBLicenseResponse, + VulnerabilityUnion: VulnerabilityUnion, + LicenseDetail: LicenseDetail, + DescribeKBVulnerabilityRequest: DescribeKBVulnerabilityRequest, + VulnerabilityDetail: VulnerabilityDetail, + DescribeKBComponentResponse: DescribeKBComponentResponse, + VulnerabilitySummary: VulnerabilitySummary, + DescribeKBLicenseRequest: DescribeKBLicenseRequest, + CVSSV2Info: CVSSV2Info, + DescribeKBComponentRequest: DescribeKBComponentRequest, + LicenseRestriction: LicenseRestriction, + ComponentVulnerabilitySummary: ComponentVulnerabilitySummary, + PURL: PURL, + +} diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/btoe/index.js b/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/btoe/index.js index 801786dc09..d5f5414d73 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/btoe/index.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/btoe/index.js @@ -1,3 +1,3 @@ module.exports = { - v20210303: require("./v20210303"), + v20210303: require("./v20210303"), v20210514: require("./v20210514"), }; diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/btoe/v20210303/btoe_client.js b/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/btoe/v20210303/btoe_client.js index a4a42d619c..4066046a7b 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/btoe/v20210303/btoe_client.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/btoe/v20210303/btoe_client.js @@ -53,7 +53,9 @@ class BtoeClient extends AbstractClient { } /** - * 用户通过存证编码向BTOE查询存证电子凭证信息。 + * 功能迭代,已上线更高版本的接口2021-05-14 + +用户通过存证编码向BTOE查询存证电子凭证信息。 * @param {GetDepositCertRequest} req * @param {function(string, GetDepositCertResponse):void} cb * @public @@ -64,7 +66,9 @@ class BtoeClient extends AbstractClient { } /** - * 用户通过本接口向BTOE写入待存证的原文数据Hash值,BTOE对业务数据Hash值存证上链,并生成含有电子签章的区块链存证电子凭证。 + * 功能迭代,已上线更高版本的接口2021-05-14 + +用户通过本接口向BTOE写入待存证的原文数据Hash值,BTOE对业务数据Hash值存证上链,并生成含有电子签章的区块链存证电子凭证。 * @param {CreateHashDepositRequest} req * @param {function(string, CreateHashDepositResponse):void} cb * @public @@ -75,7 +79,9 @@ class BtoeClient extends AbstractClient { } /** - * 用户通过存证编码向BTOE获取存证文件的下载URL。 + * 功能迭代,已上线更高版本的接口2021-05-14 + +用户通过存证编码向BTOE获取存证文件的下载URL。 -注:Hash类存证、业务数据明文存证不产生存证文件。 * @param {GetDepositFileRequest} req * @param {function(string, GetDepositFileResponse):void} cb @@ -87,7 +93,9 @@ class BtoeClient extends AbstractClient { } /** - * 用户通过本接口向BTOE写入待存证的视频的原文件或下载URL,BTOE对视频原文件存储后,将其Hash值存证上链,并生成含有电子签章的区块链存证电子凭证。视频文件支持格式:mp4、avi、mkv、mov、flv,wmv,rmvb,3gp;文件大小限制:直接上传原文件不大于5MB,下载URL文件大小不大于200 MB。 + * 功能迭代,已上线更高版本的接口2021-05-14 + +用户通过本接口向BTOE写入待存证的视频的原文件或下载URL,BTOE对视频原文件存储后,将其Hash值存证上链,并生成含有电子签章的区块链存证电子凭证。视频文件支持格式:mp4、avi、mkv、mov、flv,wmv,rmvb,3gp;文件大小限制:直接上传原文件不大于5MB,下载URL文件大小不大于200 MB。 * @param {CreateVideoDepositRequest} req * @param {function(string, CreateVideoDepositResponse):void} cb * @public @@ -98,7 +106,9 @@ class BtoeClient extends AbstractClient { } /** - * 用户通过本接口向BTOE写入待存证的文档原文件或下载URL,BTOE对文档原文件存储后,将其Hash值存证上链,并生成含有电子签章的区块链存证电子凭证。文档类型支持格式:doc、docx、xls、xlsx、ppt、pptx、 pdf、html、txt、md、csv;原文件上传大小不超过5 MB,下载URL文件大小不超过10 MB。 + * 功能迭代,已上线更高版本的接口2021-05-14 + +用户通过本接口向BTOE写入待存证的文档原文件或下载URL,BTOE对文档原文件存储后,将其Hash值存证上链,并生成含有电子签章的区块链存证电子凭证。文档类型支持格式:doc、docx、xls、xlsx、ppt、pptx、 pdf、html、txt、md、csv;原文件上传大小不超过5 MB,下载URL文件大小不超过10 MB。 * @param {CreateDocDepositRequest} req * @param {function(string, CreateDocDepositResponse):void} cb * @public @@ -109,7 +119,9 @@ class BtoeClient extends AbstractClient { } /** - * 用户通过本接口向BTOE写入待存证的原文数据Hash值,BTOE对业务数据Hash值存证上链,本接口不生成区块链存证电子凭证。 + * 功能迭代,已上线更高版本的接口2021-05-14 + +用户通过本接口向BTOE写入待存证的原文数据Hash值,BTOE对业务数据Hash值存证上链,本接口不生成区块链存证电子凭证。 * @param {CreateHashDepositNoCertRequest} req * @param {function(string, CreateHashDepositNoCertResponse):void} cb * @public @@ -120,7 +132,9 @@ class BtoeClient extends AbstractClient { } /** - * 用户通过本接口向BTOE写入待存证的图片原文件或下载URL,BTOE对图片原文件存储后,将其Hash值存证上链,并生成含有电子签章的区块链存证电子凭证。图片类型支持格式:png、jpg、jpeg、bmp、gif、svg;原文件上传大小不超过5 MB,下载URL文件大小不超过10 MB。 + * 功能迭代,已上线更高版本的接口2021-05-14 + +用户通过本接口向BTOE写入待存证的图片原文件或下载URL,BTOE对图片原文件存储后,将其Hash值存证上链,并生成含有电子签章的区块链存证电子凭证。图片类型支持格式:png、jpg、jpeg、bmp、gif、svg;原文件上传大小不超过5 MB,下载URL文件大小不超过10 MB。 * @param {CreateImageDepositRequest} req * @param {function(string, CreateImageDepositResponse):void} cb * @public @@ -131,7 +145,9 @@ class BtoeClient extends AbstractClient { } /** - * 用户通过本接口向BTOE写入待存证的音频原文件或下载URL,BTOE对音频原文件存储后,将其Hash值存证上链,并生成含有电子签章的区块链存证电子凭证。音频类型支持格式:mp3、wav、wma、midi、flac;原文件上传大小不超过5 MB,下载URL文件大小不超过25 MB。 + * 功能迭代,已上线更高版本的接口2021-05-14 + +用户通过本接口向BTOE写入待存证的音频原文件或下载URL,BTOE对音频原文件存储后,将其Hash值存证上链,并生成含有电子签章的区块链存证电子凭证。音频类型支持格式:mp3、wav、wma、midi、flac;原文件上传大小不超过5 MB,下载URL文件大小不超过25 MB。 * @param {CreateAudioDepositRequest} req * @param {function(string, CreateAudioDepositResponse):void} cb * @public @@ -142,7 +158,9 @@ class BtoeClient extends AbstractClient { } /** - * 用户通过本接口向BTOE写入待存证的原文数据Hash值,BTOE对业务数据Hash值存证上链,并生成无电子签章的区块链存证电子凭证。 + * 功能迭代,已上线更高版本的接口2021-05-14 + +用户通过本接口向BTOE写入待存证的原文数据Hash值,BTOE对业务数据Hash值存证上链,并生成无电子签章的区块链存证电子凭证。 * @param {CreateHashDepositNoSealRequest} req * @param {function(string, CreateHashDepositNoSealResponse):void} cb * @public @@ -153,7 +171,9 @@ class BtoeClient extends AbstractClient { } /** - * 用户通过存证编码向BTOE查询存证基本信息。 + * 功能迭代,已上线更高版本的接口2021-05-14 + +用户通过存证编码向BTOE查询存证基本信息。 * @param {GetDepositInfoRequest} req * @param {function(string, GetDepositInfoResponse):void} cb * @public @@ -164,7 +184,9 @@ class BtoeClient extends AbstractClient { } /** - * 用户通过本接口向BTOE提交待存证网页的URL,BTOE对URL进行网页快照,并将快照图片存储,将网页快照Hash值存证上链,并生成含有电子签章的区块链存证电子凭证。URL格式必须以http、https开头。 + * 功能迭代,已上线更高版本的接口2021-05-14 + +用户通过本接口向BTOE提交待存证网页的URL,BTOE对URL进行网页快照,并将快照图片存储,将网页快照Hash值存证上链,并生成含有电子签章的区块链存证电子凭证。URL格式必须以http、https开头。 * @param {CreateWebpageDepositRequest} req * @param {function(string, CreateWebpageDepositResponse):void} cb * @public @@ -175,7 +197,9 @@ class BtoeClient extends AbstractClient { } /** - * 用户通过本接口向BTOE写入待存证的业务数据明文,业务数据明文存证写入后不可修改,BTOE对业务数据明文存证生成含有电子签章的区块链存证电子凭证。 + * 功能迭代,已上线更高版本的接口2021-05-14 + +用户通过本接口向BTOE写入待存证的业务数据明文,业务数据明文存证写入后不可修改,BTOE对业务数据明文存证生成含有电子签章的区块链存证电子凭证。 * @param {CreateDataDepositRequest} req * @param {function(string, CreateDataDepositResponse):void} cb * @public diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/btoe/v20210514/btoe_client.js b/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/btoe/v20210514/btoe_client.js new file mode 100644 index 0000000000..8ae98686bd --- /dev/null +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/btoe/v20210514/btoe_client.js @@ -0,0 +1,203 @@ +/* + * Copyright (c) 2018 THL A29 Limited, a Tencent company. All Rights Reserved. + * + * 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. + */ +const models = require("./models"); +const AbstractClient = require('../../common/abstract_client') +const GetDepositFileResponse = models.GetDepositFileResponse; +const CreateImageDepositRequest = models.CreateImageDepositRequest; +const CreateVideoDepositRequest = models.CreateVideoDepositRequest; +const CreateDocDepositRequest = models.CreateDocDepositRequest; +const CreateHashDepositNoSealRequest = models.CreateHashDepositNoSealRequest; +const CreateHashDepositRequest = models.CreateHashDepositRequest; +const VerifyEvidenceHashResponse = models.VerifyEvidenceHashResponse; +const CreateDataDepositResponse = models.CreateDataDepositResponse; +const GetDepositCertRequest = models.GetDepositCertRequest; +const CreateAudioDepositRequest = models.CreateAudioDepositRequest; +const GetDepositFileRequest = models.GetDepositFileRequest; +const VerifyEvidenceBlockChainTxHashRequest = models.VerifyEvidenceBlockChainTxHashRequest; +const VerifyEvidenceHashRequest = models.VerifyEvidenceHashRequest; +const CreateHashDepositNoCertResponse = models.CreateHashDepositNoCertResponse; +const VerifyEvidenceBlockChainTxHashResponse = models.VerifyEvidenceBlockChainTxHashResponse; +const CreateAudioDepositResponse = models.CreateAudioDepositResponse; +const GetDepositInfoResponse = models.GetDepositInfoResponse; +const CreateHashDepositNoCertRequest = models.CreateHashDepositNoCertRequest; +const CreateHashDepositNoSealResponse = models.CreateHashDepositNoSealResponse; +const CreateDocDepositResponse = models.CreateDocDepositResponse; +const GetDepositInfoRequest = models.GetDepositInfoRequest; +const CreateVideoDepositResponse = models.CreateVideoDepositResponse; +const CreateDataDepositRequest = models.CreateDataDepositRequest; +const GetDepositCertResponse = models.GetDepositCertResponse; +const CreateImageDepositResponse = models.CreateImageDepositResponse; +const CreateHashDepositResponse = models.CreateHashDepositResponse; + + +/** + * btoe client + * @class + */ +class BtoeClient extends AbstractClient { + + constructor(credential, region, profile) { + super("btoe.tencentcloudapi.com", "2021-05-14", credential, region, profile); + } + + /** + * 用户通过存证编码向BTOE查询存证电子凭证信息。 + * @param {GetDepositCertRequest} req + * @param {function(string, GetDepositCertResponse):void} cb + * @public + */ + GetDepositCert(req, cb) { + let resp = new GetDepositCertResponse(); + this.request("GetDepositCert", req, resp, cb); + } + + /** + * 用户通过本接口向BTOE写入待存证的原文数据Hash值,BTOE对业务数据Hash值存证上链,并生成含有电子签章的区块链存证电子凭证。 + * @param {CreateHashDepositRequest} req + * @param {function(string, CreateHashDepositResponse):void} cb + * @public + */ + CreateHashDeposit(req, cb) { + let resp = new CreateHashDepositResponse(); + this.request("CreateHashDeposit", req, resp, cb); + } + + /** + * 用户通过存证编码向BTOE获取存证文件的下载URL。 +-注:Hash类存证、业务数据明文存证不产生存证文件。 + * @param {GetDepositFileRequest} req + * @param {function(string, GetDepositFileResponse):void} cb + * @public + */ + GetDepositFile(req, cb) { + let resp = new GetDepositFileResponse(); + this.request("GetDepositFile", req, resp, cb); + } + + /** + * 用户通过本接口向BTOE写入待存证的视频的原文件或下载URL,BTOE对视频原文件存储后,将其Hash值存证上链,并生成含有电子签章的区块链存证电子凭证。视频文件支持格式:mp4、avi、mkv、mov、flv,wmv,rmvb,3gp;文件大小限制:直接上传原文件不大于5MB,下载URL文件大小不大于200 MB。 + * @param {CreateVideoDepositRequest} req + * @param {function(string, CreateVideoDepositResponse):void} cb + * @public + */ + CreateVideoDeposit(req, cb) { + let resp = new CreateVideoDepositResponse(); + this.request("CreateVideoDeposit", req, resp, cb); + } + + /** + * 用户通过本接口向BTOE写入待存证的文档原文件或下载URL,BTOE对文档原文件存储后,将其Hash值存证上链,并生成含有电子签章的区块链存证电子凭证。文档类型支持格式:doc、docx、xls、xlsx、ppt、pptx、 pdf、html、txt、md、csv;原文件上传大小不超过5 MB,下载URL文件大小不超过10 MB。 + * @param {CreateDocDepositRequest} req + * @param {function(string, CreateDocDepositResponse):void} cb + * @public + */ + CreateDocDeposit(req, cb) { + let resp = new CreateDocDepositResponse(); + this.request("CreateDocDeposit", req, resp, cb); + } + + /** + * 用户通过本接口向BTOE写入待存证的原文数据Hash值,BTOE对业务数据Hash值存证上链,本接口不生成区块链存证电子凭证。 + * @param {CreateHashDepositNoCertRequest} req + * @param {function(string, CreateHashDepositNoCertResponse):void} cb + * @public + */ + CreateHashDepositNoCert(req, cb) { + let resp = new CreateHashDepositNoCertResponse(); + this.request("CreateHashDepositNoCert", req, resp, cb); + } + + /** + * 用户通过本接口向BTOE写入待存证的图片原文件或下载URL,BTOE对图片原文件存储后,将其Hash值存证上链,并生成含有电子签章的区块链存证电子凭证。图片类型支持格式:png、jpg、jpeg、bmp、gif、svg;原文件上传大小不超过5 MB,下载URL文件大小不超过10 MB。 + * @param {CreateImageDepositRequest} req + * @param {function(string, CreateImageDepositResponse):void} cb + * @public + */ + CreateImageDeposit(req, cb) { + let resp = new CreateImageDepositResponse(); + this.request("CreateImageDeposit", req, resp, cb); + } + + /** + * 用户通过本接口向BTOE写入待存证的音频原文件或下载URL,BTOE对音频原文件存储后,将其Hash值存证上链,并生成含有电子签章的区块链存证电子凭证。音频类型支持格式:mp3、wav、wma、midi、flac;原文件上传大小不超过5 MB,下载URL文件大小不超过25 MB。 + * @param {CreateAudioDepositRequest} req + * @param {function(string, CreateAudioDepositResponse):void} cb + * @public + */ + CreateAudioDeposit(req, cb) { + let resp = new CreateAudioDepositResponse(); + this.request("CreateAudioDeposit", req, resp, cb); + } + + /** + * 用户通过本接口向BTOE写入待存证的原文数据Hash值,BTOE对业务数据Hash值存证上链,并生成无电子签章的区块链存证电子凭证。 + * @param {CreateHashDepositNoSealRequest} req + * @param {function(string, CreateHashDepositNoSealResponse):void} cb + * @public + */ + CreateHashDepositNoSeal(req, cb) { + let resp = new CreateHashDepositNoSealResponse(); + this.request("CreateHashDepositNoSeal", req, resp, cb); + } + + /** + * 用户向BTOE核验存证结果中的区块链交易hash的真实性 + * @param {VerifyEvidenceBlockChainTxHashRequest} req + * @param {function(string, VerifyEvidenceBlockChainTxHashResponse):void} cb + * @public + */ + VerifyEvidenceBlockChainTxHash(req, cb) { + let resp = new VerifyEvidenceBlockChainTxHashResponse(); + this.request("VerifyEvidenceBlockChainTxHash", req, resp, cb); + } + + /** + * 用户存证内容hash向BTOE核验存证记录的真实性。 + * @param {VerifyEvidenceHashRequest} req + * @param {function(string, VerifyEvidenceHashResponse):void} cb + * @public + */ + VerifyEvidenceHash(req, cb) { + let resp = new VerifyEvidenceHashResponse(); + this.request("VerifyEvidenceHash", req, resp, cb); + } + + /** + * 用户通过存证编码向BTOE查询存证基本信息。 + * @param {GetDepositInfoRequest} req + * @param {function(string, GetDepositInfoResponse):void} cb + * @public + */ + GetDepositInfo(req, cb) { + let resp = new GetDepositInfoResponse(); + this.request("GetDepositInfo", req, resp, cb); + } + + /** + * 用户通过本接口向BTOE写入待存证的业务数据明文,业务数据明文存证写入后不可修改,BTOE对业务数据明文存证生成含有电子签章的区块链存证电子凭证。 + * @param {CreateDataDepositRequest} req + * @param {function(string, CreateDataDepositResponse):void} cb + * @public + */ + CreateDataDeposit(req, cb) { + let resp = new CreateDataDepositResponse(); + this.request("CreateDataDeposit", req, resp, cb); + } + + +} +module.exports = BtoeClient; diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/btoe/v20210514/index.js b/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/btoe/v20210514/index.js new file mode 100644 index 0000000000..97e04ce1d9 --- /dev/null +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/btoe/v20210514/index.js @@ -0,0 +1,4 @@ +module.exports = { + Client: require("./btoe_client"), + Models: require("./models"), +}; diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/btoe/v20210514/models.js b/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/btoe/v20210514/models.js new file mode 100644 index 0000000000..557ed30606 --- /dev/null +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/btoe/v20210514/models.js @@ -0,0 +1,1219 @@ +/* + * Copyright (c) 2018 THL A29 Limited, a Tencent company. All Rights Reserved. + * + * 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. + */ +const AbstractModel = require("../../common/abstract_model"); + +/** + * GetDepositFile返回参数结构体 + * @class + */ +class GetDepositFileResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 存证编号 + * @type {string || null} + */ + this.EvidenceId = null; + + /** + * 存证文件临时链接 + * @type {string || null} + */ + this.EvidenceFile = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.EvidenceId = 'EvidenceId' in params ? params.EvidenceId : null; + this.EvidenceFile = 'EvidenceFile' in params ? params.EvidenceFile : null; + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * CreateImageDeposit请求参数结构体 + * @class + */ +class CreateImageDepositRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 存证名称(长度最大30) + * @type {string || null} + */ + this.EvidenceName = null; + + /** + * 数据Base64编码,大小不超过5M + * @type {string || null} + */ + this.FileContent = null; + + /** + * 带后缀的文件名称,如 test.png + * @type {string || null} + */ + this.FileName = null; + + /** + * 文件hash + * @type {string || null} + */ + this.EvidenceHash = null; + + /** + * 业务ID 透传 长度最大不超过64 + * @type {string || null} + */ + this.BusinessId = null; + + /** + * 算法类型 0 SM3, 1 SHA256, 2 SHA384 默认0 + * @type {number || null} + */ + this.HashType = null; + + /** + * 存证描述 + * @type {string || null} + */ + this.EvidenceDescription = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.EvidenceName = 'EvidenceName' in params ? params.EvidenceName : null; + this.FileContent = 'FileContent' in params ? params.FileContent : null; + this.FileName = 'FileName' in params ? params.FileName : null; + this.EvidenceHash = 'EvidenceHash' in params ? params.EvidenceHash : null; + this.BusinessId = 'BusinessId' in params ? params.BusinessId : null; + this.HashType = 'HashType' in params ? params.HashType : null; + this.EvidenceDescription = 'EvidenceDescription' in params ? params.EvidenceDescription : null; + + } +} + +/** + * CreateVideoDeposit请求参数结构体 + * @class + */ +class CreateVideoDepositRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 存证名称(长度最大30) + * @type {string || null} + */ + this.EvidenceName = null; + + /** + * 数据Base64编码,大小不超过5M + * @type {string || null} + */ + this.FileContent = null; + + /** + * 带后缀的文件名称,如music.mkv + * @type {string || null} + */ + this.FileName = null; + + /** + * 文件hash + * @type {string || null} + */ + this.EvidenceHash = null; + + /** + * 业务ID 透传 长度最大不超过64 + * @type {string || null} + */ + this.BusinessId = null; + + /** + * 算法类型 0 SM3, 1 SHA256, 2 SHA384 默认0 + * @type {number || null} + */ + this.HashType = null; + + /** + * 存证描述 + * @type {string || null} + */ + this.EvidenceDescription = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.EvidenceName = 'EvidenceName' in params ? params.EvidenceName : null; + this.FileContent = 'FileContent' in params ? params.FileContent : null; + this.FileName = 'FileName' in params ? params.FileName : null; + this.EvidenceHash = 'EvidenceHash' in params ? params.EvidenceHash : null; + this.BusinessId = 'BusinessId' in params ? params.BusinessId : null; + this.HashType = 'HashType' in params ? params.HashType : null; + this.EvidenceDescription = 'EvidenceDescription' in params ? params.EvidenceDescription : null; + + } +} + +/** + * CreateDocDeposit请求参数结构体 + * @class + */ +class CreateDocDepositRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 存证名称(长度最大30) + * @type {string || null} + */ + this.EvidenceName = null; + + /** + * 数据Base64编码,大小不超过5M + * @type {string || null} + */ + this.FileContent = null; + + /** + * 带后缀的文件名称,如 test.doc + * @type {string || null} + */ + this.FileName = null; + + /** + * 文件hash + * @type {string || null} + */ + this.EvidenceHash = null; + + /** + * 业务ID 透传 长度最大不超过64 + * @type {string || null} + */ + this.BusinessId = null; + + /** + * 算法类型 0 SM3, 1 SHA256, 2 SHA384 默认0 + * @type {number || null} + */ + this.HashType = null; + + /** + * 存证描述 + * @type {string || null} + */ + this.EvidenceDescription = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.EvidenceName = 'EvidenceName' in params ? params.EvidenceName : null; + this.FileContent = 'FileContent' in params ? params.FileContent : null; + this.FileName = 'FileName' in params ? params.FileName : null; + this.EvidenceHash = 'EvidenceHash' in params ? params.EvidenceHash : null; + this.BusinessId = 'BusinessId' in params ? params.BusinessId : null; + this.HashType = 'HashType' in params ? params.HashType : null; + this.EvidenceDescription = 'EvidenceDescription' in params ? params.EvidenceDescription : null; + + } +} + +/** + * CreateHashDepositNoSeal请求参数结构体 + * @class + */ +class CreateHashDepositNoSealRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 数据hash + * @type {string || null} + */ + this.EvidenceHash = null; + + /** + * 该字段为透传字段,方便调用方做业务处理, 长度最大不超过64 + * @type {string || null} + */ + this.BusinessId = null; + + /** + * 业务扩展信息 + * @type {string || null} + */ + this.EvidenceInfo = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.EvidenceHash = 'EvidenceHash' in params ? params.EvidenceHash : null; + this.BusinessId = 'BusinessId' in params ? params.BusinessId : null; + this.EvidenceInfo = 'EvidenceInfo' in params ? params.EvidenceInfo : null; + + } +} + +/** + * CreateHashDeposit请求参数结构体 + * @class + */ +class CreateHashDepositRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 存证名称(长度最大30) + * @type {string || null} + */ + this.EvidenceName = null; + + /** + * 数据hash + * @type {string || null} + */ + this.EvidenceHash = null; + + /** + * 该字段为透传字段,方便调用方做业务处理, 长度最大不超过64 + * @type {string || null} + */ + this.BusinessId = null; + + /** + * 存证描述 + * @type {string || null} + */ + this.EvidenceDescription = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.EvidenceName = 'EvidenceName' in params ? params.EvidenceName : null; + this.EvidenceHash = 'EvidenceHash' in params ? params.EvidenceHash : null; + this.BusinessId = 'BusinessId' in params ? params.BusinessId : null; + this.EvidenceDescription = 'EvidenceDescription' in params ? params.EvidenceDescription : null; + + } +} + +/** + * VerifyEvidenceHash返回参数结构体 + * @class + */ +class VerifyEvidenceHashResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 核验结果,true为核验成功,false为核验失败 + * @type {boolean || null} + */ + this.Result = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Result = 'Result' in params ? params.Result : null; + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * CreateDataDeposit返回参数结构体 + * @class + */ +class CreateDataDepositResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 业务ID 透传 长度最大不超过64 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.BusinessId = null; + + /** + * 请求成功,返回存证编码,用于查询存证后续业务数据 + * @type {string || null} + */ + this.EvidenceId = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.BusinessId = 'BusinessId' in params ? params.BusinessId : null; + this.EvidenceId = 'EvidenceId' in params ? params.EvidenceId : null; + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * GetDepositCert请求参数结构体 + * @class + */ +class GetDepositCertRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 存证编码 + * @type {string || null} + */ + this.EvidenceId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.EvidenceId = 'EvidenceId' in params ? params.EvidenceId : null; + + } +} + +/** + * CreateAudioDeposit请求参数结构体 + * @class + */ +class CreateAudioDepositRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 存证名称(长度最大30) + * @type {string || null} + */ + this.EvidenceName = null; + + /** + * 数据Base64编码,大小不超过5M + * @type {string || null} + */ + this.FileContent = null; + + /** + * 带后缀的文件名称,如music.mp3 + * @type {string || null} + */ + this.FileName = null; + + /** + * 文件hash + * @type {string || null} + */ + this.EvidenceHash = null; + + /** + * 业务ID 透传 长度最大不超过64 + * @type {string || null} + */ + this.BusinessId = null; + + /** + * 算法类型 0 SM3, 1 SHA256, 2 SHA384 默认0 + * @type {number || null} + */ + this.HashType = null; + + /** + * 存证描述 + * @type {string || null} + */ + this.EvidenceDescription = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.EvidenceName = 'EvidenceName' in params ? params.EvidenceName : null; + this.FileContent = 'FileContent' in params ? params.FileContent : null; + this.FileName = 'FileName' in params ? params.FileName : null; + this.EvidenceHash = 'EvidenceHash' in params ? params.EvidenceHash : null; + this.BusinessId = 'BusinessId' in params ? params.BusinessId : null; + this.HashType = 'HashType' in params ? params.HashType : null; + this.EvidenceDescription = 'EvidenceDescription' in params ? params.EvidenceDescription : null; + + } +} + +/** + * GetDepositFile请求参数结构体 + * @class + */ +class GetDepositFileRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 存证编码 + * @type {string || null} + */ + this.EvidenceId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.EvidenceId = 'EvidenceId' in params ? params.EvidenceId : null; + + } +} + +/** + * VerifyEvidenceBlockChainTxHash请求参数结构体 + * @class + */ +class VerifyEvidenceBlockChainTxHashRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 区块链交易 hash,在“存证基本信息查询(GetDepositInfo)”接口中可以获取。 + * @type {string || null} + */ + this.EvidenceTxHash = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.EvidenceTxHash = 'EvidenceTxHash' in params ? params.EvidenceTxHash : null; + + } +} + +/** + * VerifyEvidenceHash请求参数结构体 + * @class + */ +class VerifyEvidenceHashRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 存证内容hash,hash类型即为用户在存证时所用或所选的hash类型 + * @type {string || null} + */ + this.EvidenceHash = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.EvidenceHash = 'EvidenceHash' in params ? params.EvidenceHash : null; + + } +} + +/** + * CreateHashDepositNoCert返回参数结构体 + * @class + */ +class CreateHashDepositNoCertResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 透传字段 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.BusinessId = null; + + /** + * 存证编码 + * @type {string || null} + */ + this.EvidenceId = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.BusinessId = 'BusinessId' in params ? params.BusinessId : null; + this.EvidenceId = 'EvidenceId' in params ? params.EvidenceId : null; + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * VerifyEvidenceBlockChainTxHash返回参数结构体 + * @class + */ +class VerifyEvidenceBlockChainTxHashResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 核验结果,true为核验成功,fals为核验失败 + * @type {boolean || null} + */ + this.Result = null; + + /** + * 存证时间,仅当核验结果为true时返回 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.EvidenceTime = null; + + /** + * 存证编码,仅当核验结果为true时返回 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.EvidenceId = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Result = 'Result' in params ? params.Result : null; + this.EvidenceTime = 'EvidenceTime' in params ? params.EvidenceTime : null; + this.EvidenceId = 'EvidenceId' in params ? params.EvidenceId : null; + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * CreateAudioDeposit返回参数结构体 + * @class + */ +class CreateAudioDepositResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 业务ID 透传 长度最大不超过64 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.BusinessId = null; + + /** + * 请求成功,返回存证编码,用于查询存证后续业务数据 + * @type {string || null} + */ + this.EvidenceId = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.BusinessId = 'BusinessId' in params ? params.BusinessId : null; + this.EvidenceId = 'EvidenceId' in params ? params.EvidenceId : null; + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * GetDepositInfo返回参数结构体 + * @class + */ +class GetDepositInfoResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 存证编号 + * @type {string || null} + */ + this.EvidenceId = null; + + /** + * 上链时间 + * @type {string || null} + */ + this.EvidenceTime = null; + + /** + * 区块链交易哈希 + * @type {string || null} + */ + this.EvidenceTxHash = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.EvidenceId = 'EvidenceId' in params ? params.EvidenceId : null; + this.EvidenceTime = 'EvidenceTime' in params ? params.EvidenceTime : null; + this.EvidenceTxHash = 'EvidenceTxHash' in params ? params.EvidenceTxHash : null; + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * CreateHashDepositNoCert请求参数结构体 + * @class + */ +class CreateHashDepositNoCertRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 数据hash + * @type {string || null} + */ + this.EvidenceHash = null; + + /** + * 该字段为透传字段,方便调用方做业务处理, 长度最大不超过64 + * @type {string || null} + */ + this.BusinessId = null; + + /** + * 业务扩展信息 + * @type {string || null} + */ + this.EvidenceInfo = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.EvidenceHash = 'EvidenceHash' in params ? params.EvidenceHash : null; + this.BusinessId = 'BusinessId' in params ? params.BusinessId : null; + this.EvidenceInfo = 'EvidenceInfo' in params ? params.EvidenceInfo : null; + + } +} + +/** + * CreateHashDepositNoSeal返回参数结构体 + * @class + */ +class CreateHashDepositNoSealResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 透传字段 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.BusinessId = null; + + /** + * 存证编码 + * @type {string || null} + */ + this.EvidenceId = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.BusinessId = 'BusinessId' in params ? params.BusinessId : null; + this.EvidenceId = 'EvidenceId' in params ? params.EvidenceId : null; + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * CreateDocDeposit返回参数结构体 + * @class + */ +class CreateDocDepositResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 业务ID 透传 长度最大不超过64 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.BusinessId = null; + + /** + * 请求成功,返回存证编码,用于查询存证后续业务数据 + * @type {string || null} + */ + this.EvidenceId = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.BusinessId = 'BusinessId' in params ? params.BusinessId : null; + this.EvidenceId = 'EvidenceId' in params ? params.EvidenceId : null; + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * GetDepositInfo请求参数结构体 + * @class + */ +class GetDepositInfoRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 存证编码 + * @type {string || null} + */ + this.EvidenceId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.EvidenceId = 'EvidenceId' in params ? params.EvidenceId : null; + + } +} + +/** + * CreateVideoDeposit返回参数结构体 + * @class + */ +class CreateVideoDepositResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 业务ID 透传 长度最大不超过64 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.BusinessId = null; + + /** + * 请求成功,返回存证编码,用于查询存证后续业务数据 + * @type {string || null} + */ + this.EvidenceId = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.BusinessId = 'BusinessId' in params ? params.BusinessId : null; + this.EvidenceId = 'EvidenceId' in params ? params.EvidenceId : null; + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * CreateDataDeposit请求参数结构体 + * @class + */ +class CreateDataDepositRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 业务数据明文(json格式字符串),最大256kb + * @type {string || null} + */ + this.EvidenceInfo = null; + + /** + * 存证名称(长度最大30) + * @type {string || null} + */ + this.EvidenceName = null; + + /** + * 业务ID 透传 长度最大不超过64 + * @type {string || null} + */ + this.BusinessId = null; + + /** + * 算法类型 0 SM3, 1 SHA256, 2 SHA384 默认0 + * @type {number || null} + */ + this.HashType = null; + + /** + * 存证描述 + * @type {string || null} + */ + this.EvidenceDescription = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.EvidenceInfo = 'EvidenceInfo' in params ? params.EvidenceInfo : null; + this.EvidenceName = 'EvidenceName' in params ? params.EvidenceName : null; + this.BusinessId = 'BusinessId' in params ? params.BusinessId : null; + this.HashType = 'HashType' in params ? params.HashType : null; + this.EvidenceDescription = 'EvidenceDescription' in params ? params.EvidenceDescription : null; + + } +} + +/** + * GetDepositCert返回参数结构体 + * @class + */ +class GetDepositCertResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 存证编码 + * @type {string || null} + */ + this.EvidenceId = null; + + /** + * 存证证书文件临时链接 + * @type {string || null} + */ + this.EvidenceCert = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.EvidenceId = 'EvidenceId' in params ? params.EvidenceId : null; + this.EvidenceCert = 'EvidenceCert' in params ? params.EvidenceCert : null; + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * CreateImageDeposit返回参数结构体 + * @class + */ +class CreateImageDepositResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 业务ID 透传 长度最大不超过64 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.BusinessId = null; + + /** + * 请求成功,返回存证编码,用于查询存证后续业务数据 + * @type {string || null} + */ + this.EvidenceId = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.BusinessId = 'BusinessId' in params ? params.BusinessId : null; + this.EvidenceId = 'EvidenceId' in params ? params.EvidenceId : null; + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * CreateHashDeposit返回参数结构体 + * @class + */ +class CreateHashDepositResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 透传字段 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.BusinessId = null; + + /** + * 存证编码 + * @type {string || null} + */ + this.EvidenceId = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.BusinessId = 'BusinessId' in params ? params.BusinessId : null; + this.EvidenceId = 'EvidenceId' in params ? params.EvidenceId : null; + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +module.exports = { + GetDepositFileResponse: GetDepositFileResponse, + CreateImageDepositRequest: CreateImageDepositRequest, + CreateVideoDepositRequest: CreateVideoDepositRequest, + CreateDocDepositRequest: CreateDocDepositRequest, + CreateHashDepositNoSealRequest: CreateHashDepositNoSealRequest, + CreateHashDepositRequest: CreateHashDepositRequest, + VerifyEvidenceHashResponse: VerifyEvidenceHashResponse, + CreateDataDepositResponse: CreateDataDepositResponse, + GetDepositCertRequest: GetDepositCertRequest, + CreateAudioDepositRequest: CreateAudioDepositRequest, + GetDepositFileRequest: GetDepositFileRequest, + VerifyEvidenceBlockChainTxHashRequest: VerifyEvidenceBlockChainTxHashRequest, + VerifyEvidenceHashRequest: VerifyEvidenceHashRequest, + CreateHashDepositNoCertResponse: CreateHashDepositNoCertResponse, + VerifyEvidenceBlockChainTxHashResponse: VerifyEvidenceBlockChainTxHashResponse, + CreateAudioDepositResponse: CreateAudioDepositResponse, + GetDepositInfoResponse: GetDepositInfoResponse, + CreateHashDepositNoCertRequest: CreateHashDepositNoCertRequest, + CreateHashDepositNoSealResponse: CreateHashDepositNoSealResponse, + CreateDocDepositResponse: CreateDocDepositResponse, + GetDepositInfoRequest: GetDepositInfoRequest, + CreateVideoDepositResponse: CreateVideoDepositResponse, + CreateDataDepositRequest: CreateDataDepositRequest, + GetDepositCertResponse: GetDepositCertResponse, + CreateImageDepositResponse: CreateImageDepositResponse, + CreateHashDepositResponse: CreateHashDepositResponse, + +} diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/cam/v20190116/cam_client.js b/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/cam/v20190116/cam_client.js index 894b73a341..c378fa6fa9 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/cam/v20190116/cam_client.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/cam/v20190116/cam_client.js @@ -17,37 +17,54 @@ const models = require("./models"); const AbstractClient = require('../../common/abstract_client') const SubAccountUser = models.SubAccountUser; -const GetUserResponse = models.GetUserResponse; +const ListAttachedRolePoliciesResponse = models.ListAttachedRolePoliciesResponse; +const LoginActionFlagIntl = models.LoginActionFlagIntl; +const UpdateUserOIDCConfigResponse = models.UpdateUserOIDCConfigResponse; const ListAccessKeysRequest = models.ListAccessKeysRequest; const SetMfaFlagResponse = models.SetMfaFlagResponse; +const UpdateSAMLProviderRequest = models.UpdateSAMLProviderRequest; const DeleteUserRequest = models.DeleteUserRequest; const DetachGroupPolicyRequest = models.DetachGroupPolicyRequest; const DescribeRoleListResponse = models.DescribeRoleListResponse; -const CreatePolicyResponse = models.CreatePolicyResponse; +const UpdatePolicyResponse = models.UpdatePolicyResponse; +const DeleteUserResponse = models.DeleteUserResponse; const GetRoleRequest = models.GetRoleRequest; const CreateServiceLinkedRoleRequest = models.CreateServiceLinkedRoleRequest; const ListAttachedGroupPoliciesRequest = models.ListAttachedGroupPoliciesRequest; const ListGroupsForUserRequest = models.ListGroupsForUserRequest; const AttachRolePolicyResponse = models.AttachRolePolicyResponse; +const GetUserPermissionBoundaryRequest = models.GetUserPermissionBoundaryRequest; +const DescribeOIDCConfigRequest = models.DescribeOIDCConfigRequest; +const GetRolePermissionBoundaryRequest = models.GetRolePermissionBoundaryRequest; const GetServiceLinkedRoleDeletionStatusResponse = models.GetServiceLinkedRoleDeletionStatusResponse; +const GetSecurityLastUsedRequest = models.GetSecurityLastUsedRequest; +const DescribeUserSAMLConfigResponse = models.DescribeUserSAMLConfigResponse; const DeleteUserPermissionsBoundaryResponse = models.DeleteUserPermissionsBoundaryResponse; const ListUsersResponse = models.ListUsersResponse; const UpdateRoleDescriptionResponse = models.UpdateRoleDescriptionResponse; -const DetachUserPolicyRequest = models.DetachUserPolicyRequest; -const ListGroupsResponse = models.ListGroupsResponse; +const GetAccountSummaryRequest = models.GetAccountSummaryRequest; +const DeletePolicyResponse = models.DeletePolicyResponse; +const GetUserAppIdResponse = models.GetUserAppIdResponse; +const GetUserAppIdRequest = models.GetUserAppIdRequest; +const DescribeOIDCConfigResponse = models.DescribeOIDCConfigResponse; const ListPolicyVersionsRequest = models.ListPolicyVersionsRequest; const GetCustomMFATokenInfoRequest = models.GetCustomMFATokenInfoRequest; const DescribeRoleListRequest = models.DescribeRoleListRequest; +const DescribeUserSAMLConfigRequest = models.DescribeUserSAMLConfigRequest; +const TagRoleResponse = models.TagRoleResponse; +const PutRolePermissionsBoundaryRequest = models.PutRolePermissionsBoundaryRequest; const GetGroupRequest = models.GetGroupRequest; +const StrategyInfo = models.StrategyInfo; const DeleteRoleResponse = models.DeleteRoleResponse; const PolicyVersionItem = models.PolicyVersionItem; +const DetachUserPolicyRequest = models.DetachUserPolicyRequest; const DescribeSubAccountsRequest = models.DescribeSubAccountsRequest; const DeleteUserPermissionsBoundaryRequest = models.DeleteUserPermissionsBoundaryRequest; const ListSAMLProvidersRequest = models.ListSAMLProvidersRequest; const ListGroupsRequest = models.ListGroupsRequest; const DeletePolicyVersionResponse = models.DeletePolicyVersionResponse; -const UpdateSAMLProviderRequest = models.UpdateSAMLProviderRequest; -const UpdateAssumeRolePolicyRequest = models.UpdateAssumeRolePolicyRequest; +const GetRolePermissionBoundaryResponse = models.GetRolePermissionBoundaryResponse; +const AttachedUserPolicyGroupInfo = models.AttachedUserPolicyGroupInfo; const ListGroupsForUserResponse = models.ListGroupsForUserResponse; const ListUsersForGroupRequest = models.ListUsersForGroupRequest; const RemoveUserFromGroupRequest = models.RemoveUserFromGroupRequest; @@ -57,24 +74,33 @@ const WeChatWorkSubAccount = models.WeChatWorkSubAccount; const OffsiteFlag = models.OffsiteFlag; const GroupIdOfUidInfo = models.GroupIdOfUidInfo; const UpdateRoleDescriptionRequest = models.UpdateRoleDescriptionRequest; +const UpdateUserSAMLConfigRequest = models.UpdateUserSAMLConfigRequest; const DeleteGroupResponse = models.DeleteGroupResponse; const RoleInfo = models.RoleInfo; const DescribeSafeAuthFlagResponse = models.DescribeSafeAuthFlagResponse; const CreatePolicyVersionRequest = models.CreatePolicyVersionRequest; +const SecretIdLastUsed = models.SecretIdLastUsed; +const CreateUserOIDCConfigResponse = models.CreateUserOIDCConfigResponse; +const ListAttachedUserAllPoliciesResponse = models.ListAttachedUserAllPoliciesResponse; const DeleteGroupRequest = models.DeleteGroupRequest; -const ListAttachedRolePoliciesResponse = models.ListAttachedRolePoliciesResponse; -const DeleteUserResponse = models.DeleteUserResponse; +const GetUserResponse = models.GetUserResponse; +const GetUserPermissionBoundaryResponse = models.GetUserPermissionBoundaryResponse; +const CreatePolicyResponse = models.CreatePolicyResponse; const DetachRolePolicyRequest = models.DetachRolePolicyRequest; +const UntagRoleResponse = models.UntagRoleResponse; +const ListPoliciesGrantingServiceAccessResponse = models.ListPoliciesGrantingServiceAccessResponse; const DeleteRolePermissionsBoundaryRequest = models.DeleteRolePermissionsBoundaryRequest; -const StrategyInfo = models.StrategyInfo; +const RoleTags = models.RoleTags; +const DescribeUserOIDCConfigResponse = models.DescribeUserOIDCConfigResponse; const DeletePolicyRequest = models.DeletePolicyRequest; const GroupInfo = models.GroupInfo; const AddUserRequest = models.AddUserRequest; +const UpdateAssumeRolePolicyRequest = models.UpdateAssumeRolePolicyRequest; const LoginActionFlag = models.LoginActionFlag; const DeleteRoleRequest = models.DeleteRoleRequest; const ListWeChatWorkSubAccountsRequest = models.ListWeChatWorkSubAccountsRequest; const UpdateRoleConsoleLoginRequest = models.UpdateRoleConsoleLoginRequest; -const GetCustomMFATokenInfoResponse = models.GetCustomMFATokenInfoResponse; +const UpdateUserResponse = models.UpdateUserResponse; const UpdateAssumeRolePolicyResponse = models.UpdateAssumeRolePolicyResponse; const GetPolicyVersionRequest = models.GetPolicyVersionRequest; const CreateSAMLProviderResponse = models.CreateSAMLProviderResponse; @@ -84,48 +110,67 @@ const LoginActionMfaFlag = models.LoginActionMfaFlag; const SubAccountInfo = models.SubAccountInfo; const CreateGroupRequest = models.CreateGroupRequest; const SAMLProviderInfo = models.SAMLProviderInfo; +const ListGrantServiceAccessPolicy = models.ListGrantServiceAccessPolicy; +const DisableUserSSORequest = models.DisableUserSSORequest; +const ListPoliciesGrantingServiceAccessRequest = models.ListPoliciesGrantingServiceAccessRequest; const UpdateSAMLProviderResponse = models.UpdateSAMLProviderResponse; const UpdateUserRequest = models.UpdateUserRequest; const ListWeChatWorkSubAccountsResponse = models.ListWeChatWorkSubAccountsResponse; const CreateSAMLProviderRequest = models.CreateSAMLProviderRequest; const AttachPolicyInfo = models.AttachPolicyInfo; -const PutRolePermissionsBoundaryRequest = models.PutRolePermissionsBoundaryRequest; +const DisableUserSSOResponse = models.DisableUserSSOResponse; const UpdateRoleConsoleLoginResponse = models.UpdateRoleConsoleLoginResponse; const AttachRolePolicyRequest = models.AttachRolePolicyRequest; const ConsumeCustomMFATokenResponse = models.ConsumeCustomMFATokenResponse; const AttachUserPolicyRequest = models.AttachUserPolicyRequest; const ListAttachedGroupPoliciesResponse = models.ListAttachedGroupPoliciesResponse; const ListAttachedUserPoliciesResponse = models.ListAttachedUserPoliciesResponse; +const ListGroupsResponse = models.ListGroupsResponse; const PutUserPermissionsBoundaryResponse = models.PutUserPermissionsBoundaryResponse; -const DeletePolicyResponse = models.DeletePolicyResponse; +const GetPolicyVersionResponse = models.GetPolicyVersionResponse; +const GetCustomMFATokenInfoResponse = models.GetCustomMFATokenInfoResponse; const ConsumeCustomMFATokenRequest = models.ConsumeCustomMFATokenRequest; +const CreateOIDCConfigRequest = models.CreateOIDCConfigRequest; const AccessKey = models.AccessKey; const GetGroupResponse = models.GetGroupResponse; +const UpdateOIDCConfigResponse = models.UpdateOIDCConfigResponse; const DeleteSAMLProviderRequest = models.DeleteSAMLProviderRequest; const DeleteSAMLProviderResponse = models.DeleteSAMLProviderResponse; -const UpdateUserResponse = models.UpdateUserResponse; +const GetAccountSummaryResponse = models.GetAccountSummaryResponse; const CreateServiceLinkedRoleResponse = models.CreateServiceLinkedRoleResponse; const ListUsersRequest = models.ListUsersRequest; const ListCollaboratorsRequest = models.ListCollaboratorsRequest; -const UpdatePolicyResponse = models.UpdatePolicyResponse; +const CreateUserOIDCConfigRequest = models.CreateUserOIDCConfigRequest; const AttachGroupPolicyResponse = models.AttachGroupPolicyResponse; const UpdateGroupResponse = models.UpdateGroupResponse; const ListEntitiesForPolicyRequest = models.ListEntitiesForPolicyRequest; +const TagRoleRequest = models.TagRoleRequest; const ListPoliciesRequest = models.ListPoliciesRequest; const GetServiceLinkedRoleDeletionStatusRequest = models.GetServiceLinkedRoleDeletionStatusRequest; +const ListGrantServiceAccessActionNode = models.ListGrantServiceAccessActionNode; const DetachGroupPolicyResponse = models.DetachGroupPolicyResponse; +const GroupMemberInfo = models.GroupMemberInfo; const CreatePolicyRequest = models.CreatePolicyRequest; +const ListAttachedUserAllPoliciesRequest = models.ListAttachedUserAllPoliciesRequest; const DeletePolicyVersionRequest = models.DeletePolicyVersionRequest; +const CreateUserSAMLConfigRequest = models.CreateUserSAMLConfigRequest; const UpdateGroupRequest = models.UpdateGroupRequest; -const GetPolicyVersionResponse = models.GetPolicyVersionResponse; +const ListGrantServiceAccessNode = models.ListGrantServiceAccessNode; +const AttachGroupPolicyRequest = models.AttachGroupPolicyRequest; +const UpdateOIDCConfigRequest = models.UpdateOIDCConfigRequest; const CreateRoleResponse = models.CreateRoleResponse; const GetSAMLProviderResponse = models.GetSAMLProviderResponse; +const DescribeSafeAuthFlagIntlResponse = models.DescribeSafeAuthFlagIntlResponse; const ListPolicyVersionsResponse = models.ListPolicyVersionsResponse; const GetPolicyRequest = models.GetPolicyRequest; +const DescribeSafeAuthFlagIntlRequest = models.DescribeSafeAuthFlagIntlRequest; const SetDefaultPolicyVersionRequest = models.SetDefaultPolicyVersionRequest; +const UpdateUserOIDCConfigRequest = models.UpdateUserOIDCConfigRequest; const AddUserToGroupRequest = models.AddUserToGroupRequest; const RemoveUserFromGroupResponse = models.RemoveUserFromGroupResponse; const DetachRolePolicyResponse = models.DetachRolePolicyResponse; +const DescribeUserOIDCConfigRequest = models.DescribeUserOIDCConfigRequest; +const CreateOIDCConfigResponse = models.CreateOIDCConfigResponse; const AttachedPolicyOfRole = models.AttachedPolicyOfRole; const PutUserPermissionsBoundaryRequest = models.PutUserPermissionsBoundaryRequest; const ListSAMLProvidersResponse = models.ListSAMLProvidersResponse; @@ -135,18 +180,22 @@ const GetSAMLProviderRequest = models.GetSAMLProviderRequest; const DetachUserPolicyResponse = models.DetachUserPolicyResponse; const GetRoleResponse = models.GetRoleResponse; const CreateRoleRequest = models.CreateRoleRequest; +const AttachedUserPolicy = models.AttachedUserPolicy; const DeleteServiceLinkedRoleResponse = models.DeleteServiceLinkedRoleResponse; +const ListUsersForGroupResponse = models.ListUsersForGroupResponse; const GetPolicyResponse = models.GetPolicyResponse; const DescribeSafeAuthFlagRequest = models.DescribeSafeAuthFlagRequest; -const AttachGroupPolicyRequest = models.AttachGroupPolicyRequest; const DeleteServiceLinkedRoleRequest = models.DeleteServiceLinkedRoleRequest; const AttachEntityOfPolicy = models.AttachEntityOfPolicy; -const ListUsersForGroupResponse = models.ListUsersForGroupResponse; +const DeleteOIDCConfigResponse = models.DeleteOIDCConfigResponse; const PolicyVersionDetail = models.PolicyVersionDetail; const AddUserResponse = models.AddUserResponse; +const ListGrantServiceAccessService = models.ListGrantServiceAccessService; +const CreateUserSAMLConfigResponse = models.CreateUserSAMLConfigResponse; const DescribeSubAccountsResponse = models.DescribeSubAccountsResponse; const ListEntitiesForPolicyResponse = models.ListEntitiesForPolicyResponse; const AddUserToGroupResponse = models.AddUserToGroupResponse; +const UpdateUserSAMLConfigResponse = models.UpdateUserSAMLConfigResponse; const AttachUserPolicyResponse = models.AttachUserPolicyResponse; const DescribeSafeAuthFlagCollResponse = models.DescribeSafeAuthFlagCollResponse; const DescribeSafeAuthFlagCollRequest = models.DescribeSafeAuthFlagCollRequest; @@ -154,9 +203,11 @@ const PutRolePermissionsBoundaryResponse = models.PutRolePermissionsBoundaryResp const SetMfaFlagRequest = models.SetMfaFlagRequest; const ListCollaboratorsResponse = models.ListCollaboratorsResponse; const ListAccessKeysResponse = models.ListAccessKeysResponse; +const GetSecurityLastUsedResponse = models.GetSecurityLastUsedResponse; const ListAttachedUserPoliciesRequest = models.ListAttachedUserPoliciesRequest; const UpdatePolicyRequest = models.UpdatePolicyRequest; -const GroupMemberInfo = models.GroupMemberInfo; +const DeleteOIDCConfigRequest = models.DeleteOIDCConfigRequest; +const UntagRoleRequest = models.UntagRoleRequest; const CreateGroupResponse = models.CreateGroupResponse; @@ -170,6 +221,17 @@ class CamClient extends AbstractClient { super("cam.tencentcloudapi.com", "2019-01-16", credential, region, profile); } + /** + * 获取用户AppId + * @param {GetUserAppIdRequest} req + * @param {function(string, GetUserAppIdResponse):void} cb + * @public + */ + GetUserAppId(req, cb) { + let resp = new GetUserAppIdResponse(); + this.request("GetUserAppId", req, resp, cb); + } + /** * 设置子用户的登录保护和敏感操作校验方式 * @param {SetMfaFlagRequest} req @@ -269,6 +331,17 @@ class CamClient extends AbstractClient { this.request("CreateRole", req, resp, cb); } + /** + * 修改用户OIDC配置 + * @param {UpdateUserOIDCConfigRequest} req + * @param {function(string, UpdateUserOIDCConfigResponse):void} cb + * @public + */ + UpdateUserOIDCConfig(req, cb) { + let resp = new UpdateUserOIDCConfigResponse(); + this.request("UpdateUserOIDCConfig", req, resp, cb); + } + /** * 设置角色权限边界 * @param {PutRolePermissionsBoundaryRequest} req @@ -324,6 +397,17 @@ class CamClient extends AbstractClient { this.request("DeleteRolePermissionsBoundary", req, resp, cb); } + /** + * 查询用户SAML配置 + * @param {DescribeUserSAMLConfigRequest} req + * @param {function(string, DescribeUserSAMLConfigResponse):void} cb + * @public + */ + DescribeUserSAMLConfig(req, cb) { + let resp = new DescribeUserSAMLConfigResponse(); + this.request("DescribeUserSAMLConfig", req, resp, cb); + } + /** * 本接口(DeletePolicyVersion)可用于删除一个策略的策略版本。 * @param {DeletePolicyVersionRequest} req @@ -346,6 +430,28 @@ class CamClient extends AbstractClient { this.request("DetachRolePolicy", req, resp, cb); } + /** + * 角色绑定标签 + * @param {TagRoleRequest} req + * @param {function(string, TagRoleResponse):void} cb + * @public + */ + TagRole(req, cb) { + let resp = new TagRoleResponse(); + this.request("TagRole", req, resp, cb); + } + + /** + * 本接口(SetDefaultPolicyVersion)可用于设置生效的策略版本。 + * @param {SetDefaultPolicyVersionRequest} req + * @param {function(string, SetDefaultPolicyVersionResponse):void} cb + * @public + */ + SetDefaultPolicyVersion(req, cb) { + let resp = new SetDefaultPolicyVersionResponse(); + this.request("SetDefaultPolicyVersion", req, resp, cb); + } + /** * 本接口(DescribeRoleList)用于获取账号下的角色列表。 * @param {DescribeRoleListRequest} req @@ -390,6 +496,17 @@ class CamClient extends AbstractClient { this.request("UpdateUser", req, resp, cb); } + /** + * 创建用户OIDC配置。只能创建一个用户OIDC身份提供商,并且创建用户OIDC配置之后会自动关闭用户SAML SSO身份提供商。 + * @param {CreateUserOIDCConfigRequest} req + * @param {function(string, CreateUserOIDCConfigResponse):void} cb + * @public + */ + CreateUserOIDCConfig(req, cb) { + let resp = new CreateUserOIDCConfigResponse(); + this.request("CreateUserOIDCConfig", req, resp, cb); + } + /** * 本接口(GetPolicy)可用于查询查看策略详情。 * @param {GetPolicyRequest} req @@ -402,14 +519,14 @@ class CamClient extends AbstractClient { } /** - * 更新SAML身份提供商信息 - * @param {UpdateSAMLProviderRequest} req - * @param {function(string, UpdateSAMLProviderResponse):void} cb + * 获取角色权限边界 + * @param {GetRolePermissionBoundaryRequest} req + * @param {function(string, GetRolePermissionBoundaryResponse):void} cb * @public */ - UpdateSAMLProvider(req, cb) { - let resp = new UpdateSAMLProviderResponse(); - this.request("UpdateSAMLProvider", req, resp, cb); + GetRolePermissionBoundary(req, cb) { + let resp = new GetRolePermissionBoundaryResponse(); + this.request("GetRolePermissionBoundary", req, resp, cb); } /** @@ -445,6 +562,17 @@ class CamClient extends AbstractClient { this.request("DeleteGroup", req, resp, cb); } + /** + * 修改角色OIDC配置 + * @param {UpdateOIDCConfigRequest} req + * @param {function(string, UpdateOIDCConfigResponse):void} cb + * @public + */ + UpdateOIDCConfig(req, cb) { + let resp = new UpdateOIDCConfigResponse(); + this.request("UpdateOIDCConfig", req, resp, cb); + } + /** * 本接口(DeleteRole)用于删除指定角色。 * @param {DeleteRoleRequest} req @@ -478,6 +606,17 @@ class CamClient extends AbstractClient { this.request("DeleteUserPermissionsBoundary", req, resp, cb); } + /** + * 查询角色OIDC配置 + * @param {DescribeOIDCConfigRequest} req + * @param {function(string, DescribeOIDCConfigResponse):void} cb + * @public + */ + DescribeOIDCConfig(req, cb) { + let resp = new DescribeOIDCConfigResponse(); + this.request("DescribeOIDCConfig", req, resp, cb); + } + /** * 本接口(ListAttachedGroupPolicies)可用于查询用户组关联的策略列表。 * @param {ListAttachedGroupPoliciesRequest} req @@ -500,6 +639,28 @@ class CamClient extends AbstractClient { this.request("GetServiceLinkedRoleDeletionStatus", req, resp, cb); } + /** + * 查询用户OIDC配置 + * @param {DescribeUserOIDCConfigRequest} req + * @param {function(string, DescribeUserOIDCConfigResponse):void} cb + * @public + */ + DescribeUserOIDCConfig(req, cb) { + let resp = new DescribeUserOIDCConfigResponse(); + this.request("DescribeUserOIDCConfig", req, resp, cb); + } + + /** + * 获取所有已授权服务 + * @param {ListPoliciesGrantingServiceAccessRequest} req + * @param {function(string, ListPoliciesGrantingServiceAccessResponse):void} cb + * @public + */ + ListPoliciesGrantingServiceAccess(req, cb) { + let resp = new ListPoliciesGrantingServiceAccessResponse(); + this.request("ListPoliciesGrantingServiceAccess", req, resp, cb); + } + /** * 验证自定义多因子Token * @param {ConsumeCustomMFATokenRequest} req @@ -512,14 +673,14 @@ class CamClient extends AbstractClient { } /** - * 查询用户组详情 - * @param {GetGroupRequest} req - * @param {function(string, GetGroupResponse):void} cb + * 创建角色OIDC配置 + * @param {CreateOIDCConfigRequest} req + * @param {function(string, CreateOIDCConfigResponse):void} cb * @public */ - GetGroup(req, cb) { - let resp = new GetGroupResponse(); - this.request("GetGroup", req, resp, cb); + CreateOIDCConfig(req, cb) { + let resp = new CreateOIDCConfigResponse(); + this.request("CreateOIDCConfig", req, resp, cb); } /** @@ -534,25 +695,47 @@ class CamClient extends AbstractClient { } /** - * 本接口(UpdateAssumeRolePolicy)用于修改角色信任策略的策略文档。 - * @param {UpdateAssumeRolePolicyRequest} req - * @param {function(string, UpdateAssumeRolePolicyResponse):void} cb + * 列出用户关联的策略(包括随组关联) + * @param {ListAttachedUserAllPoliciesRequest} req + * @param {function(string, ListAttachedUserAllPoliciesResponse):void} cb * @public */ - UpdateAssumeRolePolicy(req, cb) { - let resp = new UpdateAssumeRolePolicyResponse(); - this.request("UpdateAssumeRolePolicy", req, resp, cb); + ListAttachedUserAllPolicies(req, cb) { + let resp = new ListAttachedUserAllPoliciesResponse(); + this.request("ListAttachedUserAllPolicies", req, resp, cb); } /** - * 本接口(SetDefaultPolicyVersion)可用于设置生效的策略版本。 - * @param {SetDefaultPolicyVersionRequest} req - * @param {function(string, SetDefaultPolicyVersionResponse):void} cb + * 获取用户权限边界 + * @param {GetUserPermissionBoundaryRequest} req + * @param {function(string, GetUserPermissionBoundaryResponse):void} cb * @public */ - SetDefaultPolicyVersion(req, cb) { - let resp = new SetDefaultPolicyVersionResponse(); - this.request("SetDefaultPolicyVersion", req, resp, cb); + GetUserPermissionBoundary(req, cb) { + let resp = new GetUserPermissionBoundaryResponse(); + this.request("GetUserPermissionBoundary", req, resp, cb); + } + + /** + * 创建用户SAML配置 + * @param {CreateUserSAMLConfigRequest} req + * @param {function(string, CreateUserSAMLConfigResponse):void} cb + * @public + */ + CreateUserSAMLConfig(req, cb) { + let resp = new CreateUserSAMLConfigResponse(); + this.request("CreateUserSAMLConfig", req, resp, cb); + } + + /** + * 更新SAML身份提供商信息 + * @param {UpdateSAMLProviderRequest} req + * @param {function(string, UpdateSAMLProviderResponse):void} cb + * @public + */ + UpdateSAMLProvider(req, cb) { + let resp = new UpdateSAMLProviderResponse(); + this.request("UpdateSAMLProvider", req, resp, cb); } /** @@ -600,15 +783,25 @@ class CamClient extends AbstractClient { } /** - * 本接口(UpdatePolicy )可用于更新策略。 -如果已存在策略版本,本接口会直接更新策略的默认版本,不会创建新版本,如果不存在任何策略版本,则直接创建一个默认版本。 - * @param {UpdatePolicyRequest} req - * @param {function(string, UpdatePolicyResponse):void} cb + * 查询账户摘要 + * @param {GetAccountSummaryRequest} req + * @param {function(string, GetAccountSummaryResponse):void} cb * @public */ - UpdatePolicy(req, cb) { - let resp = new UpdatePolicyResponse(); - this.request("UpdatePolicy", req, resp, cb); + GetAccountSummary(req, cb) { + let resp = new GetAccountSummaryResponse(); + this.request("GetAccountSummary", req, resp, cb); + } + + /** + * 角色解绑标签。 + * @param {UntagRoleRequest} req + * @param {function(string, UntagRoleResponse):void} cb + * @public + */ + UntagRole(req, cb) { + let resp = new UntagRoleResponse(); + this.request("UntagRole", req, resp, cb); } /** @@ -623,7 +816,7 @@ class CamClient extends AbstractClient { } /** - * 查询安全设置 + * 查询用户安全设置 * @param {DescribeSafeAuthFlagRequest} req * @param {function(string, DescribeSafeAuthFlagResponse):void} cb * @public @@ -633,6 +826,28 @@ class CamClient extends AbstractClient { this.request("DescribeSafeAuthFlag", req, resp, cb); } + /** + * 查询安全设置(国际站) + * @param {DescribeSafeAuthFlagIntlRequest} req + * @param {function(string, DescribeSafeAuthFlagIntlResponse):void} cb + * @public + */ + DescribeSafeAuthFlagIntl(req, cb) { + let resp = new DescribeSafeAuthFlagIntlResponse(); + this.request("DescribeSafeAuthFlagIntl", req, resp, cb); + } + + /** + * 更新用户组 + * @param {UpdateGroupRequest} req + * @param {function(string, UpdateGroupResponse):void} cb + * @public + */ + UpdateGroup(req, cb) { + let resp = new UpdateGroupResponse(); + this.request("UpdateGroup", req, resp, cb); + } + /** * 本接口(GetRole)用于获取指定角色的详细信息。 * @param {GetRoleRequest} req @@ -655,6 +870,17 @@ class CamClient extends AbstractClient { this.request("UpdateRoleDescription", req, resp, cb); } + /** + * 本接口(ListEntitiesForPolicy)可用于查询策略关联的实体列表。 + * @param {ListEntitiesForPolicyRequest} req + * @param {function(string, ListEntitiesForPolicyResponse):void} cb + * @public + */ + ListEntitiesForPolicy(req, cb) { + let resp = new ListEntitiesForPolicyResponse(); + this.request("ListEntitiesForPolicy", req, resp, cb); + } + /** * 本接口(ListAttachedUserPolicies)可用于查询子账号关联的策略列表。 * @param {ListAttachedUserPoliciesRequest} req @@ -677,6 +903,17 @@ class CamClient extends AbstractClient { this.request("DeleteUser", req, resp, cb); } + /** + * 修改用户SAML配置 + * @param {UpdateUserSAMLConfigRequest} req + * @param {function(string, UpdateUserSAMLConfigResponse):void} cb + * @public + */ + UpdateUserSAMLConfig(req, cb) { + let resp = new UpdateUserSAMLConfigResponse(); + this.request("UpdateUserSAMLConfig", req, resp, cb); + } + /** * 该接口(CreatePolicyVersion)用于新增策略版本,用户创建了一个策略版本之后可以方便的通过变更策略版本的方式来变更策略。 * @param {CreatePolicyVersionRequest} req @@ -766,14 +1003,25 @@ class CamClient extends AbstractClient { } /** - * 本接口(ListEntitiesForPolicy)可用于查询策略关联的实体列表。 - * @param {ListEntitiesForPolicyRequest} req - * @param {function(string, ListEntitiesForPolicyResponse):void} cb + * 查询用户组详情 + * @param {GetGroupRequest} req + * @param {function(string, GetGroupResponse):void} cb * @public */ - ListEntitiesForPolicy(req, cb) { - let resp = new ListEntitiesForPolicyResponse(); - this.request("ListEntitiesForPolicy", req, resp, cb); + GetGroup(req, cb) { + let resp = new GetGroupResponse(); + this.request("GetGroup", req, resp, cb); + } + + /** + * 删除OIDC身份提供商 + * @param {DeleteOIDCConfigRequest} req + * @param {function(string, DeleteOIDCConfigResponse):void} cb + * @public + */ + DeleteOIDCConfig(req, cb) { + let resp = new DeleteOIDCConfigResponse(); + this.request("DeleteOIDCConfig", req, resp, cb); } /** @@ -787,6 +1035,17 @@ class CamClient extends AbstractClient { this.request("ListWeChatWorkSubAccounts", req, resp, cb); } + /** + * 获取密钥最近使用情况 + * @param {GetSecurityLastUsedRequest} req + * @param {function(string, GetSecurityLastUsedResponse):void} cb + * @public + */ + GetSecurityLastUsed(req, cb) { + let resp = new GetSecurityLastUsedResponse(); + this.request("GetSecurityLastUsed", req, resp, cb); + } + /** * 本接口(AttachGroupPolicy)可用于绑定策略到用户组。 * @param {AttachGroupPolicyRequest} req @@ -799,14 +1058,14 @@ class CamClient extends AbstractClient { } /** - * 更新用户组 - * @param {UpdateGroupRequest} req - * @param {function(string, UpdateGroupResponse):void} cb + * 禁用用户SSO + * @param {DisableUserSSORequest} req + * @param {function(string, DisableUserSSOResponse):void} cb * @public */ - UpdateGroup(req, cb) { - let resp = new UpdateGroupResponse(); - this.request("UpdateGroup", req, resp, cb); + DisableUserSSO(req, cb) { + let resp = new DisableUserSSOResponse(); + this.request("DisableUserSSO", req, resp, cb); } /** @@ -831,6 +1090,17 @@ class CamClient extends AbstractClient { this.request("CreatePolicy", req, resp, cb); } + /** + * 本接口(UpdateAssumeRolePolicy)用于修改角色信任策略的策略文档。 + * @param {UpdateAssumeRolePolicyRequest} req + * @param {function(string, UpdateAssumeRolePolicyResponse):void} cb + * @public + */ + UpdateAssumeRolePolicy(req, cb) { + let resp = new UpdateAssumeRolePolicyResponse(); + this.request("UpdateAssumeRolePolicy", req, resp, cb); + } + /** * 本接口(DetachUserPolicy)可用于解除绑定到用户的策略。 * @param {DetachUserPolicyRequest} req @@ -853,6 +1123,18 @@ class CamClient extends AbstractClient { this.request("ListGroupsForUser", req, resp, cb); } + /** + * 本接口(UpdatePolicy )可用于更新策略。 +如果已存在策略版本,本接口会直接更新策略的默认版本,不会创建新版本,如果不存在任何策略版本,则直接创建一个默认版本。 + * @param {UpdatePolicyRequest} req + * @param {function(string, UpdatePolicyResponse):void} cb + * @public + */ + UpdatePolicy(req, cb) { + let resp = new UpdatePolicyResponse(); + this.request("UpdatePolicy", req, resp, cb); + } + } module.exports = CamClient; diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/cam/v20190116/models.js b/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/cam/v20190116/models.js index 5e7794a507..cc1432961f 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/cam/v20190116/models.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/cam/v20190116/models.js @@ -37,7 +37,7 @@ class SubAccountUser extends AbstractModel { this.Name = null; /** - * 子用户 UID + * 子用户 UID,UID是用户作为消息接收人时的唯一标识,和 UIN 一样可以唯一标识一个用户,可通过接口https://cloud.tencent.com/document/api/598/53486 获取 * @type {number || null} */ this.Uid = null; @@ -56,7 +56,7 @@ class SubAccountUser extends AbstractModel { this.CreateTime = null; /** - * 用户类型(1:主账号;2:子用户;3:企业微信子用户;4:协作者;5:消息接收人) + * 用户类型(2:子用户;3:企业微信子用户;4:协作者;5:消息接收人) * @type {number || null} */ this.UserType = null; @@ -96,60 +96,125 @@ class SubAccountUser extends AbstractModel { } /** - * GetUser返回参数结构体 + * ListAttachedRolePolicies返回参数结构体 * @class */ -class GetUserResponse extends AbstractModel { +class ListAttachedRolePoliciesResponse extends AbstractModel { constructor(){ super(); /** - * 子用户用户 UIN + * 角色关联的策略列表 + * @type {Array. || null} + */ + this.List = null; + + /** + * 角色关联的策略总数 * @type {number || null} */ - this.Uin = null; + this.TotalNum = null; /** - * 子用户用户名 + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 * @type {string || null} */ - this.Name = null; + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + + if (params.List) { + this.List = new Array(); + for (let z in params.List) { + let obj = new AttachedPolicyOfRole(); + obj.deserialize(params.List[z]); + this.List.push(obj); + } + } + this.TotalNum = 'TotalNum' in params ? params.TotalNum : null; + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * 登录和敏感操作flag + * @class + */ +class LoginActionFlagIntl extends AbstractModel { + constructor(){ + super(); /** - * 子用户 UID + * 手机 * @type {number || null} */ - this.Uid = null; + this.Phone = null; /** - * 子用户备注 - * @type {string || null} + * 硬token + * @type {number || null} */ - this.Remark = null; + this.Token = null; /** - * 子用户能否登录控制台 + * 软token * @type {number || null} */ - this.ConsoleLogin = null; + this.Stoken = null; /** - * 手机号 - * @type {string || null} + * 微信 + * @type {number || null} */ - this.PhoneNum = null; + this.Wechat = null; /** - * 区号 - * @type {string || null} + * 自定义 + * @type {number || null} */ - this.CountryCode = null; + this.Custom = null; /** - * 邮箱 - * @type {string || null} + * 邮件 + * @type {number || null} */ - this.Email = null; + this.Mail = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Phone = 'Phone' in params ? params.Phone : null; + this.Token = 'Token' in params ? params.Token : null; + this.Stoken = 'Stoken' in params ? params.Stoken : null; + this.Wechat = 'Wechat' in params ? params.Wechat : null; + this.Custom = 'Custom' in params ? params.Custom : null; + this.Mail = 'Mail' in params ? params.Mail : null; + + } +} + +/** + * UpdateUserOIDCConfig返回参数结构体 + * @class + */ +class UpdateUserOIDCConfigResponse extends AbstractModel { + constructor(){ + super(); /** * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 @@ -166,14 +231,6 @@ class GetUserResponse extends AbstractModel { if (!params) { return; } - this.Uin = 'Uin' in params ? params.Uin : null; - this.Name = 'Name' in params ? params.Name : null; - this.Uid = 'Uid' in params ? params.Uid : null; - this.Remark = 'Remark' in params ? params.Remark : null; - this.ConsoleLogin = 'ConsoleLogin' in params ? params.ConsoleLogin : null; - this.PhoneNum = 'PhoneNum' in params ? params.PhoneNum : null; - this.CountryCode = 'CountryCode' in params ? params.CountryCode : null; - this.Email = 'Email' in params ? params.Email : null; this.RequestId = 'RequestId' in params ? params.RequestId : null; } @@ -235,6 +292,48 @@ class SetMfaFlagResponse extends AbstractModel { } } +/** + * UpdateSAMLProvider请求参数结构体 + * @class + */ +class UpdateSAMLProviderRequest extends AbstractModel { + constructor(){ + super(); + + /** + * SAML身份提供商名称 + * @type {string || null} + */ + this.Name = null; + + /** + * SAML身份提供商描述 + * @type {string || null} + */ + this.Description = null; + + /** + * SAML身份提供商Base64编码的元数据文档 + * @type {string || null} + */ + this.SAMLMetadataDocument = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Name = 'Name' in params ? params.Name : null; + this.Description = 'Description' in params ? params.Description : null; + this.SAMLMetadataDocument = 'SAMLMetadataDocument' in params ? params.SAMLMetadataDocument : null; + + } +} + /** * DeleteUser请求参数结构体 * @class @@ -357,15 +456,16 @@ class DescribeRoleListResponse extends AbstractModel { } /** - * CreatePolicy返回参数结构体 + * UpdatePolicy返回参数结构体 * @class */ -class CreatePolicyResponse extends AbstractModel { +class UpdatePolicyResponse extends AbstractModel { constructor(){ super(); /** - * 新增策略ID + * 策略id,入参是PolicyName时,才会返回 +注意:此字段可能返回 null,表示取不到有效值。 * @type {number || null} */ this.PolicyId = null; @@ -391,6 +491,34 @@ class CreatePolicyResponse extends AbstractModel { } } +/** + * DeleteUser返回参数结构体 + * @class + */ +class DeleteUserResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + /** * GetRole请求参数结构体 * @class @@ -452,6 +580,12 @@ class CreateServiceLinkedRoleRequest extends AbstractModel { */ this.Description = null; + /** + * 角色绑定标签。 + * @type {Array. || null} + */ + this.Tags = null; + } /** @@ -465,6 +599,15 @@ class CreateServiceLinkedRoleRequest extends AbstractModel { this.CustomSuffix = 'CustomSuffix' in params ? params.CustomSuffix : null; this.Description = 'Description' in params ? params.Description : null; + if (params.Tags) { + this.Tags = new Array(); + for (let z in params.Tags) { + let obj = new RoleTags(); + obj.deserialize(params.Tags[z]); + this.Tags.push(obj); + } + } + } } @@ -494,6 +637,12 @@ class ListAttachedGroupPoliciesRequest extends AbstractModel { */ this.Rp = null; + /** + * 搜索关键字 + * @type {string || null} + */ + this.Keyword = null; + } /** @@ -506,6 +655,7 @@ class ListAttachedGroupPoliciesRequest extends AbstractModel { this.TargetGroupId = 'TargetGroupId' in params ? params.TargetGroupId : null; this.Page = 'Page' in params ? params.Page : null; this.Rp = 'Rp' in params ? params.Rp : null; + this.Keyword = 'Keyword' in params ? params.Keyword : null; } } @@ -588,44 +738,18 @@ class AttachRolePolicyResponse extends AbstractModel { } /** - * GetServiceLinkedRoleDeletionStatus返回参数结构体 + * GetUserPermissionBoundary请求参数结构体 * @class */ -class GetServiceLinkedRoleDeletionStatusResponse extends AbstractModel { +class GetUserPermissionBoundaryRequest extends AbstractModel { constructor(){ super(); /** - * 状态:NOT_STARTED,IN_PROGRESS,SUCCEEDED,FAILED - * @type {string || null} - */ - this.Status = null; - - /** - * 失败原因 - * @type {string || null} - */ - this.Reason = null; - - /** - * 服务类型 -注意:此字段可能返回 null,表示取不到有效值。 - * @type {string || null} - */ - this.ServiceType = null; - - /** - * 服务名称 -注意:此字段可能返回 null,表示取不到有效值。 - * @type {string || null} - */ - this.ServiceName = null; - - /** - * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - * @type {string || null} + * 子账号Uin + * @type {number || null} */ - this.RequestId = null; + this.TargetUin = null; } @@ -636,28 +760,24 @@ class GetServiceLinkedRoleDeletionStatusResponse extends AbstractModel { if (!params) { return; } - this.Status = 'Status' in params ? params.Status : null; - this.Reason = 'Reason' in params ? params.Reason : null; - this.ServiceType = 'ServiceType' in params ? params.ServiceType : null; - this.ServiceName = 'ServiceName' in params ? params.ServiceName : null; - this.RequestId = 'RequestId' in params ? params.RequestId : null; + this.TargetUin = 'TargetUin' in params ? params.TargetUin : null; } } /** - * DeleteUserPermissionsBoundary返回参数结构体 + * DescribeOIDCConfig请求参数结构体 * @class */ -class DeleteUserPermissionsBoundaryResponse extends AbstractModel { +class DescribeOIDCConfigRequest extends AbstractModel { constructor(){ super(); /** - * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * 名称 * @type {string || null} */ - this.RequestId = null; + this.Name = null; } @@ -668,30 +788,24 @@ class DeleteUserPermissionsBoundaryResponse extends AbstractModel { if (!params) { return; } - this.RequestId = 'RequestId' in params ? params.RequestId : null; + this.Name = 'Name' in params ? params.Name : null; } } /** - * ListUsers返回参数结构体 + * GetRolePermissionBoundary请求参数结构体 * @class */ -class ListUsersResponse extends AbstractModel { +class GetRolePermissionBoundaryRequest extends AbstractModel { constructor(){ super(); /** - * 子用户信息 - * @type {Array. || null} + * 角色ID + * @type {string || null} */ - this.Data = null; - - /** - * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - * @type {string || null} - */ - this.RequestId = null; + this.RoleId = null; } @@ -702,28 +816,45 @@ class ListUsersResponse extends AbstractModel { if (!params) { return; } - - if (params.Data) { - this.Data = new Array(); - for (let z in params.Data) { - let obj = new SubAccountInfo(); - obj.deserialize(params.Data[z]); - this.Data.push(obj); - } - } - this.RequestId = 'RequestId' in params ? params.RequestId : null; + this.RoleId = 'RoleId' in params ? params.RoleId : null; } } /** - * UpdateRoleDescription返回参数结构体 + * GetServiceLinkedRoleDeletionStatus返回参数结构体 * @class */ -class UpdateRoleDescriptionResponse extends AbstractModel { +class GetServiceLinkedRoleDeletionStatusResponse extends AbstractModel { constructor(){ super(); + /** + * 状态:NOT_STARTED,IN_PROGRESS,SUCCEEDED,FAILED + * @type {string || null} + */ + this.Status = null; + + /** + * 失败原因 + * @type {string || null} + */ + this.Reason = null; + + /** + * 服务类型 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.ServiceType = null; + + /** + * 服务名称 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.ServiceName = null; + /** * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 * @type {string || null} @@ -739,30 +870,28 @@ class UpdateRoleDescriptionResponse extends AbstractModel { if (!params) { return; } + this.Status = 'Status' in params ? params.Status : null; + this.Reason = 'Reason' in params ? params.Reason : null; + this.ServiceType = 'ServiceType' in params ? params.ServiceType : null; + this.ServiceName = 'ServiceName' in params ? params.ServiceName : null; this.RequestId = 'RequestId' in params ? params.RequestId : null; } } /** - * DetachUserPolicy请求参数结构体 + * GetSecurityLastUsed请求参数结构体 * @class */ -class DetachUserPolicyRequest extends AbstractModel { +class GetSecurityLastUsedRequest extends AbstractModel { constructor(){ super(); /** - * 策略 id - * @type {number || null} - */ - this.PolicyId = null; - - /** - * 子账号 uin - * @type {number || null} + * 查询密钥ID列表。最多支持10个。 + * @type {Array. || null} */ - this.DetachUin = null; + this.SecretIdList = null; } @@ -773,31 +902,30 @@ class DetachUserPolicyRequest extends AbstractModel { if (!params) { return; } - this.PolicyId = 'PolicyId' in params ? params.PolicyId : null; - this.DetachUin = 'DetachUin' in params ? params.DetachUin : null; + this.SecretIdList = 'SecretIdList' in params ? params.SecretIdList : null; } } /** - * ListGroups返回参数结构体 + * DescribeUserSAMLConfig返回参数结构体 * @class */ -class ListGroupsResponse extends AbstractModel { +class DescribeUserSAMLConfigResponse extends AbstractModel { constructor(){ super(); /** - * 用户组总数。 - * @type {number || null} + * SAML元数据文档 + * @type {string || null} */ - this.TotalNum = null; + this.SAMLMetadata = null; /** - * 用户组数组信息。 - * @type {Array. || null} + * 状态:0:未设置,1:已开启,2:已禁用 + * @type {number || null} */ - this.GroupInfo = null; + this.Status = null; /** * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 @@ -814,34 +942,26 @@ class ListGroupsResponse extends AbstractModel { if (!params) { return; } - this.TotalNum = 'TotalNum' in params ? params.TotalNum : null; - - if (params.GroupInfo) { - this.GroupInfo = new Array(); - for (let z in params.GroupInfo) { - let obj = new GroupInfo(); - obj.deserialize(params.GroupInfo[z]); - this.GroupInfo.push(obj); - } - } + this.SAMLMetadata = 'SAMLMetadata' in params ? params.SAMLMetadata : null; + this.Status = 'Status' in params ? params.Status : null; this.RequestId = 'RequestId' in params ? params.RequestId : null; } } /** - * ListPolicyVersions请求参数结构体 + * DeleteUserPermissionsBoundary返回参数结构体 * @class */ -class ListPolicyVersionsRequest extends AbstractModel { +class DeleteUserPermissionsBoundaryResponse extends AbstractModel { constructor(){ super(); /** - * 策略ID - * @type {number || null} + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} */ - this.PolicyId = null; + this.RequestId = null; } @@ -852,24 +972,30 @@ class ListPolicyVersionsRequest extends AbstractModel { if (!params) { return; } - this.PolicyId = 'PolicyId' in params ? params.PolicyId : null; + this.RequestId = 'RequestId' in params ? params.RequestId : null; } } /** - * GetCustomMFATokenInfo请求参数结构体 + * ListUsers返回参数结构体 * @class */ -class GetCustomMFATokenInfoRequest extends AbstractModel { +class ListUsersResponse extends AbstractModel { constructor(){ super(); /** - * 自定义多因子验证Token + * 子用户信息 + * @type {Array. || null} + */ + this.Data = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 * @type {string || null} */ - this.MFAToken = null; + this.RequestId = null; } @@ -880,30 +1006,33 @@ class GetCustomMFATokenInfoRequest extends AbstractModel { if (!params) { return; } - this.MFAToken = 'MFAToken' in params ? params.MFAToken : null; + + if (params.Data) { + this.Data = new Array(); + for (let z in params.Data) { + let obj = new SubAccountInfo(); + obj.deserialize(params.Data[z]); + this.Data.push(obj); + } + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; } } /** - * DescribeRoleList请求参数结构体 + * UpdateRoleDescription返回参数结构体 * @class */ -class DescribeRoleListRequest extends AbstractModel { +class UpdateRoleDescriptionResponse extends AbstractModel { constructor(){ super(); /** - * 页码,从1开始 - * @type {number || null} - */ - this.Page = null; - - /** - * 每页行数,不能大于200 - * @type {number || null} + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} */ - this.Rp = null; + this.RequestId = null; } @@ -914,26 +1043,19 @@ class DescribeRoleListRequest extends AbstractModel { if (!params) { return; } - this.Page = 'Page' in params ? params.Page : null; - this.Rp = 'Rp' in params ? params.Rp : null; + this.RequestId = 'RequestId' in params ? params.RequestId : null; } } /** - * GetGroup请求参数结构体 + * GetAccountSummary请求参数结构体 * @class */ -class GetGroupRequest extends AbstractModel { +class GetAccountSummaryRequest extends AbstractModel { constructor(){ super(); - /** - * 用户组 ID - * @type {number || null} - */ - this.GroupId = null; - } /** @@ -943,16 +1065,15 @@ class GetGroupRequest extends AbstractModel { if (!params) { return; } - this.GroupId = 'GroupId' in params ? params.GroupId : null; } } /** - * DeleteRole返回参数结构体 + * DeletePolicy返回参数结构体 * @class */ -class DeleteRoleResponse extends AbstractModel { +class DeletePolicyResponse extends AbstractModel { constructor(){ super(); @@ -977,33 +1098,36 @@ class DeleteRoleResponse extends AbstractModel { } /** - * 策略版本列表元素结构 + * GetUserAppId返回参数结构体 * @class */ -class PolicyVersionItem extends AbstractModel { +class GetUserAppIdResponse extends AbstractModel { constructor(){ super(); /** - * 策略版本号 -注意:此字段可能返回 null,表示取不到有效值。 - * @type {number || null} + * 当前账号Uin + * @type {string || null} */ - this.VersionId = null; + this.Uin = null; /** - * 策略版本创建时间 -注意:此字段可能返回 null,表示取不到有效值。 + * 当前账号OwnerUin * @type {string || null} */ - this.CreateDate = null; + this.OwnerUin = null; /** - * 是否是正在生效的版本。0表示不是,1表示是 -注意:此字段可能返回 null,表示取不到有效值。 + * 当前账号AppId * @type {number || null} */ - this.IsDefaultVersion = null; + this.AppId = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; } @@ -1014,27 +1138,22 @@ class PolicyVersionItem extends AbstractModel { if (!params) { return; } - this.VersionId = 'VersionId' in params ? params.VersionId : null; - this.CreateDate = 'CreateDate' in params ? params.CreateDate : null; - this.IsDefaultVersion = 'IsDefaultVersion' in params ? params.IsDefaultVersion : null; + this.Uin = 'Uin' in params ? params.Uin : null; + this.OwnerUin = 'OwnerUin' in params ? params.OwnerUin : null; + this.AppId = 'AppId' in params ? params.AppId : null; + this.RequestId = 'RequestId' in params ? params.RequestId : null; } } /** - * DescribeSubAccounts请求参数结构体 + * GetUserAppId请求参数结构体 * @class */ -class DescribeSubAccountsRequest extends AbstractModel { +class GetUserAppIdRequest extends AbstractModel { constructor(){ super(); - /** - * 子用户UIN列表,最多支持50个UIN - * @type {Array. || null} - */ - this.FilterSubAccountUin = null; - } /** @@ -1044,24 +1163,65 @@ class DescribeSubAccountsRequest extends AbstractModel { if (!params) { return; } - this.FilterSubAccountUin = 'FilterSubAccountUin' in params ? params.FilterSubAccountUin : null; } } /** - * DeleteUserPermissionsBoundary请求参数结构体 + * DescribeOIDCConfig返回参数结构体 * @class */ -class DeleteUserPermissionsBoundaryRequest extends AbstractModel { +class DescribeOIDCConfigResponse extends AbstractModel { constructor(){ super(); /** - * 子账号Uin + * 身份提供商类型 11角色身份提供商 * @type {number || null} */ - this.TargetUin = null; + this.ProviderType = null; + + /** + * 身份提供商URL + * @type {string || null} + */ + this.IdentityUrl = null; + + /** + * 签名公钥 + * @type {string || null} + */ + this.IdentityKey = null; + + /** + * 客户端id + * @type {Array. || null} + */ + this.ClientId = null; + + /** + * 状态:0:未设置,11:已开启,2:已禁用 + * @type {number || null} + */ + this.Status = null; + + /** + * 描述 + * @type {string || null} + */ + this.Description = null; + + /** + * 名称 + * @type {string || null} + */ + this.Name = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; } @@ -1072,19 +1232,32 @@ class DeleteUserPermissionsBoundaryRequest extends AbstractModel { if (!params) { return; } - this.TargetUin = 'TargetUin' in params ? params.TargetUin : null; + this.ProviderType = 'ProviderType' in params ? params.ProviderType : null; + this.IdentityUrl = 'IdentityUrl' in params ? params.IdentityUrl : null; + this.IdentityKey = 'IdentityKey' in params ? params.IdentityKey : null; + this.ClientId = 'ClientId' in params ? params.ClientId : null; + this.Status = 'Status' in params ? params.Status : null; + this.Description = 'Description' in params ? params.Description : null; + this.Name = 'Name' in params ? params.Name : null; + this.RequestId = 'RequestId' in params ? params.RequestId : null; } } /** - * ListSAMLProviders请求参数结构体 + * ListPolicyVersions请求参数结构体 * @class */ -class ListSAMLProvidersRequest extends AbstractModel { +class ListPolicyVersionsRequest extends AbstractModel { constructor(){ super(); + /** + * 策略ID + * @type {number || null} + */ + this.PolicyId = null; + } /** @@ -1094,35 +1267,64 @@ class ListSAMLProvidersRequest extends AbstractModel { if (!params) { return; } + this.PolicyId = 'PolicyId' in params ? params.PolicyId : null; } } /** - * ListGroups请求参数结构体 + * GetCustomMFATokenInfo请求参数结构体 * @class */ -class ListGroupsRequest extends AbstractModel { +class GetCustomMFATokenInfoRequest extends AbstractModel { constructor(){ super(); /** - * 页码。默认为1。 - * @type {number || null} + * 自定义多因子验证Token + * @type {string || null} */ - this.Page = null; + this.MFAToken = null; - /** - * 每页数量。默认为20。 + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.MFAToken = 'MFAToken' in params ? params.MFAToken : null; + + } +} + +/** + * DescribeRoleList请求参数结构体 + * @class + */ +class DescribeRoleListRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 页码,从1开始 + * @type {number || null} + */ + this.Page = null; + + /** + * 每页行数,不能大于200 * @type {number || null} */ this.Rp = null; /** - * 按用户组名称匹配。 - * @type {string || null} + * 标签筛选 + * @type {Array. || null} */ - this.Keyword = null; + this.Tags = null; } @@ -1135,25 +1337,27 @@ class ListGroupsRequest extends AbstractModel { } this.Page = 'Page' in params ? params.Page : null; this.Rp = 'Rp' in params ? params.Rp : null; - this.Keyword = 'Keyword' in params ? params.Keyword : null; + + if (params.Tags) { + this.Tags = new Array(); + for (let z in params.Tags) { + let obj = new RoleTags(); + obj.deserialize(params.Tags[z]); + this.Tags.push(obj); + } + } } } /** - * DeletePolicyVersion返回参数结构体 + * DescribeUserSAMLConfig请求参数结构体 * @class */ -class DeletePolicyVersionResponse extends AbstractModel { +class DescribeUserSAMLConfigRequest extends AbstractModel { constructor(){ super(); - /** - * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - * @type {string || null} - */ - this.RequestId = null; - } /** @@ -1163,36 +1367,23 @@ class DeletePolicyVersionResponse extends AbstractModel { if (!params) { return; } - this.RequestId = 'RequestId' in params ? params.RequestId : null; } } /** - * UpdateSAMLProvider请求参数结构体 + * TagRole返回参数结构体 * @class */ -class UpdateSAMLProviderRequest extends AbstractModel { +class TagRoleResponse extends AbstractModel { constructor(){ super(); /** - * SAML身份提供商名称 - * @type {string || null} - */ - this.Name = null; - - /** - * SAML身份提供商描述 - * @type {string || null} - */ - this.Description = null; - - /** - * SAML身份提供商Base64编码的元数据文档 + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 * @type {string || null} */ - this.SAMLMetadataDocument = null; + this.RequestId = null; } @@ -1203,35 +1394,33 @@ class UpdateSAMLProviderRequest extends AbstractModel { if (!params) { return; } - this.Name = 'Name' in params ? params.Name : null; - this.Description = 'Description' in params ? params.Description : null; - this.SAMLMetadataDocument = 'SAMLMetadataDocument' in params ? params.SAMLMetadataDocument : null; + this.RequestId = 'RequestId' in params ? params.RequestId : null; } } /** - * UpdateAssumeRolePolicy请求参数结构体 + * PutRolePermissionsBoundary请求参数结构体 * @class */ -class UpdateAssumeRolePolicyRequest extends AbstractModel { +class PutRolePermissionsBoundaryRequest extends AbstractModel { constructor(){ super(); /** - * 策略文档,示例:{"version":"2.0","statement":[{"action":"name/sts:AssumeRole","effect":"allow","principal":{"service":["cloudaudit.cloud.tencent.com","cls.cloud.tencent.com"]}}]},principal用于指定角色的授权对象。获取该参数可参阅 获取角色详情(https://cloud.tencent.com/document/product/598/36221) 输出参数RoleInfo - * @type {string || null} + * 策略ID + * @type {number || null} */ - this.PolicyDocument = null; + this.PolicyId = null; /** - * 角色ID,用于指定角色,入参 RoleId 与 RoleName 二选一 + * 角色ID(与角色名至少填一个) * @type {string || null} */ this.RoleId = null; /** - * 角色名称,用于指定角色,入参 RoleId 与 RoleName 二选一 + * 角色名(与角色ID至少填一个) * @type {string || null} */ this.RoleName = null; @@ -1245,7 +1434,7 @@ class UpdateAssumeRolePolicyRequest extends AbstractModel { if (!params) { return; } - this.PolicyDocument = 'PolicyDocument' in params ? params.PolicyDocument : null; + this.PolicyId = 'PolicyId' in params ? params.PolicyId : null; this.RoleId = 'RoleId' in params ? params.RoleId : null; this.RoleName = 'RoleName' in params ? params.RoleName : null; @@ -1253,30 +1442,18 @@ class UpdateAssumeRolePolicyRequest extends AbstractModel { } /** - * ListGroupsForUser返回参数结构体 + * GetGroup请求参数结构体 * @class */ -class ListGroupsForUserResponse extends AbstractModel { +class GetGroupRequest extends AbstractModel { constructor(){ super(); /** - * 子用户加入的用户组总数 + * 用户组 ID * @type {number || null} */ - this.TotalNum = null; - - /** - * 用户组信息 - * @type {Array. || null} - */ - this.GroupInfo = null; - - /** - * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - * @type {string || null} - */ - this.RequestId = null; + this.GroupId = null; } @@ -1287,46 +1464,118 @@ class ListGroupsForUserResponse extends AbstractModel { if (!params) { return; } - this.TotalNum = 'TotalNum' in params ? params.TotalNum : null; - - if (params.GroupInfo) { - this.GroupInfo = new Array(); - for (let z in params.GroupInfo) { - let obj = new GroupInfo(); - obj.deserialize(params.GroupInfo[z]); - this.GroupInfo.push(obj); - } - } - this.RequestId = 'RequestId' in params ? params.RequestId : null; + this.GroupId = 'GroupId' in params ? params.GroupId : null; } } /** - * ListUsersForGroup请求参数结构体 + * 策略信息 * @class */ -class ListUsersForGroupRequest extends AbstractModel { +class StrategyInfo extends AbstractModel { constructor(){ super(); /** - * 用户组 ID。 + * 策略ID。 * @type {number || null} */ - this.GroupId = null; + this.PolicyId = null; /** - * 页码。默认为1。 + * 策略名称。 + * @type {string || null} + */ + this.PolicyName = null; + + /** + * 策略创建时间。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.AddTime = null; + + /** + * 策略类型。1 表示自定义策略,2 表示预设策略。 * @type {number || null} */ - this.Page = null; + this.Type = null; /** - * 每页数量。默认为20。 + * 策略描述。 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.Description = null; + + /** + * 创建来源,1 通过控制台创建, 2 通过策略语法创建。 * @type {number || null} */ - this.Rp = null; + this.CreateMode = null; + + /** + * 关联的用户数 + * @type {number || null} + */ + this.Attachments = null; + + /** + * 策略关联的产品 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.ServiceType = null; + + /** + * 当需要查询标记实体是否已经关联策略时不为null。0表示未关联策略,1表示已关联策略 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {number || null} + */ + this.IsAttached = null; + + /** + * 是否已下线 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {number || null} + */ + this.Deactived = null; + + /** + * 已下线产品列表 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {Array. || null} + */ + this.DeactivedDetail = null; + + /** + * 是否是服务相关角色策略 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {number || null} + */ + this.IsServiceLinkedPolicy = null; + + /** + * 关联策略实体数 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {number || null} + */ + this.AttachEntityCount = null; + + /** + * 关联权限边界实体数 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {number || null} + */ + this.AttachEntityBoundaryCount = null; + + /** + * 最后编辑时间 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.UpdateTime = null; } @@ -1337,26 +1586,38 @@ class ListUsersForGroupRequest extends AbstractModel { if (!params) { return; } - this.GroupId = 'GroupId' in params ? params.GroupId : null; - this.Page = 'Page' in params ? params.Page : null; - this.Rp = 'Rp' in params ? params.Rp : null; + this.PolicyId = 'PolicyId' in params ? params.PolicyId : null; + this.PolicyName = 'PolicyName' in params ? params.PolicyName : null; + this.AddTime = 'AddTime' in params ? params.AddTime : null; + this.Type = 'Type' in params ? params.Type : null; + this.Description = 'Description' in params ? params.Description : null; + this.CreateMode = 'CreateMode' in params ? params.CreateMode : null; + this.Attachments = 'Attachments' in params ? params.Attachments : null; + this.ServiceType = 'ServiceType' in params ? params.ServiceType : null; + this.IsAttached = 'IsAttached' in params ? params.IsAttached : null; + this.Deactived = 'Deactived' in params ? params.Deactived : null; + this.DeactivedDetail = 'DeactivedDetail' in params ? params.DeactivedDetail : null; + this.IsServiceLinkedPolicy = 'IsServiceLinkedPolicy' in params ? params.IsServiceLinkedPolicy : null; + this.AttachEntityCount = 'AttachEntityCount' in params ? params.AttachEntityCount : null; + this.AttachEntityBoundaryCount = 'AttachEntityBoundaryCount' in params ? params.AttachEntityBoundaryCount : null; + this.UpdateTime = 'UpdateTime' in params ? params.UpdateTime : null; } } /** - * RemoveUserFromGroup请求参数结构体 + * DeleteRole返回参数结构体 * @class */ -class RemoveUserFromGroupRequest extends AbstractModel { +class DeleteRoleResponse extends AbstractModel { constructor(){ super(); /** - * 要删除的用户 UID和用户组 ID对应数组 - * @type {Array. || null} + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} */ - this.Info = null; + this.RequestId = null; } @@ -1367,24 +1628,16 @@ class RemoveUserFromGroupRequest extends AbstractModel { if (!params) { return; } - - if (params.Info) { - this.Info = new Array(); - for (let z in params.Info) { - let obj = new GroupIdOfUidInfo(); - obj.deserialize(params.Info[z]); - this.Info.push(obj); - } - } + this.RequestId = 'RequestId' in params ? params.RequestId : null; } } /** - * CreatePolicyVersion返回参数结构体 + * 策略版本列表元素结构 * @class */ -class CreatePolicyVersionResponse extends AbstractModel { +class PolicyVersionItem extends AbstractModel { constructor(){ super(); @@ -1396,12 +1649,20 @@ class CreatePolicyVersionResponse extends AbstractModel { this.VersionId = null; /** - * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * 策略版本创建时间 +注意:此字段可能返回 null,表示取不到有效值。 * @type {string || null} */ - this.RequestId = null; - - } + this.CreateDate = null; + + /** + * 是否是正在生效的版本。0表示不是,1表示是 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {number || null} + */ + this.IsDefaultVersion = null; + + } /** * @private @@ -1411,52 +1672,31 @@ class CreatePolicyVersionResponse extends AbstractModel { return; } this.VersionId = 'VersionId' in params ? params.VersionId : null; - this.RequestId = 'RequestId' in params ? params.RequestId : null; + this.CreateDate = 'CreateDate' in params ? params.CreateDate : null; + this.IsDefaultVersion = 'IsDefaultVersion' in params ? params.IsDefaultVersion : null; } } /** - * ListPolicies返回参数结构体 + * DetachUserPolicy请求参数结构体 * @class */ -class ListPoliciesResponse extends AbstractModel { +class DetachUserPolicyRequest extends AbstractModel { constructor(){ super(); /** - * 策略总数 + * 策略 id * @type {number || null} */ - this.TotalNum = null; - - /** - * 策略数组,数组每个成员包括 policyId、policyName、addTime、type、description、 createMode 字段。其中: -policyId:策略 id -policyName:策略名 -addTime:策略创建时间 -type:1 表示自定义策略,2 表示预设策略 -description:策略描述 -createMode:1 表示按业务权限创建的策略,其他值表示可以查看策略语法和通过策略语法更新策略 -Attachments: 关联的用户数 -ServiceType: 策略关联的产品 -IsAttached: 当需要查询标记实体是否已经关联策略时不为null。0表示未关联策略,1表示已关联策略 - * @type {Array. || null} - */ - this.List = null; - - /** - * 保留字段 -注意:此字段可能返回 null,表示取不到有效值。 - * @type {Array. || null} - */ - this.ServiceTypeList = null; + this.PolicyId = null; /** - * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - * @type {string || null} + * 子账号 uin + * @type {number || null} */ - this.RequestId = null; + this.DetachUin = null; } @@ -1467,91 +1707,25 @@ IsAttached: 当需要查询标记实体是否已经关联策略时不为null。0 if (!params) { return; } - this.TotalNum = 'TotalNum' in params ? params.TotalNum : null; - - if (params.List) { - this.List = new Array(); - for (let z in params.List) { - let obj = new StrategyInfo(); - obj.deserialize(params.List[z]); - this.List.push(obj); - } - } - this.ServiceTypeList = 'ServiceTypeList' in params ? params.ServiceTypeList : null; - this.RequestId = 'RequestId' in params ? params.RequestId : null; + this.PolicyId = 'PolicyId' in params ? params.PolicyId : null; + this.DetachUin = 'DetachUin' in params ? params.DetachUin : null; } } /** - * 企业微信子用户 + * DescribeSubAccounts请求参数结构体 * @class */ -class WeChatWorkSubAccount extends AbstractModel { +class DescribeSubAccountsRequest extends AbstractModel { constructor(){ super(); /** - * 子用户用户 ID - * @type {number || null} - */ - this.Uin = null; - - /** - * 子用户用户名 - * @type {string || null} - */ - this.Name = null; - - /** - * 子用户 UID - * @type {number || null} - */ - this.Uid = null; - - /** - * 备注 - * @type {string || null} - */ - this.Remark = null; - - /** - * 子用户能否登录控制台 - * @type {number || null} - */ - this.ConsoleLogin = null; - - /** - * 手机号 - * @type {string || null} - */ - this.PhoneNum = null; - - /** - * 区号 - * @type {string || null} - */ - this.CountryCode = null; - - /** - * 邮箱 - * @type {string || null} - */ - this.Email = null; - - /** - * 企业微信UserId -注意:此字段可能返回 null,表示取不到有效值。 - * @type {string || null} - */ - this.WeChatWorkUserId = null; - - /** - * 创建时间 -注意:此字段可能返回 null,表示取不到有效值。 - * @type {string || null} + * 子用户UIN列表,最多支持50个UIN + * @type {Array. || null} */ - this.CreateTime = null; + this.FilterSubAccountUin = null; } @@ -1562,57 +1736,24 @@ class WeChatWorkSubAccount extends AbstractModel { if (!params) { return; } - this.Uin = 'Uin' in params ? params.Uin : null; - this.Name = 'Name' in params ? params.Name : null; - this.Uid = 'Uid' in params ? params.Uid : null; - this.Remark = 'Remark' in params ? params.Remark : null; - this.ConsoleLogin = 'ConsoleLogin' in params ? params.ConsoleLogin : null; - this.PhoneNum = 'PhoneNum' in params ? params.PhoneNum : null; - this.CountryCode = 'CountryCode' in params ? params.CountryCode : null; - this.Email = 'Email' in params ? params.Email : null; - this.WeChatWorkUserId = 'WeChatWorkUserId' in params ? params.WeChatWorkUserId : null; - this.CreateTime = 'CreateTime' in params ? params.CreateTime : null; + this.FilterSubAccountUin = 'FilterSubAccountUin' in params ? params.FilterSubAccountUin : null; } } /** - * 异地登录设置 + * DeleteUserPermissionsBoundary请求参数结构体 * @class */ -class OffsiteFlag extends AbstractModel { +class DeleteUserPermissionsBoundaryRequest extends AbstractModel { constructor(){ super(); /** - * 验证标识 - * @type {number || null} - */ - this.VerifyFlag = null; - - /** - * 手机通知 - * @type {number || null} - */ - this.NotifyPhone = null; - - /** - * 邮箱通知 - * @type {number || null} - */ - this.NotifyEmail = null; - - /** - * 微信通知 - * @type {number || null} - */ - this.NotifyWechat = null; - - /** - * 提示 + * 子账号Uin * @type {number || null} */ - this.Tips = null; + this.TargetUin = null; } @@ -1623,35 +1764,19 @@ class OffsiteFlag extends AbstractModel { if (!params) { return; } - this.VerifyFlag = 'VerifyFlag' in params ? params.VerifyFlag : null; - this.NotifyPhone = 'NotifyPhone' in params ? params.NotifyPhone : null; - this.NotifyEmail = 'NotifyEmail' in params ? params.NotifyEmail : null; - this.NotifyWechat = 'NotifyWechat' in params ? params.NotifyWechat : null; - this.Tips = 'Tips' in params ? params.Tips : null; + this.TargetUin = 'TargetUin' in params ? params.TargetUin : null; } } /** - * 子用户和用户组关联信息 + * ListSAMLProviders请求参数结构体 * @class */ -class GroupIdOfUidInfo extends AbstractModel { +class ListSAMLProvidersRequest extends AbstractModel { constructor(){ super(); - /** - * 子用户 UID - * @type {number || null} - */ - this.Uid = null; - - /** - * 用户组 ID - * @type {number || null} - */ - this.GroupId = null; - } /** @@ -1661,37 +1786,35 @@ class GroupIdOfUidInfo extends AbstractModel { if (!params) { return; } - this.Uid = 'Uid' in params ? params.Uid : null; - this.GroupId = 'GroupId' in params ? params.GroupId : null; } } /** - * UpdateRoleDescription请求参数结构体 + * ListGroups请求参数结构体 * @class */ -class UpdateRoleDescriptionRequest extends AbstractModel { +class ListGroupsRequest extends AbstractModel { constructor(){ super(); /** - * 角色描述 - * @type {string || null} + * 页码。默认为1。 + * @type {number || null} */ - this.Description = null; + this.Page = null; /** - * 角色ID,用于指定角色,入参 RoleId 与 RoleName 二选一 - * @type {string || null} + * 每页数量。默认为20。 + * @type {number || null} */ - this.RoleId = null; + this.Rp = null; /** - * 角色名称,用于指定角色,入参 RoleId 与 RoleName 二选一 + * 按用户组名称匹配。 * @type {string || null} */ - this.RoleName = null; + this.Keyword = null; } @@ -1702,18 +1825,18 @@ class UpdateRoleDescriptionRequest extends AbstractModel { if (!params) { return; } - this.Description = 'Description' in params ? params.Description : null; - this.RoleId = 'RoleId' in params ? params.RoleId : null; - this.RoleName = 'RoleName' in params ? params.RoleName : null; + this.Page = 'Page' in params ? params.Page : null; + this.Rp = 'Rp' in params ? params.Rp : null; + this.Keyword = 'Keyword' in params ? params.Keyword : null; } } /** - * DeleteGroup返回参数结构体 + * DeletePolicyVersion返回参数结构体 * @class */ -class DeleteGroupResponse extends AbstractModel { +class DeletePolicyVersionResponse extends AbstractModel { constructor(){ super(); @@ -1738,75 +1861,53 @@ class DeleteGroupResponse extends AbstractModel { } /** - * 角色详细信息 + * GetRolePermissionBoundary返回参数结构体 * @class */ -class RoleInfo extends AbstractModel { +class GetRolePermissionBoundaryResponse extends AbstractModel { constructor(){ super(); /** - * 角色ID - * @type {string || null} + * 策略ID +注意:此字段可能返回 null,表示取不到有效值。 + * @type {number || null} */ - this.RoleId = null; + this.PolicyId = null; /** - * 角色名称 + * 策略名 +注意:此字段可能返回 null,表示取不到有效值。 * @type {string || null} */ - this.RoleName = null; + this.PolicyName = null; /** - * 角色的策略文档 + * 策略语法 +注意:此字段可能返回 null,表示取不到有效值。 * @type {string || null} */ this.PolicyDocument = null; /** - * 角色描述 - * @type {string || null} + * 策略类型:1.自定义策略,2.预设策略 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {number || null} */ - this.Description = null; + this.PolicyType = null; /** - * 角色的创建时间 - * @type {string || null} + * 创建方式:1.按产品功能或项目权限创建,2.按策略语法创建,3.按策略生成器创建,4.按标签授权创建,5.按权限边界规则创建 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {number || null} */ - this.AddTime = null; + this.CreateMode = null; /** - * 角色的最近一次时间 + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 * @type {string || null} */ - this.UpdateTime = null; - - /** - * 角色是否允许登录 - * @type {number || null} - */ - this.ConsoleLogin = null; - - /** - * 角色类型,取user、system或service_linked -注意:此字段可能返回 null,表示取不到有效值。 - * @type {string || null} - */ - this.RoleType = null; - - /** - * 有效时间 -注意:此字段可能返回 null,表示取不到有效值。 - * @type {number || null} - */ - this.SessionDuration = null; - - /** - * 服务相关角色删除TaskId -注意:此字段可能返回 null,表示取不到有效值。 - * @type {string || null} - */ - this.DeletionTaskId = null; + this.RequestId = null; } @@ -1817,51 +1918,35 @@ class RoleInfo extends AbstractModel { if (!params) { return; } - this.RoleId = 'RoleId' in params ? params.RoleId : null; - this.RoleName = 'RoleName' in params ? params.RoleName : null; + this.PolicyId = 'PolicyId' in params ? params.PolicyId : null; + this.PolicyName = 'PolicyName' in params ? params.PolicyName : null; this.PolicyDocument = 'PolicyDocument' in params ? params.PolicyDocument : null; - this.Description = 'Description' in params ? params.Description : null; - this.AddTime = 'AddTime' in params ? params.AddTime : null; - this.UpdateTime = 'UpdateTime' in params ? params.UpdateTime : null; - this.ConsoleLogin = 'ConsoleLogin' in params ? params.ConsoleLogin : null; - this.RoleType = 'RoleType' in params ? params.RoleType : null; - this.SessionDuration = 'SessionDuration' in params ? params.SessionDuration : null; - this.DeletionTaskId = 'DeletionTaskId' in params ? params.DeletionTaskId : null; + this.PolicyType = 'PolicyType' in params ? params.PolicyType : null; + this.CreateMode = 'CreateMode' in params ? params.CreateMode : null; + this.RequestId = 'RequestId' in params ? params.RequestId : null; } } /** - * DescribeSafeAuthFlag返回参数结构体 + * 用户关联策略(随组关联)信息 * @class */ -class DescribeSafeAuthFlagResponse extends AbstractModel { +class AttachedUserPolicyGroupInfo extends AbstractModel { constructor(){ super(); /** - * 登录保护设置 - * @type {LoginActionFlag || null} - */ - this.LoginFlag = null; - - /** - * 敏感操作保护设置 - * @type {LoginActionFlag || null} - */ - this.ActionFlag = null; - - /** - * 异地登录保护设置 - * @type {OffsiteFlag || null} + * 分组ID + * @type {number || null} */ - this.OffsiteFlag = null; + this.GroupId = null; /** - * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * 分组名称 * @type {string || null} */ - this.RequestId = null; + this.GroupName = null; } @@ -1872,54 +1957,37 @@ class DescribeSafeAuthFlagResponse extends AbstractModel { if (!params) { return; } - - if (params.LoginFlag) { - let obj = new LoginActionFlag(); - obj.deserialize(params.LoginFlag) - this.LoginFlag = obj; - } - - if (params.ActionFlag) { - let obj = new LoginActionFlag(); - obj.deserialize(params.ActionFlag) - this.ActionFlag = obj; - } - - if (params.OffsiteFlag) { - let obj = new OffsiteFlag(); - obj.deserialize(params.OffsiteFlag) - this.OffsiteFlag = obj; - } - this.RequestId = 'RequestId' in params ? params.RequestId : null; + this.GroupId = 'GroupId' in params ? params.GroupId : null; + this.GroupName = 'GroupName' in params ? params.GroupName : null; } } /** - * CreatePolicyVersion请求参数结构体 + * ListGroupsForUser返回参数结构体 * @class */ -class CreatePolicyVersionRequest extends AbstractModel { +class ListGroupsForUserResponse extends AbstractModel { constructor(){ super(); /** - * 策略ID + * 子用户加入的用户组总数 * @type {number || null} */ - this.PolicyId = null; + this.TotalNum = null; /** - * 策略文本信息 - * @type {string || null} + * 用户组信息 + * @type {Array. || null} */ - this.PolicyDocument = null; + this.GroupInfo = null; /** - * 是否设置为当前策略的版本 - * @type {boolean || null} + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} */ - this.SetAsDefault = null; + this.RequestId = null; } @@ -1930,27 +1998,47 @@ class CreatePolicyVersionRequest extends AbstractModel { if (!params) { return; } - this.PolicyId = 'PolicyId' in params ? params.PolicyId : null; - this.PolicyDocument = 'PolicyDocument' in params ? params.PolicyDocument : null; - this.SetAsDefault = 'SetAsDefault' in params ? params.SetAsDefault : null; + this.TotalNum = 'TotalNum' in params ? params.TotalNum : null; + + if (params.GroupInfo) { + this.GroupInfo = new Array(); + for (let z in params.GroupInfo) { + let obj = new GroupInfo(); + obj.deserialize(params.GroupInfo[z]); + this.GroupInfo.push(obj); + } + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; } } /** - * DeleteGroup请求参数结构体 + * ListUsersForGroup请求参数结构体 * @class */ -class DeleteGroupRequest extends AbstractModel { +class ListUsersForGroupRequest extends AbstractModel { constructor(){ super(); /** - * 用户组 ID + * 用户组 ID。 * @type {number || null} */ this.GroupId = null; + /** + * 页码。默认为1。 + * @type {number || null} + */ + this.Page = null; + + /** + * 每页数量。默认为20。 + * @type {number || null} + */ + this.Rp = null; + } /** @@ -1961,35 +2049,25 @@ class DeleteGroupRequest extends AbstractModel { return; } this.GroupId = 'GroupId' in params ? params.GroupId : null; + this.Page = 'Page' in params ? params.Page : null; + this.Rp = 'Rp' in params ? params.Rp : null; } } /** - * ListAttachedRolePolicies返回参数结构体 + * RemoveUserFromGroup请求参数结构体 * @class */ -class ListAttachedRolePoliciesResponse extends AbstractModel { +class RemoveUserFromGroupRequest extends AbstractModel { constructor(){ super(); /** - * 角色关联的策略列表 - * @type {Array. || null} - */ - this.List = null; - - /** - * 角色关联的策略总数 - * @type {number || null} - */ - this.TotalNum = null; - - /** - * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - * @type {string || null} + * 要删除的用户 UIN/UID和用户组 ID对应数组 + * @type {Array. || null} */ - this.RequestId = null; + this.Info = null; } @@ -2001,28 +2079,33 @@ class ListAttachedRolePoliciesResponse extends AbstractModel { return; } - if (params.List) { - this.List = new Array(); - for (let z in params.List) { - let obj = new AttachedPolicyOfRole(); - obj.deserialize(params.List[z]); - this.List.push(obj); + if (params.Info) { + this.Info = new Array(); + for (let z in params.Info) { + let obj = new GroupIdOfUidInfo(); + obj.deserialize(params.Info[z]); + this.Info.push(obj); } } - this.TotalNum = 'TotalNum' in params ? params.TotalNum : null; - this.RequestId = 'RequestId' in params ? params.RequestId : null; } } /** - * DeleteUser返回参数结构体 + * CreatePolicyVersion返回参数结构体 * @class */ -class DeleteUserResponse extends AbstractModel { +class CreatePolicyVersionResponse extends AbstractModel { constructor(){ super(); + /** + * 策略版本号 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {number || null} + */ + this.VersionId = null; + /** * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 * @type {string || null} @@ -2038,42 +2121,53 @@ class DeleteUserResponse extends AbstractModel { if (!params) { return; } + this.VersionId = 'VersionId' in params ? params.VersionId : null; this.RequestId = 'RequestId' in params ? params.RequestId : null; } } /** - * DetachRolePolicy请求参数结构体 + * ListPolicies返回参数结构体 * @class */ -class DetachRolePolicyRequest extends AbstractModel { +class ListPoliciesResponse extends AbstractModel { constructor(){ super(); /** - * 策略ID,入参PolicyId与PolicyName二选一 + * 策略总数 * @type {number || null} */ - this.PolicyId = null; + this.TotalNum = null; /** - * 角色ID,用于指定角色,入参 AttachRoleId 与 AttachRoleName 二选一 - * @type {string || null} + * 策略数组,数组每个成员包括 policyId、policyName、addTime、type、description、 createMode 字段。其中: +policyId:策略 id +policyName:策略名 +addTime:策略创建时间 +type:1 表示自定义策略,2 表示预设策略 +description:策略描述 +createMode:1 表示按业务权限创建的策略,其他值表示可以查看策略语法和通过策略语法更新策略 +Attachments: 关联的用户数 +ServiceType: 策略关联的产品 +IsAttached: 当需要查询标记实体是否已经关联策略时不为null。0表示未关联策略,1表示已关联策略 + * @type {Array. || null} */ - this.DetachRoleId = null; + this.List = null; /** - * 角色名称,用于指定角色,入参 AttachRoleId 与 AttachRoleName 二选一 - * @type {string || null} + * 保留字段 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {Array. || null} */ - this.DetachRoleName = null; + this.ServiceTypeList = null; /** - * 策略名,入参PolicyId与PolicyName二选一 + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 * @type {string || null} */ - this.PolicyName = null; + this.RequestId = null; } @@ -2084,35 +2178,1522 @@ class DetachRolePolicyRequest extends AbstractModel { if (!params) { return; } - this.PolicyId = 'PolicyId' in params ? params.PolicyId : null; - this.DetachRoleId = 'DetachRoleId' in params ? params.DetachRoleId : null; - this.DetachRoleName = 'DetachRoleName' in params ? params.DetachRoleName : null; - this.PolicyName = 'PolicyName' in params ? params.PolicyName : null; + this.TotalNum = 'TotalNum' in params ? params.TotalNum : null; + + if (params.List) { + this.List = new Array(); + for (let z in params.List) { + let obj = new StrategyInfo(); + obj.deserialize(params.List[z]); + this.List.push(obj); + } + } + this.ServiceTypeList = 'ServiceTypeList' in params ? params.ServiceTypeList : null; + this.RequestId = 'RequestId' in params ? params.RequestId : null; } } /** - * DeleteRolePermissionsBoundary请求参数结构体 + * 企业微信子用户 * @class */ -class DeleteRolePermissionsBoundaryRequest extends AbstractModel { +class WeChatWorkSubAccount extends AbstractModel { constructor(){ super(); /** - * 角色ID(与角色名至少填一个) - * @type {string || null} + * 子用户用户 ID + * @type {number || null} */ - this.RoleId = null; + this.Uin = null; /** - * 角色名(与角色ID至少填一个) + * 子用户用户名 * @type {string || null} */ - this.RoleName = null; + this.Name = null; - } + /** + * 子用户 UID + * @type {number || null} + */ + this.Uid = null; + + /** + * 备注 + * @type {string || null} + */ + this.Remark = null; + + /** + * 子用户能否登录控制台 + * @type {number || null} + */ + this.ConsoleLogin = null; + + /** + * 手机号 + * @type {string || null} + */ + this.PhoneNum = null; + + /** + * 区号 + * @type {string || null} + */ + this.CountryCode = null; + + /** + * 邮箱 + * @type {string || null} + */ + this.Email = null; + + /** + * 企业微信UserId +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.WeChatWorkUserId = null; + + /** + * 创建时间 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.CreateTime = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Uin = 'Uin' in params ? params.Uin : null; + this.Name = 'Name' in params ? params.Name : null; + this.Uid = 'Uid' in params ? params.Uid : null; + this.Remark = 'Remark' in params ? params.Remark : null; + this.ConsoleLogin = 'ConsoleLogin' in params ? params.ConsoleLogin : null; + this.PhoneNum = 'PhoneNum' in params ? params.PhoneNum : null; + this.CountryCode = 'CountryCode' in params ? params.CountryCode : null; + this.Email = 'Email' in params ? params.Email : null; + this.WeChatWorkUserId = 'WeChatWorkUserId' in params ? params.WeChatWorkUserId : null; + this.CreateTime = 'CreateTime' in params ? params.CreateTime : null; + + } +} + +/** + * 异地登录设置 + * @class + */ +class OffsiteFlag extends AbstractModel { + constructor(){ + super(); + + /** + * 验证标识 + * @type {number || null} + */ + this.VerifyFlag = null; + + /** + * 手机通知 + * @type {number || null} + */ + this.NotifyPhone = null; + + /** + * 邮箱通知 + * @type {number || null} + */ + this.NotifyEmail = null; + + /** + * 微信通知 + * @type {number || null} + */ + this.NotifyWechat = null; + + /** + * 提示 + * @type {number || null} + */ + this.Tips = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.VerifyFlag = 'VerifyFlag' in params ? params.VerifyFlag : null; + this.NotifyPhone = 'NotifyPhone' in params ? params.NotifyPhone : null; + this.NotifyEmail = 'NotifyEmail' in params ? params.NotifyEmail : null; + this.NotifyWechat = 'NotifyWechat' in params ? params.NotifyWechat : null; + this.Tips = 'Tips' in params ? params.Tips : null; + + } +} + +/** + * 子用户和用户组关联信息 + * @class + */ +class GroupIdOfUidInfo extends AbstractModel { + constructor(){ + super(); + + /** + * 用户组 ID + * @type {number || null} + */ + this.GroupId = null; + + /** + * 子用户 UID + * @type {number || null} + */ + this.Uid = null; + + /** + * 子用户 Uin,Uid和Uin至少有一个必填 + * @type {number || null} + */ + this.Uin = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.GroupId = 'GroupId' in params ? params.GroupId : null; + this.Uid = 'Uid' in params ? params.Uid : null; + this.Uin = 'Uin' in params ? params.Uin : null; + + } +} + +/** + * UpdateRoleDescription请求参数结构体 + * @class + */ +class UpdateRoleDescriptionRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 角色描述 + * @type {string || null} + */ + this.Description = null; + + /** + * 角色ID,用于指定角色,入参 RoleId 与 RoleName 二选一 + * @type {string || null} + */ + this.RoleId = null; + + /** + * 角色名称,用于指定角色,入参 RoleId 与 RoleName 二选一 + * @type {string || null} + */ + this.RoleName = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Description = 'Description' in params ? params.Description : null; + this.RoleId = 'RoleId' in params ? params.RoleId : null; + this.RoleName = 'RoleName' in params ? params.RoleName : null; + + } +} + +/** + * UpdateUserSAMLConfig请求参数结构体 + * @class + */ +class UpdateUserSAMLConfigRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 修改的操作类型:enable:启用,disable:禁用,updateSAML:修改元数据文档 + * @type {string || null} + */ + this.Operate = null; + + /** + * 元数据文档,需要base64 encode,仅当Operate为updateSAML时需要此参数 + * @type {string || null} + */ + this.SAMLMetadataDocument = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Operate = 'Operate' in params ? params.Operate : null; + this.SAMLMetadataDocument = 'SAMLMetadataDocument' in params ? params.SAMLMetadataDocument : null; + + } +} + +/** + * DeleteGroup返回参数结构体 + * @class + */ +class DeleteGroupResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * 角色详细信息 + * @class + */ +class RoleInfo extends AbstractModel { + constructor(){ + super(); + + /** + * 角色ID + * @type {string || null} + */ + this.RoleId = null; + + /** + * 角色名称 + * @type {string || null} + */ + this.RoleName = null; + + /** + * 角色的策略文档 + * @type {string || null} + */ + this.PolicyDocument = null; + + /** + * 角色描述 + * @type {string || null} + */ + this.Description = null; + + /** + * 角色的创建时间 + * @type {string || null} + */ + this.AddTime = null; + + /** + * 角色的最近一次时间 + * @type {string || null} + */ + this.UpdateTime = null; + + /** + * 角色是否允许登录 + * @type {number || null} + */ + this.ConsoleLogin = null; + + /** + * 角色类型,取user、system或service_linked +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.RoleType = null; + + /** + * 有效时间 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {number || null} + */ + this.SessionDuration = null; + + /** + * 服务相关角色删除TaskId +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.DeletionTaskId = null; + + /** + * 标签 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {Array. || null} + */ + this.Tags = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.RoleId = 'RoleId' in params ? params.RoleId : null; + this.RoleName = 'RoleName' in params ? params.RoleName : null; + this.PolicyDocument = 'PolicyDocument' in params ? params.PolicyDocument : null; + this.Description = 'Description' in params ? params.Description : null; + this.AddTime = 'AddTime' in params ? params.AddTime : null; + this.UpdateTime = 'UpdateTime' in params ? params.UpdateTime : null; + this.ConsoleLogin = 'ConsoleLogin' in params ? params.ConsoleLogin : null; + this.RoleType = 'RoleType' in params ? params.RoleType : null; + this.SessionDuration = 'SessionDuration' in params ? params.SessionDuration : null; + this.DeletionTaskId = 'DeletionTaskId' in params ? params.DeletionTaskId : null; + + if (params.Tags) { + this.Tags = new Array(); + for (let z in params.Tags) { + let obj = new RoleTags(); + obj.deserialize(params.Tags[z]); + this.Tags.push(obj); + } + } + + } +} + +/** + * DescribeSafeAuthFlag返回参数结构体 + * @class + */ +class DescribeSafeAuthFlagResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 登录保护设置 + * @type {LoginActionFlag || null} + */ + this.LoginFlag = null; + + /** + * 敏感操作保护设置 + * @type {LoginActionFlag || null} + */ + this.ActionFlag = null; + + /** + * 异地登录保护设置 + * @type {OffsiteFlag || null} + */ + this.OffsiteFlag = null; + + /** + * 1: 提示7天信任设备 0: 不提示 + * @type {number || null} + */ + this.PromptTrust = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + + if (params.LoginFlag) { + let obj = new LoginActionFlag(); + obj.deserialize(params.LoginFlag) + this.LoginFlag = obj; + } + + if (params.ActionFlag) { + let obj = new LoginActionFlag(); + obj.deserialize(params.ActionFlag) + this.ActionFlag = obj; + } + + if (params.OffsiteFlag) { + let obj = new OffsiteFlag(); + obj.deserialize(params.OffsiteFlag) + this.OffsiteFlag = obj; + } + this.PromptTrust = 'PromptTrust' in params ? params.PromptTrust : null; + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * CreatePolicyVersion请求参数结构体 + * @class + */ +class CreatePolicyVersionRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 策略ID + * @type {number || null} + */ + this.PolicyId = null; + + /** + * 策略文本信息 + * @type {string || null} + */ + this.PolicyDocument = null; + + /** + * 是否设置为当前策略的版本 + * @type {boolean || null} + */ + this.SetAsDefault = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.PolicyId = 'PolicyId' in params ? params.PolicyId : null; + this.PolicyDocument = 'PolicyDocument' in params ? params.PolicyDocument : null; + this.SetAsDefault = 'SetAsDefault' in params ? params.SetAsDefault : null; + + } +} + +/** + * 密钥最后使用时间 + * @class + */ +class SecretIdLastUsed extends AbstractModel { + constructor(){ + super(); + + /** + * 密钥ID + * @type {string || null} + */ + this.SecretId = null; + + /** + * 最后访问日期(有1天延迟) +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.LastUsedDate = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.SecretId = 'SecretId' in params ? params.SecretId : null; + this.LastUsedDate = 'LastUsedDate' in params ? params.LastUsedDate : null; + + } +} + +/** + * CreateUserOIDCConfig返回参数结构体 + * @class + */ +class CreateUserOIDCConfigResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * ListAttachedUserAllPolicies返回参数结构体 + * @class + */ +class ListAttachedUserAllPoliciesResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 策略列表数据 + * @type {Array. || null} + */ + this.PolicyList = null; + + /** + * 策略总数 + * @type {number || null} + */ + this.TotalNum = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + + if (params.PolicyList) { + this.PolicyList = new Array(); + for (let z in params.PolicyList) { + let obj = new AttachedUserPolicy(); + obj.deserialize(params.PolicyList[z]); + this.PolicyList.push(obj); + } + } + this.TotalNum = 'TotalNum' in params ? params.TotalNum : null; + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * DeleteGroup请求参数结构体 + * @class + */ +class DeleteGroupRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 用户组 ID + * @type {number || null} + */ + this.GroupId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.GroupId = 'GroupId' in params ? params.GroupId : null; + + } +} + +/** + * GetUser返回参数结构体 + * @class + */ +class GetUserResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 子用户用户 UIN + * @type {number || null} + */ + this.Uin = null; + + /** + * 子用户用户名 + * @type {string || null} + */ + this.Name = null; + + /** + * 子用户 UID + * @type {number || null} + */ + this.Uid = null; + + /** + * 子用户备注 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.Remark = null; + + /** + * 子用户能否登录控制台 0-无法登录控制台,1-可以登录控制台 + * @type {number || null} + */ + this.ConsoleLogin = null; + + /** + * 手机号 + * @type {string || null} + */ + this.PhoneNum = null; + + /** + * 区号 + * @type {string || null} + */ + this.CountryCode = null; + + /** + * 邮箱 + * @type {string || null} + */ + this.Email = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Uin = 'Uin' in params ? params.Uin : null; + this.Name = 'Name' in params ? params.Name : null; + this.Uid = 'Uid' in params ? params.Uid : null; + this.Remark = 'Remark' in params ? params.Remark : null; + this.ConsoleLogin = 'ConsoleLogin' in params ? params.ConsoleLogin : null; + this.PhoneNum = 'PhoneNum' in params ? params.PhoneNum : null; + this.CountryCode = 'CountryCode' in params ? params.CountryCode : null; + this.Email = 'Email' in params ? params.Email : null; + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * GetUserPermissionBoundary返回参数结构体 + * @class + */ +class GetUserPermissionBoundaryResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 策略ID +注意:此字段可能返回 null,表示取不到有效值。 + * @type {number || null} + */ + this.PolicyId = null; + + /** + * 策略名 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.PolicyName = null; + + /** + * 策略语法 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.PolicyDocument = null; + + /** + * 策略类型:1.自定义策略,2.预设策略 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {number || null} + */ + this.PolicyType = null; + + /** + * 创建方式:1.按产品功能或项目权限创建,2.按策略语法创建,3.按策略生成器创建,4.按标签授权创建,5.按权限边界规则创建 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {number || null} + */ + this.CreateMode = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.PolicyId = 'PolicyId' in params ? params.PolicyId : null; + this.PolicyName = 'PolicyName' in params ? params.PolicyName : null; + this.PolicyDocument = 'PolicyDocument' in params ? params.PolicyDocument : null; + this.PolicyType = 'PolicyType' in params ? params.PolicyType : null; + this.CreateMode = 'CreateMode' in params ? params.CreateMode : null; + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * CreatePolicy返回参数结构体 + * @class + */ +class CreatePolicyResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 新增策略ID + * @type {number || null} + */ + this.PolicyId = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.PolicyId = 'PolicyId' in params ? params.PolicyId : null; + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * DetachRolePolicy请求参数结构体 + * @class + */ +class DetachRolePolicyRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 策略ID,入参PolicyId与PolicyName二选一 + * @type {number || null} + */ + this.PolicyId = null; + + /** + * 角色ID,用于指定角色,入参 AttachRoleId 与 AttachRoleName 二选一 + * @type {string || null} + */ + this.DetachRoleId = null; + + /** + * 角色名称,用于指定角色,入参 AttachRoleId 与 AttachRoleName 二选一 + * @type {string || null} + */ + this.DetachRoleName = null; + + /** + * 策略名,入参PolicyId与PolicyName二选一 + * @type {string || null} + */ + this.PolicyName = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.PolicyId = 'PolicyId' in params ? params.PolicyId : null; + this.DetachRoleId = 'DetachRoleId' in params ? params.DetachRoleId : null; + this.DetachRoleName = 'DetachRoleName' in params ? params.DetachRoleName : null; + this.PolicyName = 'PolicyName' in params ? params.PolicyName : null; + + } +} + +/** + * UntagRole返回参数结构体 + * @class + */ +class UntagRoleResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * ListPoliciesGrantingServiceAccess返回参数结构体 + * @class + */ +class ListPoliciesGrantingServiceAccessResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 列表 + * @type {Array. || null} + */ + this.List = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + + if (params.List) { + this.List = new Array(); + for (let z in params.List) { + let obj = new ListGrantServiceAccessNode(); + obj.deserialize(params.List[z]); + this.List.push(obj); + } + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * DeleteRolePermissionsBoundary请求参数结构体 + * @class + */ +class DeleteRolePermissionsBoundaryRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 角色ID(与角色名至少填一个) + * @type {string || null} + */ + this.RoleId = null; + + /** + * 角色名(与角色ID至少填一个) + * @type {string || null} + */ + this.RoleName = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.RoleId = 'RoleId' in params ? params.RoleId : null; + this.RoleName = 'RoleName' in params ? params.RoleName : null; + + } +} + +/** + * 角色标签类型 + * @class + */ +class RoleTags extends AbstractModel { + constructor(){ + super(); + + /** + * 标签键 + * @type {string || null} + */ + this.Key = null; + + /** + * 标签值 + * @type {string || null} + */ + this.Value = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Key = 'Key' in params ? params.Key : null; + this.Value = 'Value' in params ? params.Value : null; + + } +} + +/** + * DescribeUserOIDCConfig返回参数结构体 + * @class + */ +class DescribeUserOIDCConfigResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 身份提供商类型。 12:用户OIDC身份提供商 + * @type {number || null} + */ + this.ProviderType = null; + + /** + * 身份提供商URL + * @type {string || null} + */ + this.IdentityUrl = null; + + /** + * 签名公钥 + * @type {string || null} + */ + this.IdentityKey = null; + + /** + * 客户端id + * @type {string || null} + */ + this.ClientId = null; + + /** + * 状态:0:未设置,11:已开启,2:已禁用 + * @type {number || null} + */ + this.Status = null; + + /** + * 授权请求Endpoint + * @type {string || null} + */ + this.AuthorizationEndpoint = null; + + /** + * 授权请求Scope + * @type {Array. || null} + */ + this.Scope = null; + + /** + * 授权请求Response type + * @type {string || null} + */ + this.ResponseType = null; + + /** + * 授权请求Response mode + * @type {string || null} + */ + this.ResponseMode = null; + + /** + * 映射字段名称 + * @type {string || null} + */ + this.MappingFiled = null; + + /** + * 描述 + * @type {string || null} + */ + this.Description = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.ProviderType = 'ProviderType' in params ? params.ProviderType : null; + this.IdentityUrl = 'IdentityUrl' in params ? params.IdentityUrl : null; + this.IdentityKey = 'IdentityKey' in params ? params.IdentityKey : null; + this.ClientId = 'ClientId' in params ? params.ClientId : null; + this.Status = 'Status' in params ? params.Status : null; + this.AuthorizationEndpoint = 'AuthorizationEndpoint' in params ? params.AuthorizationEndpoint : null; + this.Scope = 'Scope' in params ? params.Scope : null; + this.ResponseType = 'ResponseType' in params ? params.ResponseType : null; + this.ResponseMode = 'ResponseMode' in params ? params.ResponseMode : null; + this.MappingFiled = 'MappingFiled' in params ? params.MappingFiled : null; + this.Description = 'Description' in params ? params.Description : null; + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * DeletePolicy请求参数结构体 + * @class + */ +class DeletePolicyRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 数组,数组成员是策略 id,支持批量删除策略 + * @type {Array. || null} + */ + this.PolicyId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.PolicyId = 'PolicyId' in params ? params.PolicyId : null; + + } +} + +/** + * 用户组信息 + * @class + */ +class GroupInfo extends AbstractModel { + constructor(){ + super(); + + /** + * 用户组 ID。 + * @type {number || null} + */ + this.GroupId = null; + + /** + * 用户组名称。 + * @type {string || null} + */ + this.GroupName = null; + + /** + * 用户组创建时间。 + * @type {string || null} + */ + this.CreateTime = null; + + /** + * 用户组描述。 + * @type {string || null} + */ + this.Remark = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.GroupId = 'GroupId' in params ? params.GroupId : null; + this.GroupName = 'GroupName' in params ? params.GroupName : null; + this.CreateTime = 'CreateTime' in params ? params.CreateTime : null; + this.Remark = 'Remark' in params ? params.Remark : null; + + } +} + +/** + * AddUser请求参数结构体 + * @class + */ +class AddUserRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 子用户用户名 + * @type {string || null} + */ + this.Name = null; + + /** + * 子用户备注 + * @type {string || null} + */ + this.Remark = null; + + /** + * 子用户是否可以登录控制台。传0子用户无法登录控制台,传1子用户可以登录控制台。 + * @type {number || null} + */ + this.ConsoleLogin = null; + + /** + * 是否生成子用户密钥。传0不生成子用户密钥,传1生成子用户密钥。 + * @type {number || null} + */ + this.UseApi = null; + + /** + * 子用户控制台登录密码,若未进行密码规则设置则默认密码规则为8位以上同时包含大小写字母、数字和特殊字符。只有可以登录控制台时才有效,如果传空并且上面指定允许登录控制台,则自动生成随机密码,随机密码规则为32位包含大小写字母、数字和特殊字符。 + * @type {string || null} + */ + this.Password = null; + + /** + * 子用户是否要在下次登录时重置密码。传0子用户下次登录控制台不需重置密码,传1子用户下次登录控制台需要重置密码。 + * @type {number || null} + */ + this.NeedResetPassword = null; + + /** + * 手机号 + * @type {string || null} + */ + this.PhoneNum = null; + + /** + * 区号 + * @type {string || null} + */ + this.CountryCode = null; + + /** + * 邮箱 + * @type {string || null} + */ + this.Email = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Name = 'Name' in params ? params.Name : null; + this.Remark = 'Remark' in params ? params.Remark : null; + this.ConsoleLogin = 'ConsoleLogin' in params ? params.ConsoleLogin : null; + this.UseApi = 'UseApi' in params ? params.UseApi : null; + this.Password = 'Password' in params ? params.Password : null; + this.NeedResetPassword = 'NeedResetPassword' in params ? params.NeedResetPassword : null; + this.PhoneNum = 'PhoneNum' in params ? params.PhoneNum : null; + this.CountryCode = 'CountryCode' in params ? params.CountryCode : null; + this.Email = 'Email' in params ? params.Email : null; + + } +} + +/** + * UpdateAssumeRolePolicy请求参数结构体 + * @class + */ +class UpdateAssumeRolePolicyRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 策略文档,示例:{"version":"2.0","statement":[{"action":"name/sts:AssumeRole","effect":"allow","principal":{"service":["cloudaudit.cloud.tencent.com","cls.cloud.tencent.com"]}}]},principal用于指定角色的授权对象。获取该参数可参阅 获取角色详情(https://cloud.tencent.com/document/product/598/36221) 输出参数RoleInfo + * @type {string || null} + */ + this.PolicyDocument = null; + + /** + * 角色ID,用于指定角色,入参 RoleId 与 RoleName 二选一 + * @type {string || null} + */ + this.RoleId = null; + + /** + * 角色名称,用于指定角色,入参 RoleId 与 RoleName 二选一 + * @type {string || null} + */ + this.RoleName = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.PolicyDocument = 'PolicyDocument' in params ? params.PolicyDocument : null; + this.RoleId = 'RoleId' in params ? params.RoleId : null; + this.RoleName = 'RoleName' in params ? params.RoleName : null; + + } +} + +/** + * 登录和敏感操作flag + * @class + */ +class LoginActionFlag extends AbstractModel { + constructor(){ + super(); + + /** + * 手机 + * @type {number || null} + */ + this.Phone = null; + + /** + * 硬token + * @type {number || null} + */ + this.Token = null; + + /** + * 软token + * @type {number || null} + */ + this.Stoken = null; + + /** + * 微信 + * @type {number || null} + */ + this.Wechat = null; + + /** + * 自定义 + * @type {number || null} + */ + this.Custom = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Phone = 'Phone' in params ? params.Phone : null; + this.Token = 'Token' in params ? params.Token : null; + this.Stoken = 'Stoken' in params ? params.Stoken : null; + this.Wechat = 'Wechat' in params ? params.Wechat : null; + this.Custom = 'Custom' in params ? params.Custom : null; + + } +} + +/** + * DeleteRole请求参数结构体 + * @class + */ +class DeleteRoleRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 角色ID,用于指定角色,入参 RoleId 与 RoleName 二选一 + * @type {string || null} + */ + this.RoleId = null; + + /** + * 角色名称,用于指定角色,入参 RoleId 与 RoleName 二选一 + * @type {string || null} + */ + this.RoleName = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.RoleId = 'RoleId' in params ? params.RoleId : null; + this.RoleName = 'RoleName' in params ? params.RoleName : null; + + } +} + +/** + * ListWeChatWorkSubAccounts请求参数结构体 + * @class + */ +class ListWeChatWorkSubAccountsRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 偏移量 + * @type {number || null} + */ + this.Offset = null; + + /** + * 限制数目 + * @type {number || null} + */ + this.Limit = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Offset = 'Offset' in params ? params.Offset : null; + this.Limit = 'Limit' in params ? params.Limit : null; + + } +} + +/** + * UpdateRoleConsoleLogin请求参数结构体 + * @class + */ +class UpdateRoleConsoleLoginRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 是否可登录,可登录:1,不可登录:0 + * @type {number || null} + */ + this.ConsoleLogin = null; + + /** + * 角色ID,入参 RoleId 与 RoleName 二选一 + * @type {number || null} + */ + this.RoleId = null; + + /** + * 角色名,入参 RoleId 与 RoleName 二选一 + * @type {string || null} + */ + this.RoleName = null; + + } /** * @private @@ -2121,6 +3702,7 @@ class DeleteRolePermissionsBoundaryRequest extends AbstractModel { if (!params) { return; } + this.ConsoleLogin = 'ConsoleLogin' in params ? params.ConsoleLogin : null; this.RoleId = 'RoleId' in params ? params.RoleId : null; this.RoleName = 'RoleName' in params ? params.RoleName : null; @@ -2128,91 +3710,388 @@ class DeleteRolePermissionsBoundaryRequest extends AbstractModel { } /** - * 策略信息 + * UpdateUser返回参数结构体 + * @class + */ +class UpdateUserResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * UpdateAssumeRolePolicy返回参数结构体 + * @class + */ +class UpdateAssumeRolePolicyResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * GetPolicyVersion请求参数结构体 + * @class + */ +class GetPolicyVersionRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 策略ID + * @type {number || null} + */ + this.PolicyId = null; + + /** + * 策略版本号,可由ListPolicyVersions获取 + * @type {number || null} + */ + this.VersionId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.PolicyId = 'PolicyId' in params ? params.PolicyId : null; + this.VersionId = 'VersionId' in params ? params.VersionId : null; + + } +} + +/** + * CreateSAMLProvider返回参数结构体 + * @class + */ +class CreateSAMLProviderResponse extends AbstractModel { + constructor(){ + super(); + + /** + * SAML身份提供商资源描述符 + * @type {string || null} + */ + this.ProviderArn = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.ProviderArn = 'ProviderArn' in params ? params.ProviderArn : null; + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * DeleteRolePermissionsBoundary返回参数结构体 + * @class + */ +class DeleteRolePermissionsBoundaryResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * GetUser请求参数结构体 + * @class + */ +class GetUserRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 子用户用户名 + * @type {string || null} + */ + this.Name = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Name = 'Name' in params ? params.Name : null; + + } +} + +/** + * 登录和敏感操作flag + * @class + */ +class LoginActionMfaFlag extends AbstractModel { + constructor(){ + super(); + + /** + * 手机 + * @type {number || null} + */ + this.Phone = null; + + /** + * 软token + * @type {number || null} + */ + this.Stoken = null; + + /** + * 微信 + * @type {number || null} + */ + this.Wechat = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Phone = 'Phone' in params ? params.Phone : null; + this.Stoken = 'Stoken' in params ? params.Stoken : null; + this.Wechat = 'Wechat' in params ? params.Wechat : null; + + } +} + +/** + * 子用户信息 * @class */ -class StrategyInfo extends AbstractModel { +class SubAccountInfo extends AbstractModel { constructor(){ super(); /** - * 策略ID。 + * 子用户用户 ID * @type {number || null} */ - this.PolicyId = null; + this.Uin = null; /** - * 策略名称。 + * 子用户用户名 * @type {string || null} */ - this.PolicyName = null; + this.Name = null; /** - * 策略创建时间。 -注意:此字段可能返回 null,表示取不到有效值。 + * 子用户 UID + * @type {number || null} + */ + this.Uid = null; + + /** + * 子用户备注 * @type {string || null} */ - this.AddTime = null; + this.Remark = null; /** - * 策略类型。1 表示自定义策略,2 表示预设策略。 + * 子用户能否登录控制台 * @type {number || null} */ - this.Type = null; + this.ConsoleLogin = null; /** - * 策略描述。 -注意:此字段可能返回 null,表示取不到有效值。 + * 手机号 * @type {string || null} */ - this.Description = null; + this.PhoneNum = null; /** - * 创建来源,1 通过控制台创建, 2 通过策略语法创建。 - * @type {number || null} + * 区号 + * @type {string || null} */ - this.CreateMode = null; + this.CountryCode = null; /** - * 关联的用户数 - * @type {number || null} + * 邮箱 + * @type {string || null} */ - this.Attachments = null; + this.Email = null; /** - * 策略关联的产品 + * 创建时间 注意:此字段可能返回 null,表示取不到有效值。 * @type {string || null} */ - this.ServiceType = null; + this.CreateTime = null; /** - * 当需要查询标记实体是否已经关联策略时不为null。0表示未关联策略,1表示已关联策略 + * 昵称 注意:此字段可能返回 null,表示取不到有效值。 - * @type {number || null} + * @type {string || null} */ - this.IsAttached = null; + this.NickName = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Uin = 'Uin' in params ? params.Uin : null; + this.Name = 'Name' in params ? params.Name : null; + this.Uid = 'Uid' in params ? params.Uid : null; + this.Remark = 'Remark' in params ? params.Remark : null; + this.ConsoleLogin = 'ConsoleLogin' in params ? params.ConsoleLogin : null; + this.PhoneNum = 'PhoneNum' in params ? params.PhoneNum : null; + this.CountryCode = 'CountryCode' in params ? params.CountryCode : null; + this.Email = 'Email' in params ? params.Email : null; + this.CreateTime = 'CreateTime' in params ? params.CreateTime : null; + this.NickName = 'NickName' in params ? params.NickName : null; + + } +} + +/** + * CreateGroup请求参数结构体 + * @class + */ +class CreateGroupRequest extends AbstractModel { + constructor(){ + super(); /** - * 是否已下线 -注意:此字段可能返回 null,表示取不到有效值。 - * @type {number || null} + * 用户组名 + * @type {string || null} */ - this.Deactived = null; + this.GroupName = null; /** - * 已下线产品列表 -注意:此字段可能返回 null,表示取不到有效值。 - * @type {Array. || null} + * 用户组描述 + * @type {string || null} */ - this.DeactivedDetail = null; + this.Remark = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.GroupName = 'GroupName' in params ? params.GroupName : null; + this.Remark = 'Remark' in params ? params.Remark : null; + + } +} + +/** + * SAML身份提供商 + * @class + */ +class SAMLProviderInfo extends AbstractModel { + constructor(){ + super(); /** - * 是否是服务相关角色策略 -注意:此字段可能返回 null,表示取不到有效值。 - * @type {number || null} + * SAML身份提供商名称 + * @type {string || null} */ - this.IsServiceLinkedPolicy = null; + this.Name = null; + + /** + * SAML身份提供商描述 + * @type {string || null} + */ + this.Description = null; + + /** + * SAML身份提供商创建时间 + * @type {string || null} + */ + this.CreateTime = null; + + /** + * SAML身份提供商上次修改时间 + * @type {string || null} + */ + this.ModifyTime = null; } @@ -2223,36 +4102,46 @@ class StrategyInfo extends AbstractModel { if (!params) { return; } - this.PolicyId = 'PolicyId' in params ? params.PolicyId : null; - this.PolicyName = 'PolicyName' in params ? params.PolicyName : null; - this.AddTime = 'AddTime' in params ? params.AddTime : null; - this.Type = 'Type' in params ? params.Type : null; + this.Name = 'Name' in params ? params.Name : null; this.Description = 'Description' in params ? params.Description : null; - this.CreateMode = 'CreateMode' in params ? params.CreateMode : null; - this.Attachments = 'Attachments' in params ? params.Attachments : null; - this.ServiceType = 'ServiceType' in params ? params.ServiceType : null; - this.IsAttached = 'IsAttached' in params ? params.IsAttached : null; - this.Deactived = 'Deactived' in params ? params.Deactived : null; - this.DeactivedDetail = 'DeactivedDetail' in params ? params.DeactivedDetail : null; - this.IsServiceLinkedPolicy = 'IsServiceLinkedPolicy' in params ? params.IsServiceLinkedPolicy : null; + this.CreateTime = 'CreateTime' in params ? params.CreateTime : null; + this.ModifyTime = 'ModifyTime' in params ? params.ModifyTime : null; } } /** - * DeletePolicy请求参数结构体 + * 用于ListPoliciesGrantingServiceAccess接口的Policy节点 * @class */ -class DeletePolicyRequest extends AbstractModel { +class ListGrantServiceAccessPolicy extends AbstractModel { constructor(){ super(); /** - * 数组,数组成员是策略 id,支持批量删除策略 - * @type {Array. || null} + * 策略ID + * @type {string || null} */ this.PolicyId = null; + /** + * 策略名 + * @type {string || null} + */ + this.PolicyName = null; + + /** + * 策略类型: Custom自定义策略,Presetting预设策略 + * @type {string || null} + */ + this.PolicyType = null; + + /** + * 策略描述 + * @type {string || null} + */ + this.PolicyDescription = null; + } /** @@ -2263,41 +4152,65 @@ class DeletePolicyRequest extends AbstractModel { return; } this.PolicyId = 'PolicyId' in params ? params.PolicyId : null; + this.PolicyName = 'PolicyName' in params ? params.PolicyName : null; + this.PolicyType = 'PolicyType' in params ? params.PolicyType : null; + this.PolicyDescription = 'PolicyDescription' in params ? params.PolicyDescription : null; } } /** - * 用户组信息 + * DisableUserSSO请求参数结构体 * @class */ -class GroupInfo extends AbstractModel { +class DisableUserSSORequest extends AbstractModel { + constructor(){ + super(); + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + + } +} + +/** + * ListPoliciesGrantingServiceAccess请求参数结构体 + * @class + */ +class ListPoliciesGrantingServiceAccessRequest extends AbstractModel { constructor(){ super(); /** - * 用户组 ID。 + * 子账号uin,与RoleId、GroupId三选一必传 * @type {number || null} */ - this.GroupId = null; + this.TargetUin = null; /** - * 用户组名称。 - * @type {string || null} + * 角色ID,与TargetUin、GroupId三选一必传 + * @type {number || null} */ - this.GroupName = null; + this.RoleId = null; /** - * 用户组创建时间。 - * @type {string || null} + * 用户组ID,与TargetUin、RoleId三选一必传 + * @type {number || null} */ - this.CreateTime = null; + this.GroupId = null; /** - * 用户组描述。 + * 服务名,查看服务授权接口详情时需传该字段 * @type {string || null} */ - this.Remark = null; + this.ServiceType = null; } @@ -2308,19 +4221,47 @@ class GroupInfo extends AbstractModel { if (!params) { return; } + this.TargetUin = 'TargetUin' in params ? params.TargetUin : null; + this.RoleId = 'RoleId' in params ? params.RoleId : null; this.GroupId = 'GroupId' in params ? params.GroupId : null; - this.GroupName = 'GroupName' in params ? params.GroupName : null; - this.CreateTime = 'CreateTime' in params ? params.CreateTime : null; - this.Remark = 'Remark' in params ? params.Remark : null; + this.ServiceType = 'ServiceType' in params ? params.ServiceType : null; } } /** - * AddUser请求参数结构体 + * UpdateSAMLProvider返回参数结构体 * @class */ -class AddUserRequest extends AbstractModel { +class UpdateSAMLProviderResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * UpdateUser请求参数结构体 + * @class + */ +class UpdateUserRequest extends AbstractModel { constructor(){ super(); @@ -2342,12 +4283,6 @@ class AddUserRequest extends AbstractModel { */ this.ConsoleLogin = null; - /** - * 是否生成子用户密钥。传0不生成子用户密钥,传1生成子用户密钥。 - * @type {number || null} - */ - this.UseApi = null; - /** * 子用户控制台登录密码,若未进行密码规则设置则默认密码规则为8位以上同时包含大小写字母、数字和特殊字符。只有可以登录控制台时才有效,如果传空并且上面指定允许登录控制台,则自动生成随机密码,随机密码规则为32位包含大小写字母、数字和特殊字符。 * @type {string || null} @@ -2390,7 +4325,6 @@ class AddUserRequest extends AbstractModel { this.Name = 'Name' in params ? params.Name : null; this.Remark = 'Remark' in params ? params.Remark : null; this.ConsoleLogin = 'ConsoleLogin' in params ? params.ConsoleLogin : null; - this.UseApi = 'UseApi' in params ? params.UseApi : null; this.Password = 'Password' in params ? params.Password : null; this.NeedResetPassword = 'NeedResetPassword' in params ? params.NeedResetPassword : null; this.PhoneNum = 'PhoneNum' in params ? params.PhoneNum : null; @@ -2401,42 +4335,30 @@ class AddUserRequest extends AbstractModel { } /** - * 登录和敏感操作flag + * ListWeChatWorkSubAccounts返回参数结构体 * @class */ -class LoginActionFlag extends AbstractModel { +class ListWeChatWorkSubAccountsResponse extends AbstractModel { constructor(){ super(); /** - * 手机 - * @type {number || null} - */ - this.Phone = null; - - /** - * 硬token - * @type {number || null} - */ - this.Token = null; - - /** - * 软token - * @type {number || null} + * 企业微信子用户列表。 + * @type {Array. || null} */ - this.Stoken = null; + this.Data = null; /** - * 微信 + * 总数目。 * @type {number || null} */ - this.Wechat = null; + this.TotalCount = null; /** - * 自定义 - * @type {number || null} + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} */ - this.Custom = null; + this.RequestId = null; } @@ -2447,34 +4369,46 @@ class LoginActionFlag extends AbstractModel { if (!params) { return; } - this.Phone = 'Phone' in params ? params.Phone : null; - this.Token = 'Token' in params ? params.Token : null; - this.Stoken = 'Stoken' in params ? params.Stoken : null; - this.Wechat = 'Wechat' in params ? params.Wechat : null; - this.Custom = 'Custom' in params ? params.Custom : null; + + if (params.Data) { + this.Data = new Array(); + for (let z in params.Data) { + let obj = new WeChatWorkSubAccount(); + obj.deserialize(params.Data[z]); + this.Data.push(obj); + } + } + this.TotalCount = 'TotalCount' in params ? params.TotalCount : null; + this.RequestId = 'RequestId' in params ? params.RequestId : null; } } /** - * DeleteRole请求参数结构体 + * CreateSAMLProvider请求参数结构体 * @class */ -class DeleteRoleRequest extends AbstractModel { +class CreateSAMLProviderRequest extends AbstractModel { constructor(){ super(); /** - * 角色ID,用于指定角色,入参 RoleId 与 RoleName 二选一 + * SAML身份提供商名称 * @type {string || null} */ - this.RoleId = null; + this.Name = null; /** - * 角色名称,用于指定角色,入参 RoleId 与 RoleName 二选一 + * SAML身份提供商描述 * @type {string || null} */ - this.RoleName = null; + this.Description = null; + + /** + * SAML身份提供商Base64编码的元数据文档 + * @type {string || null} + */ + this.SAMLMetadataDocument = null; } @@ -2485,72 +4419,96 @@ class DeleteRoleRequest extends AbstractModel { if (!params) { return; } - this.RoleId = 'RoleId' in params ? params.RoleId : null; - this.RoleName = 'RoleName' in params ? params.RoleName : null; + this.Name = 'Name' in params ? params.Name : null; + this.Description = 'Description' in params ? params.Description : null; + this.SAMLMetadataDocument = 'SAMLMetadataDocument' in params ? params.SAMLMetadataDocument : null; } } /** - * ListWeChatWorkSubAccounts请求参数结构体 + * 关联策略信息 * @class */ -class ListWeChatWorkSubAccountsRequest extends AbstractModel { +class AttachPolicyInfo extends AbstractModel { constructor(){ super(); /** - * 偏移量 + * 策略id * @type {number || null} */ - this.Offset = null; + this.PolicyId = null; /** - * 限制数目 + * 策略名称 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.PolicyName = null; + + /** + * 创建时间 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.AddTime = null; + + /** + * 创建来源,1 通过控制台创建, 2 通过策略语法创建。 +注意:此字段可能返回 null,表示取不到有效值。 * @type {number || null} */ - this.Limit = null; + this.CreateMode = null; - } + /** + * 取值为user和QCS +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.PolicyType = null; - /** - * @private - */ - deserialize(params) { - if (!params) { - return; - } - this.Offset = 'Offset' in params ? params.Offset : null; - this.Limit = 'Limit' in params ? params.Limit : null; + /** + * 策略备注 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.Remark = null; - } -} + /** + * 策略关联操作者主帐号 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.OperateOwnerUin = null; -/** - * UpdateRoleConsoleLogin请求参数结构体 - * @class - */ -class UpdateRoleConsoleLoginRequest extends AbstractModel { - constructor(){ - super(); + /** + * 策略关联操作者ID,如果UinType为0表示子帐号Uin,如果UinType为1表示角色ID +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.OperateUin = null; /** - * 是否可登录,可登录:1,不可登录:0 + * UinType为0表示OperateUin字段是子帐号Uin,如果UinType为1表示OperateUin字段是角色ID +注意:此字段可能返回 null,表示取不到有效值。 * @type {number || null} */ - this.ConsoleLogin = null; + this.OperateUinType = null; /** - * 角色ID + * 是否已下线 +注意:此字段可能返回 null,表示取不到有效值。 * @type {number || null} */ - this.RoleId = null; + this.Deactived = null; /** - * 角色名 - * @type {string || null} + * 已下线的产品列表 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {Array. || null} */ - this.RoleName = null; + this.DeactivedDetail = null; } @@ -2561,27 +4519,29 @@ class UpdateRoleConsoleLoginRequest extends AbstractModel { if (!params) { return; } - this.ConsoleLogin = 'ConsoleLogin' in params ? params.ConsoleLogin : null; - this.RoleId = 'RoleId' in params ? params.RoleId : null; - this.RoleName = 'RoleName' in params ? params.RoleName : null; + this.PolicyId = 'PolicyId' in params ? params.PolicyId : null; + this.PolicyName = 'PolicyName' in params ? params.PolicyName : null; + this.AddTime = 'AddTime' in params ? params.AddTime : null; + this.CreateMode = 'CreateMode' in params ? params.CreateMode : null; + this.PolicyType = 'PolicyType' in params ? params.PolicyType : null; + this.Remark = 'Remark' in params ? params.Remark : null; + this.OperateOwnerUin = 'OperateOwnerUin' in params ? params.OperateOwnerUin : null; + this.OperateUin = 'OperateUin' in params ? params.OperateUin : null; + this.OperateUinType = 'OperateUinType' in params ? params.OperateUinType : null; + this.Deactived = 'Deactived' in params ? params.Deactived : null; + this.DeactivedDetail = 'DeactivedDetail' in params ? params.DeactivedDetail : null; } } /** - * GetCustomMFATokenInfo返回参数结构体 + * DisableUserSSO返回参数结构体 * @class */ -class GetCustomMFATokenInfoResponse extends AbstractModel { +class DisableUserSSOResponse extends AbstractModel { constructor(){ super(); - /** - * 自定义多因子验证Token对应的帐号Id - * @type {number || null} - */ - this.Uin = null; - /** * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 * @type {string || null} @@ -2597,17 +4557,16 @@ class GetCustomMFATokenInfoResponse extends AbstractModel { if (!params) { return; } - this.Uin = 'Uin' in params ? params.Uin : null; this.RequestId = 'RequestId' in params ? params.RequestId : null; } } /** - * UpdateAssumeRolePolicy返回参数结构体 + * UpdateRoleConsoleLogin返回参数结构体 * @class */ -class UpdateAssumeRolePolicyResponse extends AbstractModel { +class UpdateRoleConsoleLoginResponse extends AbstractModel { constructor(){ super(); @@ -2632,59 +4591,36 @@ class UpdateAssumeRolePolicyResponse extends AbstractModel { } /** - * GetPolicyVersion请求参数结构体 + * AttachRolePolicy请求参数结构体 * @class */ -class GetPolicyVersionRequest extends AbstractModel { +class AttachRolePolicyRequest extends AbstractModel { constructor(){ super(); /** - * 策略ID + * 策略ID,入参PolicyId与PolicyName二选一 * @type {number || null} */ this.PolicyId = null; /** - * 策略版本号 - * @type {number || null} + * 角色ID,用于指定角色,入参 AttachRoleId 与 AttachRoleName 二选一 + * @type {string || null} */ - this.VersionId = null; - - } - - /** - * @private - */ - deserialize(params) { - if (!params) { - return; - } - this.PolicyId = 'PolicyId' in params ? params.PolicyId : null; - this.VersionId = 'VersionId' in params ? params.VersionId : null; - - } -} - -/** - * CreateSAMLProvider返回参数结构体 - * @class - */ -class CreateSAMLProviderResponse extends AbstractModel { - constructor(){ - super(); + this.AttachRoleId = null; /** - * SAML身份提供商资源描述符 + * 角色名称,用于指定角色,入参 AttachRoleId 与 AttachRoleName 二选一 * @type {string || null} */ - this.ProviderArn = null; + this.AttachRoleName = null; /** - * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * 策略名,入参PolicyId与PolicyName二选一 * @type {string || null} */ - this.RequestId = null; + this.PolicyName = null; } @@ -2695,17 +4631,19 @@ class CreateSAMLProviderResponse extends AbstractModel { if (!params) { return; } - this.ProviderArn = 'ProviderArn' in params ? params.ProviderArn : null; - this.RequestId = 'RequestId' in params ? params.RequestId : null; + this.PolicyId = 'PolicyId' in params ? params.PolicyId : null; + this.AttachRoleId = 'AttachRoleId' in params ? params.AttachRoleId : null; + this.AttachRoleName = 'AttachRoleName' in params ? params.AttachRoleName : null; + this.PolicyName = 'PolicyName' in params ? params.PolicyName : null; } } /** - * DeleteRolePermissionsBoundary返回参数结构体 + * ConsumeCustomMFAToken返回参数结构体 * @class */ -class DeleteRolePermissionsBoundaryResponse extends AbstractModel { +class ConsumeCustomMFATokenResponse extends AbstractModel { constructor(){ super(); @@ -2730,18 +4668,24 @@ class DeleteRolePermissionsBoundaryResponse extends AbstractModel { } /** - * GetUser请求参数结构体 + * AttachUserPolicy请求参数结构体 * @class */ -class GetUserRequest extends AbstractModel { +class AttachUserPolicyRequest extends AbstractModel { constructor(){ super(); /** - * 子用户用户名 - * @type {string || null} + * 策略 id + * @type {number || null} + */ + this.PolicyId = null; + + /** + * 子账号 uin + * @type {number || null} */ - this.Name = null; + this.AttachUin = null; } @@ -2752,36 +4696,37 @@ class GetUserRequest extends AbstractModel { if (!params) { return; } - this.Name = 'Name' in params ? params.Name : null; + this.PolicyId = 'PolicyId' in params ? params.PolicyId : null; + this.AttachUin = 'AttachUin' in params ? params.AttachUin : null; } } /** - * 登录和敏感操作flag + * ListAttachedGroupPolicies返回参数结构体 * @class */ -class LoginActionMfaFlag extends AbstractModel { +class ListAttachedGroupPoliciesResponse extends AbstractModel { constructor(){ super(); /** - * 手机 + * 策略总数 * @type {number || null} */ - this.Phone = null; + this.TotalNum = null; /** - * 软token - * @type {number || null} + * 策略列表 + * @type {Array. || null} */ - this.Stoken = null; + this.List = null; /** - * 微信 - * @type {number || null} + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} */ - this.Wechat = null; + this.RequestId = null; } @@ -2792,75 +4737,96 @@ class LoginActionMfaFlag extends AbstractModel { if (!params) { return; } - this.Phone = 'Phone' in params ? params.Phone : null; - this.Stoken = 'Stoken' in params ? params.Stoken : null; - this.Wechat = 'Wechat' in params ? params.Wechat : null; + this.TotalNum = 'TotalNum' in params ? params.TotalNum : null; + + if (params.List) { + this.List = new Array(); + for (let z in params.List) { + let obj = new AttachPolicyInfo(); + obj.deserialize(params.List[z]); + this.List.push(obj); + } + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; } } /** - * 子用户信息 + * ListAttachedUserPolicies返回参数结构体 * @class */ -class SubAccountInfo extends AbstractModel { +class ListAttachedUserPoliciesResponse extends AbstractModel { constructor(){ super(); /** - * 子用户用户 ID + * 策略总数 * @type {number || null} */ - this.Uin = null; - - /** - * 子用户用户名 - * @type {string || null} - */ - this.Name = null; + this.TotalNum = null; /** - * 子用户 UID - * @type {number || null} + * 策略列表 + * @type {Array. || null} */ - this.Uid = null; + this.List = null; /** - * 子用户备注 + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 * @type {string || null} */ - this.Remark = null; + this.RequestId = null; - /** - * 子用户能否登录控制台 - * @type {number || null} - */ - this.ConsoleLogin = null; + } - /** - * 手机号 - * @type {string || null} - */ - this.PhoneNum = null; + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.TotalNum = 'TotalNum' in params ? params.TotalNum : null; + + if (params.List) { + this.List = new Array(); + for (let z in params.List) { + let obj = new AttachPolicyInfo(); + obj.deserialize(params.List[z]); + this.List.push(obj); + } + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * ListGroups返回参数结构体 + * @class + */ +class ListGroupsResponse extends AbstractModel { + constructor(){ + super(); /** - * 区号 - * @type {string || null} + * 用户组总数。 + * @type {number || null} */ - this.CountryCode = null; + this.TotalNum = null; /** - * 邮箱 - * @type {string || null} + * 用户组数组信息。 + * @type {Array. || null} */ - this.Email = null; + this.GroupInfo = null; /** - * 创建时间 -注意:此字段可能返回 null,表示取不到有效值。 + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 * @type {string || null} */ - this.CreateTime = null; + this.RequestId = null; } @@ -2871,38 +4837,34 @@ class SubAccountInfo extends AbstractModel { if (!params) { return; } - this.Uin = 'Uin' in params ? params.Uin : null; - this.Name = 'Name' in params ? params.Name : null; - this.Uid = 'Uid' in params ? params.Uid : null; - this.Remark = 'Remark' in params ? params.Remark : null; - this.ConsoleLogin = 'ConsoleLogin' in params ? params.ConsoleLogin : null; - this.PhoneNum = 'PhoneNum' in params ? params.PhoneNum : null; - this.CountryCode = 'CountryCode' in params ? params.CountryCode : null; - this.Email = 'Email' in params ? params.Email : null; - this.CreateTime = 'CreateTime' in params ? params.CreateTime : null; + this.TotalNum = 'TotalNum' in params ? params.TotalNum : null; + + if (params.GroupInfo) { + this.GroupInfo = new Array(); + for (let z in params.GroupInfo) { + let obj = new GroupInfo(); + obj.deserialize(params.GroupInfo[z]); + this.GroupInfo.push(obj); + } + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; } } /** - * CreateGroup请求参数结构体 + * PutUserPermissionsBoundary返回参数结构体 * @class */ -class CreateGroupRequest extends AbstractModel { +class PutUserPermissionsBoundaryResponse extends AbstractModel { constructor(){ super(); /** - * 用户组名 - * @type {string || null} - */ - this.GroupName = null; - - /** - * 用户组描述 + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 * @type {string || null} */ - this.Remark = null; + this.RequestId = null; } @@ -2913,43 +4875,31 @@ class CreateGroupRequest extends AbstractModel { if (!params) { return; } - this.GroupName = 'GroupName' in params ? params.GroupName : null; - this.Remark = 'Remark' in params ? params.Remark : null; + this.RequestId = 'RequestId' in params ? params.RequestId : null; } } /** - * SAML身份提供商 + * GetPolicyVersion返回参数结构体 * @class */ -class SAMLProviderInfo extends AbstractModel { +class GetPolicyVersionResponse extends AbstractModel { constructor(){ super(); /** - * SAML身份提供商名称 - * @type {string || null} - */ - this.Name = null; - - /** - * SAML身份提供商描述 - * @type {string || null} - */ - this.Description = null; - - /** - * SAML身份提供商创建时间 - * @type {string || null} + * 策略版本详情 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {PolicyVersionDetail || null} */ - this.CreateTime = null; + this.PolicyVersion = null; /** - * SAML身份提供商上次修改时间 + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 * @type {string || null} */ - this.ModifyTime = null; + this.RequestId = null; } @@ -2960,22 +4910,31 @@ class SAMLProviderInfo extends AbstractModel { if (!params) { return; } - this.Name = 'Name' in params ? params.Name : null; - this.Description = 'Description' in params ? params.Description : null; - this.CreateTime = 'CreateTime' in params ? params.CreateTime : null; - this.ModifyTime = 'ModifyTime' in params ? params.ModifyTime : null; + + if (params.PolicyVersion) { + let obj = new PolicyVersionDetail(); + obj.deserialize(params.PolicyVersion) + this.PolicyVersion = obj; + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; } } /** - * UpdateSAMLProvider返回参数结构体 + * GetCustomMFATokenInfo返回参数结构体 * @class */ -class UpdateSAMLProviderResponse extends AbstractModel { +class GetCustomMFATokenInfoResponse extends AbstractModel { constructor(){ super(); + /** + * 自定义多因子验证Token对应的帐号Id + * @type {number || null} + */ + this.Uin = null; + /** * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 * @type {string || null} @@ -2991,66 +4950,25 @@ class UpdateSAMLProviderResponse extends AbstractModel { if (!params) { return; } + this.Uin = 'Uin' in params ? params.Uin : null; this.RequestId = 'RequestId' in params ? params.RequestId : null; } } /** - * UpdateUser请求参数结构体 + * ConsumeCustomMFAToken请求参数结构体 * @class */ -class UpdateUserRequest extends AbstractModel { +class ConsumeCustomMFATokenRequest extends AbstractModel { constructor(){ super(); /** - * 子用户用户名 - * @type {string || null} - */ - this.Name = null; - - /** - * 子用户备注 - * @type {string || null} - */ - this.Remark = null; - - /** - * 子用户是否可以登录控制台。传0子用户无法登录控制台,传1子用户可以登录控制台。 - * @type {number || null} - */ - this.ConsoleLogin = null; - - /** - * 子用户控制台登录密码,若未进行密码规则设置则默认密码规则为8位以上同时包含大小写字母、数字和特殊字符。只有可以登录控制台时才有效,如果传空并且上面指定允许登录控制台,则自动生成随机密码,随机密码规则为32位包含大小写字母、数字和特殊字符。 - * @type {string || null} - */ - this.Password = null; - - /** - * 子用户是否要在下次登录时重置密码。传0子用户下次登录控制台不需重置密码,传1子用户下次登录控制台需要重置密码。 - * @type {number || null} - */ - this.NeedResetPassword = null; - - /** - * 手机号 - * @type {string || null} - */ - this.PhoneNum = null; - - /** - * 区号 - * @type {string || null} - */ - this.CountryCode = null; - - /** - * 邮箱 + * 自定义多因子验证Token * @type {string || null} */ - this.Email = null; + this.MFAToken = null; } @@ -3061,43 +4979,48 @@ class UpdateUserRequest extends AbstractModel { if (!params) { return; } - this.Name = 'Name' in params ? params.Name : null; - this.Remark = 'Remark' in params ? params.Remark : null; - this.ConsoleLogin = 'ConsoleLogin' in params ? params.ConsoleLogin : null; - this.Password = 'Password' in params ? params.Password : null; - this.NeedResetPassword = 'NeedResetPassword' in params ? params.NeedResetPassword : null; - this.PhoneNum = 'PhoneNum' in params ? params.PhoneNum : null; - this.CountryCode = 'CountryCode' in params ? params.CountryCode : null; - this.Email = 'Email' in params ? params.Email : null; + this.MFAToken = 'MFAToken' in params ? params.MFAToken : null; } } /** - * ListWeChatWorkSubAccounts返回参数结构体 + * CreateOIDCConfig请求参数结构体 * @class */ -class ListWeChatWorkSubAccountsResponse extends AbstractModel { +class CreateOIDCConfigRequest extends AbstractModel { constructor(){ super(); /** - * 企业微信子用户列表。 - * @type {Array. || null} + * 身份提供商URL + * @type {string || null} */ - this.Data = null; + this.IdentityUrl = null; /** - * 总数目。 - * @type {number || null} + * 签名公钥,需要base64 + * @type {string || null} */ - this.TotalCount = null; + this.IdentityKey = null; /** - * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * 客户端ID + * @type {Array. || null} + */ + this.ClientId = null; + + /** + * 名称 * @type {string || null} */ - this.RequestId = null; + this.Name = null; + + /** + * 描述 + * @type {string || null} + */ + this.Description = null; } @@ -3108,46 +5031,40 @@ class ListWeChatWorkSubAccountsResponse extends AbstractModel { if (!params) { return; } - - if (params.Data) { - this.Data = new Array(); - for (let z in params.Data) { - let obj = new WeChatWorkSubAccount(); - obj.deserialize(params.Data[z]); - this.Data.push(obj); - } - } - this.TotalCount = 'TotalCount' in params ? params.TotalCount : null; - this.RequestId = 'RequestId' in params ? params.RequestId : null; + this.IdentityUrl = 'IdentityUrl' in params ? params.IdentityUrl : null; + this.IdentityKey = 'IdentityKey' in params ? params.IdentityKey : null; + this.ClientId = 'ClientId' in params ? params.ClientId : null; + this.Name = 'Name' in params ? params.Name : null; + this.Description = 'Description' in params ? params.Description : null; } } /** - * CreateSAMLProvider请求参数结构体 + * 访问密钥列表 * @class */ -class CreateSAMLProviderRequest extends AbstractModel { +class AccessKey extends AbstractModel { constructor(){ super(); /** - * SAML身份提供商名称 + * 访问密钥标识 * @type {string || null} */ - this.Name = null; + this.AccessKeyId = null; /** - * SAML身份提供商描述 + * 密钥状态,激活(Active)或未激活(Inactive) * @type {string || null} */ - this.Description = null; + this.Status = null; /** - * SAML身份提供商Base64编码的元数据文档 + * 创建时间 * @type {string || null} */ - this.SAMLMetadataDocument = null; + this.CreateTime = null; } @@ -3158,96 +5075,62 @@ class CreateSAMLProviderRequest extends AbstractModel { if (!params) { return; } - this.Name = 'Name' in params ? params.Name : null; - this.Description = 'Description' in params ? params.Description : null; - this.SAMLMetadataDocument = 'SAMLMetadataDocument' in params ? params.SAMLMetadataDocument : null; + this.AccessKeyId = 'AccessKeyId' in params ? params.AccessKeyId : null; + this.Status = 'Status' in params ? params.Status : null; + this.CreateTime = 'CreateTime' in params ? params.CreateTime : null; } } /** - * 关联策略信息 + * GetGroup返回参数结构体 * @class */ -class AttachPolicyInfo extends AbstractModel { +class GetGroupResponse extends AbstractModel { constructor(){ super(); /** - * 策略id + * 用户组 ID * @type {number || null} */ - this.PolicyId = null; - - /** - * 策略名称 -注意:此字段可能返回 null,表示取不到有效值。 - * @type {string || null} - */ - this.PolicyName = null; + this.GroupId = null; /** - * 创建时间 -注意:此字段可能返回 null,表示取不到有效值。 + * 用户组名称 * @type {string || null} */ - this.AddTime = null; + this.GroupName = null; /** - * 创建来源,1 通过控制台创建, 2 通过策略语法创建。 -注意:此字段可能返回 null,表示取不到有效值。 + * 用户组成员数量 * @type {number || null} */ - this.CreateMode = null; - - /** - * 取值为user和QCS -注意:此字段可能返回 null,表示取不到有效值。 - * @type {string || null} - */ - this.PolicyType = null; + this.GroupNum = null; /** - * 策略备注 -注意:此字段可能返回 null,表示取不到有效值。 + * 用户组描述 * @type {string || null} */ this.Remark = null; /** - * 策略关联操作者主帐号 -注意:此字段可能返回 null,表示取不到有效值。 - * @type {string || null} - */ - this.OperateOwnerUin = null; - - /** - * 策略关联操作者ID,如果UinType为0表示子帐号Uin,如果UinType为1表示角色ID -注意:此字段可能返回 null,表示取不到有效值。 + * 用户组创建时间 * @type {string || null} */ - this.OperateUin = null; - - /** - * UinType为0表示OperateUin字段是子帐号Uin,如果UinType为1表示OperateUin字段是角色ID -注意:此字段可能返回 null,表示取不到有效值。 - * @type {number || null} - */ - this.OperateUinType = null; + this.CreateTime = null; /** - * 是否已下线 -注意:此字段可能返回 null,表示取不到有效值。 - * @type {number || null} + * 用户组成员信息 + * @type {Array. || null} */ - this.Deactived = null; + this.UserInfo = null; /** - * 已下线的产品列表 -注意:此字段可能返回 null,表示取不到有效值。 - * @type {Array. || null} + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} */ - this.DeactivedDetail = null; + this.RequestId = null; } @@ -3258,46 +5141,66 @@ class AttachPolicyInfo extends AbstractModel { if (!params) { return; } - this.PolicyId = 'PolicyId' in params ? params.PolicyId : null; - this.PolicyName = 'PolicyName' in params ? params.PolicyName : null; - this.AddTime = 'AddTime' in params ? params.AddTime : null; - this.CreateMode = 'CreateMode' in params ? params.CreateMode : null; - this.PolicyType = 'PolicyType' in params ? params.PolicyType : null; + this.GroupId = 'GroupId' in params ? params.GroupId : null; + this.GroupName = 'GroupName' in params ? params.GroupName : null; + this.GroupNum = 'GroupNum' in params ? params.GroupNum : null; this.Remark = 'Remark' in params ? params.Remark : null; - this.OperateOwnerUin = 'OperateOwnerUin' in params ? params.OperateOwnerUin : null; - this.OperateUin = 'OperateUin' in params ? params.OperateUin : null; - this.OperateUinType = 'OperateUinType' in params ? params.OperateUinType : null; - this.Deactived = 'Deactived' in params ? params.Deactived : null; - this.DeactivedDetail = 'DeactivedDetail' in params ? params.DeactivedDetail : null; + this.CreateTime = 'CreateTime' in params ? params.CreateTime : null; + + if (params.UserInfo) { + this.UserInfo = new Array(); + for (let z in params.UserInfo) { + let obj = new GroupMemberInfo(); + obj.deserialize(params.UserInfo[z]); + this.UserInfo.push(obj); + } + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; } } /** - * PutRolePermissionsBoundary请求参数结构体 + * UpdateOIDCConfig返回参数结构体 * @class */ -class PutRolePermissionsBoundaryRequest extends AbstractModel { +class UpdateOIDCConfigResponse extends AbstractModel { constructor(){ super(); /** - * 策略ID - * @type {number || null} - */ - this.PolicyId = null; - - /** - * 角色ID(与角色名至少填一个) + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 * @type {string || null} */ - this.RoleId = null; + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * DeleteSAMLProvider请求参数结构体 + * @class + */ +class DeleteSAMLProviderRequest extends AbstractModel { + constructor(){ + super(); /** - * 角色名(与角色ID至少填一个) + * SAML身份提供商名称 * @type {string || null} */ - this.RoleName = null; + this.Name = null; } @@ -3308,18 +5211,16 @@ class PutRolePermissionsBoundaryRequest extends AbstractModel { if (!params) { return; } - this.PolicyId = 'PolicyId' in params ? params.PolicyId : null; - this.RoleId = 'RoleId' in params ? params.RoleId : null; - this.RoleName = 'RoleName' in params ? params.RoleName : null; + this.Name = 'Name' in params ? params.Name : null; } } /** - * UpdateRoleConsoleLogin返回参数结构体 + * DeleteSAMLProvider返回参数结构体 * @class */ -class UpdateRoleConsoleLoginResponse extends AbstractModel { +class DeleteSAMLProviderResponse extends AbstractModel { constructor(){ super(); @@ -3344,36 +5245,94 @@ class UpdateRoleConsoleLoginResponse extends AbstractModel { } /** - * AttachRolePolicy请求参数结构体 + * GetAccountSummary返回参数结构体 * @class */ -class AttachRolePolicyRequest extends AbstractModel { +class GetAccountSummaryResponse extends AbstractModel { constructor(){ super(); /** - * 策略ID,入参PolicyId与PolicyName二选一 + * 策略数 * @type {number || null} */ - this.PolicyId = null; + this.Policies = null; /** - * 角色ID,用于指定角色,入参 AttachRoleId 与 AttachRoleName 二选一 + * 角色数 + * @type {number || null} + */ + this.Roles = null; + + /** + * 身份提供商数 + * @type {number || null} + */ + this.Idps = null; + + /** + * 子账户数 + * @type {number || null} + */ + this.User = null; + + /** + * 分组数 + * @type {number || null} + */ + this.Group = null; + + /** + * 分组用户总数 + * @type {number || null} + */ + this.Member = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 * @type {string || null} */ - this.AttachRoleId = null; + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Policies = 'Policies' in params ? params.Policies : null; + this.Roles = 'Roles' in params ? params.Roles : null; + this.Idps = 'Idps' in params ? params.Idps : null; + this.User = 'User' in params ? params.User : null; + this.Group = 'Group' in params ? params.Group : null; + this.Member = 'Member' in params ? params.Member : null; + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * CreateServiceLinkedRole返回参数结构体 + * @class + */ +class CreateServiceLinkedRoleResponse extends AbstractModel { + constructor(){ + super(); /** - * 角色名称,用于指定角色,入参 AttachRoleId 与 AttachRoleName 二选一 + * 角色ID * @type {string || null} */ - this.AttachRoleName = null; + this.RoleId = null; /** - * 策略名,入参PolicyId与PolicyName二选一 + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 * @type {string || null} */ - this.PolicyName = null; + this.RequestId = null; } @@ -3384,28 +5343,20 @@ class AttachRolePolicyRequest extends AbstractModel { if (!params) { return; } - this.PolicyId = 'PolicyId' in params ? params.PolicyId : null; - this.AttachRoleId = 'AttachRoleId' in params ? params.AttachRoleId : null; - this.AttachRoleName = 'AttachRoleName' in params ? params.AttachRoleName : null; - this.PolicyName = 'PolicyName' in params ? params.PolicyName : null; + this.RoleId = 'RoleId' in params ? params.RoleId : null; + this.RequestId = 'RequestId' in params ? params.RequestId : null; } } /** - * ConsumeCustomMFAToken返回参数结构体 + * ListUsers请求参数结构体 * @class */ -class ConsumeCustomMFATokenResponse extends AbstractModel { +class ListUsersRequest extends AbstractModel { constructor(){ super(); - /** - * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - * @type {string || null} - */ - this.RequestId = null; - } /** @@ -3415,30 +5366,29 @@ class ConsumeCustomMFATokenResponse extends AbstractModel { if (!params) { return; } - this.RequestId = 'RequestId' in params ? params.RequestId : null; } } /** - * AttachUserPolicy请求参数结构体 + * ListCollaborators请求参数结构体 * @class */ -class AttachUserPolicyRequest extends AbstractModel { +class ListCollaboratorsRequest extends AbstractModel { constructor(){ super(); /** - * 策略 id + * 分页条数,缺省为20 * @type {number || null} */ - this.PolicyId = null; + this.Limit = null; /** - * 子账号 uin + * 分页起始值,缺省为0 * @type {number || null} */ - this.AttachUin = null; + this.Offset = null; } @@ -3449,87 +5399,74 @@ class AttachUserPolicyRequest extends AbstractModel { if (!params) { return; } - this.PolicyId = 'PolicyId' in params ? params.PolicyId : null; - this.AttachUin = 'AttachUin' in params ? params.AttachUin : null; + this.Limit = 'Limit' in params ? params.Limit : null; + this.Offset = 'Offset' in params ? params.Offset : null; } } /** - * ListAttachedGroupPolicies返回参数结构体 + * CreateUserOIDCConfig请求参数结构体 * @class */ -class ListAttachedGroupPoliciesResponse extends AbstractModel { +class CreateUserOIDCConfigRequest extends AbstractModel { constructor(){ super(); /** - * 策略总数 - * @type {number || null} + * 身份提供商URL。OpenID Connect身份提供商标识。 +对应企业IdP提供的Openid-configuration中"issuer"字段的值。 + * @type {string || null} */ - this.TotalNum = null; + this.IdentityUrl = null; /** - * 策略列表 - * @type {Array. || null} + * 签名公钥,需要base64_encode。验证OpenID Connect身份提供商ID Token签名的公钥。为了您的帐号安全,建议您定期轮换签名公钥。 + * @type {string || null} */ - this.List = null; + this.IdentityKey = null; /** - * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * 客户端ID,在OpenID Connect身份提供商注册的客户端ID。 * @type {string || null} */ - this.RequestId = null; - - } - - /** - * @private - */ - deserialize(params) { - if (!params) { - return; - } - this.TotalNum = 'TotalNum' in params ? params.TotalNum : null; + this.ClientId = null; - if (params.List) { - this.List = new Array(); - for (let z in params.List) { - let obj = new AttachPolicyInfo(); - obj.deserialize(params.List[z]); - this.List.push(obj); - } - } - this.RequestId = 'RequestId' in params ? params.RequestId : null; + /** + * 授权请求Endpoint,OpenID Connect身份提供商授权地址。对应企业IdP提供的Openid-configuration中"authorization_endpoint"字段的值。 + * @type {string || null} + */ + this.AuthorizationEndpoint = null; - } -} + /** + * 授权请求Response type,固定值id_token + * @type {string || null} + */ + this.ResponseType = null; -/** - * ListAttachedUserPolicies返回参数结构体 - * @class - */ -class ListAttachedUserPoliciesResponse extends AbstractModel { - constructor(){ - super(); + /** + * 授权请求Response mode。授权请求返回模式,form_post和fragment两种可选模式,推荐选择form_post模式。 + * @type {string || null} + */ + this.ResponseMode = null; /** - * 策略总数 - * @type {number || null} + * 映射字段名称。IdP的id_token中哪一个字段映射到子用户的用户名,通常是sub或者name字段 + * @type {string || null} */ - this.TotalNum = null; + this.MappingFiled = null; /** - * 策略列表 - * @type {Array. || null} + * 授权请求Scope。openid; email;profile。授权请求信息范围。默认必选openid。 + * @type {Array. || null} */ - this.List = null; + this.Scope = null; /** - * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * 描述 * @type {string || null} */ - this.RequestId = null; + this.Description = null; } @@ -3540,26 +5477,24 @@ class ListAttachedUserPoliciesResponse extends AbstractModel { if (!params) { return; } - this.TotalNum = 'TotalNum' in params ? params.TotalNum : null; - - if (params.List) { - this.List = new Array(); - for (let z in params.List) { - let obj = new AttachPolicyInfo(); - obj.deserialize(params.List[z]); - this.List.push(obj); - } - } - this.RequestId = 'RequestId' in params ? params.RequestId : null; + this.IdentityUrl = 'IdentityUrl' in params ? params.IdentityUrl : null; + this.IdentityKey = 'IdentityKey' in params ? params.IdentityKey : null; + this.ClientId = 'ClientId' in params ? params.ClientId : null; + this.AuthorizationEndpoint = 'AuthorizationEndpoint' in params ? params.AuthorizationEndpoint : null; + this.ResponseType = 'ResponseType' in params ? params.ResponseType : null; + this.ResponseMode = 'ResponseMode' in params ? params.ResponseMode : null; + this.MappingFiled = 'MappingFiled' in params ? params.MappingFiled : null; + this.Scope = 'Scope' in params ? params.Scope : null; + this.Description = 'Description' in params ? params.Description : null; } } /** - * PutUserPermissionsBoundary返回参数结构体 + * AttachGroupPolicy返回参数结构体 * @class */ -class PutUserPermissionsBoundaryResponse extends AbstractModel { +class AttachGroupPolicyResponse extends AbstractModel { constructor(){ super(); @@ -3584,10 +5519,10 @@ class PutUserPermissionsBoundaryResponse extends AbstractModel { } /** - * DeletePolicy返回参数结构体 + * UpdateGroup返回参数结构体 * @class */ -class DeletePolicyResponse extends AbstractModel { +class UpdateGroupResponse extends AbstractModel { constructor(){ super(); @@ -3612,18 +5547,36 @@ class DeletePolicyResponse extends AbstractModel { } /** - * ConsumeCustomMFAToken请求参数结构体 + * ListEntitiesForPolicy请求参数结构体 * @class */ -class ConsumeCustomMFATokenRequest extends AbstractModel { +class ListEntitiesForPolicyRequest extends AbstractModel { constructor(){ super(); /** - * 自定义多因子验证Token + * 策略 id + * @type {number || null} + */ + this.PolicyId = null; + + /** + * 页码,默认值是 1,从 1 开始 + * @type {number || null} + */ + this.Page = null; + + /** + * 每页大小,默认值是 20 + * @type {number || null} + */ + this.Rp = null; + + /** + * 可取值 'All'、'User'、'Group' 和 'Role','All' 表示获取所有实体类型,'User' 表示只获取子账号,'Group' 表示只获取用户组,'Role' 表示只获取角色,默认取 'All' * @type {string || null} */ - this.MFAToken = null; + this.EntityFilter = null; } @@ -3634,36 +5587,39 @@ class ConsumeCustomMFATokenRequest extends AbstractModel { if (!params) { return; } - this.MFAToken = 'MFAToken' in params ? params.MFAToken : null; + this.PolicyId = 'PolicyId' in params ? params.PolicyId : null; + this.Page = 'Page' in params ? params.Page : null; + this.Rp = 'Rp' in params ? params.Rp : null; + this.EntityFilter = 'EntityFilter' in params ? params.EntityFilter : null; } } /** - * 访问密钥列表 + * TagRole请求参数结构体 * @class */ -class AccessKey extends AbstractModel { +class TagRoleRequest extends AbstractModel { constructor(){ super(); /** - * 访问密钥标识 - * @type {string || null} + * 标签 + * @type {Array. || null} */ - this.AccessKeyId = null; + this.Tags = null; /** - * 密钥状态,激活(Active)或未激活(Inactive) + * 角色名,与角色ID至少输入一个 * @type {string || null} */ - this.Status = null; + this.RoleName = null; /** - * 创建时间 + * 角色ID,与角色名至少输入一个 * @type {string || null} */ - this.CreateTime = null; + this.RoleId = null; } @@ -3674,62 +5630,83 @@ class AccessKey extends AbstractModel { if (!params) { return; } - this.AccessKeyId = 'AccessKeyId' in params ? params.AccessKeyId : null; - this.Status = 'Status' in params ? params.Status : null; - this.CreateTime = 'CreateTime' in params ? params.CreateTime : null; + + if (params.Tags) { + this.Tags = new Array(); + for (let z in params.Tags) { + let obj = new RoleTags(); + obj.deserialize(params.Tags[z]); + this.Tags.push(obj); + } + } + this.RoleName = 'RoleName' in params ? params.RoleName : null; + this.RoleId = 'RoleId' in params ? params.RoleId : null; } } /** - * GetGroup返回参数结构体 + * ListPolicies请求参数结构体 * @class */ -class GetGroupResponse extends AbstractModel { +class ListPoliciesRequest extends AbstractModel { constructor(){ super(); /** - * 用户组 ID + * 每页数量,默认值是 20,必须大于 0 且小于或等于 200 * @type {number || null} */ - this.GroupId = null; - - /** - * 用户组名称 - * @type {string || null} - */ - this.GroupName = null; + this.Rp = null; /** - * 用户组成员数量 + * 页码,默认值是 1,从 1开始,不能大于 200 * @type {number || null} */ - this.GroupNum = null; + this.Page = null; /** - * 用户组描述 + * 可取值 'All'、'QCS' 和 'Local','All' 获取所有策略,'QCS' 只获取预设策略,'Local' 只获取自定义策略,默认取 'All' * @type {string || null} */ - this.Remark = null; + this.Scope = null; /** - * 用户组创建时间 + * 按策略名匹配 * @type {string || null} */ - this.CreateTime = null; + this.Keyword = null; - /** - * 用户组成员信息 - * @type {Array. || null} - */ - this.UserInfo = null; + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Rp = 'Rp' in params ? params.Rp : null; + this.Page = 'Page' in params ? params.Page : null; + this.Scope = 'Scope' in params ? params.Scope : null; + this.Keyword = 'Keyword' in params ? params.Keyword : null; + + } +} + +/** + * GetServiceLinkedRoleDeletionStatus请求参数结构体 + * @class + */ +class GetServiceLinkedRoleDeletionStatusRequest extends AbstractModel { + constructor(){ + super(); /** - * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * 删除任务ID * @type {string || null} */ - this.RequestId = null; + this.DeletionTaskId = null; } @@ -3740,39 +5717,31 @@ class GetGroupResponse extends AbstractModel { if (!params) { return; } - this.GroupId = 'GroupId' in params ? params.GroupId : null; - this.GroupName = 'GroupName' in params ? params.GroupName : null; - this.GroupNum = 'GroupNum' in params ? params.GroupNum : null; - this.Remark = 'Remark' in params ? params.Remark : null; - this.CreateTime = 'CreateTime' in params ? params.CreateTime : null; - - if (params.UserInfo) { - this.UserInfo = new Array(); - for (let z in params.UserInfo) { - let obj = new GroupMemberInfo(); - obj.deserialize(params.UserInfo[z]); - this.UserInfo.push(obj); - } - } - this.RequestId = 'RequestId' in params ? params.RequestId : null; + this.DeletionTaskId = 'DeletionTaskId' in params ? params.DeletionTaskId : null; } } /** - * DeleteSAMLProvider请求参数结构体 + * ListGrantServiceAccessAction节点 * @class */ -class DeleteSAMLProviderRequest extends AbstractModel { +class ListGrantServiceAccessActionNode extends AbstractModel { constructor(){ super(); /** - * SAML身份提供商名称 + * 接口名 * @type {string || null} */ this.Name = null; + /** + * 接口描述 + * @type {string || null} + */ + this.Description = null; + } /** @@ -3783,15 +5752,16 @@ class DeleteSAMLProviderRequest extends AbstractModel { return; } this.Name = 'Name' in params ? params.Name : null; + this.Description = 'Description' in params ? params.Description : null; } } /** - * DeleteSAMLProvider返回参数结构体 + * DetachGroupPolicy返回参数结构体 * @class */ -class DeleteSAMLProviderResponse extends AbstractModel { +class DetachGroupPolicyResponse extends AbstractModel { constructor(){ super(); @@ -3816,18 +5786,78 @@ class DeleteSAMLProviderResponse extends AbstractModel { } /** - * UpdateUser返回参数结构体 + * 用户组用户信息 * @class */ -class UpdateUserResponse extends AbstractModel { +class GroupMemberInfo extends AbstractModel { constructor(){ super(); /** - * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * 子用户 Uid。 + * @type {number || null} + */ + this.Uid = null; + + /** + * 子用户 Uin。 + * @type {number || null} + */ + this.Uin = null; + + /** + * 子用户名称。 * @type {string || null} */ - this.RequestId = null; + this.Name = null; + + /** + * 手机号。 + * @type {string || null} + */ + this.PhoneNum = null; + + /** + * 手机区域代码。 + * @type {string || null} + */ + this.CountryCode = null; + + /** + * 是否已验证手机。0-未验证 1-验证 + * @type {number || null} + */ + this.PhoneFlag = null; + + /** + * 邮箱地址。 + * @type {string || null} + */ + this.Email = null; + + /** + * 是否已验证邮箱。0-未验证 1-验证 + * @type {number || null} + */ + this.EmailFlag = null; + + /** + * 用户类型。1-全局协作者 2-项目协作者 3-消息接收者 + * @type {number || null} + */ + this.UserType = null; + + /** + * 创建时间。 + * @type {string || null} + */ + this.CreateTime = null; + + /** + * 是否为主消息接收人。0-否 1-是 + * @type {number || null} + */ + this.IsReceiverOwner = null; } @@ -3838,30 +5868,46 @@ class UpdateUserResponse extends AbstractModel { if (!params) { return; } - this.RequestId = 'RequestId' in params ? params.RequestId : null; + this.Uid = 'Uid' in params ? params.Uid : null; + this.Uin = 'Uin' in params ? params.Uin : null; + this.Name = 'Name' in params ? params.Name : null; + this.PhoneNum = 'PhoneNum' in params ? params.PhoneNum : null; + this.CountryCode = 'CountryCode' in params ? params.CountryCode : null; + this.PhoneFlag = 'PhoneFlag' in params ? params.PhoneFlag : null; + this.Email = 'Email' in params ? params.Email : null; + this.EmailFlag = 'EmailFlag' in params ? params.EmailFlag : null; + this.UserType = 'UserType' in params ? params.UserType : null; + this.CreateTime = 'CreateTime' in params ? params.CreateTime : null; + this.IsReceiverOwner = 'IsReceiverOwner' in params ? params.IsReceiverOwner : null; } } /** - * CreateServiceLinkedRole返回参数结构体 + * CreatePolicy请求参数结构体 * @class */ -class CreateServiceLinkedRoleResponse extends AbstractModel { +class CreatePolicyRequest extends AbstractModel { constructor(){ super(); /** - * 角色ID + * 策略名 * @type {string || null} */ - this.RoleId = null; + this.PolicyName = null; /** - * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * 策略文档,示例:{"version":"2.0","statement":[{"action":"name/sts:AssumeRole","effect":"allow","principal":{"service":["cloudaudit.cloud.tencent.com","cls.cloud.tencent.com"]}}]},principal用于指定角色的授权对象。获取该参数可参阅 获取角色详情(https://cloud.tencent.com/document/product/598/36221) 输出参数RoleInfo * @type {string || null} */ - this.RequestId = null; + this.PolicyDocument = null; + + /** + * 策略描述 + * @type {string || null} + */ + this.Description = null; } @@ -3872,20 +5918,57 @@ class CreateServiceLinkedRoleResponse extends AbstractModel { if (!params) { return; } - this.RoleId = 'RoleId' in params ? params.RoleId : null; - this.RequestId = 'RequestId' in params ? params.RequestId : null; + this.PolicyName = 'PolicyName' in params ? params.PolicyName : null; + this.PolicyDocument = 'PolicyDocument' in params ? params.PolicyDocument : null; + this.Description = 'Description' in params ? params.Description : null; } } /** - * ListUsers请求参数结构体 + * ListAttachedUserAllPolicies请求参数结构体 * @class */ -class ListUsersRequest extends AbstractModel { +class ListAttachedUserAllPoliciesRequest extends AbstractModel { constructor(){ super(); + /** + * 目标用户ID + * @type {number || null} + */ + this.TargetUin = null; + + /** + * 每页数量,必须大于 0 且小于或等于 200 + * @type {number || null} + */ + this.Rp = null; + + /** + * 页码,从 1开始,不能大于 200 + * @type {number || null} + */ + this.Page = null; + + /** + * 0:返回直接关联和随组关联策略,1:只返回直接关联策略,2:只返回随组关联策略 + * @type {number || null} + */ + this.AttachType = null; + + /** + * 策略类型 + * @type {number || null} + */ + this.StrategyType = null; + + /** + * 搜索关键字 + * @type {string || null} + */ + this.Keyword = null; + } /** @@ -3895,29 +5978,35 @@ class ListUsersRequest extends AbstractModel { if (!params) { return; } + this.TargetUin = 'TargetUin' in params ? params.TargetUin : null; + this.Rp = 'Rp' in params ? params.Rp : null; + this.Page = 'Page' in params ? params.Page : null; + this.AttachType = 'AttachType' in params ? params.AttachType : null; + this.StrategyType = 'StrategyType' in params ? params.StrategyType : null; + this.Keyword = 'Keyword' in params ? params.Keyword : null; } } /** - * ListCollaborators请求参数结构体 + * DeletePolicyVersion请求参数结构体 * @class */ -class ListCollaboratorsRequest extends AbstractModel { +class DeletePolicyVersionRequest extends AbstractModel { constructor(){ super(); /** - * 分页条数,缺省为20 + * 策略ID * @type {number || null} */ - this.Limit = null; + this.PolicyId = null; /** - * 分页起始值,缺省为0 - * @type {number || null} + * 策略版本号 + * @type {Array. || null} */ - this.Offset = null; + this.VersionId = null; } @@ -3928,32 +6017,25 @@ class ListCollaboratorsRequest extends AbstractModel { if (!params) { return; } - this.Limit = 'Limit' in params ? params.Limit : null; - this.Offset = 'Offset' in params ? params.Offset : null; + this.PolicyId = 'PolicyId' in params ? params.PolicyId : null; + this.VersionId = 'VersionId' in params ? params.VersionId : null; } } /** - * UpdatePolicy返回参数结构体 + * CreateUserSAMLConfig请求参数结构体 * @class */ -class UpdatePolicyResponse extends AbstractModel { +class CreateUserSAMLConfigRequest extends AbstractModel { constructor(){ super(); /** - * 策略id,入参是PolicyName时,才会返回 -注意:此字段可能返回 null,表示取不到有效值。 - * @type {number || null} - */ - this.PolicyId = null; - - /** - * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * SAML元数据文档,需要base64 encode * @type {string || null} */ - this.RequestId = null; + this.SAMLMetadataDocument = null; } @@ -3964,25 +6046,36 @@ class UpdatePolicyResponse extends AbstractModel { if (!params) { return; } - this.PolicyId = 'PolicyId' in params ? params.PolicyId : null; - this.RequestId = 'RequestId' in params ? params.RequestId : null; + this.SAMLMetadataDocument = 'SAMLMetadataDocument' in params ? params.SAMLMetadataDocument : null; } } /** - * AttachGroupPolicy返回参数结构体 + * UpdateGroup请求参数结构体 * @class */ -class AttachGroupPolicyResponse extends AbstractModel { +class UpdateGroupRequest extends AbstractModel { constructor(){ super(); /** - * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * 用户组 ID + * @type {number || null} + */ + this.GroupId = null; + + /** + * 用户组名 * @type {string || null} */ - this.RequestId = null; + this.GroupName = null; + + /** + * 用户组描述 + * @type {string || null} + */ + this.Remark = null; } @@ -3993,24 +6086,38 @@ class AttachGroupPolicyResponse extends AbstractModel { if (!params) { return; } - this.RequestId = 'RequestId' in params ? params.RequestId : null; + this.GroupId = 'GroupId' in params ? params.GroupId : null; + this.GroupName = 'GroupName' in params ? params.GroupName : null; + this.Remark = 'Remark' in params ? params.Remark : null; } } /** - * UpdateGroup返回参数结构体 + * 用于ListPoliciesGrantingServiceAccess接口的List节点 * @class */ -class UpdateGroupResponse extends AbstractModel { +class ListGrantServiceAccessNode extends AbstractModel { constructor(){ super(); /** - * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - * @type {string || null} + * 服务 + * @type {ListGrantServiceAccessService || null} */ - this.RequestId = null; + this.Service = null; + + /** + * 接口信息 + * @type {Array. || null} + */ + this.Action = null; + + /** + * 授权的策略 + * @type {Array. || null} + */ + this.Policy = null; } @@ -4021,16 +6128,39 @@ class UpdateGroupResponse extends AbstractModel { if (!params) { return; } - this.RequestId = 'RequestId' in params ? params.RequestId : null; + + if (params.Service) { + let obj = new ListGrantServiceAccessService(); + obj.deserialize(params.Service) + this.Service = obj; + } + + if (params.Action) { + this.Action = new Array(); + for (let z in params.Action) { + let obj = new ListGrantServiceAccessActionNode(); + obj.deserialize(params.Action[z]); + this.Action.push(obj); + } + } + + if (params.Policy) { + this.Policy = new Array(); + for (let z in params.Policy) { + let obj = new ListGrantServiceAccessPolicy(); + obj.deserialize(params.Policy[z]); + this.Policy.push(obj); + } + } } } /** - * ListEntitiesForPolicy请求参数结构体 + * AttachGroupPolicy请求参数结构体 * @class */ -class ListEntitiesForPolicyRequest extends AbstractModel { +class AttachGroupPolicyRequest extends AbstractModel { constructor(){ super(); @@ -4041,22 +6171,10 @@ class ListEntitiesForPolicyRequest extends AbstractModel { this.PolicyId = null; /** - * 页码,默认值是 1,从 1 开始 - * @type {number || null} - */ - this.Page = null; - - /** - * 每页大小,默认值是 20 + * 用户组 id * @type {number || null} */ - this.Rp = null; - - /** - * 可取值 'All'、'User'、'Group' 和 'Role','All' 表示获取所有实体类型,'User' 表示只获取子账号,'Group' 表示只获取用户组,'Role' 表示只获取角色,默认取 'All' - * @type {string || null} - */ - this.EntityFilter = null; + this.AttachGroupId = null; } @@ -4068,44 +6186,48 @@ class ListEntitiesForPolicyRequest extends AbstractModel { return; } this.PolicyId = 'PolicyId' in params ? params.PolicyId : null; - this.Page = 'Page' in params ? params.Page : null; - this.Rp = 'Rp' in params ? params.Rp : null; - this.EntityFilter = 'EntityFilter' in params ? params.EntityFilter : null; + this.AttachGroupId = 'AttachGroupId' in params ? params.AttachGroupId : null; } } /** - * ListPolicies请求参数结构体 + * UpdateOIDCConfig请求参数结构体 * @class */ -class ListPoliciesRequest extends AbstractModel { +class UpdateOIDCConfigRequest extends AbstractModel { constructor(){ super(); /** - * 每页数量,默认值是 20,必须大于 0 且小于或等于 200 - * @type {number || null} + * 身份提供商URL + * @type {string || null} */ - this.Rp = null; + this.IdentityUrl = null; /** - * 页码,默认值是 1,从 1开始,不能大于 200 - * @type {number || null} + * 签名公钥,需要base64 + * @type {string || null} */ - this.Page = null; + this.IdentityKey = null; /** - * 可取值 'All'、'QCS' 和 'Local','All' 获取所有策略,'QCS' 只获取预设策略,'Local' 只获取自定义策略,默认取 'All' + * 客户端ID + * @type {Array. || null} + */ + this.ClientId = null; + + /** + * 名称 * @type {string || null} */ - this.Scope = null; + this.Name = null; /** - * 按策略名匹配 + * 描述 * @type {string || null} */ - this.Keyword = null; + this.Description = null; } @@ -4116,27 +6238,35 @@ class ListPoliciesRequest extends AbstractModel { if (!params) { return; } - this.Rp = 'Rp' in params ? params.Rp : null; - this.Page = 'Page' in params ? params.Page : null; - this.Scope = 'Scope' in params ? params.Scope : null; - this.Keyword = 'Keyword' in params ? params.Keyword : null; + this.IdentityUrl = 'IdentityUrl' in params ? params.IdentityUrl : null; + this.IdentityKey = 'IdentityKey' in params ? params.IdentityKey : null; + this.ClientId = 'ClientId' in params ? params.ClientId : null; + this.Name = 'Name' in params ? params.Name : null; + this.Description = 'Description' in params ? params.Description : null; } } /** - * GetServiceLinkedRoleDeletionStatus请求参数结构体 + * CreateRole返回参数结构体 * @class */ -class GetServiceLinkedRoleDeletionStatusRequest extends AbstractModel { +class CreateRoleResponse extends AbstractModel { constructor(){ super(); /** - * 删除任务ID + * 角色ID +注意:此字段可能返回 null,表示取不到有效值。 * @type {string || null} */ - this.DeletionTaskId = null; + this.RoleId = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; } @@ -4147,19 +6277,50 @@ class GetServiceLinkedRoleDeletionStatusRequest extends AbstractModel { if (!params) { return; } - this.DeletionTaskId = 'DeletionTaskId' in params ? params.DeletionTaskId : null; + this.RoleId = 'RoleId' in params ? params.RoleId : null; + this.RequestId = 'RequestId' in params ? params.RequestId : null; } } /** - * DetachGroupPolicy返回参数结构体 + * GetSAMLProvider返回参数结构体 * @class */ -class DetachGroupPolicyResponse extends AbstractModel { +class GetSAMLProviderResponse extends AbstractModel { constructor(){ super(); + /** + * SAML身份提供商名称 + * @type {string || null} + */ + this.Name = null; + + /** + * SAML身份提供商描述 + * @type {string || null} + */ + this.Description = null; + + /** + * SAML身份提供商创建时间 + * @type {string || null} + */ + this.CreateTime = null; + + /** + * SAML身份提供商上次修改时间 + * @type {string || null} + */ + this.ModifyTime = null; + + /** + * SAML身份提供商元数据文档 + * @type {string || null} + */ + this.SAMLMetadata = null; + /** * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 * @type {string || null} @@ -4175,36 +6336,47 @@ class DetachGroupPolicyResponse extends AbstractModel { if (!params) { return; } + this.Name = 'Name' in params ? params.Name : null; + this.Description = 'Description' in params ? params.Description : null; + this.CreateTime = 'CreateTime' in params ? params.CreateTime : null; + this.ModifyTime = 'ModifyTime' in params ? params.ModifyTime : null; + this.SAMLMetadata = 'SAMLMetadata' in params ? params.SAMLMetadata : null; this.RequestId = 'RequestId' in params ? params.RequestId : null; } } /** - * CreatePolicy请求参数结构体 + * DescribeSafeAuthFlagIntl返回参数结构体 * @class */ -class CreatePolicyRequest extends AbstractModel { +class DescribeSafeAuthFlagIntlResponse extends AbstractModel { constructor(){ super(); /** - * 策略名 - * @type {string || null} + * 登录保护设置 + * @type {LoginActionFlagIntl || null} */ - this.PolicyName = null; + this.LoginFlag = null; /** - * 策略文档,示例:{"version":"2.0","statement":[{"action":"name/sts:AssumeRole","effect":"allow","principal":{"service":["cloudaudit.cloud.tencent.com","cls.cloud.tencent.com"]}}]},principal用于指定角色的授权对象。获取该参数可参阅 获取角色详情(https://cloud.tencent.com/document/product/598/36221) 输出参数RoleInfo - * @type {string || null} + * 敏感操作保护设置 + * @type {LoginActionFlagIntl || null} */ - this.PolicyDocument = null; + this.ActionFlag = null; /** - * 策略描述 + * 异地登录保护设置 + * @type {OffsiteFlag || null} + */ + this.OffsiteFlag = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 * @type {string || null} */ - this.Description = null; + this.RequestId = null; } @@ -4215,32 +6387,49 @@ class CreatePolicyRequest extends AbstractModel { if (!params) { return; } - this.PolicyName = 'PolicyName' in params ? params.PolicyName : null; - this.PolicyDocument = 'PolicyDocument' in params ? params.PolicyDocument : null; - this.Description = 'Description' in params ? params.Description : null; + + if (params.LoginFlag) { + let obj = new LoginActionFlagIntl(); + obj.deserialize(params.LoginFlag) + this.LoginFlag = obj; + } + + if (params.ActionFlag) { + let obj = new LoginActionFlagIntl(); + obj.deserialize(params.ActionFlag) + this.ActionFlag = obj; + } + + if (params.OffsiteFlag) { + let obj = new OffsiteFlag(); + obj.deserialize(params.OffsiteFlag) + this.OffsiteFlag = obj; + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; } } /** - * DeletePolicyVersion请求参数结构体 + * ListPolicyVersions返回参数结构体 * @class */ -class DeletePolicyVersionRequest extends AbstractModel { +class ListPolicyVersionsResponse extends AbstractModel { constructor(){ super(); /** - * 策略ID - * @type {number || null} + * 策略版本列表 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {Array. || null} */ - this.PolicyId = null; + this.Versions = null; /** - * 策略版本号 - * @type {Array. || null} + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} */ - this.VersionId = null; + this.RequestId = null; } @@ -4251,37 +6440,33 @@ class DeletePolicyVersionRequest extends AbstractModel { if (!params) { return; } - this.PolicyId = 'PolicyId' in params ? params.PolicyId : null; - this.VersionId = 'VersionId' in params ? params.VersionId : null; + + if (params.Versions) { + this.Versions = new Array(); + for (let z in params.Versions) { + let obj = new PolicyVersionItem(); + obj.deserialize(params.Versions[z]); + this.Versions.push(obj); + } + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; } } /** - * UpdateGroup请求参数结构体 + * GetPolicy请求参数结构体 * @class */ -class UpdateGroupRequest extends AbstractModel { +class GetPolicyRequest extends AbstractModel { constructor(){ super(); /** - * 用户组 ID + * 策略Id * @type {number || null} */ - this.GroupId = null; - - /** - * 用户组名 - * @type {string || null} - */ - this.GroupName = null; - - /** - * 用户组描述 - * @type {string || null} - */ - this.Remark = null; + this.PolicyId = null; } @@ -4292,34 +6477,19 @@ class UpdateGroupRequest extends AbstractModel { if (!params) { return; } - this.GroupId = 'GroupId' in params ? params.GroupId : null; - this.GroupName = 'GroupName' in params ? params.GroupName : null; - this.Remark = 'Remark' in params ? params.Remark : null; + this.PolicyId = 'PolicyId' in params ? params.PolicyId : null; } } /** - * GetPolicyVersion返回参数结构体 + * DescribeSafeAuthFlagIntl请求参数结构体 * @class */ -class GetPolicyVersionResponse extends AbstractModel { +class DescribeSafeAuthFlagIntlRequest extends AbstractModel { constructor(){ super(); - /** - * 策略版本详情 -注意:此字段可能返回 null,表示取不到有效值。 - * @type {PolicyVersionDetail || null} - */ - this.PolicyVersion = null; - - /** - * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - * @type {string || null} - */ - this.RequestId = null; - } /** @@ -4330,36 +6500,28 @@ class GetPolicyVersionResponse extends AbstractModel { return; } - if (params.PolicyVersion) { - let obj = new PolicyVersionDetail(); - obj.deserialize(params.PolicyVersion) - this.PolicyVersion = obj; - } - this.RequestId = 'RequestId' in params ? params.RequestId : null; - } } /** - * CreateRole返回参数结构体 + * SetDefaultPolicyVersion请求参数结构体 * @class */ -class CreateRoleResponse extends AbstractModel { +class SetDefaultPolicyVersionRequest extends AbstractModel { constructor(){ super(); /** - * 角色ID -注意:此字段可能返回 null,表示取不到有效值。 - * @type {string || null} + * 策略ID + * @type {number || null} */ - this.RoleId = null; + this.PolicyId = null; /** - * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - * @type {string || null} + * 策略版本号,可由ListPolicyVersions获取 + * @type {number || null} */ - this.RequestId = null; + this.VersionId = null; } @@ -4370,95 +6532,74 @@ class CreateRoleResponse extends AbstractModel { if (!params) { return; } - this.RoleId = 'RoleId' in params ? params.RoleId : null; - this.RequestId = 'RequestId' in params ? params.RequestId : null; + this.PolicyId = 'PolicyId' in params ? params.PolicyId : null; + this.VersionId = 'VersionId' in params ? params.VersionId : null; } } /** - * GetSAMLProvider返回参数结构体 + * UpdateUserOIDCConfig请求参数结构体 * @class */ -class GetSAMLProviderResponse extends AbstractModel { +class UpdateUserOIDCConfigRequest extends AbstractModel { constructor(){ super(); /** - * SAML身份提供商名称 + * 身份提供商URL。OpenID Connect身份提供商标识。 +对应企业IdP提供的Openid-configuration中"issuer"字段的值。 * @type {string || null} */ - this.Name = null; + this.IdentityUrl = null; /** - * SAML身份提供商描述 + * 签名公钥,需要base64_encode。验证OpenID Connect身份提供商ID Token签名的公钥。为了您的帐号安全,建议您定期轮换签名公钥。 * @type {string || null} */ - this.Description = null; + this.IdentityKey = null; /** - * SAML身份提供商创建时间 + * 客户端ID,在OpenID Connect身份提供商注册的客户端ID。 * @type {string || null} */ - this.CreateTime = null; + this.ClientId = null; /** - * SAML身份提供商上次修改时间 + * 授权请求Endpoint,OpenID Connect身份提供商授权地址。对应企业IdP提供的Openid-configuration中"authorization_endpoint"字段的值。 * @type {string || null} */ - this.ModifyTime = null; + this.AuthorizationEndpoint = null; /** - * SAML身份提供商元数据文档 + * 授权请求Response type,固定值id_token。 * @type {string || null} */ - this.SAMLMetadata = null; + this.ResponseType = null; /** - * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * 授权请求Response mode。授权请求返回模式,form_post和fragment两种可选模式,推荐选择form_post模式。 * @type {string || null} */ - this.RequestId = null; - - } - - /** - * @private - */ - deserialize(params) { - if (!params) { - return; - } - this.Name = 'Name' in params ? params.Name : null; - this.Description = 'Description' in params ? params.Description : null; - this.CreateTime = 'CreateTime' in params ? params.CreateTime : null; - this.ModifyTime = 'ModifyTime' in params ? params.ModifyTime : null; - this.SAMLMetadata = 'SAMLMetadata' in params ? params.SAMLMetadata : null; - this.RequestId = 'RequestId' in params ? params.RequestId : null; - - } -} + this.ResponseMode = null; -/** - * ListPolicyVersions返回参数结构体 - * @class - */ -class ListPolicyVersionsResponse extends AbstractModel { - constructor(){ - super(); + /** + * 映射字段名称。IdP的id_token中哪一个字段映射到子用户的用户名,通常是sub或者name字段 + * @type {string || null} + */ + this.MappingFiled = null; /** - * 策略版本列表 -注意:此字段可能返回 null,表示取不到有效值。 - * @type {Array. || null} + * 授权请求Scope。openid; email;profile。授权请求信息范围。默认必选openid。 + * @type {Array. || null} */ - this.Versions = null; + this.Scope = null; /** - * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * 描述 * @type {string || null} */ - this.RequestId = null; + this.Description = null; } @@ -4469,33 +6610,32 @@ class ListPolicyVersionsResponse extends AbstractModel { if (!params) { return; } - - if (params.Versions) { - this.Versions = new Array(); - for (let z in params.Versions) { - let obj = new PolicyVersionItem(); - obj.deserialize(params.Versions[z]); - this.Versions.push(obj); - } - } - this.RequestId = 'RequestId' in params ? params.RequestId : null; + this.IdentityUrl = 'IdentityUrl' in params ? params.IdentityUrl : null; + this.IdentityKey = 'IdentityKey' in params ? params.IdentityKey : null; + this.ClientId = 'ClientId' in params ? params.ClientId : null; + this.AuthorizationEndpoint = 'AuthorizationEndpoint' in params ? params.AuthorizationEndpoint : null; + this.ResponseType = 'ResponseType' in params ? params.ResponseType : null; + this.ResponseMode = 'ResponseMode' in params ? params.ResponseMode : null; + this.MappingFiled = 'MappingFiled' in params ? params.MappingFiled : null; + this.Scope = 'Scope' in params ? params.Scope : null; + this.Description = 'Description' in params ? params.Description : null; } } /** - * GetPolicy请求参数结构体 + * AddUserToGroup请求参数结构体 * @class */ -class GetPolicyRequest extends AbstractModel { +class AddUserToGroupRequest extends AbstractModel { constructor(){ super(); /** - * 策略Id - * @type {number || null} + * 添加的子用户 UIN/UID 和用户组 ID 关联关系 + * @type {Array. || null} */ - this.PolicyId = null; + this.Info = null; } @@ -4506,30 +6646,32 @@ class GetPolicyRequest extends AbstractModel { if (!params) { return; } - this.PolicyId = 'PolicyId' in params ? params.PolicyId : null; + + if (params.Info) { + this.Info = new Array(); + for (let z in params.Info) { + let obj = new GroupIdOfUidInfo(); + obj.deserialize(params.Info[z]); + this.Info.push(obj); + } + } } } /** - * SetDefaultPolicyVersion请求参数结构体 + * RemoveUserFromGroup返回参数结构体 * @class */ -class SetDefaultPolicyVersionRequest extends AbstractModel { +class RemoveUserFromGroupResponse extends AbstractModel { constructor(){ super(); /** - * 策略ID - * @type {number || null} - */ - this.PolicyId = null; - - /** - * 策略版本号 - * @type {number || null} + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} */ - this.VersionId = null; + this.RequestId = null; } @@ -4540,25 +6682,24 @@ class SetDefaultPolicyVersionRequest extends AbstractModel { if (!params) { return; } - this.PolicyId = 'PolicyId' in params ? params.PolicyId : null; - this.VersionId = 'VersionId' in params ? params.VersionId : null; + this.RequestId = 'RequestId' in params ? params.RequestId : null; } } /** - * AddUserToGroup请求参数结构体 + * DetachRolePolicy返回参数结构体 * @class */ -class AddUserToGroupRequest extends AbstractModel { +class DetachRolePolicyResponse extends AbstractModel { constructor(){ super(); /** - * 添加的子用户 UID 和用户组 ID 关联关系 - * @type {Array. || null} + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} */ - this.Info = null; + this.RequestId = null; } @@ -4569,33 +6710,19 @@ class AddUserToGroupRequest extends AbstractModel { if (!params) { return; } - - if (params.Info) { - this.Info = new Array(); - for (let z in params.Info) { - let obj = new GroupIdOfUidInfo(); - obj.deserialize(params.Info[z]); - this.Info.push(obj); - } - } + this.RequestId = 'RequestId' in params ? params.RequestId : null; } } /** - * RemoveUserFromGroup返回参数结构体 + * DescribeUserOIDCConfig请求参数结构体 * @class */ -class RemoveUserFromGroupResponse extends AbstractModel { +class DescribeUserOIDCConfigRequest extends AbstractModel { constructor(){ super(); - /** - * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - * @type {string || null} - */ - this.RequestId = null; - } /** @@ -4605,16 +6732,15 @@ class RemoveUserFromGroupResponse extends AbstractModel { if (!params) { return; } - this.RequestId = 'RequestId' in params ? params.RequestId : null; } } /** - * DetachRolePolicy返回参数结构体 + * CreateOIDCConfig返回参数结构体 * @class */ -class DetachRolePolicyResponse extends AbstractModel { +class CreateOIDCConfigResponse extends AbstractModel { constructor(){ super(); @@ -4870,6 +6996,12 @@ class ListAttachedRolePoliciesRequest extends AbstractModel { */ this.PolicyType = null; + /** + * 搜索关键字 + * @type {string || null} + */ + this.Keyword = null; + } /** @@ -4884,6 +7016,7 @@ class ListAttachedRolePoliciesRequest extends AbstractModel { this.RoleId = 'RoleId' in params ? params.RoleId : null; this.RoleName = 'RoleName' in params ? params.RoleName : null; this.PolicyType = 'PolicyType' in params ? params.PolicyType : null; + this.Keyword = 'Keyword' in params ? params.Keyword : null; } } @@ -5022,6 +7155,12 @@ class CreateRoleRequest extends AbstractModel { */ this.SessionDuration = null; + /** + * 角色绑定标签 + * @type {Array. || null} + */ + this.Tags = null; + } /** @@ -5037,6 +7176,110 @@ class CreateRoleRequest extends AbstractModel { this.ConsoleLogin = 'ConsoleLogin' in params ? params.ConsoleLogin : null; this.SessionDuration = 'SessionDuration' in params ? params.SessionDuration : null; + if (params.Tags) { + this.Tags = new Array(); + for (let z in params.Tags) { + let obj = new RoleTags(); + obj.deserialize(params.Tags[z]); + this.Tags.push(obj); + } + } + + } +} + +/** + * 用户关联的策略详情 + * @class + */ +class AttachedUserPolicy extends AbstractModel { + constructor(){ + super(); + + /** + * 策略ID + * @type {string || null} + */ + this.PolicyId = null; + + /** + * 策略名 + * @type {string || null} + */ + this.PolicyName = null; + + /** + * 策略描述 + * @type {string || null} + */ + this.Description = null; + + /** + * 创建时间 + * @type {string || null} + */ + this.AddTime = null; + + /** + * 策略类型(1表示自定义策略,2表示预设策略) + * @type {string || null} + */ + this.StrategyType = null; + + /** + * 创建模式(1表示按产品或项目权限创建的策略,其他表示策略语法创建的策略) + * @type {string || null} + */ + this.CreateMode = null; + + /** + * 随组关联信息 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {Array. || null} + */ + this.Groups = null; + + /** + * 是否已下线(0:否 1:是) +注意:此字段可能返回 null,表示取不到有效值。 + * @type {number || null} + */ + this.Deactived = null; + + /** + * 已下线的产品列表 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {Array. || null} + */ + this.DeactivedDetail = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.PolicyId = 'PolicyId' in params ? params.PolicyId : null; + this.PolicyName = 'PolicyName' in params ? params.PolicyName : null; + this.Description = 'Description' in params ? params.Description : null; + this.AddTime = 'AddTime' in params ? params.AddTime : null; + this.StrategyType = 'StrategyType' in params ? params.StrategyType : null; + this.CreateMode = 'CreateMode' in params ? params.CreateMode : null; + + if (params.Groups) { + this.Groups = new Array(); + for (let z in params.Groups) { + let obj = new AttachedUserPolicyGroupInfo(); + obj.deserialize(params.Groups[z]); + this.Groups.push(obj); + } + } + this.Deactived = 'Deactived' in params ? params.Deactived : null; + this.DeactivedDetail = 'DeactivedDetail' in params ? params.DeactivedDetail : null; + } } @@ -5075,6 +7318,56 @@ class DeleteServiceLinkedRoleResponse extends AbstractModel { } } +/** + * ListUsersForGroup返回参数结构体 + * @class + */ +class ListUsersForGroupResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 用户组关联的用户总数。 + * @type {number || null} + */ + this.TotalNum = null; + + /** + * 子用户信息。 + * @type {Array. || null} + */ + this.UserInfo = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.TotalNum = 'TotalNum' in params ? params.TotalNum : null; + + if (params.UserInfo) { + this.UserInfo = new Array(); + for (let z in params.UserInfo) { + let obj = new GroupMemberInfo(); + obj.deserialize(params.UserInfo[z]); + this.UserInfo.push(obj); + } + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + /** * GetPolicy返回参数结构体 * @class @@ -5173,40 +7466,7 @@ class GetPolicyResponse extends AbstractModel { */ class DescribeSafeAuthFlagRequest extends AbstractModel { constructor(){ - super(); - - } - - /** - * @private - */ - deserialize(params) { - if (!params) { - return; - } - - } -} - -/** - * AttachGroupPolicy请求参数结构体 - * @class - */ -class AttachGroupPolicyRequest extends AbstractModel { - constructor(){ - super(); - - /** - * 策略 id - * @type {number || null} - */ - this.PolicyId = null; - - /** - * 用户组 id - * @type {number || null} - */ - this.AttachGroupId = null; + super(); } @@ -5217,8 +7477,6 @@ class AttachGroupPolicyRequest extends AbstractModel { if (!params) { return; } - this.PolicyId = 'PolicyId' in params ? params.PolicyId : null; - this.AttachGroupId = 'AttachGroupId' in params ? params.AttachGroupId : null; } } @@ -5311,25 +7569,13 @@ class AttachEntityOfPolicy extends AbstractModel { } /** - * ListUsersForGroup返回参数结构体 + * DeleteOIDCConfig返回参数结构体 * @class */ -class ListUsersForGroupResponse extends AbstractModel { +class DeleteOIDCConfigResponse extends AbstractModel { constructor(){ super(); - /** - * 用户组关联的用户总数。 - * @type {number || null} - */ - this.TotalNum = null; - - /** - * 子用户信息。 - * @type {Array. || null} - */ - this.UserInfo = null; - /** * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 * @type {string || null} @@ -5345,16 +7591,6 @@ class ListUsersForGroupResponse extends AbstractModel { if (!params) { return; } - this.TotalNum = 'TotalNum' in params ? params.TotalNum : null; - - if (params.UserInfo) { - this.UserInfo = new Array(); - for (let z in params.UserInfo) { - let obj = new GroupMemberInfo(); - obj.deserialize(params.UserInfo[z]); - this.UserInfo.push(obj); - } - } this.RequestId = 'RequestId' in params ? params.RequestId : null; } @@ -5483,6 +7719,69 @@ class AddUserResponse extends AbstractModel { } } +/** + * 用于ListPoliciesGrantingServiceAccess接口的Service节点 + * @class + */ +class ListGrantServiceAccessService extends AbstractModel { + constructor(){ + super(); + + /** + * 服务 + * @type {string || null} + */ + this.ServiceType = null; + + /** + * 服务名 + * @type {string || null} + */ + this.ServiceName = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.ServiceType = 'ServiceType' in params ? params.ServiceType : null; + this.ServiceName = 'ServiceName' in params ? params.ServiceName : null; + + } +} + +/** + * CreateUserSAMLConfig返回参数结构体 + * @class + */ +class CreateUserSAMLConfigResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + /** * DescribeSubAccounts返回参数结构体 * @class @@ -5606,6 +7905,34 @@ class AddUserToGroupResponse extends AbstractModel { } } +/** + * UpdateUserSAMLConfig返回参数结构体 + * @class + */ +class UpdateUserSAMLConfigResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + /** * AttachUserPolicy返回参数结构体 * @class @@ -5900,6 +8227,49 @@ class ListAccessKeysResponse extends AbstractModel { } } +/** + * GetSecurityLastUsed返回参数结构体 + * @class + */ +class GetSecurityLastUsedResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 密钥ID最近访问列表 + * @type {Array. || null} + */ + this.SecretIdLastUsedRows = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + + if (params.SecretIdLastUsedRows) { + this.SecretIdLastUsedRows = new Array(); + for (let z in params.SecretIdLastUsedRows) { + let obj = new SecretIdLastUsed(); + obj.deserialize(params.SecretIdLastUsedRows[z]); + this.SecretIdLastUsedRows.push(obj); + } + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + /** * ListAttachedUserPolicies请求参数结构体 * @class @@ -5999,78 +8369,58 @@ class UpdatePolicyRequest extends AbstractModel { } /** - * 用户组用户信息 + * DeleteOIDCConfig请求参数结构体 * @class */ -class GroupMemberInfo extends AbstractModel { +class DeleteOIDCConfigRequest extends AbstractModel { constructor(){ super(); /** - * 子用户 Uid。 - * @type {number || null} - */ - this.Uid = null; - - /** - * 子用户 Uin。 - * @type {number || null} - */ - this.Uin = null; - - /** - * 子用户名称。 + * OIDC身份提供商名称 * @type {string || null} */ this.Name = null; - /** - * 手机号。 - * @type {string || null} - */ - this.PhoneNum = null; - - /** - * 手机区域代码。 - * @type {string || null} - */ - this.CountryCode = null; + } - /** - * 是否已验证手机。 - * @type {number || null} - */ - this.PhoneFlag = null; + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Name = 'Name' in params ? params.Name : null; - /** - * 邮箱地址。 - * @type {string || null} - */ - this.Email = null; + } +} - /** - * 是否已验证邮箱。 - * @type {number || null} - */ - this.EmailFlag = null; +/** + * UntagRole请求参数结构体 + * @class + */ +class UntagRoleRequest extends AbstractModel { + constructor(){ + super(); /** - * 用户类型。 - * @type {number || null} + * 标签键 + * @type {Array. || null} */ - this.UserType = null; + this.TagKeys = null; /** - * 创建时间。 + * 角色名,与角色ID至少输入一个 * @type {string || null} */ - this.CreateTime = null; + this.RoleName = null; /** - * 是否为主消息接收人。 - * @type {number || null} + * 角色ID,与角色名至少输入一个 + * @type {string || null} */ - this.IsReceiverOwner = null; + this.RoleId = null; } @@ -6081,17 +8431,9 @@ class GroupMemberInfo extends AbstractModel { if (!params) { return; } - this.Uid = 'Uid' in params ? params.Uid : null; - this.Uin = 'Uin' in params ? params.Uin : null; - this.Name = 'Name' in params ? params.Name : null; - this.PhoneNum = 'PhoneNum' in params ? params.PhoneNum : null; - this.CountryCode = 'CountryCode' in params ? params.CountryCode : null; - this.PhoneFlag = 'PhoneFlag' in params ? params.PhoneFlag : null; - this.Email = 'Email' in params ? params.Email : null; - this.EmailFlag = 'EmailFlag' in params ? params.EmailFlag : null; - this.UserType = 'UserType' in params ? params.UserType : null; - this.CreateTime = 'CreateTime' in params ? params.CreateTime : null; - this.IsReceiverOwner = 'IsReceiverOwner' in params ? params.IsReceiverOwner : null; + this.TagKeys = 'TagKeys' in params ? params.TagKeys : null; + this.RoleName = 'RoleName' in params ? params.RoleName : null; + this.RoleId = 'RoleId' in params ? params.RoleId : null; } } @@ -6133,37 +8475,54 @@ class CreateGroupResponse extends AbstractModel { module.exports = { SubAccountUser: SubAccountUser, - GetUserResponse: GetUserResponse, + ListAttachedRolePoliciesResponse: ListAttachedRolePoliciesResponse, + LoginActionFlagIntl: LoginActionFlagIntl, + UpdateUserOIDCConfigResponse: UpdateUserOIDCConfigResponse, ListAccessKeysRequest: ListAccessKeysRequest, SetMfaFlagResponse: SetMfaFlagResponse, + UpdateSAMLProviderRequest: UpdateSAMLProviderRequest, DeleteUserRequest: DeleteUserRequest, DetachGroupPolicyRequest: DetachGroupPolicyRequest, DescribeRoleListResponse: DescribeRoleListResponse, - CreatePolicyResponse: CreatePolicyResponse, + UpdatePolicyResponse: UpdatePolicyResponse, + DeleteUserResponse: DeleteUserResponse, GetRoleRequest: GetRoleRequest, CreateServiceLinkedRoleRequest: CreateServiceLinkedRoleRequest, ListAttachedGroupPoliciesRequest: ListAttachedGroupPoliciesRequest, ListGroupsForUserRequest: ListGroupsForUserRequest, AttachRolePolicyResponse: AttachRolePolicyResponse, + GetUserPermissionBoundaryRequest: GetUserPermissionBoundaryRequest, + DescribeOIDCConfigRequest: DescribeOIDCConfigRequest, + GetRolePermissionBoundaryRequest: GetRolePermissionBoundaryRequest, GetServiceLinkedRoleDeletionStatusResponse: GetServiceLinkedRoleDeletionStatusResponse, + GetSecurityLastUsedRequest: GetSecurityLastUsedRequest, + DescribeUserSAMLConfigResponse: DescribeUserSAMLConfigResponse, DeleteUserPermissionsBoundaryResponse: DeleteUserPermissionsBoundaryResponse, ListUsersResponse: ListUsersResponse, UpdateRoleDescriptionResponse: UpdateRoleDescriptionResponse, - DetachUserPolicyRequest: DetachUserPolicyRequest, - ListGroupsResponse: ListGroupsResponse, + GetAccountSummaryRequest: GetAccountSummaryRequest, + DeletePolicyResponse: DeletePolicyResponse, + GetUserAppIdResponse: GetUserAppIdResponse, + GetUserAppIdRequest: GetUserAppIdRequest, + DescribeOIDCConfigResponse: DescribeOIDCConfigResponse, ListPolicyVersionsRequest: ListPolicyVersionsRequest, GetCustomMFATokenInfoRequest: GetCustomMFATokenInfoRequest, DescribeRoleListRequest: DescribeRoleListRequest, + DescribeUserSAMLConfigRequest: DescribeUserSAMLConfigRequest, + TagRoleResponse: TagRoleResponse, + PutRolePermissionsBoundaryRequest: PutRolePermissionsBoundaryRequest, GetGroupRequest: GetGroupRequest, + StrategyInfo: StrategyInfo, DeleteRoleResponse: DeleteRoleResponse, PolicyVersionItem: PolicyVersionItem, + DetachUserPolicyRequest: DetachUserPolicyRequest, DescribeSubAccountsRequest: DescribeSubAccountsRequest, DeleteUserPermissionsBoundaryRequest: DeleteUserPermissionsBoundaryRequest, ListSAMLProvidersRequest: ListSAMLProvidersRequest, ListGroupsRequest: ListGroupsRequest, DeletePolicyVersionResponse: DeletePolicyVersionResponse, - UpdateSAMLProviderRequest: UpdateSAMLProviderRequest, - UpdateAssumeRolePolicyRequest: UpdateAssumeRolePolicyRequest, + GetRolePermissionBoundaryResponse: GetRolePermissionBoundaryResponse, + AttachedUserPolicyGroupInfo: AttachedUserPolicyGroupInfo, ListGroupsForUserResponse: ListGroupsForUserResponse, ListUsersForGroupRequest: ListUsersForGroupRequest, RemoveUserFromGroupRequest: RemoveUserFromGroupRequest, @@ -6173,24 +8532,33 @@ module.exports = { OffsiteFlag: OffsiteFlag, GroupIdOfUidInfo: GroupIdOfUidInfo, UpdateRoleDescriptionRequest: UpdateRoleDescriptionRequest, + UpdateUserSAMLConfigRequest: UpdateUserSAMLConfigRequest, DeleteGroupResponse: DeleteGroupResponse, RoleInfo: RoleInfo, DescribeSafeAuthFlagResponse: DescribeSafeAuthFlagResponse, CreatePolicyVersionRequest: CreatePolicyVersionRequest, + SecretIdLastUsed: SecretIdLastUsed, + CreateUserOIDCConfigResponse: CreateUserOIDCConfigResponse, + ListAttachedUserAllPoliciesResponse: ListAttachedUserAllPoliciesResponse, DeleteGroupRequest: DeleteGroupRequest, - ListAttachedRolePoliciesResponse: ListAttachedRolePoliciesResponse, - DeleteUserResponse: DeleteUserResponse, + GetUserResponse: GetUserResponse, + GetUserPermissionBoundaryResponse: GetUserPermissionBoundaryResponse, + CreatePolicyResponse: CreatePolicyResponse, DetachRolePolicyRequest: DetachRolePolicyRequest, + UntagRoleResponse: UntagRoleResponse, + ListPoliciesGrantingServiceAccessResponse: ListPoliciesGrantingServiceAccessResponse, DeleteRolePermissionsBoundaryRequest: DeleteRolePermissionsBoundaryRequest, - StrategyInfo: StrategyInfo, + RoleTags: RoleTags, + DescribeUserOIDCConfigResponse: DescribeUserOIDCConfigResponse, DeletePolicyRequest: DeletePolicyRequest, GroupInfo: GroupInfo, AddUserRequest: AddUserRequest, + UpdateAssumeRolePolicyRequest: UpdateAssumeRolePolicyRequest, LoginActionFlag: LoginActionFlag, DeleteRoleRequest: DeleteRoleRequest, ListWeChatWorkSubAccountsRequest: ListWeChatWorkSubAccountsRequest, UpdateRoleConsoleLoginRequest: UpdateRoleConsoleLoginRequest, - GetCustomMFATokenInfoResponse: GetCustomMFATokenInfoResponse, + UpdateUserResponse: UpdateUserResponse, UpdateAssumeRolePolicyResponse: UpdateAssumeRolePolicyResponse, GetPolicyVersionRequest: GetPolicyVersionRequest, CreateSAMLProviderResponse: CreateSAMLProviderResponse, @@ -6200,48 +8568,67 @@ module.exports = { SubAccountInfo: SubAccountInfo, CreateGroupRequest: CreateGroupRequest, SAMLProviderInfo: SAMLProviderInfo, + ListGrantServiceAccessPolicy: ListGrantServiceAccessPolicy, + DisableUserSSORequest: DisableUserSSORequest, + ListPoliciesGrantingServiceAccessRequest: ListPoliciesGrantingServiceAccessRequest, UpdateSAMLProviderResponse: UpdateSAMLProviderResponse, UpdateUserRequest: UpdateUserRequest, ListWeChatWorkSubAccountsResponse: ListWeChatWorkSubAccountsResponse, CreateSAMLProviderRequest: CreateSAMLProviderRequest, AttachPolicyInfo: AttachPolicyInfo, - PutRolePermissionsBoundaryRequest: PutRolePermissionsBoundaryRequest, + DisableUserSSOResponse: DisableUserSSOResponse, UpdateRoleConsoleLoginResponse: UpdateRoleConsoleLoginResponse, AttachRolePolicyRequest: AttachRolePolicyRequest, ConsumeCustomMFATokenResponse: ConsumeCustomMFATokenResponse, AttachUserPolicyRequest: AttachUserPolicyRequest, ListAttachedGroupPoliciesResponse: ListAttachedGroupPoliciesResponse, ListAttachedUserPoliciesResponse: ListAttachedUserPoliciesResponse, + ListGroupsResponse: ListGroupsResponse, PutUserPermissionsBoundaryResponse: PutUserPermissionsBoundaryResponse, - DeletePolicyResponse: DeletePolicyResponse, + GetPolicyVersionResponse: GetPolicyVersionResponse, + GetCustomMFATokenInfoResponse: GetCustomMFATokenInfoResponse, ConsumeCustomMFATokenRequest: ConsumeCustomMFATokenRequest, + CreateOIDCConfigRequest: CreateOIDCConfigRequest, AccessKey: AccessKey, GetGroupResponse: GetGroupResponse, + UpdateOIDCConfigResponse: UpdateOIDCConfigResponse, DeleteSAMLProviderRequest: DeleteSAMLProviderRequest, DeleteSAMLProviderResponse: DeleteSAMLProviderResponse, - UpdateUserResponse: UpdateUserResponse, + GetAccountSummaryResponse: GetAccountSummaryResponse, CreateServiceLinkedRoleResponse: CreateServiceLinkedRoleResponse, ListUsersRequest: ListUsersRequest, ListCollaboratorsRequest: ListCollaboratorsRequest, - UpdatePolicyResponse: UpdatePolicyResponse, + CreateUserOIDCConfigRequest: CreateUserOIDCConfigRequest, AttachGroupPolicyResponse: AttachGroupPolicyResponse, UpdateGroupResponse: UpdateGroupResponse, ListEntitiesForPolicyRequest: ListEntitiesForPolicyRequest, + TagRoleRequest: TagRoleRequest, ListPoliciesRequest: ListPoliciesRequest, GetServiceLinkedRoleDeletionStatusRequest: GetServiceLinkedRoleDeletionStatusRequest, + ListGrantServiceAccessActionNode: ListGrantServiceAccessActionNode, DetachGroupPolicyResponse: DetachGroupPolicyResponse, + GroupMemberInfo: GroupMemberInfo, CreatePolicyRequest: CreatePolicyRequest, + ListAttachedUserAllPoliciesRequest: ListAttachedUserAllPoliciesRequest, DeletePolicyVersionRequest: DeletePolicyVersionRequest, + CreateUserSAMLConfigRequest: CreateUserSAMLConfigRequest, UpdateGroupRequest: UpdateGroupRequest, - GetPolicyVersionResponse: GetPolicyVersionResponse, + ListGrantServiceAccessNode: ListGrantServiceAccessNode, + AttachGroupPolicyRequest: AttachGroupPolicyRequest, + UpdateOIDCConfigRequest: UpdateOIDCConfigRequest, CreateRoleResponse: CreateRoleResponse, GetSAMLProviderResponse: GetSAMLProviderResponse, + DescribeSafeAuthFlagIntlResponse: DescribeSafeAuthFlagIntlResponse, ListPolicyVersionsResponse: ListPolicyVersionsResponse, GetPolicyRequest: GetPolicyRequest, + DescribeSafeAuthFlagIntlRequest: DescribeSafeAuthFlagIntlRequest, SetDefaultPolicyVersionRequest: SetDefaultPolicyVersionRequest, + UpdateUserOIDCConfigRequest: UpdateUserOIDCConfigRequest, AddUserToGroupRequest: AddUserToGroupRequest, RemoveUserFromGroupResponse: RemoveUserFromGroupResponse, DetachRolePolicyResponse: DetachRolePolicyResponse, + DescribeUserOIDCConfigRequest: DescribeUserOIDCConfigRequest, + CreateOIDCConfigResponse: CreateOIDCConfigResponse, AttachedPolicyOfRole: AttachedPolicyOfRole, PutUserPermissionsBoundaryRequest: PutUserPermissionsBoundaryRequest, ListSAMLProvidersResponse: ListSAMLProvidersResponse, @@ -6251,18 +8638,22 @@ module.exports = { DetachUserPolicyResponse: DetachUserPolicyResponse, GetRoleResponse: GetRoleResponse, CreateRoleRequest: CreateRoleRequest, + AttachedUserPolicy: AttachedUserPolicy, DeleteServiceLinkedRoleResponse: DeleteServiceLinkedRoleResponse, + ListUsersForGroupResponse: ListUsersForGroupResponse, GetPolicyResponse: GetPolicyResponse, DescribeSafeAuthFlagRequest: DescribeSafeAuthFlagRequest, - AttachGroupPolicyRequest: AttachGroupPolicyRequest, DeleteServiceLinkedRoleRequest: DeleteServiceLinkedRoleRequest, AttachEntityOfPolicy: AttachEntityOfPolicy, - ListUsersForGroupResponse: ListUsersForGroupResponse, + DeleteOIDCConfigResponse: DeleteOIDCConfigResponse, PolicyVersionDetail: PolicyVersionDetail, AddUserResponse: AddUserResponse, + ListGrantServiceAccessService: ListGrantServiceAccessService, + CreateUserSAMLConfigResponse: CreateUserSAMLConfigResponse, DescribeSubAccountsResponse: DescribeSubAccountsResponse, ListEntitiesForPolicyResponse: ListEntitiesForPolicyResponse, AddUserToGroupResponse: AddUserToGroupResponse, + UpdateUserSAMLConfigResponse: UpdateUserSAMLConfigResponse, AttachUserPolicyResponse: AttachUserPolicyResponse, DescribeSafeAuthFlagCollResponse: DescribeSafeAuthFlagCollResponse, DescribeSafeAuthFlagCollRequest: DescribeSafeAuthFlagCollRequest, @@ -6270,9 +8661,11 @@ module.exports = { SetMfaFlagRequest: SetMfaFlagRequest, ListCollaboratorsResponse: ListCollaboratorsResponse, ListAccessKeysResponse: ListAccessKeysResponse, + GetSecurityLastUsedResponse: GetSecurityLastUsedResponse, ListAttachedUserPoliciesRequest: ListAttachedUserPoliciesRequest, UpdatePolicyRequest: UpdatePolicyRequest, - GroupMemberInfo: GroupMemberInfo, + DeleteOIDCConfigRequest: DeleteOIDCConfigRequest, + UntagRoleRequest: UntagRoleRequest, CreateGroupResponse: CreateGroupResponse, } diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/captcha/v20190722/captcha_client.js b/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/captcha/v20190722/captcha_client.js index 0f764f1c1e..d28fe612e1 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/captcha/v20190722/captcha_client.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/captcha/v20190722/captcha_client.js @@ -155,7 +155,7 @@ class CaptchaClient extends AbstractClient { } /** - * 核查验证码小程序插件票据结果 + * 核查验证码票据结果(小程序插件) * @param {DescribeCaptchaMiniResultRequest} req * @param {function(string, DescribeCaptchaMiniResultResponse):void} cb * @public @@ -199,7 +199,7 @@ class CaptchaClient extends AbstractClient { } /** - * 核查验证码票据结果 + * 核查验证码票据结果(Web及APP) * @param {DescribeCaptchaResultRequest} req * @param {function(string, DescribeCaptchaResultResponse):void} cb * @public diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/captcha/v20190722/models.js b/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/captcha/v20190722/models.js index 053c3c9069..0814d20272 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/captcha/v20190722/models.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/captcha/v20190722/models.js @@ -788,7 +788,7 @@ class DescribeCaptchaMiniRiskResultRequest extends AbstractModel { this.Ticket = null; /** - * 用户操作来源的外网 IP + * 业务侧获取到的验证码使用者的外网IP * @type {string || null} */ this.UserIp = null; @@ -1012,6 +1012,12 @@ class DescribeCaptchaTicketDataRequest extends AbstractModel { */ this.Start = null; + /** + * 查询结束时间 例如:20220314 + * @type {number || null} + */ + this.End = null; + } /** @@ -1023,6 +1029,7 @@ class DescribeCaptchaTicketDataRequest extends AbstractModel { } this.CaptchaAppId = 'CaptchaAppId' in params ? params.CaptchaAppId : null; this.Start = 'Start' in params ? params.Start : null; + this.End = 'End' in params ? params.End : null; } } @@ -1137,6 +1144,12 @@ class DescribeCaptchaOperDataRequest extends AbstractModel { */ this.Type = null; + /** + * 查询结束时间 + * @type {number || null} + */ + this.End = null; + } /** @@ -1149,6 +1162,7 @@ class DescribeCaptchaOperDataRequest extends AbstractModel { this.CaptchaAppId = 'CaptchaAppId' in params ? params.CaptchaAppId : null; this.Start = 'Start' in params ? params.Start : null; this.Type = 'Type' in params ? params.Type : null; + this.End = 'End' in params ? params.End : null; } } @@ -1447,7 +1461,7 @@ class DescribeCaptchaResultRequest extends AbstractModel { this.Ticket = null; /** - * 透传业务侧获取到的验证码使用者的IP + * 业务侧获取到的验证码使用者的外网IP * @type {string || null} */ this.UserIp = null; @@ -1459,13 +1473,13 @@ class DescribeCaptchaResultRequest extends AbstractModel { this.Randstr = null; /** - * 验证码应用ID + * 验证码应用ID。登录 [验证码控制台](https://console.cloud.tencent.com/captcha/graphical),在验证列表的【密钥】列,即可查看到CaptchaAppId。 * @type {number || null} */ this.CaptchaAppId = null; /** - * 用于服务器端校验验证码票据的验证密钥,请妥善保密,请勿泄露给第三方 + * 验证码应用密钥。登录 [验证码控制台](https://console.cloud.tencent.com/captcha/graphical),在验证列表的【密钥】列,即可查看到AppSecretKey。AppSecretKey属于服务器端校验验证码票据的密钥,请妥善保密,请勿泄露给第三方。 * @type {string || null} */ this.AppSecretKey = null; @@ -1543,18 +1557,19 @@ class DescribeCaptchaResultResponse extends AbstractModel { 12 sig len error 签名长度错误 13 verify ip no match ip不匹配,非法请求,可能存在不规范接入 15 decrypt fail 验证码签名解密失败,票据校验失败,请检查Ticket票据是否与前端返回Ticket一致 -16 appid no match 验证码强校验appid错误,请检查CaptchaAppId是否为控制台基础配置界面系统分配的APPID +16 appid no match 验证码强校验appid错误,前端代码 data-appid 和后端 CaptchaAppId 所填写的值,必须和 验证码控制台 中【验证详情】>【基础配置】内的 AppID 一致,请检查CaptchaAppId是否为控制台基础配置界面系统分配的APPID 17 cmd no much 验证码系统命令不匹配 18 uin no match 号码不匹配 19 seq redirect 重定向验证 20 opt no vcode 操作使用pt免验证码校验错误 -21 diff 差别,验证错误 +21 diff 差别,验证错误 +该情况出现原因一般为,当验证码前端生成terror格式票据并进行后端票据校验时,用户网络较差,该情况下仍会返回可用票据,业务侧可以自行根据需要,进行票据生成或做其他处理。详情参见 [验证码Web前端接入-异常处理文档](https://cloud.tencent.com/document/product/1110/36841#.E5.BC.82.E5.B8.B8.E5.A4.84.E7.90.86)。 22 captcha type not match 验证码类型与拉取时不一致 23 verify type error 验证类型错误 24 invalid pkg 非法请求包 25 bad visitor 策略拦截 26 system busy 系统内部错误 -100 param err appsecretkey 参数校验错误,请检查AppSecretKey是否与控制台基础配置界面系统分配的APPID、AppSecretKey相对应 +100 param err appsecretkey 参数校验错误,CaptchaAppId 与对应 AppSecretKey 不一致,需检查 AppSecretKey 参数是否有误。其中 CaptchaAppId、 AppSecretKey 在 验证码控制台 的【验证详情】>【基础配置】中获取 104 Ticket Reuse 票据重复使用,同个票据验证多次,请重新生成Randstr、Ticket进行校验 * @type {number || null} */ @@ -1673,6 +1688,12 @@ class DescribeCaptchaMiniOperDataRequest extends AbstractModel { */ this.Type = null; + /** + * 查询结束时间 + * @type {number || null} + */ + this.End = null; + } /** @@ -1685,6 +1706,7 @@ class DescribeCaptchaMiniOperDataRequest extends AbstractModel { this.CaptchaAppId = 'CaptchaAppId' in params ? params.CaptchaAppId : null; this.Start = 'Start' in params ? params.Start : null; this.Type = 'Type' in params ? params.Type : null; + this.End = 'End' in params ? params.End : null; } } @@ -1981,19 +2003,19 @@ class DescribeCaptchaMiniResultRequest extends AbstractModel { this.Ticket = null; /** - * 透传业务侧获取到的验证码使用者的IP + * 业务侧获取到的验证码使用者的外网IP * @type {string || null} */ this.UserIp = null; /** - * 验证码应用APPID + * 验证码应用ID。登录 [验证码控制台](https://console.cloud.tencent.com/captcha/graphical),在验证列表的【密钥】列,即可查看到CaptchaAppId。 * @type {number || null} */ this.CaptchaAppId = null; /** - * 用于服务器端校验验证码票据的验证密钥,请妥善保密,请勿泄露给第三方 + * 验证码应用密钥。登录 [验证码控制台](https://console.cloud.tencent.com/captcha/graphical),在验证列表的【密钥】列,即可查看到AppSecretKey。AppSecretKey属于服务器端校验验证码票据的密钥,请妥善保密,请勿泄露给第三方。 * @type {string || null} */ this.AppSecretKey = null; @@ -2182,6 +2204,7 @@ class DescribeCaptchaMiniResultResponse extends AbstractModel { 15 ticket decryption failed 票据解密失败 16 CaptchaAppId wrong format 检查验证码应用APPID错误 21 ticket error 票据验证错误 +25 invalid ticket 无效票据 26 system internal error 系统内部错误 100 param err 参数校验错误 * @type {number || null} diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/car/index.js b/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/car/index.js new file mode 100644 index 0000000000..acf376fb62 --- /dev/null +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/car/index.js @@ -0,0 +1,3 @@ +module.exports = { + v20220110: require("./v20220110"), +}; diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/car/v20220110/car_client.js b/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/car/v20220110/car_client.js new file mode 100644 index 0000000000..a1a97f8b7b --- /dev/null +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/car/v20220110/car_client.js @@ -0,0 +1,72 @@ +/* + * Copyright (c) 2018 THL A29 Limited, a Tencent company. All Rights Reserved. + * + * 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. + */ +const models = require("./models"); +const AbstractClient = require('../../common/abstract_client') +const CreateSessionResponse = models.CreateSessionResponse; +const DestroySessionResponse = models.DestroySessionResponse; +const ApplyConcurrentResponse = models.ApplyConcurrentResponse; +const ApplyConcurrentRequest = models.ApplyConcurrentRequest; +const DestroySessionRequest = models.DestroySessionRequest; +const CreateSessionRequest = models.CreateSessionRequest; + + +/** + * car client + * @class + */ +class CarClient extends AbstractClient { + + constructor(credential, region, profile) { + super("car.tencentcloudapi.com", "2022-01-10", credential, region, profile); + } + + /** + * 申请并发 + * @param {ApplyConcurrentRequest} req + * @param {function(string, ApplyConcurrentResponse):void} cb + * @public + */ + ApplyConcurrent(req, cb) { + let resp = new ApplyConcurrentResponse(); + this.request("ApplyConcurrent", req, resp, cb); + } + + /** + * 销毁会话 + * @param {DestroySessionRequest} req + * @param {function(string, DestroySessionResponse):void} cb + * @public + */ + DestroySession(req, cb) { + let resp = new DestroySessionResponse(); + this.request("DestroySession", req, resp, cb); + } + + /** + * 创建会话 + * @param {CreateSessionRequest} req + * @param {function(string, CreateSessionResponse):void} cb + * @public + */ + CreateSession(req, cb) { + let resp = new CreateSessionResponse(); + this.request("CreateSession", req, resp, cb); + } + + +} +module.exports = CarClient; diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/car/v20220110/index.js b/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/car/v20220110/index.js new file mode 100644 index 0000000000..ecda47ee6d --- /dev/null +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/car/v20220110/index.js @@ -0,0 +1,4 @@ +module.exports = { + Client: require("./car_client"), + Models: require("./models"), +}; diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/car/v20220110/models.js b/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/car/v20220110/models.js new file mode 100644 index 0000000000..38b12515f2 --- /dev/null +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/car/v20220110/models.js @@ -0,0 +1,237 @@ +/* + * Copyright (c) 2018 THL A29 Limited, a Tencent company. All Rights Reserved. + * + * 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. + */ +const AbstractModel = require("../../common/abstract_model"); + +/** + * CreateSession返回参数结构体 + * @class + */ +class CreateSessionResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 服务端session信息,返回给SDK + * @type {string || null} + */ + this.ServerSession = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.ServerSession = 'ServerSession' in params ? params.ServerSession : null; + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * DestroySession返回参数结构体 + * @class + */ +class DestroySessionResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * ApplyConcurrent返回参数结构体 + * @class + */ +class ApplyConcurrentResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * ApplyConcurrent请求参数结构体 + * @class + */ +class ApplyConcurrentRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 唯一用户身份标识,由业务方自定义,平台不予理解。(可根据业务需要决定使用用户的唯一身份标识或是使用时间戳随机生成;在用户重连时应保持UserId不变) + * @type {string || null} + */ + this.UserId = null; + + /** + * 用户IP + * @type {string || null} + */ + this.UserIp = null; + + /** + * 项目ID + * @type {string || null} + */ + this.ProjectId = null; + + /** + * 应用版本ID + * @type {string || null} + */ + this.ApplicationVersionId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.UserId = 'UserId' in params ? params.UserId : null; + this.UserIp = 'UserIp' in params ? params.UserIp : null; + this.ProjectId = 'ProjectId' in params ? params.ProjectId : null; + this.ApplicationVersionId = 'ApplicationVersionId' in params ? params.ApplicationVersionId : null; + + } +} + +/** + * DestroySession请求参数结构体 + * @class + */ +class DestroySessionRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 唯一用户身份标识,由业务方自定义,平台不予理解。(可根据业务需要决定使用用户的唯一身份标识或是使用时间戳随机生成;在用户重连时应保持UserId不变) + * @type {string || null} + */ + this.UserId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.UserId = 'UserId' in params ? params.UserId : null; + + } +} + +/** + * CreateSession请求参数结构体 + * @class + */ +class CreateSessionRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 唯一用户身份标识,由业务方自定义,平台不予理解。(可根据业务需要决定使用用户的唯一身份标识或是使用时间戳随机生成;在用户重连时应保持UserId不变) + * @type {string || null} + */ + this.UserId = null; + + /** + * 用户IP + * @type {string || null} + */ + this.UserIp = null; + + /** + * 客户端session信息,从SDK请求中获得 + * @type {string || null} + */ + this.ClientSession = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.UserId = 'UserId' in params ? params.UserId : null; + this.UserIp = 'UserIp' in params ? params.UserIp : null; + this.ClientSession = 'ClientSession' in params ? params.ClientSession : null; + + } +} + +module.exports = { + CreateSessionResponse: CreateSessionResponse, + DestroySessionResponse: DestroySessionResponse, + ApplyConcurrentResponse: ApplyConcurrentResponse, + ApplyConcurrentRequest: ApplyConcurrentRequest, + DestroySessionRequest: DestroySessionRequest, + CreateSessionRequest: CreateSessionRequest, + +} diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/casb/index.js b/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/casb/index.js new file mode 100644 index 0000000000..dd2d3a0237 --- /dev/null +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/casb/index.js @@ -0,0 +1,3 @@ +module.exports = { + v20200507: require("./v20200507"), +}; diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/casb/v20200507/casb_client.js b/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/casb/v20200507/casb_client.js new file mode 100644 index 0000000000..f8ccfc5910 --- /dev/null +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/casb/v20200507/casb_client.js @@ -0,0 +1,54 @@ +/* + * Copyright (c) 2018 THL A29 Limited, a Tencent company. All Rights Reserved. + * + * 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. + */ +const models = require("./models"); +const AbstractClient = require('../../common/abstract_client') +const CopyCryptoColumnPolicyRequest = models.CopyCryptoColumnPolicyRequest; +const CryptoCopyColumnPolicyTableFilter = models.CryptoCopyColumnPolicyTableFilter; +const CopyCryptoColumnPolicyResponse = models.CopyCryptoColumnPolicyResponse; + + +/** + * casb client + * @class + */ +class CasbClient extends AbstractClient { + + constructor(credential, region, profile) { + super("casb.tencentcloudapi.com", "2020-05-07", credential, region, profile); + } + + /** + * 同region下 根据用户输入的CasbId,MetaDataId 复制策略到DstCasbId,MetaDataId中。 +场景1: +相同CasbId,不同MetadataId 下策略复制 +场景2: +不同Casbid,不同MetaDataId 下策略复制 +场景3: +相同CasbId,相同MetaDataId 且 DatabaseName不同 策略复制 + + * @param {CopyCryptoColumnPolicyRequest} req + * @param {function(string, CopyCryptoColumnPolicyResponse):void} cb + * @public + */ + CopyCryptoColumnPolicy(req, cb) { + let resp = new CopyCryptoColumnPolicyResponse(); + this.request("CopyCryptoColumnPolicy", req, resp, cb); + } + + +} +module.exports = CasbClient; diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/casb/v20200507/index.js b/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/casb/v20200507/index.js new file mode 100644 index 0000000000..6239db2bdc --- /dev/null +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/casb/v20200507/index.js @@ -0,0 +1,4 @@ +module.exports = { + Client: require("./casb_client"), + Models: require("./models"), +}; diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/casb/v20200507/models.js b/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/casb/v20200507/models.js new file mode 100644 index 0000000000..fab97475b6 --- /dev/null +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/casb/v20200507/models.js @@ -0,0 +1,158 @@ +/* + * Copyright (c) 2018 THL A29 Limited, a Tencent company. All Rights Reserved. + * + * 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. + */ +const AbstractModel = require("../../common/abstract_model"); + +/** + * CopyCryptoColumnPolicy请求参数结构体 + * @class + */ +class CopyCryptoColumnPolicyRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 实例Id + * @type {string || null} + */ + this.CasbId = null; + + /** + * 元数据id + * @type {string || null} + */ + this.MetaDataId = null; + + /** + * 目标实例Id 如果和实例Id相同则为同CasbId下的策略复制 + * @type {string || null} + */ + this.DstCasbId = null; + + /** + * 目标实例Id 如果和[元数据id]相同则为同元数据下的策略复制 + * @type {string || null} + */ + this.DstMetaDataId = null; + + /** + * 筛选来源数据库的表 + * @type {Array. || null} + */ + this.SrcTableFilter = null; + + /** + * 复制同元数据下的策略,需要填写目标数据库名 + * @type {string || null} + */ + this.DstDatabaseName = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.CasbId = 'CasbId' in params ? params.CasbId : null; + this.MetaDataId = 'MetaDataId' in params ? params.MetaDataId : null; + this.DstCasbId = 'DstCasbId' in params ? params.DstCasbId : null; + this.DstMetaDataId = 'DstMetaDataId' in params ? params.DstMetaDataId : null; + + if (params.SrcTableFilter) { + this.SrcTableFilter = new Array(); + for (let z in params.SrcTableFilter) { + let obj = new CryptoCopyColumnPolicyTableFilter(); + obj.deserialize(params.SrcTableFilter[z]); + this.SrcTableFilter.push(obj); + } + } + this.DstDatabaseName = 'DstDatabaseName' in params ? params.DstDatabaseName : null; + + } +} + +/** + * 策略迁移表信息筛选 + * @class + */ +class CryptoCopyColumnPolicyTableFilter extends AbstractModel { + constructor(){ + super(); + + /** + * 数据库名称 + * @type {string || null} + */ + this.DatabaseName = null; + + /** + * 表名称 + * @type {Array. || null} + */ + this.TableNameSet = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.DatabaseName = 'DatabaseName' in params ? params.DatabaseName : null; + this.TableNameSet = 'TableNameSet' in params ? params.TableNameSet : null; + + } +} + +/** + * CopyCryptoColumnPolicy返回参数结构体 + * @class + */ +class CopyCryptoColumnPolicyResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +module.exports = { + CopyCryptoColumnPolicyRequest: CopyCryptoColumnPolicyRequest, + CryptoCopyColumnPolicyTableFilter: CryptoCopyColumnPolicyTableFilter, + CopyCryptoColumnPolicyResponse: CopyCryptoColumnPolicyResponse, + +} diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/cat/v20180409/cat_client.js b/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/cat/v20180409/cat_client.js index a6208e7cc9..498ad22f34 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/cat/v20180409/cat_client.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/cat/v20180409/cat_client.js @@ -16,75 +16,102 @@ */ const models = require("./models"); const AbstractClient = require('../../common/abstract_client') -const GetReturnCodeInfoResponse = models.GetReturnCodeInfoResponse; const ModifyAgentGroupRequest = models.ModifyAgentGroupRequest; -const BindAlarmPolicyResponse = models.BindAlarmPolicyResponse; const AlarmInfo = models.AlarmInfo; -const GetDailyAvailRatioRequest = models.GetDailyAvailRatioRequest; -const ModifyTaskExResponse = models.ModifyTaskExResponse; -const DescribeAgentsRequest = models.DescribeAgentsRequest; -const CatReturnSummary = models.CatReturnSummary; -const CatReturnDetail = models.CatReturnDetail; +const CreateTaskExResponse = models.CreateTaskExResponse; +const DescribeProbeNodesResponse = models.DescribeProbeNodesResponse; const RunTaskRequest = models.RunTaskRequest; -const DimensionsDetail = models.DimensionsDetail; -const GetRespTimeTrendExResponse = models.GetRespTimeTrendExResponse; -const ModifyAgentGroupResponse = models.ModifyAgentGroupResponse; const DescribeTaskDetailResponse = models.DescribeTaskDetailResponse; +const DescribeProbeMetricDataResponse = models.DescribeProbeMetricDataResponse; +const DeleteTasksResponse = models.DeleteTasksResponse; +const CatTaskDetail = models.CatTaskDetail; +const BindAlarmPolicyRequest = models.BindAlarmPolicyRequest; +const DeleteProbeTaskRequest = models.DeleteProbeTaskRequest; +const ResultSummary = models.ResultSummary; +const DescribeDetailedSingleProbeDataResponse = models.DescribeDetailedSingleProbeDataResponse; +const DescribeAlarmsByTaskRequest = models.DescribeAlarmsByTaskRequest; +const DescribeAlarmsRequest = models.DescribeAlarmsRequest; +const DescribeUserLimitResponse = models.DescribeUserLimitResponse; +const CreateTaskExRequest = models.CreateTaskExRequest; +const PauseTaskRequest = models.PauseTaskRequest; +const GetResultSummaryRequest = models.GetResultSummaryRequest; +const ProbeTask = models.ProbeTask; +const DataPoint = models.DataPoint; +const DescribeAlarmTopicResponse = models.DescribeAlarmTopicResponse; +const DescribeUserLimitRequest = models.DescribeUserLimitRequest; +const Label = models.Label; +const DescribeAgentsRequest = models.DescribeAgentsRequest; +const KeyValuePair = models.KeyValuePair; +const CatReturnDetail = models.CatReturnDetail; const IspDetail = models.IspDetail; -const DataPointMetric = models.DataPointMetric; const GetReturnCodeInfoRequest = models.GetReturnCodeInfoRequest; -const DescribeCatLogsRequest = models.DescribeCatLogsRequest; const DescribeAgentsResponse = models.DescribeAgentsResponse; -const GetAvailRatioHistoryResponse = models.GetAvailRatioHistoryResponse; const CreateAgentGroupResponse = models.CreateAgentGroupResponse; -const DeleteTasksResponse = models.DeleteTasksResponse; -const DescribeAlarmsResponse = models.DescribeAlarmsResponse; -const GetRealAvailRatioRequest = models.GetRealAvailRatioRequest; +const DescribeDetailedSingleProbeDataRequest = models.DescribeDetailedSingleProbeDataRequest; const DeleteAgentGroupResponse = models.DeleteAgentGroupResponse; const AgentGroup = models.AgentGroup; -const DescribeTaskDetailRequest = models.DescribeTaskDetailRequest; -const DescribeTasksByTypeResponse = models.DescribeTasksByTypeResponse; -const GetResultSummaryResponse = models.GetResultSummaryResponse; +const Tag = models.Tag; const GetReturnCodeHistoryRequest = models.GetReturnCodeHistoryRequest; -const BindAlarmPolicyRequest = models.BindAlarmPolicyRequest; -const DescribeAgentGroupsResponse = models.DescribeAgentGroupsResponse; const ProvinceDetail = models.ProvinceDetail; -const AlarmTopic = models.AlarmTopic; -const ResultSummary = models.ResultSummary; -const PauseTaskRequest = models.PauseTaskRequest; -const GetResultSummaryRequest = models.GetResultSummaryRequest; -const DescribeAlarmsRequest = models.DescribeAlarmsRequest; -const DescribeUserLimitResponse = models.DescribeUserLimitResponse; -const GetRespTimeTrendExRequest = models.GetRespTimeTrendExRequest; -const DeleteTasksRequest = models.DeleteTasksRequest; -const DescribeAlarmsByTaskRequest = models.DescribeAlarmsByTaskRequest; -const PauseTaskResponse = models.PauseTaskResponse; +const GetRealAvailRatioResponse = models.GetRealAvailRatioResponse; +const UpdateProbeTaskConfigurationListResponse = models.UpdateProbeTaskConfigurationListResponse; const CreateAgentGroupRequest = models.CreateAgentGroupRequest; -const CatLog = models.CatLog; -const GetDailyAvailRatioResponse = models.GetDailyAvailRatioResponse; -const DeleteAgentGroupRequest = models.DeleteAgentGroupRequest; -const GetAvailRatioHistoryRequest = models.GetAvailRatioHistoryRequest; -const DescribeAgentGroupsRequest = models.DescribeAgentGroupsRequest; +const ResumeProbeTaskResponse = models.ResumeProbeTaskResponse; +const ModifyTaskExResponse = models.ModifyTaskExResponse; const DescribeAlarmsByTaskResponse = models.DescribeAlarmsByTaskResponse; const ModifyTaskExRequest = models.ModifyTaskExRequest; +const ResumeProbeTaskRequest = models.ResumeProbeTaskRequest; +const DescribeTasksByTypeRequest = models.DescribeTasksByTypeRequest; +const NodeDefine = models.NodeDefine; +const GetReturnCodeHistoryResponse = models.GetReturnCodeHistoryResponse; +const GetAvailRatioHistoryRequest = models.GetAvailRatioHistoryRequest; +const GetTaskTotalNumberResponse = models.GetTaskTotalNumberResponse; +const DimensionsDetail = models.DimensionsDetail; +const GetDailyAvailRatioRequest = models.GetDailyAvailRatioRequest; +const CatReturnSummary = models.CatReturnSummary; +const TaskResult = models.TaskResult; +const SuspendProbeTaskResponse = models.SuspendProbeTaskResponse; +const GetRespTimeTrendExResponse = models.GetRespTimeTrendExResponse; +const DataPointMetric = models.DataPointMetric; +const DescribeCatLogsRequest = models.DescribeCatLogsRequest; +const GetAvailRatioHistoryResponse = models.GetAvailRatioHistoryResponse; +const DescribeProbeTasksResponse = models.DescribeProbeTasksResponse; +const DescribeAlarmsResponse = models.DescribeAlarmsResponse; +const DescribeTasksByTypeResponse = models.DescribeTasksByTypeResponse; const DescribeAlarmTopicRequest = models.DescribeAlarmTopicRequest; -const CreateTaskExRequest = models.CreateTaskExRequest; -const GetTaskTotalNumberRequest = models.GetTaskTotalNumberRequest; +const DescribeAgentGroupsResponse = models.DescribeAgentGroupsResponse; +const SuspendProbeTaskRequest = models.SuspendProbeTaskRequest; +const DescribeProbeMetricDataRequest = models.DescribeProbeMetricDataRequest; +const GetRespTimeTrendExRequest = models.GetRespTimeTrendExRequest; +const UpdateProbeTaskConfigurationListRequest = models.UpdateProbeTaskConfigurationListRequest; +const CreateProbeTasksRequest = models.CreateProbeTasksRequest; +const CatLog = models.CatLog; +const DescribeAgentGroupsRequest = models.DescribeAgentGroupsRequest; const TaskAlarm = models.TaskAlarm; -const DescribeTasksByTypeRequest = models.DescribeTasksByTypeRequest; +const DescribeCatLogsResponse = models.DescribeCatLogsResponse; +const DetailedSingleDataDefine = models.DetailedSingleDataDefine; +const GetReturnCodeInfoResponse = models.GetReturnCodeInfoResponse; +const BindAlarmPolicyResponse = models.BindAlarmPolicyResponse; +const RunTaskResponse = models.RunTaskResponse; +const Field = models.Field; +const ProbeTaskBasicConfiguration = models.ProbeTaskBasicConfiguration; const VerifyResultRequest = models.VerifyResultRequest; +const GetTaskTotalNumberRequest = models.GetTaskTotalNumberRequest; +const ModifyAgentGroupResponse = models.ModifyAgentGroupResponse; +const DescribeTaskDetailRequest = models.DescribeTaskDetailRequest; +const GetResultSummaryResponse = models.GetResultSummaryResponse; const VerifyResultResponse = models.VerifyResultResponse; -const CatTaskDetail = models.CatTaskDetail; -const GetReturnCodeHistoryResponse = models.GetReturnCodeHistoryResponse; -const DataPoint = models.DataPoint; -const DescribeAlarmTopicResponse = models.DescribeAlarmTopicResponse; -const GetRealAvailRatioResponse = models.GetRealAvailRatioResponse; -const RunTaskResponse = models.RunTaskResponse; +const AlarmTopic = models.AlarmTopic; +const DeleteTasksRequest = models.DeleteTasksRequest; +const DescribeProbeTasksRequest = models.DescribeProbeTasksRequest; +const PauseTaskResponse = models.PauseTaskResponse; +const GetDailyAvailRatioResponse = models.GetDailyAvailRatioResponse; +const DeleteAgentGroupRequest = models.DeleteAgentGroupRequest; +const GetRealAvailRatioRequest = models.GetRealAvailRatioRequest; +const DeleteProbeTaskResponse = models.DeleteProbeTaskResponse; +const CreateProbeTasksResponse = models.CreateProbeTasksResponse; +const DescribeProbeNodesRequest = models.DescribeProbeNodesRequest; const CatAgent = models.CatAgent; -const DescribeCatLogsResponse = models.DescribeCatLogsResponse; -const GetTaskTotalNumberResponse = models.GetTaskTotalNumberResponse; -const CreateTaskExResponse = models.CreateTaskExResponse; -const DescribeUserLimitRequest = models.DescribeUserLimitRequest; /** @@ -97,6 +124,17 @@ class CatClient extends AbstractClient { super("cat.tencentcloudapi.com", "2018-04-09", credential, region, profile); } + /** + * 暂停拨测任务 + * @param {SuspendProbeTaskRequest} req + * @param {function(string, SuspendProbeTaskResponse):void} cb + * @public + */ + SuspendProbeTask(req, cb) { + let resp = new SuspendProbeTaskResponse(); + this.request("SuspendProbeTask", req, resp, cb); + } + /** * 查询拨测任务的走势数据 * @param {GetRespTimeTrendExRequest} req @@ -130,6 +168,17 @@ class CatClient extends AbstractClient { this.request("DescribeTasksByType", req, resp, cb); } + /** + * 验证拨测任务,结果验证查询(验证成功的,才建议创建拨测任务) + * @param {VerifyResultRequest} req + * @param {function(string, VerifyResultResponse):void} cb + * @public + */ + VerifyResult(req, cb) { + let resp = new VerifyResultResponse(); + this.request("VerifyResult", req, resp, cb); + } + /** * 创建拨测任务(扩展) * @param {CreateTaskExRequest} req @@ -196,6 +245,17 @@ class CatClient extends AbstractClient { this.request("DescribeTaskDetail", req, resp, cb); } + /** + * 批量创建拨测任务 + * @param {CreateProbeTasksRequest} req + * @param {function(string, CreateProbeTasksResponse):void} cb + * @public + */ + CreateProbeTasks(req, cb) { + let resp = new CreateProbeTasksResponse(); + this.request("CreateProbeTasks", req, resp, cb); + } + /** * 查询用户的告警主题列表 * @param {DescribeAlarmTopicRequest} req @@ -251,6 +311,28 @@ class CatClient extends AbstractClient { this.request("GetDailyAvailRatio", req, resp, cb); } + /** + * 列出云拨测指标详细数据 + * @param {DescribeProbeMetricDataRequest} req + * @param {function(string, DescribeProbeMetricDataResponse):void} cb + * @public + */ + DescribeProbeMetricData(req, cb) { + let resp = new DescribeProbeMetricDataResponse(); + this.request("DescribeProbeMetricData", req, resp, cb); + } + + /** + * 恢复拨测任务 + * @param {ResumeProbeTaskRequest} req + * @param {function(string, ResumeProbeTaskResponse):void} cb + * @public + */ + ResumeProbeTask(req, cb) { + let resp = new ResumeProbeTaskResponse(); + this.request("ResumeProbeTask", req, resp, cb); + } + /** * 修改拨测任务(扩展) * @param {ModifyTaskExRequest} req @@ -296,14 +378,25 @@ class CatClient extends AbstractClient { } /** - * 验证拨测任务,结果验证查询(验证成功的,才建议创建拨测任务) - * @param {VerifyResultRequest} req - * @param {function(string, VerifyResultResponse):void} cb + * 批量更新拨测任务配置 + * @param {UpdateProbeTaskConfigurationListRequest} req + * @param {function(string, UpdateProbeTaskConfigurationListResponse):void} cb * @public */ - VerifyResult(req, cb) { - let resp = new VerifyResultResponse(); - this.request("VerifyResult", req, resp, cb); + UpdateProbeTaskConfigurationList(req, cb) { + let resp = new UpdateProbeTaskConfigurationListResponse(); + this.request("UpdateProbeTaskConfigurationList", req, resp, cb); + } + + /** + * 根据时间范围、任务ID、运营商等条件查询单次拨测详情数据 + * @param {DescribeDetailedSingleProbeDataRequest} req + * @param {function(string, DescribeDetailedSingleProbeDataResponse):void} cb + * @public + */ + DescribeDetailedSingleProbeData(req, cb) { + let resp = new DescribeDetailedSingleProbeDataResponse(); + this.request("DescribeDetailedSingleProbeData", req, resp, cb); } /** @@ -317,6 +410,17 @@ class CatClient extends AbstractClient { this.request("BindAlarmPolicy", req, resp, cb); } + /** + * 查询拨测任务列表 + * @param {DescribeProbeTasksRequest} req + * @param {function(string, DescribeProbeTasksResponse):void} cb + * @public + */ + DescribeProbeTasks(req, cb) { + let resp = new DescribeProbeTasksResponse(); + this.request("DescribeProbeTasks", req, resp, cb); + } + /** * 获取任务列表的实时数据 * @param {GetResultSummaryRequest} req @@ -361,6 +465,17 @@ class CatClient extends AbstractClient { this.request("RunTask", req, resp, cb); } + /** + * 查询拨测节点 + * @param {DescribeProbeNodesRequest} req + * @param {function(string, DescribeProbeNodesResponse):void} cb + * @public + */ + DescribeProbeNodes(req, cb) { + let resp = new DescribeProbeNodesResponse(); + this.request("DescribeProbeNodes", req, resp, cb); + } + /** * 查询拨测任务的返回码统计信息 * @param {GetReturnCodeInfoRequest} req @@ -383,6 +498,17 @@ class CatClient extends AbstractClient { this.request("DescribeAlarmsByTask", req, resp, cb); } + /** + * 删除拨测任务 + * @param {DeleteProbeTaskRequest} req + * @param {function(string, DeleteProbeTaskResponse):void} cb + * @public + */ + DeleteProbeTask(req, cb) { + let resp = new DeleteProbeTaskResponse(); + this.request("DeleteProbeTask", req, resp, cb); + } + /** * 获取AppId下的拨测任务总数 * @param {GetTaskTotalNumberRequest} req diff --git a/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/cat/v20180409/models.js b/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/cat/v20180409/models.js index 4149d08b9b..3af5e3bb8d 100644 --- a/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/cat/v20180409/models.js +++ b/Nodejs12.16-COSUnzipFile/src/node_modules/tencentcloud-sdk-nodejs/tencentcloud/cat/v20180409/models.js @@ -16,78 +16,6 @@ */ const AbstractModel = require("../../common/abstract_model"); -/** - * GetReturnCodeInfo返回参数结构体 - * @class - */ -class GetReturnCodeInfoResponse extends AbstractModel { - constructor(){ - super(); - - /** - * 拨测失败详情列表 - * @type {Array. || null} - */ - this.Details = null; - - /** - * 拨测失败汇总列表 - * @type {Array. || null} - */ - this.Summary = null; - - /** - * 开始时间 - * @type {string || null} - */ - this.BeginTime = null; - - /** - * 截至时间 - * @type {string || null} - */ - this.EndTime = null; - - /** - * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - * @type {string || null} - */ - this.RequestId = null; - - } - - /** - * @private - */ - deserialize(params) { - if (!params) { - return; - } - - if (params.Details) { - this.Details = new Array(); - for (let z in params.Details) { - let obj = new CatReturnDetail(); - obj.deserialize(params.Details[z]); - this.Details.push(obj); - } - } - - if (params.Summary) { - this.Summary = new Array(); - for (let z in params.Summary) { - let obj = new CatReturnSummary(); - obj.deserialize(params.Summary[z]); - this.Summary.push(obj); - } - } - this.BeginTime = 'BeginTime' in params ? params.BeginTime : null; - this.EndTime = 'EndTime' in params ? params.EndTime : null; - this.RequestId = 'RequestId' in params ? params.RequestId : null; - - } -} - /** * ModifyAgentGroup请求参数结构体 * @class @@ -145,34 +73,6 @@ class ModifyAgentGroupRequest extends AbstractModel { } } -/** - * BindAlarmPolicy返回参数结构体 - * @class - */ -class BindAlarmPolicyResponse extends AbstractModel { - constructor(){ - super(); - - /** - * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - * @type {string || null} - */ - this.RequestId = null; - - } - - /** - * @private - */ - deserialize(params) { - if (!params) { - return; - } - this.RequestId = 'RequestId' in params ? params.RequestId : null; - - } -} - /** * 拨测告警信息 * @class @@ -258,19 +158,31 @@ class AlarmInfo extends AbstractModel { } /** - * GetDailyAvailRatio请求参数结构体 + * CreateTaskEx返回参数结构体 * @class */ -class GetDailyAvailRatioRequest extends AbstractModel { +class CreateTaskExResponse extends AbstractModel { constructor(){ super(); /** - * 拨测任务Id + * 拨测结果查询ID。接下来可以使用查询拨测是否能够成功,验证能否通过。 + * @type {number || null} + */ + this.ResultId = null; + + /** + * 拨测任务ID。验证通过后,创建任务时使用,传递给CreateTask 接口。 * @type {number || null} */ this.TaskId = null; + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + } /** @@ -280,24 +192,27 @@ class GetDailyAvailRatioRequest extends AbstractModel { if (!params) { return; } + this.ResultId = 'ResultId' in params ? params.ResultId : null; this.TaskId = 'TaskId' in params ? params.TaskId : null; + this.RequestId = 'RequestId' in params ? params.RequestId : null; } } /** - * ModifyTaskEx返回参数结构体 + * DescribeProbeNodes返回参数结构体 * @class */ -class ModifyTaskExResponse extends AbstractModel { +class DescribeProbeNodesResponse extends AbstractModel { constructor(){ super(); /** - * 拨测任务ID。验证通过后,创建任务时使用,传递给CreateTask 接口。 - * @type {number || null} + * 节点列表 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {Array. || null} */ - this.TaskId = null; + this.NodeSet = null; /** * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 @@ -314,20 +229,34 @@ class ModifyTaskExResponse extends AbstractModel { if (!params) { return; } - this.TaskId = 'TaskId' in params ? params.TaskId : null; + + if (params.NodeSet) { + this.NodeSet = new Array(); + for (let z in params.NodeSet) { + let obj = new NodeDefine(); + obj.deserialize(params.NodeSet[z]); + this.NodeSet.push(obj); + } + } this.RequestId = 'RequestId' in params ? params.RequestId : null; } } /** - * DescribeAgents请求参数结构体 + * RunTask请求参数结构体 * @class */ -class DescribeAgentsRequest extends AbstractModel { +class RunTaskRequest extends AbstractModel { constructor(){ super(); + /** + * 任务Id + * @type {number || null} + */ + this.TaskId = null; + } /** @@ -337,35 +266,30 @@ class DescribeAgentsRequest extends AbstractModel { if (!params) { return; } + this.TaskId = 'TaskId' in params ? params.TaskId : null; } } /** - * 拨测失败返回情况汇总 + * DescribeTaskDetail返回参数结构体 * @class */ -class CatReturnSummary extends AbstractModel { +class DescribeTaskDetailResponse extends AbstractModel { constructor(){ super(); /** - * 拨测失败个数 - * @type {number || null} - */ - this.ResultCount = null; - - /** - * 拨测失败返回码 - * @type {number || null} + * 拨测任务列表 + * @type {Array. || null} */ - this.ResultCode = null; + this.Tasks = null; /** - * 拨测失败原因描述 + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 * @type {string || null} */ - this.ErrorReason = null; + this.RequestId = null; } @@ -376,68 +300,39 @@ class CatReturnSummary extends AbstractModel { if (!params) { return; } - this.ResultCount = 'ResultCount' in params ? params.ResultCount : null; - this.ResultCode = 'ResultCode' in params ? params.ResultCode : null; - this.ErrorReason = 'ErrorReason' in params ? params.ErrorReason : null; + + if (params.Tasks) { + this.Tasks = new Array(); + for (let z in params.Tasks) { + let obj = new CatTaskDetail(); + obj.deserialize(params.Tasks[z]); + this.Tasks.push(obj); + } + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; } } /** - * 拨测失败详情 + * DescribeProbeMetricData返回参数结构体 * @class */ -class CatReturnDetail extends AbstractModel { +class DescribeProbeMetricDataResponse extends AbstractModel { constructor(){ super(); /** - * 运营商名称 - * @type {string || null} - */ - this.IspName = null; - - /** - * 省份全拼 - * @type {string || null} - */ - this.Province = null; - - /** - * 省份中文名称 - * @type {string || null} - */ - this.ProvinceName = null; - - /** - * Map键值 - * @type {string || null} - */ - this.MapKey = null; - - /** - * 拨测目标的IP + * 指标 JSON 序列化后的字符串 * @type {string || null} */ - this.ServerIp = null; - - /** - * 拨测失败个数 - * @type {number || null} - */ - this.ResultCount = null; - - /** - * 拨测失败返回码 - * @type {number || null} - */ - this.ResultCode = null; + this.MetricSet = null; /** - * 拨测失败原因描述 + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 * @type {string || null} */ - this.ErrorReason = null; + this.RequestId = null; } @@ -448,31 +343,25 @@ class CatReturnDetail extends AbstractModel { if (!params) { return; } - this.IspName = 'IspName' in params ? params.IspName : null; - this.Province = 'Province' in params ? params.Province : null; - this.ProvinceName = 'ProvinceName' in params ? params.ProvinceName : null; - this.MapKey = 'MapKey' in params ? params.MapKey : null; - this.ServerIp = 'ServerIp' in params ? params.ServerIp : null; - this.ResultCount = 'ResultCount' in params ? params.ResultCount : null; - this.ResultCode = 'ResultCode' in params ? params.ResultCode : null; - this.ErrorReason = 'ErrorReason' in params ? params.ErrorReason : null; + this.MetricSet = 'MetricSet' in params ? params.MetricSet : null; + this.RequestId = 'RequestId' in params ? params.RequestId : null; } } /** - * RunTask请求参数结构体 + * DeleteTasks返回参数结构体 * @class */ -class RunTaskRequest extends AbstractModel { +class DeleteTasksResponse extends AbstractModel { constructor(){ super(); /** - * 任务Id - * @type {number || null} + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} */ - this.TaskId = null; + this.RequestId = null; } @@ -483,32 +372,1474 @@ class RunTaskRequest extends AbstractModel { if (!params) { return; } - this.TaskId = 'TaskId' in params ? params.TaskId : null; + this.RequestId = 'RequestId' in params ? params.RequestId : null; } } /** - * 拨测点维度信息 + * 任务信息和告警策略组 * @class */ -class DimensionsDetail extends AbstractModel { +class CatTaskDetail extends AbstractModel { constructor(){ super(); /** - * 运营商列表 - * @type {Array. || null} + * 任务ID + * @type {number || null} */ - this.Isp = null; + this.TaskId = null; /** - * 省份列表 - * @type {Array. || null} + * 任务名称 + * @type {string || null} */ - this.Province = null; + this.TaskName = null; - } + /** + * 任务周期,单位为分钟。目前支持1,5,15,30几种取值 + * @type {number || null} + */ + this.Period = null; + + /** + * 拨测类型。http, https, ping, tcp 之一 + * @type {string || null} + */ + this.CatTypeName = null; + + /** + * 拨测任务的URL + * @type {string || null} + */ + this.CgiUrl = null; + + /** + * 拨测分组ID + * @type {number || null} + */ + this.AgentGroupId = null; + + /** + * 告警策略组ID + * @type {number || null} + */ + this.PolicyGroupId = null; + + /** + * 任务状态。1表示暂停,2表示运行中,0为初始态 + * @type {number || null} + */ + this.Status = null; + + /** + * 任务创建时间 + * @type {string || null} + */ + this.AddTime = null; + + /** + * 任务类型。0 站点监控,2 可用性监控 + * @type {number || null} + */ + this.Type = null; + + /** + * 绑定的统一告警主题ID + * @type {string || null} + */ + this.TopicId = null; + + /** + * 告警状态。0 未启用,1, 启用 + * @type {number || null} + */ + this.AlarmStatus = null; + + /** + * 指定的域名 + * @type {string || null} + */ + this.Host = null; + + /** + * 拨测目标的端口号 + * @type {number || null} + */ + this.Port = null; + + /** + * 要在结果中进行匹配的字符串 + * @type {string || null} + */ + this.CheckStr = null; + + /** + * 1 表示通过检查结果是否包含CheckStr 进行校验 + * @type {number || null} + */ + this.CheckType = null; + + /** + * 用户Agent信息 + * @type {string || null} + */ + this.UserAgent = null; + + /** + * 设置的Cookie信息 + * @type {string || null} + */ + this.Cookie = null; + + /** + * POST 请求数据。空字符串表示非POST请求 + * @type {string || null} + */ + this.PostData = null; + + /** + * SSL协议版本 + * @type {string || null} + */ + this.SslVer = null; + + /** + * 是否为Header请求。非0 Header 请求 + * @type {number || null} + */ + this.IsHeader = null; + + /** + * 目的DNS服务器 + * @type {string || null} + */ + this.DnsSvr = null; + + /** + * 需要检验是否在DNS IP列表的IP + * @type {string || null} + */ + this.DnsCheckIp = null; + + /** + * DNS查询类型 + * @type {string || null} + */ + this.DnsQueryType = null; + + /** + * 登录服务器的账号 + * @type {string || null} + */ + this.UserName = null; + + /** + * 登录服务器的密码 + * @type {string || null} + */ + this.PassWord = null; + + /** + * 是否使用安全链接SSL, 0 不使用,1 使用 + * @type {number || null} + */ + this.UseSecConn = null; + + /** + * FTP登录验证方式 0 不验证 1 匿名登录 2 需要身份验证 + * @type {number || null} + */ + this.NeedAuth = null; + + /** + * 请求数据类型。0 表示请求为字符串类型。1表示为二进制类型 + * @type {number || null} + */ + this.ReqDataType = null; + + /** + * 发起TCP, UDP请求的协议请求数据 + * @type {string || null} + */ + this.ReqData = null; + + /** + * 响应数据类型。0 表示响应为字符串类型。1表示为二进制类型 + * @type {number || null} + */ + this.RespDataType = null; + + /** + * 预期的UDP请求的回应数据 + * @type {string || null} + */ + this.RespData = null; + + /** + * 跟随跳转次数 + * @type {number || null} + */ + this.RedirectFollowNum = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.TaskId = 'TaskId' in params ? params.TaskId : null; + this.TaskName = 'TaskName' in params ? params.TaskName : null; + this.Period = 'Period' in params ? params.Period : null; + this.CatTypeName = 'CatTypeName' in params ? params.CatTypeName : null; + this.CgiUrl = 'CgiUrl' in params ? params.CgiUrl : null; + this.AgentGroupId = 'AgentGroupId' in params ? params.AgentGroupId : null; + this.PolicyGroupId = 'PolicyGroupId' in params ? params.PolicyGroupId : null; + this.Status = 'Status' in params ? params.Status : null; + this.AddTime = 'AddTime' in params ? params.AddTime : null; + this.Type = 'Type' in params ? params.Type : null; + this.TopicId = 'TopicId' in params ? params.TopicId : null; + this.AlarmStatus = 'AlarmStatus' in params ? params.AlarmStatus : null; + this.Host = 'Host' in params ? params.Host : null; + this.Port = 'Port' in params ? params.Port : null; + this.CheckStr = 'CheckStr' in params ? params.CheckStr : null; + this.CheckType = 'CheckType' in params ? params.CheckType : null; + this.UserAgent = 'UserAgent' in params ? params.UserAgent : null; + this.Cookie = 'Cookie' in params ? params.Cookie : null; + this.PostData = 'PostData' in params ? params.PostData : null; + this.SslVer = 'SslVer' in params ? params.SslVer : null; + this.IsHeader = 'IsHeader' in params ? params.IsHeader : null; + this.DnsSvr = 'DnsSvr' in params ? params.DnsSvr : null; + this.DnsCheckIp = 'DnsCheckIp' in params ? params.DnsCheckIp : null; + this.DnsQueryType = 'DnsQueryType' in params ? params.DnsQueryType : null; + this.UserName = 'UserName' in params ? params.UserName : null; + this.PassWord = 'PassWord' in params ? params.PassWord : null; + this.UseSecConn = 'UseSecConn' in params ? params.UseSecConn : null; + this.NeedAuth = 'NeedAuth' in params ? params.NeedAuth : null; + this.ReqDataType = 'ReqDataType' in params ? params.ReqDataType : null; + this.ReqData = 'ReqData' in params ? params.ReqData : null; + this.RespDataType = 'RespDataType' in params ? params.RespDataType : null; + this.RespData = 'RespData' in params ? params.RespData : null; + this.RedirectFollowNum = 'RedirectFollowNum' in params ? params.RedirectFollowNum : null; + + } +} + +/** + * BindAlarmPolicy请求参数结构体 + * @class + */ +class BindAlarmPolicyRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 拨测任务Id + * @type {number || null} + */ + this.TaskId = null; + + /** + * 告警策略组Id + * @type {number || null} + */ + this.PolicyGroupId = null; + + /** + * 是否绑定操作。非0 为绑定, 0 为 解绑。缺省表示 绑定。 + * @type {number || null} + */ + this.IfBind = null; + + /** + * 告警主题Id + * @type {string || null} + */ + this.TopicId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.TaskId = 'TaskId' in params ? params.TaskId : null; + this.PolicyGroupId = 'PolicyGroupId' in params ? params.PolicyGroupId : null; + this.IfBind = 'IfBind' in params ? params.IfBind : null; + this.TopicId = 'TopicId' in params ? params.TopicId : null; + + } +} + +/** + * DeleteProbeTask请求参数结构体 + * @class + */ +class DeleteProbeTaskRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 任务 ID + * @type {Array. || null} + */ + this.TaskIds = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.TaskIds = 'TaskIds' in params ? params.TaskIds : null; + + } +} + +/** + * 实时统计数据 + * @class + */ +class ResultSummary extends AbstractModel { + constructor(){ + super(); + + /** + * 统计时间 + * @type {string || null} + */ + this.LogTime = null; + + /** + * 任务ID + * @type {number || null} + */ + this.TaskId = null; + + /** + * 实时可用率 + * @type {number || null} + */ + this.AvailRatio = null; + + /** + * 实时响应时间 + * @type {number || null} + */ + this.ReponseTime = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.LogTime = 'LogTime' in params ? params.LogTime : null; + this.TaskId = 'TaskId' in params ? params.TaskId : null; + this.AvailRatio = 'AvailRatio' in params ? params.AvailRatio : null; + this.ReponseTime = 'ReponseTime' in params ? params.ReponseTime : null; + + } +} + +/** + * DescribeDetailedSingleProbeData返回参数结构体 + * @class + */ +class DescribeDetailedSingleProbeDataResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 单次详情数据 + * @type {Array. || null} + */ + this.DataSet = null; + + /** + * 符合条件的数据总数 + * @type {number || null} + */ + this.TotalNumber = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + + if (params.DataSet) { + this.DataSet = new Array(); + for (let z in params.DataSet) { + let obj = new DetailedSingleDataDefine(); + obj.deserialize(params.DataSet[z]); + this.DataSet.push(obj); + } + } + this.TotalNumber = 'TotalNumber' in params ? params.TotalNumber : null; + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * DescribeAlarmsByTask请求参数结构体 + * @class + */ +class DescribeAlarmsByTaskRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 拨测任务Id + * @type {number || null} + */ + this.TaskId = null; + + /** + * 从第Offset 条开始查询。缺省值为0 + * @type {number || null} + */ + this.Offset = null; + + /** + * 本批次查询Limit 条记录。缺省值为20 + * @type {number || null} + */ + this.Limit = null; + + /** + * 0 全部, 1 已恢复, 2 未恢复 默认为0。其他值,视为0 查全部状态 + * @type {number || null} + */ + this.Status = null; + + /** + * 格式如:2017-05-09 00:00:00 缺省为7天前0点 + * @type {string || null} + */ + this.BeginTime = null; + + /** + * 格式如:2017-05-10 00:00:00 缺省为明天0点 + * @type {string || null} + */ + this.EndTime = null; + + /** + * 排序字段,可为Time, ObjName, Duration, Status, Content 之一。缺省为Time + * @type {string || null} + */ + this.SortBy = null; + + /** + * 升序或降序。可为Desc, Asc之一。缺省为Desc + * @type {string || null} + */ + this.SortType = null; + + /** + * 告警对象的名称 + * @type {string || null} + */ + this.ObjName = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.TaskId = 'TaskId' in params ? params.TaskId : null; + this.Offset = 'Offset' in params ? params.Offset : null; + this.Limit = 'Limit' in params ? params.Limit : null; + this.Status = 'Status' in params ? params.Status : null; + this.BeginTime = 'BeginTime' in params ? params.BeginTime : null; + this.EndTime = 'EndTime' in params ? params.EndTime : null; + this.SortBy = 'SortBy' in params ? params.SortBy : null; + this.SortType = 'SortType' in params ? params.SortType : null; + this.ObjName = 'ObjName' in params ? params.ObjName : null; + + } +} + +/** + * DescribeAlarms请求参数结构体 + * @class + */ +class DescribeAlarmsRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 从第Offset 条开始查询。缺省值为0 + * @type {number || null} + */ + this.Offset = null; + + /** + * 本批次查询Limit 条记录。缺省值为20 + * @type {number || null} + */ + this.Limit = null; + + /** + * 0 全部, 1 已恢复, 2 未恢复 默认为0。其他值,视为0 查全部状态。 + * @type {number || null} + */ + this.Status = null; + + /** + * 格式如:2017-05-09 00:00:00 缺省为7天前0点 + * @type {string || null} + */ + this.BeginTime = null; + + /** + * 格式如:2017-05-10 00:00:00 缺省为明天0点 + * @type {string || null} + */ + this.EndTime = null; + + /** + * 告警任务名 + * @type {string || null} + */ + this.ObjName = null; + + /** + * 排序字段,可为Time, ObjName, Duration, Status, Content 之一。缺省为Time。 + * @type {string || null} + */ + this.SortBy = null; + + /** + * 升序或降序。可为Desc, Asc之一。缺省为Desc。 + * @type {string || null} + */ + this.SortType = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Offset = 'Offset' in params ? params.Offset : null; + this.Limit = 'Limit' in params ? params.Limit : null; + this.Status = 'Status' in params ? params.Status : null; + this.BeginTime = 'BeginTime' in params ? params.BeginTime : null; + this.EndTime = 'EndTime' in params ? params.EndTime : null; + this.ObjName = 'ObjName' in params ? params.ObjName : null; + this.SortBy = 'SortBy' in params ? params.SortBy : null; + this.SortType = 'SortType' in params ? params.SortType : null; + + } +} + +/** + * DescribeUserLimit返回参数结构体 + * @class + */ +class DescribeUserLimitResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 用户可建立的最大任务数 + * @type {number || null} + */ + this.MaxTaskNum = null; + + /** + * 用户可用的最大拨测结点数 + * @type {number || null} + */ + this.MaxAgentNum = null; + + /** + * 用户可建立的最大拨测分组数 + * @type {number || null} + */ + this.MaxGroupNum = null; + + /** + * 用户可用的最小拨测间隔 + * @type {number || null} + */ + this.MinPeriod = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.MaxTaskNum = 'MaxTaskNum' in params ? params.MaxTaskNum : null; + this.MaxAgentNum = 'MaxAgentNum' in params ? params.MaxAgentNum : null; + this.MaxGroupNum = 'MaxGroupNum' in params ? params.MaxGroupNum : null; + this.MinPeriod = 'MinPeriod' in params ? params.MinPeriod : null; + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * CreateTaskEx请求参数结构体 + * @class + */ +class CreateTaskExRequest extends AbstractModel { + constructor(){ + super(); + + /** + * http, https, ping, tcp, ftp, smtp, udp, dns 之一 + * @type {string || null} + */ + this.CatTypeName = null; + + /** + * 拨测的URL, 例如:www.qq.com (URL域名解析需要能解析出具体的IP) + * @type {string || null} + */ + this.Url = null; + + /** + * 拨测周期。取值可为1,5,15,30之一, 单位:分钟。精度不能低于用户等级规定的最小精度 + * @type {number || null} + */ + this.Period = null; + + /** + * 拨测任务名称不能超过32个字符。同一个用户创建的任务名不可重复 + * @type {string || null} + */ + this.TaskName = null; + + /** + * 拨测分组ID,体现本拨测任务要采用哪些运营商作为拨测源。一般可直接填写本用户的默认拨测分组。参见:DescribeAgentGroups 接口,本参数使用返回结果里的GroupId的值。注意: Type为0时,AgentGroupId为必填 + * @type {number || null} + */ + this.AgentGroupId = null; + + /** + * 指定域名(如需要) + * @type {string || null} + */ + this.Host = null; + + /** + * 是否为Header请求(非0 发起Header 请求。为0,且PostData 非空,发起POST请求。为0,PostData 为空,发起GET请求) + * @type {number || null} + */ + this.IsHeader = null; + + /** + * URL中含有"https"时有用。缺省为SSLv23。需要为 TLSv1_2, TLSv1_1, TLSv1, SSLv2, SSLv23, SSLv3 之一 + * @type {string || null} + */ + this.SslVer = null; + + /** + * POST请求数据。空字符串表示非POST请求 + * @type {string || null} + */ + this.PostData = null; + + /** + * 用户Agent信息 + * @type {string || null} + */ + this.UserAgent = null; + + /** + * 要在结果中进行匹配的字符串 + * @type {string || null} + */ + this.CheckStr = null; + + /** + * 1 表示通过检查结果是否包含CheckStr 进行校验 + * @type {number || null} + */ + this.CheckType = null; + + /** + * 需要设置的Cookie信息 + * @type {string || null} + */ + this.Cookie = null; + + /** + * 任务ID,用于验证且修改任务时传入原任务ID + * @type {number || null} + */ + this.TaskId = null; + + /** + * 登录服务器的账号。如果为空字符串,表示不用校验用户密码。只做简单连接服务器的拨测 + * @type {string || null} + */ + this.UserName = null; + + /** + * 登录服务器的密码 + * @type {string || null} + */ + this.PassWord = null; + + /** + * 缺省为0。0 表示请求为字符串类型。1表示为二进制类型 + * @type {number || null} + */ + this.ReqDataType = null; + + /** + * 发起TCP, UDP请求的协议请求数据 + * @type {string || null} + */ + this.ReqData = null; + + /** + * 缺省为0。0 表示响应为字符串类型。1表示为二进制类型 + * @type {number || null} + */ + this.RespDataType = null; + + /** + * 预期的UDP请求的回应数据。字符串型,只需要返回的结果里包含本字符串算校验通过。二进制型,则需要严格等于才算通过 + * @type {string || null} + */ + this.RespData = null; + + /** + * 目的DNS服务器 可以为空字符串 + * @type {string || null} + */ + this.DnsSvr = null; + + /** + * 需要检验是否在DNS IP列表的IP。可以为空字符串,表示不校验 + * @type {string || null} + */ + this.DnsCheckIp = null; + + /** + * 需要为下列值之一。缺省为A。A, MX, NS, CNAME, TXT, ANY + * @type {string || null} + */ + this.DnsQueryType = null; + + /** + * 是否使用安全链接SSL, 0 不使用,1 使用 + * @type {number || null} + */ + this.UseSecConn = null; + + /** + * FTP登录验证方式, 0 不验证 , 1 匿名登录, 2 需要身份验证 + * @type {number || null} + */ + this.NeedAuth = null; + + /** + * 拨测目标的端口号 + * @type {number || null} + */ + this.Port = null; + + /** + * Type=0 默认 (站点监控)Type=2 可用率监控 + * @type {number || null} + */ + this.Type = null; + + /** + * IsVerify=0 非验证任务 IsVerify=1 验证任务,不传则默认为0 + * @type {number || null} + */ + this.IsVerify = null; + + /** + * 跟随跳转次数,取值范围0-5,不传则表示不跟随 + * @type {number || null} + */ + this.RedirectFollowNum = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.CatTypeName = 'CatTypeName' in params ? params.CatTypeName : null; + this.Url = 'Url' in params ? params.Url : null; + this.Period = 'Period' in params ? params.Period : null; + this.TaskName = 'TaskName' in params ? params.TaskName : null; + this.AgentGroupId = 'AgentGroupId' in params ? params.AgentGroupId : null; + this.Host = 'Host' in params ? params.Host : null; + this.IsHeader = 'IsHeader' in params ? params.IsHeader : null; + this.SslVer = 'SslVer' in params ? params.SslVer : null; + this.PostData = 'PostData' in params ? params.PostData : null; + this.UserAgent = 'UserAgent' in params ? params.UserAgent : null; + this.CheckStr = 'CheckStr' in params ? params.CheckStr : null; + this.CheckType = 'CheckType' in params ? params.CheckType : null; + this.Cookie = 'Cookie' in params ? params.Cookie : null; + this.TaskId = 'TaskId' in params ? params.TaskId : null; + this.UserName = 'UserName' in params ? params.UserName : null; + this.PassWord = 'PassWord' in params ? params.PassWord : null; + this.ReqDataType = 'ReqDataType' in params ? params.ReqDataType : null; + this.ReqData = 'ReqData' in params ? params.ReqData : null; + this.RespDataType = 'RespDataType' in params ? params.RespDataType : null; + this.RespData = 'RespData' in params ? params.RespData : null; + this.DnsSvr = 'DnsSvr' in params ? params.DnsSvr : null; + this.DnsCheckIp = 'DnsCheckIp' in params ? params.DnsCheckIp : null; + this.DnsQueryType = 'DnsQueryType' in params ? params.DnsQueryType : null; + this.UseSecConn = 'UseSecConn' in params ? params.UseSecConn : null; + this.NeedAuth = 'NeedAuth' in params ? params.NeedAuth : null; + this.Port = 'Port' in params ? params.Port : null; + this.Type = 'Type' in params ? params.Type : null; + this.IsVerify = 'IsVerify' in params ? params.IsVerify : null; + this.RedirectFollowNum = 'RedirectFollowNum' in params ? params.RedirectFollowNum : null; + + } +} + +/** + * PauseTask请求参数结构体 + * @class + */ +class PauseTaskRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 拨测任务id + * @type {number || null} + */ + this.TaskId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.TaskId = 'TaskId' in params ? params.TaskId : null; + + } +} + +/** + * GetResultSummary请求参数结构体 + * @class + */ +class GetResultSummaryRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 任务Id列表 + * @type {Array. || null} + */ + this.TaskIds = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.TaskIds = 'TaskIds' in params ? params.TaskIds : null; + + } +} + +/** + * 拨测任务 + * @class + */ +class ProbeTask extends AbstractModel { + constructor(){ + super(); + + /** + * 任务名 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.Name = null; + + /** + * 任务 ID + * @type {string || null} + */ + this.TaskId = null; + + /** + * 任务类型 + * @type {number || null} + */ + this.TaskType = null; + + /** + * 拨测节点列表 + * @type {Array. || null} + */ + this.Nodes = null; + + /** + * 拨测间隔 + * @type {number || null} + */ + this.Interval = null; + + /** + * 拨测参数 + * @type {string || null} + */ + this.Parameters = null; + + /** + * 任务状态 + * @type {number || null} + */ + this.Status = null; + + /** + * 目标地址 + * @type {string || null} + */ + this.TargetAddress = null; + + /** + * 付费模式 +
  • 1 = 试用版本
  • +
  • 2 = 付费版本
  • + * @type {number || null} + */ + this.PayMode = null; + + /** + * 订单状态 +
  • 1 = 正常
  • +
  • 2 = 欠费
  • + * @type {number || null} + */ + this.OrderState = null; + + /** + * 任务分类 +
  • 1 = PC
  • +
  • 2 = Mobile
  • + * @type {number || null} + */ + this.TaskCategory = null; + + /** + * 创建时间 + * @type {string || null} + */ + this.CreatedAt = null; + + /** + * 定时任务cron表达式 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.Cron = null; + + /** + * 定时任务启动状态 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {number || null} + */ + this.CronState = null; + + /** + * 任务当前绑定的标签 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {Array. || null} + */ + this.TagInfoList = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Name = 'Name' in params ? params.Name : null; + this.TaskId = 'TaskId' in params ? params.TaskId : null; + this.TaskType = 'TaskType' in params ? params.TaskType : null; + this.Nodes = 'Nodes' in params ? params.Nodes : null; + this.Interval = 'Interval' in params ? params.Interval : null; + this.Parameters = 'Parameters' in params ? params.Parameters : null; + this.Status = 'Status' in params ? params.Status : null; + this.TargetAddress = 'TargetAddress' in params ? params.TargetAddress : null; + this.PayMode = 'PayMode' in params ? params.PayMode : null; + this.OrderState = 'OrderState' in params ? params.OrderState : null; + this.TaskCategory = 'TaskCategory' in params ? params.TaskCategory : null; + this.CreatedAt = 'CreatedAt' in params ? params.CreatedAt : null; + this.Cron = 'Cron' in params ? params.Cron : null; + this.CronState = 'CronState' in params ? params.CronState : null; + + if (params.TagInfoList) { + this.TagInfoList = new Array(); + for (let z in params.TagInfoList) { + let obj = new KeyValuePair(); + obj.deserialize(params.TagInfoList[z]); + this.TagInfoList.push(obj); + } + } + + } +} + +/** + * 时延等数据,数据点 + * @class + */ +class DataPoint extends AbstractModel { + constructor(){ + super(); + + /** + * 数据点的时间 + * @type {string || null} + */ + this.LogTime = null; + + /** + * 数据值 + * @type {number || null} + */ + this.MetricValue = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.LogTime = 'LogTime' in params ? params.LogTime : null; + this.MetricValue = 'MetricValue' in params ? params.MetricValue : null; + + } +} + +/** + * DescribeAlarmTopic返回参数结构体 + * @class + */ +class DescribeAlarmTopicResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 主题个数 + * @type {number || null} + */ + this.TotalCount = null; + + /** + * 主题列表 + * @type {Array. || null} + */ + this.Topics = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.TotalCount = 'TotalCount' in params ? params.TotalCount : null; + + if (params.Topics) { + this.Topics = new Array(); + for (let z in params.Topics) { + let obj = new AlarmTopic(); + obj.deserialize(params.Topics[z]); + this.Topics.push(obj); + } + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * DescribeUserLimit请求参数结构体 + * @class + */ +class DescribeUserLimitRequest extends AbstractModel { + constructor(){ + super(); + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + + } +} + +/** + * 保存string类型字段 + * @class + */ +class Label extends AbstractModel { + constructor(){ + super(); + + /** + * 自定义字段编号 + * @type {number || null} + */ + this.ID = null; + + /** + * 自定义字段名称/说明 + * @type {string || null} + */ + this.Name = null; + + /** + * 字段值 + * @type {string || null} + */ + this.Value = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.ID = 'ID' in params ? params.ID : null; + this.Name = 'Name' in params ? params.Name : null; + this.Value = 'Value' in params ? params.Value : null; + + } +} + +/** + * DescribeAgents请求参数结构体 + * @class + */ +class DescribeAgentsRequest extends AbstractModel { + constructor(){ + super(); + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + + } +} + +/** + * 健值对 + * @class + */ +class KeyValuePair extends AbstractModel { + constructor(){ + super(); + + /** + * 健 + * @type {string || null} + */ + this.Key = null; + + /** + * 值 + * @type {string || null} + */ + this.Value = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.Key = 'Key' in params ? params.Key : null; + this.Value = 'Value' in params ? params.Value : null; + + } +} + +/** + * 拨测失败详情 + * @class + */ +class CatReturnDetail extends AbstractModel { + constructor(){ + super(); + + /** + * 运营商名称 + * @type {string || null} + */ + this.IspName = null; + + /** + * 省份全拼 + * @type {string || null} + */ + this.Province = null; + + /** + * 省份中文名称 + * @type {string || null} + */ + this.ProvinceName = null; + + /** + * Map键值 + * @type {string || null} + */ + this.MapKey = null; + + /** + * 拨测目标的IP + * @type {string || null} + */ + this.ServerIp = null; + + /** + * 拨测失败个数 + * @type {number || null} + */ + this.ResultCount = null; + + /** + * 拨测失败返回码 + * @type {number || null} + */ + this.ResultCode = null; + + /** + * 拨测失败原因描述 + * @type {string || null} + */ + this.ErrorReason = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.IspName = 'IspName' in params ? params.IspName : null; + this.Province = 'Province' in params ? params.Province : null; + this.ProvinceName = 'ProvinceName' in params ? params.ProvinceName : null; + this.MapKey = 'MapKey' in params ? params.MapKey : null; + this.ServerIp = 'ServerIp' in params ? params.ServerIp : null; + this.ResultCount = 'ResultCount' in params ? params.ResultCount : null; + this.ResultCode = 'ResultCode' in params ? params.ResultCode : null; + this.ErrorReason = 'ErrorReason' in params ? params.ErrorReason : null; + + } +} + +/** + * 运营商可用率 + * @class + */ +class IspDetail extends AbstractModel { + constructor(){ + super(); + + /** + * 运营商名称 + * @type {string || null} + */ + this.IspName = null; + + /** + * 可用率 + * @type {number || null} + */ + this.AvailRatio = null; + + /** + * 平均耗时 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {number || null} + */ + this.AvgTime = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.IspName = 'IspName' in params ? params.IspName : null; + this.AvailRatio = 'AvailRatio' in params ? params.AvailRatio : null; + this.AvgTime = 'AvgTime' in params ? params.AvgTime : null; + + } +} + +/** + * GetReturnCodeInfo请求参数结构体 + * @class + */ +class GetReturnCodeInfoRequest extends AbstractModel { + constructor(){ + super(); + + /** + * 正整数。验证成功的拨测任务id + * @type {number || null} + */ + this.TaskId = null; + + /** + * 开始时间点。格式如:2017-05-09 10:20:00,最多拉群两天的数据 + * @type {string || null} + */ + this.BeginTime = null; + + /** + * 结束时间点。格式如:2017-05-09 10:25:00,最多拉群两天的数据 + * @type {string || null} + */ + this.EndTime = null; + + /** + * 省份名称的全拼 + * @type {string || null} + */ + this.Province = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.TaskId = 'TaskId' in params ? params.TaskId : null; + this.BeginTime = 'BeginTime' in params ? params.BeginTime : null; + this.EndTime = 'EndTime' in params ? params.EndTime : null; + this.Province = 'Province' in params ? params.Province : null; + + } +} + +/** + * DescribeAgents返回参数结构体 + * @class + */ +class DescribeAgentsResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 本用户可选的拨测点列表 + * @type {Array. || null} + */ + this.Agents = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + + } /** * @private @@ -517,25 +1848,33 @@ class DimensionsDetail extends AbstractModel { if (!params) { return; } - this.Isp = 'Isp' in params ? params.Isp : null; - this.Province = 'Province' in params ? params.Province : null; + + if (params.Agents) { + this.Agents = new Array(); + for (let z in params.Agents) { + let obj = new CatAgent(); + obj.deserialize(params.Agents[z]); + this.Agents.push(obj); + } + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; } } /** - * GetRespTimeTrendEx返回参数结构体 + * CreateAgentGroup返回参数结构体 * @class */ -class GetRespTimeTrendExResponse extends AbstractModel { +class CreateAgentGroupResponse extends AbstractModel { constructor(){ super(); /** - * 数据点集合,时延等走势数据 - * @type {Array. || null} + * 拨测分组Id + * @type {number || null} */ - this.DataPoints = null; + this.GroupId = null; /** * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 @@ -552,33 +1891,97 @@ class GetRespTimeTrendExResponse extends AbstractModel { if (!params) { return; } - - if (params.DataPoints) { - this.DataPoints = new Array(); - for (let z in params.DataPoints) { - let obj = new DataPointMetric(); - obj.deserialize(params.DataPoints[z]); - this.DataPoints.push(obj); - } - } + this.GroupId = 'GroupId' in params ? params.GroupId : null; this.RequestId = 'RequestId' in params ? params.RequestId : null; } } /** - * ModifyAgentGroup返回参数结构体 + * DescribeDetailedSingleProbeData请求参数结构体 * @class */ -class ModifyAgentGroupResponse extends AbstractModel { +class DescribeDetailedSingleProbeDataRequest extends AbstractModel { constructor(){ super(); /** - * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * 开始时间戳(毫秒级) + * @type {number || null} + */ + this.BeginTime = null; + + /** + * 结束时间戳(毫秒级) + * @type {number || null} + */ + this.EndTime = null; + + /** + * 任务类型 * @type {string || null} */ - this.RequestId = null; + this.TaskType = null; + + /** + * 待排序字段 + * @type {string || null} + */ + this.SortField = null; + + /** + * true表示升序 + * @type {boolean || null} + */ + this.Ascending = null; + + /** + * 选中字段 + * @type {Array. || null} + */ + this.SelectedFields = null; + + /** + * 起始取数位置 + * @type {number || null} + */ + this.Offset = null; + + /** + * 取数数量 + * @type {number || null} + */ + this.Limit = null; + + /** + * 任务ID + * @type {Array. || null} + */ + this.TaskID = null; + + /** + * 拨测点运营商 + * @type {Array. || null} + */ + this.Operators = null; + + /** + * 拨测点地区 + * @type {Array. || null} + */ + this.Districts = null; + + /** + * 错误类型 + * @type {Array. || null} + */ + this.ErrorTypes = null; + + /** + * 城市 + * @type {Array. || null} + */ + this.City = null; } @@ -589,25 +1992,31 @@ class ModifyAgentGroupResponse extends AbstractModel { if (!params) { return; } - this.RequestId = 'RequestId' in params ? params.RequestId : null; + this.BeginTime = 'BeginTime' in params ? params.BeginTime : null; + this.EndTime = 'EndTime' in params ? params.EndTime : null; + this.TaskType = 'TaskType' in params ? params.TaskType : null; + this.SortField = 'SortField' in params ? params.SortField : null; + this.Ascending = 'Ascending' in params ? params.Ascending : null; + this.SelectedFields = 'SelectedFields' in params ? params.SelectedFields : null; + this.Offset = 'Offset' in params ? params.Offset : null; + this.Limit = 'Limit' in params ? params.Limit : null; + this.TaskID = 'TaskID' in params ? params.TaskID : null; + this.Operators = 'Operators' in params ? params.Operators : null; + this.Districts = 'Districts' in params ? params.Districts : null; + this.ErrorTypes = 'ErrorTypes' in params ? params.ErrorTypes : null; + this.City = 'City' in params ? params.City : null; } } /** - * DescribeTaskDetail返回参数结构体 + * DeleteAgentGroup返回参数结构体 * @class */ -class DescribeTaskDetailResponse extends AbstractModel { +class DeleteAgentGroupResponse extends AbstractModel { constructor(){ super(); - /** - * 拨测任务列表 - * @type {Array. || null} - */ - this.Tasks = null; - /** * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 * @type {string || null} @@ -623,46 +2032,54 @@ class DescribeTaskDetailResponse extends AbstractModel { if (!params) { return; } - - if (params.Tasks) { - this.Tasks = new Array(); - for (let z in params.Tasks) { - let obj = new CatTaskDetail(); - obj.deserialize(params.Tasks[z]); - this.Tasks.push(obj); - } - } this.RequestId = 'RequestId' in params ? params.RequestId : null; } } /** - * 运营商可用率 + * 拨测分组 * @class */ -class IspDetail extends AbstractModel { +class AgentGroup extends AbstractModel { constructor(){ super(); /** - * 运营商名称 + * 拨测分组ID + * @type {number || null} + */ + this.GroupId = null; + + /** + * 拨测分组名称 * @type {string || null} */ - this.IspName = null; + this.GroupName = null; /** - * 可用率 + * 是否默认拨测分组。1表示是,0表示否 * @type {number || null} */ - this.AvailRatio = null; + this.IsDefault = null; /** - * 平均耗时 -注意:此字段可能返回 null,表示取不到有效值。 + * 使用本拨测分组的任务数 * @type {number || null} */ - this.AvgTime = null; + this.TaskNum = null; + + /** + * 拨测结点列表 + * @type {Array. || null} + */ + this.GroupDetail = null; + + /** + * 最大拨测分组数 + * @type {number || null} + */ + this.MaxGroupNum = null; } @@ -673,32 +2090,43 @@ class IspDetail extends AbstractModel { if (!params) { return; } - this.IspName = 'IspName' in params ? params.IspName : null; - this.AvailRatio = 'AvailRatio' in params ? params.AvailRatio : null; - this.AvgTime = 'AvgTime' in params ? params.AvgTime : null; + this.GroupId = 'GroupId' in params ? params.GroupId : null; + this.GroupName = 'GroupName' in params ? params.GroupName : null; + this.IsDefault = 'IsDefault' in params ? params.IsDefault : null; + this.TaskNum = 'TaskNum' in params ? params.TaskNum : null; + + if (params.GroupDetail) { + this.GroupDetail = new Array(); + for (let z in params.GroupDetail) { + let obj = new CatAgent(); + obj.deserialize(params.GroupDetail[z]); + this.GroupDetail.push(obj); + } + } + this.MaxGroupNum = 'MaxGroupNum' in params ? params.MaxGroupNum : null; } } /** - * 包含MetricName的DataPoint数据 + * 资源的标签,通过标签对资源进行划分用于支持细粒度的鉴权、分账等场景 * @class */ -class DataPointMetric extends AbstractModel { +class Tag extends AbstractModel { constructor(){ super(); /** - * 数据项 + * key * @type {string || null} */ - this.MetricName = null; + this.TagKey = null; /** - * 数据点的时间和值 - * @type {Array. || null} + * value + * @type {string || null} */ - this.Points = null; + this.TagValue = null; } @@ -709,25 +2137,17 @@ class DataPointMetric extends AbstractModel { if (!params) { return; } - this.MetricName = 'MetricName' in params ? params.MetricName : null; - - if (params.Points) { - this.Points = new Array(); - for (let z in params.Points) { - let obj = new DataPoint(); - obj.deserialize(params.Points[z]); - this.Points.push(obj); - } - } + this.TagKey = 'TagKey' in params ? params.TagKey : null; + this.TagValue = 'TagValue' in params ? params.TagValue : null; } } /** - * GetReturnCodeInfo请求参数结构体 + * GetReturnCodeHistory请求参数结构体 * @class */ -class GetReturnCodeInfoRequest extends AbstractModel { +class GetReturnCodeHistoryRequest extends AbstractModel { constructor(){ super(); @@ -738,13 +2158,13 @@ class GetReturnCodeInfoRequest extends AbstractModel { this.TaskId = null; /** - * 开始时间点。格式如:2017-05-09 10:20:00,最多拉群两天的数据 + * 开始时间点。格式如:2017-05-09 10:20:00。注意,BeginTime 和 EndTime 需要在同一天 * @type {string || null} */ this.BeginTime = null; /** - * 结束时间点。格式如:2017-05-09 10:25:00,最多拉群两天的数据 + * 结束时间点。格式如:2017-05-09 10:25:00。注意,BeginTime 和 EndTime 需要在同一天 * @type {string || null} */ this.EndTime = null; @@ -773,87 +2193,54 @@ class GetReturnCodeInfoRequest extends AbstractModel { } /** - * DescribeCatLogs请求参数结构体 + * 省份可用率 * @class */ -class DescribeCatLogsRequest extends AbstractModel { +class ProvinceDetail extends AbstractModel { constructor(){ super(); /** - * 拨测任务Id - * @type {number || null} - */ - this.TaskId = null; - - /** - * 从第Offset 条开始查询。缺省值为0 - * @type {number || null} - */ - this.Offset = null; - - /** - * 本批次查询Limit 条记录。缺省值为20 + * 可用率 * @type {number || null} */ - this.Limit = null; + this.AvgAvailRatio = null; /** - * 格式如:2017-05-09 00:00:00 缺省为当天0点,最多拉取1天的数据 + * 省份名称 * @type {string || null} */ - this.BeginTime = null; + this.ProvinceName = null; /** - * 格式如:2017-05-10 00:00:00 缺省为当前时间 + * 省份英文名称 * @type {string || null} */ - this.EndTime = null; + this.Mapkey = null; /** - * 按时间升序或降序。默认降序。可选值: Desc, Asc + * 统计时间点 * @type {string || null} */ - this.SortType = null; - - } - - /** - * @private - */ - deserialize(params) { - if (!params) { - return; - } - this.TaskId = 'TaskId' in params ? params.TaskId : null; - this.Offset = 'Offset' in params ? params.Offset : null; - this.Limit = 'Limit' in params ? params.Limit : null; - this.BeginTime = 'BeginTime' in params ? params.BeginTime : null; - this.EndTime = 'EndTime' in params ? params.EndTime : null; - this.SortType = 'SortType' in params ? params.SortType : null; - - } -} + this.TimeStamp = null; -/** - * DescribeAgents返回参数结构体 - * @class - */ -class DescribeAgentsResponse extends AbstractModel { - constructor(){ - super(); + /** + * 分运营商可用率 + * @type {Array. || null} + */ + this.IspDetail = null; /** - * 本用户可选的拨测点列表 - * @type {Array. || null} + * 平均耗时,单位毫秒 + * @type {number || null} */ - this.Agents = null; + this.AvgTime = null; /** - * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * 省份 * @type {string || null} */ - this.RequestId = null; + this.Province = null; } @@ -864,30 +2251,35 @@ class DescribeAgentsResponse extends AbstractModel { if (!params) { return; } + this.AvgAvailRatio = 'AvgAvailRatio' in params ? params.AvgAvailRatio : null; + this.ProvinceName = 'ProvinceName' in params ? params.ProvinceName : null; + this.Mapkey = 'Mapkey' in params ? params.Mapkey : null; + this.TimeStamp = 'TimeStamp' in params ? params.TimeStamp : null; - if (params.Agents) { - this.Agents = new Array(); - for (let z in params.Agents) { - let obj = new CatAgent(); - obj.deserialize(params.Agents[z]); - this.Agents.push(obj); + if (params.IspDetail) { + this.IspDetail = new Array(); + for (let z in params.IspDetail) { + let obj = new IspDetail(); + obj.deserialize(params.IspDetail[z]); + this.IspDetail.push(obj); } } - this.RequestId = 'RequestId' in params ? params.RequestId : null; + this.AvgTime = 'AvgTime' in params ? params.AvgTime : null; + this.Province = 'Province' in params ? params.Province : null; } } /** - * GetAvailRatioHistory返回参数结构体 + * GetRealAvailRatio返回参数结构体 * @class */ -class GetAvailRatioHistoryResponse extends AbstractModel { +class GetRealAvailRatioResponse extends AbstractModel { constructor(){ super(); /** - * 整体平均可用率 + * 国内平均可用率 * @type {number || null} */ this.AvgAvailRatio = null; @@ -1007,19 +2399,13 @@ class GetAvailRatioHistoryResponse extends AbstractModel { } /** - * CreateAgentGroup返回参数结构体 + * UpdateProbeTaskConfigurationList返回参数结构体 * @class */ -class CreateAgentGroupResponse extends AbstractModel { +class UpdateProbeTaskConfigurationListResponse extends AbstractModel { constructor(){ super(); - /** - * 拨测分组Id - * @type {number || null} - */ - this.GroupId = null; - /** * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 * @type {string || null} @@ -1035,25 +2421,36 @@ class CreateAgentGroupResponse extends AbstractModel { if (!params) { return; } - this.GroupId = 'GroupId' in params ? params.GroupId : null; this.RequestId = 'RequestId' in params ? params.RequestId : null; } } /** - * DeleteTasks返回参数结构体 + * CreateAgentGroup请求参数结构体 * @class */ -class DeleteTasksResponse extends AbstractModel { +class CreateAgentGroupRequest extends AbstractModel { constructor(){ super(); /** - * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * 拨测分组名称,不超过32个字符 * @type {string || null} */ - this.RequestId = null; + this.GroupName = null; + + /** + * 是否为默认分组,取值可为 0 或 1。取 1 时表示设置为默认分组 + * @type {number || null} + */ + this.IsDefault = null; + + /** + * Province, Isp 需要成对地进行选择。参数对的取值范围。参见:DescribeAgents 的返回结果。 + * @type {Array. || null} + */ + this.Agents = null; } @@ -1064,30 +2461,48 @@ class DeleteTasksResponse extends AbstractModel { if (!params) { return; } - this.RequestId = 'RequestId' in params ? params.RequestId : null; + this.GroupName = 'GroupName' in params ? params.GroupName : null; + this.IsDefault = 'IsDefault' in params ? params.IsDefault : null; + + if (params.Agents) { + this.Agents = new Array(); + for (let z in params.Agents) { + let obj = new CatAgent(); + obj.deserialize(params.Agents[z]); + this.Agents.push(obj); + } + } } } /** - * DescribeAlarms返回参数结构体 + * ResumeProbeTask返回参数结构体 * @class */ -class DescribeAlarmsResponse extends AbstractModel { +class ResumeProbeTaskResponse extends AbstractModel { constructor(){ super(); /** - * 告警总条数 + * 任务总量 * @type {number || null} */ - this.TotalCount = null; + this.Total = null; /** - * 本批告警信息列表 - * @type {Array. || null} + * 任务成功量 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {number || null} */ - this.AlarmInfos = null; + this.SuccessCount = null; + + /** + * 任务执行详情 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {Array. || null} + */ + this.Results = null; /** * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 @@ -1104,14 +2519,15 @@ class DescribeAlarmsResponse extends AbstractModel { if (!params) { return; } - this.TotalCount = 'TotalCount' in params ? params.TotalCount : null; - - if (params.AlarmInfos) { - this.AlarmInfos = new Array(); - for (let z in params.AlarmInfos) { - let obj = new AlarmInfo(); - obj.deserialize(params.AlarmInfos[z]); - this.AlarmInfos.push(obj); + this.Total = 'Total' in params ? params.Total : null; + this.SuccessCount = 'SuccessCount' in params ? params.SuccessCount : null; + + if (params.Results) { + this.Results = new Array(); + for (let z in params.Results) { + let obj = new TaskResult(); + obj.deserialize(params.Results[z]); + this.Results.push(obj); } } this.RequestId = 'RequestId' in params ? params.RequestId : null; @@ -1120,19 +2536,25 @@ class DescribeAlarmsResponse extends AbstractModel { } /** - * GetRealAvailRatio请求参数结构体 + * ModifyTaskEx返回参数结构体 * @class */ -class GetRealAvailRatioRequest extends AbstractModel { +class ModifyTaskExResponse extends AbstractModel { constructor(){ super(); /** - * 拨测任务Id + * 拨测任务ID。验证通过后,创建任务时使用,传递给CreateTask 接口。 * @type {number || null} */ this.TaskId = null; + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; + } /** @@ -1143,18 +2565,37 @@ class GetRealAvailRatioRequest extends AbstractModel { return; } this.TaskId = 'TaskId' in params ? params.TaskId : null; + this.RequestId = 'RequestId' in params ? params.RequestId : null; } } /** - * DeleteAgentGroup返回参数结构体 + * DescribeAlarmsByTask返回参数结构体 * @class */ -class DeleteAgentGroupResponse extends AbstractModel { +class DescribeAlarmsByTaskResponse extends AbstractModel { constructor(){ super(); + /** + * 告警信息列表 + * @type {Array. || null} + */ + this.AlarmInfos = null; + + /** + * 故障率 + * @type {number || null} + */ + this.FaultRatio = null; + + /** + * 故障总时长 + * @type {string || null} + */ + this.FaultTimeSpec = null; + /** * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 * @type {string || null} @@ -1170,249 +2611,197 @@ class DeleteAgentGroupResponse extends AbstractModel { if (!params) { return; } + + if (params.AlarmInfos) { + this.AlarmInfos = new Array(); + for (let z in params.AlarmInfos) { + let obj = new AlarmInfo(); + obj.deserialize(params.AlarmInfos[z]); + this.AlarmInfos.push(obj); + } + } + this.FaultRatio = 'FaultRatio' in params ? params.FaultRatio : null; + this.FaultTimeSpec = 'FaultTimeSpec' in params ? params.FaultTimeSpec : null; this.RequestId = 'RequestId' in params ? params.RequestId : null; } } /** - * 拨测分组 + * ModifyTaskEx请求参数结构体 * @class */ -class AgentGroup extends AbstractModel { +class ModifyTaskExRequest extends AbstractModel { constructor(){ super(); /** - * 拨测分组ID - * @type {number || null} + * http, https, ping, tcp, ftp, smtp, udp, dns 之一 + * @type {string || null} */ - this.GroupId = null; + this.CatTypeName = null; /** - * 拨测分组名称 + * 拨测的URL,例如:www.qq.com (URL域名解析需要能解析出具体的IP) * @type {string || null} */ - this.GroupName = null; + this.Url = null; /** - * 是否默认拨测分组。1表示是,0表示否 + * 拨测周期。取值可为1,5,15,30之一, 单位:分钟。精度不能低于用户等级规定的最小精度 * @type {number || null} */ - this.IsDefault = null; + this.Period = null; /** - * 使用本拨测分组的任务数 - * @type {number || null} + * 拨测任务名称不能超过32个字符。同一个用户创建的任务名不可重复 + * @type {string || null} */ - this.TaskNum = null; + this.TaskName = null; /** - * 拨测结点列表 - * @type {Array. || null} + * 验证成功的拨测任务ID + * @type {number || null} */ - this.GroupDetail = null; + this.TaskId = null; /** - * 最大拨测分组数 + * 拨测分组ID,体现本拨测任务要采用哪些运营商作为拨测源。一般可直接填写本用户的默认拨测分组。参见:DescribeAgentGroupList 接口,本参数使用返回结果里的GroupId的值。注意,Type为0时,AgentGroupId为必填 * @type {number || null} */ - this.MaxGroupNum = null; - - } - - /** - * @private - */ - deserialize(params) { - if (!params) { - return; - } - this.GroupId = 'GroupId' in params ? params.GroupId : null; - this.GroupName = 'GroupName' in params ? params.GroupName : null; - this.IsDefault = 'IsDefault' in params ? params.IsDefault : null; - this.TaskNum = 'TaskNum' in params ? params.TaskNum : null; - - if (params.GroupDetail) { - this.GroupDetail = new Array(); - for (let z in params.GroupDetail) { - let obj = new CatAgent(); - obj.deserialize(params.GroupDetail[z]); - this.GroupDetail.push(obj); - } - } - this.MaxGroupNum = 'MaxGroupNum' in params ? params.MaxGroupNum : null; + this.AgentGroupId = null; - } -} + /** + * 指定域名(如需要) + * @type {string || null} + */ + this.Host = null; -/** - * DescribeTaskDetail请求参数结构体 - * @class - */ -class DescribeTaskDetailRequest extends AbstractModel { - constructor(){ - super(); + /** + * 拨测目标的端口号 + * @type {number || null} + */ + this.Port = null; /** - * 拨测任务id 数组 - * @type {Array. || null} + * 是否为Header请求(非0 发起Header 请求。为0,且PostData非空,发起POST请求。为0,PostData为空,发起GET请求) + * @type {number || null} */ - this.TaskIds = null; + this.IsHeader = null; - } + /** + * URL中含有"https"时有用。缺省为SSLv23。需要为 TLSv1_2, TLSv1_1, TLSv1, SSLv2, SSLv23, SSLv3 之一 + * @type {string || null} + */ + this.SslVer = null; - /** - * @private - */ - deserialize(params) { - if (!params) { - return; - } - this.TaskIds = 'TaskIds' in params ? params.TaskIds : null; + /** + * POST 请求数据,空字符串表示非POST请求 + * @type {string || null} + */ + this.PostData = null; - } -} + /** + * 用户Agent信息 + * @type {string || null} + */ + this.UserAgent = null; -/** - * DescribeTasksByType返回参数结构体 - * @class - */ -class DescribeTasksByTypeResponse extends AbstractModel { - constructor(){ - super(); + /** + * 要在结果中进行匹配的字符串 + * @type {string || null} + */ + this.CheckStr = null; /** - * 符合条件的总任务数 + * 1 表示通过检查结果是否包含CheckStr 进行校验 * @type {number || null} */ - this.TotalCount = null; + this.CheckType = null; /** - * 任务列表 - * @type {Array. || null} + * 需要设置的Cookie信息 + * @type {string || null} */ - this.Tasks = null; + this.Cookie = null; /** - * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * 登录服务器的账号。如果为空字符串,表示不用校验用户密码。只做简单连接服务器的拨测 * @type {string || null} */ - this.RequestId = null; - - } - - /** - * @private - */ - deserialize(params) { - if (!params) { - return; - } - this.TotalCount = 'TotalCount' in params ? params.TotalCount : null; - - if (params.Tasks) { - this.Tasks = new Array(); - for (let z in params.Tasks) { - let obj = new TaskAlarm(); - obj.deserialize(params.Tasks[z]); - this.Tasks.push(obj); - } - } - this.RequestId = 'RequestId' in params ? params.RequestId : null; - - } -} - -/** - * GetResultSummary返回参数结构体 - * @class - */ -class GetResultSummaryResponse extends AbstractModel { - constructor(){ - super(); + this.UserName = null; /** - * 实时统计数据 - * @type {Array. || null} + * 登录服务器的密码 + * @type {string || null} */ - this.RealData = null; + this.PassWord = null; /** - * 按天的统计数据 - * @type {Array. || null} + * 缺省为0,0 表示请求为字符串类型, 1表示为二进制类型 + * @type {number || null} */ - this.DayData = null; + this.ReqDataType = null; /** - * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * 发起TCP, UDP请求的协议请求数据 * @type {string || null} */ - this.RequestId = null; - - } + this.ReqData = null; - /** - * @private - */ - deserialize(params) { - if (!params) { - return; - } + /** + * 缺省为0。0 表示请求为字符串类型。1表示为二进制类型 + * @type {string || null} + */ + this.RespDataType = null; - if (params.RealData) { - this.RealData = new Array(); - for (let z in params.RealData) { - let obj = new ResultSummary(); - obj.deserialize(params.RealData[z]); - this.RealData.push(obj); - } - } + /** + * 预期的UDP请求的回应数据。字符串型,只需要返回的结果里包含本字符串算校验通过。二进制型,则需要严格等于才算通过 + * @type {string || null} + */ + this.RespData = null; - if (params.DayData) { - this.DayData = new Array(); - for (let z in params.DayData) { - let obj = new ResultSummary(); - obj.deserialize(params.DayData[z]); - this.DayData.push(obj); - } - } - this.RequestId = 'RequestId' in params ? params.RequestId : null; + /** + * 目的DNS服务器,可以为空字符串 + * @type {string || null} + */ + this.DnsSvr = null; - } -} + /** + * 需要检验是否在DNS IP列表的IP。可以为空字符串,表示不校验 + * @type {string || null} + */ + this.DnsCheckIp = null; -/** - * GetReturnCodeHistory请求参数结构体 - * @class - */ -class GetReturnCodeHistoryRequest extends AbstractModel { - constructor(){ - super(); + /** + * 需要为下列值之一。缺省为A。A, MX, NS, CNAME, TXT, ANY + * @type {string || null} + */ + this.DnsQueryType = null; /** - * 正整数。验证成功的拨测任务id + * 是否使用安全链接SSL, 0 不使用,1 使用 * @type {number || null} */ - this.TaskId = null; + this.UseSecConn = null; /** - * 开始时间点。格式如:2017-05-09 10:20:00。注意,BeginTime 和 EndTime 需要在同一天 - * @type {string || null} + * FTP登录验证方式, 0 不验证 1 匿名登录 2 需要身份验证 + * @type {number || null} */ - this.BeginTime = null; + this.NeedAuth = null; /** - * 结束时间点。格式如:2017-05-09 10:25:00。注意,BeginTime 和 EndTime 需要在同一天 - * @type {string || null} + * Type=0 默认 (站点监控) Type=2 可用率监控 + * @type {number || null} */ - this.EndTime = null; + this.Type = null; /** - * 省份名称的全拼 - * @type {string || null} + * 跟随跳转次数,取值范围0-5,不传则表示不跟随 + * @type {number || null} */ - this.Province = null; + this.RedirectFollowNum = null; } @@ -1423,45 +2812,51 @@ class GetReturnCodeHistoryRequest extends AbstractModel { if (!params) { return; } + this.CatTypeName = 'CatTypeName' in params ? params.CatTypeName : null; + this.Url = 'Url' in params ? params.Url : null; + this.Period = 'Period' in params ? params.Period : null; + this.TaskName = 'TaskName' in params ? params.TaskName : null; this.TaskId = 'TaskId' in params ? params.TaskId : null; - this.BeginTime = 'BeginTime' in params ? params.BeginTime : null; - this.EndTime = 'EndTime' in params ? params.EndTime : null; - this.Province = 'Province' in params ? params.Province : null; + this.AgentGroupId = 'AgentGroupId' in params ? params.AgentGroupId : null; + this.Host = 'Host' in params ? params.Host : null; + this.Port = 'Port' in params ? params.Port : null; + this.IsHeader = 'IsHeader' in params ? params.IsHeader : null; + this.SslVer = 'SslVer' in params ? params.SslVer : null; + this.PostData = 'PostData' in params ? params.PostData : null; + this.UserAgent = 'UserAgent' in params ? params.UserAgent : null; + this.CheckStr = 'CheckStr' in params ? params.CheckStr : null; + this.CheckType = 'CheckType' in params ? params.CheckType : null; + this.Cookie = 'Cookie' in params ? params.Cookie : null; + this.UserName = 'UserName' in params ? params.UserName : null; + this.PassWord = 'PassWord' in params ? params.PassWord : null; + this.ReqDataType = 'ReqDataType' in params ? params.ReqDataType : null; + this.ReqData = 'ReqData' in params ? params.ReqData : null; + this.RespDataType = 'RespDataType' in params ? params.RespDataType : null; + this.RespData = 'RespData' in params ? params.RespData : null; + this.DnsSvr = 'DnsSvr' in params ? params.DnsSvr : null; + this.DnsCheckIp = 'DnsCheckIp' in params ? params.DnsCheckIp : null; + this.DnsQueryType = 'DnsQueryType' in params ? params.DnsQueryType : null; + this.UseSecConn = 'UseSecConn' in params ? params.UseSecConn : null; + this.NeedAuth = 'NeedAuth' in params ? params.NeedAuth : null; + this.Type = 'Type' in params ? params.Type : null; + this.RedirectFollowNum = 'RedirectFollowNum' in params ? params.RedirectFollowNum : null; } } /** - * BindAlarmPolicy请求参数结构体 + * ResumeProbeTask请求参数结构体 * @class */ -class BindAlarmPolicyRequest extends AbstractModel { +class ResumeProbeTaskRequest extends AbstractModel { constructor(){ super(); /** - * 拨测任务Id - * @type {number || null} - */ - this.TaskId = null; - - /** - * 告警策略组Id - * @type {number || null} - */ - this.PolicyGroupId = null; - - /** - * 是否绑定操作。非0 为绑定, 0 为 解绑。缺省表示 绑定。 - * @type {number || null} - */ - this.IfBind = null; - - /** - * 告警主题Id - * @type {string || null} + * 任务 ID + * @type {Array. || null} */ - this.TopicId = null; + this.TaskIds = null; } @@ -1472,39 +2867,36 @@ class BindAlarmPolicyRequest extends AbstractModel { if (!params) { return; } - this.TaskId = 'TaskId' in params ? params.TaskId : null; - this.PolicyGroupId = 'PolicyGroupId' in params ? params.PolicyGroupId : null; - this.IfBind = 'IfBind' in params ? params.IfBind : null; - this.TopicId = 'TopicId' in params ? params.TopicId : null; + this.TaskIds = 'TaskIds' in params ? params.TaskIds : null; } } /** - * DescribeAgentGroups返回参数结构体 + * DescribeTasksByType请求参数结构体 * @class */ -class DescribeAgentGroupsResponse extends AbstractModel { +class DescribeTasksByTypeRequest extends AbstractModel { constructor(){ super(); /** - * 用户所属的系统默认拨测分组 - * @type {AgentGroup || null} + * 从第Offset 条开始查询。缺省值为0 + * @type {number || null} */ - this.SysDefaultGroup = null; + this.Offset = null; /** - * 用户创建的拨测分组列表 - * @type {Array. || null} + * 本批次查询Limit 条记录。缺省值为20 + * @type {number || null} */ - this.CustomGroups = null; + this.Limit = null; /** - * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - * @type {string || null} + * 拨测任务类型。0 站点监控,2 可用性监控。缺省值为2 + * @type {number || null} */ - this.RequestId = null; + this.Type = null; } @@ -1515,123 +2907,92 @@ class DescribeAgentGroupsResponse extends AbstractModel { if (!params) { return; } - - if (params.SysDefaultGroup) { - let obj = new AgentGroup(); - obj.deserialize(params.SysDefaultGroup) - this.SysDefaultGroup = obj; - } - - if (params.CustomGroups) { - this.CustomGroups = new Array(); - for (let z in params.CustomGroups) { - let obj = new AgentGroup(); - obj.deserialize(params.CustomGroups[z]); - this.CustomGroups.push(obj); - } - } - this.RequestId = 'RequestId' in params ? params.RequestId : null; + this.Offset = 'Offset' in params ? params.Offset : null; + this.Limit = 'Limit' in params ? params.Limit : null; + this.Type = 'Type' in params ? params.Type : null; } } /** - * 省份可用率 + * 探测节点 * @class */ -class ProvinceDetail extends AbstractModel { +class NodeDefine extends AbstractModel { constructor(){ super(); /** - * 可用率 - * @type {number || null} + * 节点名称 + * @type {string || null} */ - this.AvgAvailRatio = null; + this.Name = null; /** - * 省份名称 + * 节点代码 * @type {string || null} */ - this.ProvinceName = null; + this.Code = null; /** - * 省份英文名称 + * 节点类型 +
  • 1 = IDC
  • +
  • 2 = LastMile
  • +
  • 3 = Mobile
  • + * @type {number || null} + */ + this.Type = null; + + /** + * 网络服务商 * @type {string || null} */ - this.Mapkey = null; + this.NetService = null; /** - * 统计时间点 + * 区域 * @type {string || null} */ - this.TimeStamp = null; + this.District = null; /** - * 分运营商可用率 - * @type {Array. || null} + * 城市 + * @type {string || null} */ - this.IspDetail = null; + this.City = null; /** - * 平均耗时,单位毫秒 + * IP 类型 +
  • 1 = IPv4
  • +
  • 2 = IPv6
  • +注意:此字段可能返回 null,表示取不到有效值。 * @type {number || null} */ - this.AvgTime = null; + this.IPType = null; /** - * 省份 - * @type {string || null} + * 区域 +
  • 1 = 中国大陆
  • +
  • 2 = 港澳台
  • +
  • 3 = 国外
  • +注意:此字段可能返回 null,表示取不到有效值。 + * @type {number || null} */ - this.Province = null; - - } - - /** - * @private - */ - deserialize(params) { - if (!params) { - return; - } - this.AvgAvailRatio = 'AvgAvailRatio' in params ? params.AvgAvailRatio : null; - this.ProvinceName = 'ProvinceName' in params ? params.ProvinceName : null; - this.Mapkey = 'Mapkey' in params ? params.Mapkey : null; - this.TimeStamp = 'TimeStamp' in params ? params.TimeStamp : null; - - if (params.IspDetail) { - this.IspDetail = new Array(); - for (let z in params.IspDetail) { - let obj = new IspDetail(); - obj.deserialize(params.IspDetail[z]); - this.IspDetail.push(obj); - } - } - this.AvgTime = 'AvgTime' in params ? params.AvgTime : null; - this.Province = 'Province' in params ? params.Province : null; - - } -} - -/** - * 告警主题 - * @class - */ -class AlarmTopic extends AbstractModel { - constructor(){ - super(); + this.Location = null; /** - * 主题的ID + * 节点类型 +注意:此字段可能返回 null,表示取不到有效值。 * @type {string || null} */ - this.TopicId = null; + this.CodeType = null; /** - * 主题的名称 - * @type {string || null} + * 节点状态:1-运行,2-下线 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {number || null} */ - this.TopicName = null; + this.NodeDefineStatus = null; } @@ -1642,43 +3003,57 @@ class AlarmTopic extends AbstractModel { if (!params) { return; } - this.TopicId = 'TopicId' in params ? params.TopicId : null; - this.TopicName = 'TopicName' in params ? params.TopicName : null; + this.Name = 'Name' in params ? params.Name : null; + this.Code = 'Code' in params ? params.Code : null; + this.Type = 'Type' in params ? params.Type : null; + this.NetService = 'NetService' in params ? params.NetService : null; + this.District = 'District' in params ? params.District : null; + this.City = 'City' in params ? params.City : null; + this.IPType = 'IPType' in params ? params.IPType : null; + this.Location = 'Location' in params ? params.Location : null; + this.CodeType = 'CodeType' in params ? params.CodeType : null; + this.NodeDefineStatus = 'NodeDefineStatus' in params ? params.NodeDefineStatus : null; } } /** - * 实时统计数据 + * GetReturnCodeHistory返回参数结构体 * @class */ -class ResultSummary extends AbstractModel { +class GetReturnCodeHistoryResponse extends AbstractModel { constructor(){ super(); /** - * 统计时间 - * @type {string || null} + * 拨测失败详情列表 + * @type {Array. || null} */ - this.LogTime = null; + this.Details = null; /** - * 任务ID - * @type {number || null} + * 拨测失败汇总列表 + * @type {Array. || null} */ - this.TaskId = null; + this.Summary = null; /** - * 实时可用率 - * @type {number || null} + * 开始时间 + * @type {string || null} */ - this.AvailRatio = null; + this.BeginTime = null; /** - * 实时响应时间 - * @type {number || null} + * 截至时间 + * @type {string || null} */ - this.ReponseTime = null; + this.EndTime = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; } @@ -1689,28 +3064,51 @@ class ResultSummary extends AbstractModel { if (!params) { return; } - this.LogTime = 'LogTime' in params ? params.LogTime : null; - this.TaskId = 'TaskId' in params ? params.TaskId : null; - this.AvailRatio = 'AvailRatio' in params ? params.AvailRatio : null; - this.ReponseTime = 'ReponseTime' in params ? params.ReponseTime : null; + + if (params.Details) { + this.Details = new Array(); + for (let z in params.Details) { + let obj = new CatReturnDetail(); + obj.deserialize(params.Details[z]); + this.Details.push(obj); + } + } + + if (params.Summary) { + this.Summary = new Array(); + for (let z in params.Summary) { + let obj = new CatReturnSummary(); + obj.deserialize(params.Summary[z]); + this.Summary.push(obj); + } + } + this.BeginTime = 'BeginTime' in params ? params.BeginTime : null; + this.EndTime = 'EndTime' in params ? params.EndTime : null; + this.RequestId = 'RequestId' in params ? params.RequestId : null; } } /** - * PauseTask请求参数结构体 + * GetAvailRatioHistory请求参数结构体 * @class */ -class PauseTaskRequest extends AbstractModel { +class GetAvailRatioHistoryRequest extends AbstractModel { constructor(){ super(); /** - * 拨测任务id + * 拨测任务Id * @type {number || null} */ this.TaskId = null; + /** + * 具体时间点 + * @type {string || null} + */ + this.TimeStamp = null; + } /** @@ -1721,23 +3119,30 @@ class PauseTaskRequest extends AbstractModel { return; } this.TaskId = 'TaskId' in params ? params.TaskId : null; + this.TimeStamp = 'TimeStamp' in params ? params.TimeStamp : null; } } /** - * GetResultSummary请求参数结构体 + * GetTaskTotalNumber返回参数结构体 * @class */ -class GetResultSummaryRequest extends AbstractModel { +class GetTaskTotalNumberResponse extends AbstractModel { constructor(){ super(); /** - * 任务Id列表 - * @type {Array. || null} + * 拨测任务总数 + * @type {number || null} */ - this.TaskIds = null; + this.TotalCount = null; + + /** + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} + */ + this.RequestId = null; } @@ -1748,66 +3153,31 @@ class GetResultSummaryRequest extends AbstractModel { if (!params) { return; } - this.TaskIds = 'TaskIds' in params ? params.TaskIds : null; + this.TotalCount = 'TotalCount' in params ? params.TotalCount : null; + this.RequestId = 'RequestId' in params ? params.RequestId : null; } } /** - * DescribeAlarms请求参数结构体 + * 拨测点维度信息 * @class */ -class DescribeAlarmsRequest extends AbstractModel { +class DimensionsDetail extends AbstractModel { constructor(){ super(); /** - * 从第Offset 条开始查询。缺省值为0 - * @type {number || null} - */ - this.Offset = null; - - /** - * 本批次查询Limit 条记录。缺省值为20 - * @type {number || null} - */ - this.Limit = null; - - /** - * 0 全部, 1 已恢复, 2 未恢复 默认为0。其他值,视为0 查全部状态。 - * @type {number || null} - */ - this.Status = null; - - /** - * 格式如:2017-05-09 00:00:00 缺省为7天前0点 - * @type {string || null} - */ - this.BeginTime = null; - - /** - * 格式如:2017-05-10 00:00:00 缺省为明天0点 - * @type {string || null} - */ - this.EndTime = null; - - /** - * 告警任务名 - * @type {string || null} - */ - this.ObjName = null; - - /** - * 排序字段,可为Time, ObjName, Duration, Status, Content 之一。缺省为Time。 - * @type {string || null} + * 运营商列表 + * @type {Array. || null} */ - this.SortBy = null; + this.Isp = null; /** - * 升序或降序。可为Desc, Asc之一。缺省为Desc。 - * @type {string || null} + * 省份列表 + * @type {Array. || null} */ - this.SortType = null; + this.Province = null; } @@ -1818,55 +3188,25 @@ class DescribeAlarmsRequest extends AbstractModel { if (!params) { return; } - this.Offset = 'Offset' in params ? params.Offset : null; - this.Limit = 'Limit' in params ? params.Limit : null; - this.Status = 'Status' in params ? params.Status : null; - this.BeginTime = 'BeginTime' in params ? params.BeginTime : null; - this.EndTime = 'EndTime' in params ? params.EndTime : null; - this.ObjName = 'ObjName' in params ? params.ObjName : null; - this.SortBy = 'SortBy' in params ? params.SortBy : null; - this.SortType = 'SortType' in params ? params.SortType : null; + this.Isp = 'Isp' in params ? params.Isp : null; + this.Province = 'Province' in params ? params.Province : null; } } /** - * DescribeUserLimit返回参数结构体 + * GetDailyAvailRatio请求参数结构体 * @class */ -class DescribeUserLimitResponse extends AbstractModel { - constructor(){ - super(); - - /** - * 用户可建立的最大任务数 - * @type {number || null} - */ - this.MaxTaskNum = null; - - /** - * 用户可用的最大拨测结点数 - * @type {number || null} - */ - this.MaxAgentNum = null; - - /** - * 用户可建立的最大拨测分组数 - * @type {number || null} - */ - this.MaxGroupNum = null; +class GetDailyAvailRatioRequest extends AbstractModel { + constructor(){ + super(); /** - * 用户可用的最小拨测间隔 + * 拨测任务Id * @type {number || null} */ - this.MinPeriod = null; - - /** - * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 - * @type {string || null} - */ - this.RequestId = null; + this.TaskId = null; } @@ -1877,52 +3217,36 @@ class DescribeUserLimitResponse extends AbstractModel { if (!params) { return; } - this.MaxTaskNum = 'MaxTaskNum' in params ? params.MaxTaskNum : null; - this.MaxAgentNum = 'MaxAgentNum' in params ? params.MaxAgentNum : null; - this.MaxGroupNum = 'MaxGroupNum' in params ? params.MaxGroupNum : null; - this.MinPeriod = 'MinPeriod' in params ? params.MinPeriod : null; - this.RequestId = 'RequestId' in params ? params.RequestId : null; + this.TaskId = 'TaskId' in params ? params.TaskId : null; } } /** - * GetRespTimeTrendEx请求参数结构体 + * 拨测失败返回情况汇总 * @class */ -class GetRespTimeTrendExRequest extends AbstractModel { +class CatReturnSummary extends AbstractModel { constructor(){ super(); /** - * 验证成功的拨测任务id + * 拨测失败个数 * @type {number || null} */ - this.TaskId = null; - - /** - * 统计数据的发生日期。格式如:2017-05-09 - * @type {string || null} - */ - this.Date = null; + this.ResultCount = null; /** - * 数据的采集周期,单位分钟。取值可为 1, 5, 15, 30 + * 拨测失败返回码 * @type {number || null} */ - this.Period = null; - - /** - * 可为 Isp, Province - * @type {DimensionsDetail || null} - */ - this.Dimensions = null; + this.ResultCode = null; /** - * 可为 totalTime, parseTime, connectTime, sendTime, waitTime, receiveTime, availRatio。缺省值为 totalTime + * 拨测失败原因描述 * @type {string || null} */ - this.MetricName = null; + this.ErrorReason = null; } @@ -1933,33 +3257,40 @@ class GetRespTimeTrendExRequest extends AbstractModel { if (!params) { return; } - this.TaskId = 'TaskId' in params ? params.TaskId : null; - this.Date = 'Date' in params ? params.Date : null; - this.Period = 'Period' in params ? params.Period : null; - - if (params.Dimensions) { - let obj = new DimensionsDetail(); - obj.deserialize(params.Dimensions) - this.Dimensions = obj; - } - this.MetricName = 'MetricName' in params ? params.MetricName : null; + this.ResultCount = 'ResultCount' in params ? params.ResultCount : null; + this.ResultCode = 'ResultCode' in params ? params.ResultCode : null; + this.ErrorReason = 'ErrorReason' in params ? params.ErrorReason : null; } } /** - * DeleteTasks请求参数结构体 + * 任务执行结果 * @class */ -class DeleteTasksRequest extends AbstractModel { +class TaskResult extends AbstractModel { constructor(){ super(); /** - * 拨测任务id - * @type {Array. || null} + * 任务 ID + * @type {string || null} */ - this.TaskIds = null; + this.TaskId = null; + + /** + * 是否成功 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {boolean || null} + */ + this.Success = null; + + /** + * 错误信息 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {string || null} + */ + this.ErrorMessage = null; } @@ -1970,72 +3301,46 @@ class DeleteTasksRequest extends AbstractModel { if (!params) { return; } - this.TaskIds = 'TaskIds' in params ? params.TaskIds : null; + this.TaskId = 'TaskId' in params ? params.TaskId : null; + this.Success = 'Success' in params ? params.Success : null; + this.ErrorMessage = 'ErrorMessage' in params ? params.ErrorMessage : null; } } /** - * DescribeAlarmsByTask请求参数结构体 + * SuspendProbeTask返回参数结构体 * @class */ -class DescribeAlarmsByTaskRequest extends AbstractModel { +class SuspendProbeTaskResponse extends AbstractModel { constructor(){ super(); /** - * 拨测任务Id - * @type {number || null} - */ - this.TaskId = null; - - /** - * 从第Offset 条开始查询。缺省值为0 - * @type {number || null} - */ - this.Offset = null; - - /** - * 本批次查询Limit 条记录。缺省值为20 + * 任务总量 * @type {number || null} */ - this.Limit = null; + this.Total = null; /** - * 0 全部, 1 已恢复, 2 未恢复 默认为0。其他值,视为0 查全部状态 + * 任务成功量 +注意:此字段可能返回 null,表示取不到有效值。 * @type {number || null} */ - this.Status = null; - - /** - * 格式如:2017-05-09 00:00:00 缺省为7天前0点 - * @type {string || null} - */ - this.BeginTime = null; - - /** - * 格式如:2017-05-10 00:00:00 缺省为明天0点 - * @type {string || null} - */ - this.EndTime = null; - - /** - * 排序字段,可为Time, ObjName, Duration, Status, Content 之一。缺省为Time - * @type {string || null} - */ - this.SortBy = null; + this.SuccessCount = null; /** - * 升序或降序。可为Desc, Asc之一。缺省为Desc - * @type {string || null} + * 任务执行结果 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {Array. || null} */ - this.SortType = null; + this.Results = null; /** - * 告警对象的名称 + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 * @type {string || null} */ - this.ObjName = null; + this.RequestId = null; } @@ -2046,27 +3351,36 @@ class DescribeAlarmsByTaskRequest extends AbstractModel { if (!params) { return; } - this.TaskId = 'TaskId' in params ? params.TaskId : null; - this.Offset = 'Offset' in params ? params.Offset : null; - this.Limit = 'Limit' in params ? params.Limit : null; - this.Status = 'Status' in params ? params.Status : null; - this.BeginTime = 'BeginTime' in params ? params.BeginTime : null; - this.EndTime = 'EndTime' in params ? params.EndTime : null; - this.SortBy = 'SortBy' in params ? params.SortBy : null; - this.SortType = 'SortType' in params ? params.SortType : null; - this.ObjName = 'ObjName' in params ? params.ObjName : null; + this.Total = 'Total' in params ? params.Total : null; + this.SuccessCount = 'SuccessCount' in params ? params.SuccessCount : null; + + if (params.Results) { + this.Results = new Array(); + for (let z in params.Results) { + let obj = new TaskResult(); + obj.deserialize(params.Results[z]); + this.Results.push(obj); + } + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; } } /** - * PauseTask返回参数结构体 + * GetRespTimeTrendEx返回参数结构体 * @class */ -class PauseTaskResponse extends AbstractModel { +class GetRespTimeTrendExResponse extends AbstractModel { constructor(){ super(); + /** + * 数据点集合,时延等走势数据 + * @type {Array. || null} + */ + this.DataPoints = null; + /** * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 * @type {string || null} @@ -2082,36 +3396,39 @@ class PauseTaskResponse extends AbstractModel { if (!params) { return; } + + if (params.DataPoints) { + this.DataPoints = new Array(); + for (let z in params.DataPoints) { + let obj = new DataPointMetric(); + obj.deserialize(params.DataPoints[z]); + this.DataPoints.push(obj); + } + } this.RequestId = 'RequestId' in params ? params.RequestId : null; } } /** - * CreateAgentGroup请求参数结构体 + * 包含MetricName的DataPoint数据 * @class */ -class CreateAgentGroupRequest extends AbstractModel { +class DataPointMetric extends AbstractModel { constructor(){ super(); /** - * 拨测分组名称,不超过32个字符 + * 数据项 * @type {string || null} */ - this.GroupName = null; - - /** - * 是否为默认分组,取值可为 0 或 1。取 1 时表示设置为默认分组 - * @type {number || null} - */ - this.IsDefault = null; + this.MetricName = null; /** - * Province, Isp 需要成对地进行选择。参数对的取值范围。参见:DescribeAgents 的返回结果。 - * @type {Array. || null} + * 数据点的时间和值 + * @type {Array. || null} */ - this.Agents = null; + this.Points = null; } @@ -2122,15 +3439,14 @@ class CreateAgentGroupRequest extends AbstractModel { if (!params) { return; } - this.GroupName = 'GroupName' in params ? params.GroupName : null; - this.IsDefault = 'IsDefault' in params ? params.IsDefault : null; + this.MetricName = 'MetricName' in params ? params.MetricName : null; - if (params.Agents) { - this.Agents = new Array(); - for (let z in params.Agents) { - let obj = new CatAgent(); - obj.deserialize(params.Agents[z]); - this.Agents.push(obj); + if (params.Points) { + this.Points = new Array(); + for (let z in params.Points) { + let obj = new DataPoint(); + obj.deserialize(params.Points[z]); + this.Points.push(obj); } } @@ -2138,144 +3454,222 @@ class CreateAgentGroupRequest extends AbstractModel { } /** - * 拨测记录 + * DescribeCatLogs请求参数结构体 * @class */ -class CatLog extends AbstractModel { +class DescribeCatLogsRequest extends AbstractModel { constructor(){ super(); /** - * 拨测时间点 - * @type {string || null} + * 拨测任务Id + * @type {number || null} */ - this.Time = null; + this.TaskId = null; /** - * 拨测类型 - * @type {string || null} + * 从第Offset 条开始查询。缺省值为0 + * @type {number || null} */ - this.CatTypeName = null; + this.Offset = null; /** - * 任务ID + * 本批次查询Limit 条记录。缺省值为20 * @type {number || null} */ - this.TaskId = null; + this.Limit = null; /** - * 拨测点所在城市 + * 格式如:2017-05-09 00:00:00 缺省为当天0点,最多拉取1天的数据 + * @type {string || null} + */ + this.BeginTime = null; + + /** + * 格式如:2017-05-10 00:00:00 缺省为当前时间 + * @type {string || null} + */ + this.EndTime = null; + + /** + * 按时间升序或降序。默认降序。可选值: Desc, Asc * @type {string || null} */ - this.City = null; + this.SortType = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.TaskId = 'TaskId' in params ? params.TaskId : null; + this.Offset = 'Offset' in params ? params.Offset : null; + this.Limit = 'Limit' in params ? params.Limit : null; + this.BeginTime = 'BeginTime' in params ? params.BeginTime : null; + this.EndTime = 'EndTime' in params ? params.EndTime : null; + this.SortType = 'SortType' in params ? params.SortType : null; + + } +} + +/** + * GetAvailRatioHistory返回参数结构体 + * @class + */ +class GetAvailRatioHistoryResponse extends AbstractModel { + constructor(){ + super(); + + /** + * 整体平均可用率 + * @type {number || null} + */ + this.AvgAvailRatio = null; /** - * 拨测点所在运营商 - * @type {string || null} + * 各省份最低可用率 + * @type {number || null} */ - this.Isp = null; + this.LowestAvailRatio = null; /** - * 被拨测Server的IP + * 可用率最低的省份 * @type {string || null} */ - this.ServerIp = null; + this.LowestProvince = null; /** - * 被拨测Server的域名 + * 可用率最低的运营商 * @type {string || null} */ - this.DomainName = null; + this.LowestIsp = null; /** - * 执行耗时,单位毫秒 - * @type {number || null} + * 分省份的可用率数据 + * @type {Array. || null} */ - this.TotalTime = null; + this.ProvinceData = null; /** - * 成功失败(1 失败,0 成功) + * 国内平均耗时,单位毫秒 * @type {number || null} */ - this.ResultType = null; + this.AvgTime = null; /** - * 失败错误码 + * 国外平均可用率 * @type {number || null} */ - this.ResultCode = null; + this.AvgAvailRatio2 = null; /** - * 请求包大小 + * 国外平均耗时,单位毫秒 * @type {number || null} */ - this.ReqPkgSize = null; + this.AvgTime2 = null; /** - * 回应包大小 + * 国外最低可用率 * @type {number || null} */ - this.RspPkgSize = null; + this.LowestAvailRatio2 = null; /** - * 拨测请求 + * 国外可用率最低的区域 * @type {string || null} */ - this.ReqMsg = null; + this.LowestProvince2 = null; /** - * 拨测回应 + * 国外可用率最低的运营商 * @type {string || null} */ - this.RespMsg = null; + this.LowestIsp2 = null; /** - * 客户端IP - * @type {string || null} + * 国外分区域的可用率数据 + * @type {Array. || null} */ - this.ClientIp = null; + this.ProvinceData2 = null; /** - * 拨测点所在城市名称 + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 * @type {string || null} */ - this.CityName = null; + this.RequestId = null; - /** - * 拨测点所在运营商名称 - * @type {string || null} - */ - this.IspName = null; + } - /** - * 解析耗时,单位毫秒 - * @type {number || null} - */ - this.ParseTime = null; + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.AvgAvailRatio = 'AvgAvailRatio' in params ? params.AvgAvailRatio : null; + this.LowestAvailRatio = 'LowestAvailRatio' in params ? params.LowestAvailRatio : null; + this.LowestProvince = 'LowestProvince' in params ? params.LowestProvince : null; + this.LowestIsp = 'LowestIsp' in params ? params.LowestIsp : null; - /** - * 连接耗时,单位毫秒 - * @type {number || null} - */ - this.ConnectTime = null; + if (params.ProvinceData) { + this.ProvinceData = new Array(); + for (let z in params.ProvinceData) { + let obj = new ProvinceDetail(); + obj.deserialize(params.ProvinceData[z]); + this.ProvinceData.push(obj); + } + } + this.AvgTime = 'AvgTime' in params ? params.AvgTime : null; + this.AvgAvailRatio2 = 'AvgAvailRatio2' in params ? params.AvgAvailRatio2 : null; + this.AvgTime2 = 'AvgTime2' in params ? params.AvgTime2 : null; + this.LowestAvailRatio2 = 'LowestAvailRatio2' in params ? params.LowestAvailRatio2 : null; + this.LowestProvince2 = 'LowestProvince2' in params ? params.LowestProvince2 : null; + this.LowestIsp2 = 'LowestIsp2' in params ? params.LowestIsp2 : null; + + if (params.ProvinceData2) { + this.ProvinceData2 = new Array(); + for (let z in params.ProvinceData2) { + let obj = new ProvinceDetail(); + obj.deserialize(params.ProvinceData2[z]); + this.ProvinceData2.push(obj); + } + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * DescribeProbeTasks返回参数结构体 + * @class + */ +class DescribeProbeTasksResponse extends AbstractModel { + constructor(){ + super(); /** - * 数据发送耗时,单位毫秒 - * @type {number || null} + * 任务列表 +注意:此字段可能返回 null,表示取不到有效值。 + * @type {Array. || null} */ - this.SendTime = null; + this.TaskSet = null; /** - * 等待耗时,单位毫秒 + * 任务总数 * @type {number || null} */ - this.WaitTime = null; + this.Total = null; /** - * 接收耗时,单位毫秒 - * @type {number || null} + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} */ - this.ReceiveTime = null; + this.RequestId = null; } @@ -2286,99 +3680,168 @@ class CatLog extends AbstractModel { if (!params) { return; } - this.Time = 'Time' in params ? params.Time : null; - this.CatTypeName = 'CatTypeName' in params ? params.CatTypeName : null; - this.TaskId = 'TaskId' in params ? params.TaskId : null; - this.City = 'City' in params ? params.City : null; - this.Isp = 'Isp' in params ? params.Isp : null; - this.ServerIp = 'ServerIp' in params ? params.ServerIp : null; - this.DomainName = 'DomainName' in params ? params.DomainName : null; - this.TotalTime = 'TotalTime' in params ? params.TotalTime : null; - this.ResultType = 'ResultType' in params ? params.ResultType : null; - this.ResultCode = 'ResultCode' in params ? params.ResultCode : null; - this.ReqPkgSize = 'ReqPkgSize' in params ? params.ReqPkgSize : null; - this.RspPkgSize = 'RspPkgSize' in params ? params.RspPkgSize : null; - this.ReqMsg = 'ReqMsg' in params ? params.ReqMsg : null; - this.RespMsg = 'RespMsg' in params ? params.RespMsg : null; - this.ClientIp = 'ClientIp' in params ? params.ClientIp : null; - this.CityName = 'CityName' in params ? params.CityName : null; - this.IspName = 'IspName' in params ? params.IspName : null; - this.ParseTime = 'ParseTime' in params ? params.ParseTime : null; - this.ConnectTime = 'ConnectTime' in params ? params.ConnectTime : null; - this.SendTime = 'SendTime' in params ? params.SendTime : null; - this.WaitTime = 'WaitTime' in params ? params.WaitTime : null; - this.ReceiveTime = 'ReceiveTime' in params ? params.ReceiveTime : null; + + if (params.TaskSet) { + this.TaskSet = new Array(); + for (let z in params.TaskSet) { + let obj = new ProbeTask(); + obj.deserialize(params.TaskSet[z]); + this.TaskSet.push(obj); + } + } + this.Total = 'Total' in params ? params.Total : null; + this.RequestId = 'RequestId' in params ? params.RequestId : null; } } /** - * GetDailyAvailRatio返回参数结构体 + * DescribeAlarms返回参数结构体 * @class */ -class GetDailyAvailRatioResponse extends AbstractModel { +class DescribeAlarmsResponse extends AbstractModel { constructor(){ super(); /** - * 整体平均可用率 + * 告警总条数 * @type {number || null} */ - this.AvgAvailRatio = null; + this.TotalCount = null; /** - * 各省份最低可用率 - * @type {number || null} + * 本批告警信息列表 + * @type {Array. || null} */ - this.LowestAvailRatio = null; + this.AlarmInfos = null; /** - * 可用率最低的省份 + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 * @type {string || null} */ - this.LowestProvince = null; + this.RequestId = null; - /** - * 分省份的可用率数据 - * @type {Array. || null} - */ - this.ProvinceData = null; + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.TotalCount = 'TotalCount' in params ? params.TotalCount : null; + + if (params.AlarmInfos) { + this.AlarmInfos = new Array(); + for (let z in params.AlarmInfos) { + let obj = new AlarmInfo(); + obj.deserialize(params.AlarmInfos[z]); + this.AlarmInfos.push(obj); + } + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * DescribeTasksByType返回参数结构体 + * @class + */ +class DescribeTasksByTypeResponse extends AbstractModel { + constructor(){ + super(); /** - * 国内平均耗时,单位毫秒 + * 符合条件的总任务数 * @type {number || null} */ - this.AvgTime = null; + this.TotalCount = null; /** - * 国外平均可用率 - * @type {number || null} + * 任务列表 + * @type {Array. || null} */ - this.AvgAvailRatio2 = null; + this.Tasks = null; /** - * 国外平均耗时,单位毫秒 - * @type {number || null} + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} */ - this.AvgTime2 = null; + this.RequestId = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.TotalCount = 'TotalCount' in params ? params.TotalCount : null; + + if (params.Tasks) { + this.Tasks = new Array(); + for (let z in params.Tasks) { + let obj = new TaskAlarm(); + obj.deserialize(params.Tasks[z]); + this.Tasks.push(obj); + } + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; + + } +} + +/** + * DescribeAlarmTopic请求参数结构体 + * @class + */ +class DescribeAlarmTopicRequest extends AbstractModel { + constructor(){ + super(); /** - * 国外最低可用率 + * 如果不存在拨测相关的主题,是否自动创建一个。取值可为0, 1,默认为0 * @type {number || null} */ - this.LowestAvailRatio2 = null; + this.NeedAdd = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.NeedAdd = 'NeedAdd' in params ? params.NeedAdd : null; + + } +} + +/** + * DescribeAgentGroups返回参数结构体 + * @class + */ +class DescribeAgentGroupsResponse extends AbstractModel { + constructor(){ + super(); /** - * 国外可用率最低的区域 - * @type {string || null} + * 用户所属的系统默认拨测分组 + * @type {AgentGroup || null} */ - this.LowestProvince2 = null; + this.SysDefaultGroup = null; /** - * 国外分区域的可用率数据 - * @type {Array. || null} + * 用户创建的拨测分组列表 + * @type {Array. || null} */ - this.ProvinceData2 = null; + this.CustomGroups = null; /** * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 @@ -2395,30 +3858,19 @@ class GetDailyAvailRatioResponse extends AbstractModel { if (!params) { return; } - this.AvgAvailRatio = 'AvgAvailRatio' in params ? params.AvgAvailRatio : null; - this.LowestAvailRatio = 'LowestAvailRatio' in params ? params.LowestAvailRatio : null; - this.LowestProvince = 'LowestProvince' in params ? params.LowestProvince : null; - if (params.ProvinceData) { - this.ProvinceData = new Array(); - for (let z in params.ProvinceData) { - let obj = new ProvinceDetail(); - obj.deserialize(params.ProvinceData[z]); - this.ProvinceData.push(obj); - } + if (params.SysDefaultGroup) { + let obj = new AgentGroup(); + obj.deserialize(params.SysDefaultGroup) + this.SysDefaultGroup = obj; } - this.AvgTime = 'AvgTime' in params ? params.AvgTime : null; - this.AvgAvailRatio2 = 'AvgAvailRatio2' in params ? params.AvgAvailRatio2 : null; - this.AvgTime2 = 'AvgTime2' in params ? params.AvgTime2 : null; - this.LowestAvailRatio2 = 'LowestAvailRatio2' in params ? params.LowestAvailRatio2 : null; - this.LowestProvince2 = 'LowestProvince2' in params ? params.LowestProvince2 : null; - if (params.ProvinceData2) { - this.ProvinceData2 = new Array(); - for (let z in params.ProvinceData2) { - let obj = new ProvinceDetail(); - obj.deserialize(params.ProvinceData2[z]); - this.ProvinceData2.push(obj); + if (params.CustomGroups) { + this.CustomGroups = new Array(); + for (let z in params.CustomGroups) { + let obj = new AgentGroup(); + obj.deserialize(params.CustomGroups[z]); + this.CustomGroups.push(obj); } } this.RequestId = 'RequestId' in params ? params.RequestId : null; @@ -2427,18 +3879,18 @@ class GetDailyAvailRatioResponse extends AbstractModel { } /** - * DeleteAgentGroup请求参数结构体 + * SuspendProbeTask请求参数结构体 * @class */ -class DeleteAgentGroupRequest extends AbstractModel { +class SuspendProbeTaskRequest extends AbstractModel { constructor(){ super(); /** - * 拨测分组id - * @type {number || null} + * 任务 ID + * @type {Array. || null} */ - this.GroupId = null; + this.TaskIds = null; } @@ -2449,30 +3901,54 @@ class DeleteAgentGroupRequest extends AbstractModel { if (!params) { return; } - this.GroupId = 'GroupId' in params ? params.GroupId : null; + this.TaskIds = 'TaskIds' in params ? params.TaskIds : null; } } /** - * GetAvailRatioHistory请求参数结构体 + * DescribeProbeMetricData请求参数结构体 * @class */ -class GetAvailRatioHistoryRequest extends AbstractModel { +class DescribeProbeMetricDataRequest extends AbstractModel { constructor(){ super(); /** - * 拨测任务Id - * @type {number || null} + * 分析任务类型 + * @type {string || null} */ - this.TaskId = null; + this.AnalyzeTaskType = null; /** - * 具体时间点 + * 指标类型,counter 或者 gauge * @type {string || null} */ - this.TimeStamp = null; + this.MetricType = null; + + /** + * 指标详细字段 + * @type {string || null} + */ + this.Field = null; + + /** + * 过滤条件 + * @type {string || null} + */ + this.Filter = null; + + /** + * 聚合时间, 1m、1d、100d 等等 + * @type {string || null} + */ + this.GroupBy = null; + + /** + * 过滤条件数组 + * @type {Array. || null} + */ + this.Filters = null; } @@ -2483,20 +3959,54 @@ class GetAvailRatioHistoryRequest extends AbstractModel { if (!params) { return; } - this.TaskId = 'TaskId' in params ? params.TaskId : null; - this.TimeStamp = 'TimeStamp' in params ? params.TimeStamp : null; + this.AnalyzeTaskType = 'AnalyzeTaskType' in params ? params.AnalyzeTaskType : null; + this.MetricType = 'MetricType' in params ? params.MetricType : null; + this.Field = 'Field' in params ? params.Field : null; + this.Filter = 'Filter' in params ? params.Filter : null; + this.GroupBy = 'GroupBy' in params ? params.GroupBy : null; + this.Filters = 'Filters' in params ? params.Filters : null; } } /** - * DescribeAgentGroups请求参数结构体 + * GetRespTimeTrendEx请求参数结构体 * @class */ -class DescribeAgentGroupsRequest extends AbstractModel { +class GetRespTimeTrendExRequest extends AbstractModel { constructor(){ super(); + /** + * 验证成功的拨测任务id + * @type {number || null} + */ + this.TaskId = null; + + /** + * 统计数据的发生日期。格式如:2017-05-09 + * @type {string || null} + */ + this.Date = null; + + /** + * 数据的采集周期,单位分钟。取值可为 1, 5, 15, 30 + * @type {number || null} + */ + this.Period = null; + + /** + * 可为 Isp, Province + * @type {DimensionsDetail || null} + */ + this.Dimensions = null; + + /** + * 可为 totalTime, parseTime, connectTime, sendTime, waitTime, receiveTime, availRatio。缺省值为 totalTime + * @type {string || null} + */ + this.MetricName = null; + } /** @@ -2506,41 +4016,57 @@ class DescribeAgentGroupsRequest extends AbstractModel { if (!params) { return; } + this.TaskId = 'TaskId' in params ? params.TaskId : null; + this.Date = 'Date' in params ? params.Date : null; + this.Period = 'Period' in params ? params.Period : null; + + if (params.Dimensions) { + let obj = new DimensionsDetail(); + obj.deserialize(params.Dimensions) + this.Dimensions = obj; + } + this.MetricName = 'MetricName' in params ? params.MetricName : null; } } /** - * DescribeAlarmsByTask返回参数结构体 + * UpdateProbeTaskConfigurationList请求参数结构体 * @class */ -class DescribeAlarmsByTaskResponse extends AbstractModel { +class UpdateProbeTaskConfigurationListRequest extends AbstractModel { constructor(){ super(); /** - * 告警信息列表 - * @type {Array. || null} + * 任务 ID + * @type {Array. || null} */ - this.AlarmInfos = null; + this.TaskIds = null; /** - * 故障率 + * 拨测节点 + * @type {Array. || null} + */ + this.Nodes = null; + + /** + * 拨测间隔 * @type {number || null} */ - this.FaultRatio = null; + this.Interval = null; /** - * 故障总时长 + * 拨测参数 * @type {string || null} */ - this.FaultTimeSpec = null; + this.Parameters = null; /** - * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * 定时任务cron表达式 * @type {string || null} */ - this.RequestId = null; + this.Cron = null; } @@ -2551,197 +4077,270 @@ class DescribeAlarmsByTaskResponse extends AbstractModel { if (!params) { return; } - - if (params.AlarmInfos) { - this.AlarmInfos = new Array(); - for (let z in params.AlarmInfos) { - let obj = new AlarmInfo(); - obj.deserialize(params.AlarmInfos[z]); - this.AlarmInfos.push(obj); - } - } - this.FaultRatio = 'FaultRatio' in params ? params.FaultRatio : null; - this.FaultTimeSpec = 'FaultTimeSpec' in params ? params.FaultTimeSpec : null; - this.RequestId = 'RequestId' in params ? params.RequestId : null; + this.TaskIds = 'TaskIds' in params ? params.TaskIds : null; + this.Nodes = 'Nodes' in params ? params.Nodes : null; + this.Interval = 'Interval' in params ? params.Interval : null; + this.Parameters = 'Parameters' in params ? params.Parameters : null; + this.Cron = 'Cron' in params ? params.Cron : null; } } /** - * ModifyTaskEx请求参数结构体 + * CreateProbeTasks请求参数结构体 * @class */ -class ModifyTaskExRequest extends AbstractModel { +class CreateProbeTasksRequest extends AbstractModel { constructor(){ super(); /** - * http, https, ping, tcp, ftp, smtp, udp, dns 之一 - * @type {string || null} + * 批量任务名-地址 + * @type {Array. || null} */ - this.CatTypeName = null; + this.BatchTasks = null; /** - * 拨测的URL,例如:www.qq.com (URL域名解析需要能解析出具体的IP) - * @type {string || null} + * 任务类型 + * @type {number || null} */ - this.Url = null; + this.TaskType = null; /** - * 拨测周期。取值可为1,5,15,30之一, 单位:分钟。精度不能低于用户等级规定的最小精度 + * 拨测节点 + * @type {Array. || null} + */ + this.Nodes = null; + + /** + * 拨测间隔 * @type {number || null} */ - this.Period = null; + this.Interval = null; /** - * 拨测任务名称不能超过32个字符。同一个用户创建的任务名不可重复 + * 拨测参数 * @type {string || null} */ - this.TaskName = null; + this.Parameters = null; /** - * 验证成功的拨测任务ID + * 任务分类 +
  • 1 = PC
  • +
  • 2 = Mobile
  • * @type {number || null} */ - this.TaskId = null; + this.TaskCategory = null; /** - * 拨测分组ID,体现本拨测任务要采用哪些运营商作为拨测源。一般可直接填写本用户的默认拨测分组。参见:DescribeAgentGroupList 接口,本参数使用返回结果里的GroupId的值。注意,Type为0时,AgentGroupId为必填 + * 定时任务cron表达式 + * @type {string || null} + */ + this.Cron = null; + + /** + * 资源标签值 + * @type {Array. || null} + */ + this.Tag = null; + + /** + * 测试类型,包含定时测试与即时测试 * @type {number || null} */ - this.AgentGroupId = null; + this.ProbeType = null; /** - * 指定域名(如需要) + * 插件类型 * @type {string || null} */ - this.Host = null; + this.PluginSource = null; /** - * 拨测目标的端口号 - * @type {number || null} + * 客户度ID + * @type {string || null} */ - this.Port = null; + this.ClientNum = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + + if (params.BatchTasks) { + this.BatchTasks = new Array(); + for (let z in params.BatchTasks) { + let obj = new ProbeTaskBasicConfiguration(); + obj.deserialize(params.BatchTasks[z]); + this.BatchTasks.push(obj); + } + } + this.TaskType = 'TaskType' in params ? params.TaskType : null; + this.Nodes = 'Nodes' in params ? params.Nodes : null; + this.Interval = 'Interval' in params ? params.Interval : null; + this.Parameters = 'Parameters' in params ? params.Parameters : null; + this.TaskCategory = 'TaskCategory' in params ? params.TaskCategory : null; + this.Cron = 'Cron' in params ? params.Cron : null; + + if (params.Tag) { + this.Tag = new Array(); + for (let z in params.Tag) { + let obj = new Tag(); + obj.deserialize(params.Tag[z]); + this.Tag.push(obj); + } + } + this.ProbeType = 'ProbeType' in params ? params.ProbeType : null; + this.PluginSource = 'PluginSource' in params ? params.PluginSource : null; + this.ClientNum = 'ClientNum' in params ? params.ClientNum : null; + + } +} + +/** + * 拨测记录 + * @class + */ +class CatLog extends AbstractModel { + constructor(){ + super(); /** - * 是否为Header请求(非0 发起Header 请求。为0,且PostData非空,发起POST请求。为0,PostData为空,发起GET请求) + * 拨测时间点 + * @type {string || null} + */ + this.Time = null; + + /** + * 拨测类型 + * @type {string || null} + */ + this.CatTypeName = null; + + /** + * 任务ID * @type {number || null} */ - this.IsHeader = null; + this.TaskId = null; /** - * URL中含有"https"时有用。缺省为SSLv23。需要为 TLSv1_2, TLSv1_1, TLSv1, SSLv2, SSLv23, SSLv3 之一 + * 拨测点所在城市 * @type {string || null} */ - this.SslVer = null; + this.City = null; /** - * POST 请求数据,空字符串表示非POST请求 + * 拨测点所在运营商 * @type {string || null} */ - this.PostData = null; + this.Isp = null; /** - * 用户Agent信息 + * 被拨测Server的IP * @type {string || null} */ - this.UserAgent = null; + this.ServerIp = null; /** - * 要在结果中进行匹配的字符串 + * 被拨测Server的域名 * @type {string || null} */ - this.CheckStr = null; + this.DomainName = null; /** - * 1 表示通过检查结果是否包含CheckStr 进行校验 + * 执行耗时,单位毫秒 * @type {number || null} */ - this.CheckType = null; + this.TotalTime = null; /** - * 需要设置的Cookie信息 - * @type {string || null} + * 成功失败(1 失败,0 成功) + * @type {number || null} */ - this.Cookie = null; + this.ResultType = null; /** - * 登录服务器的账号。如果为空字符串,表示不用校验用户密码。只做简单连接服务器的拨测 - * @type {string || null} + * 失败错误码 + * @type {number || null} */ - this.UserName = null; + this.ResultCode = null; /** - * 登录服务器的密码 - * @type {string || null} + * 请求包大小 + * @type {number || null} */ - this.PassWord = null; + this.ReqPkgSize = null; /** - * 缺省为0,0 表示请求为字符串类型, 1表示为二进制类型 + * 回应包大小 * @type {number || null} */ - this.ReqDataType = null; + this.RspPkgSize = null; /** - * 发起TCP, UDP请求的协议请求数据 + * 拨测请求 * @type {string || null} */ - this.ReqData = null; + this.ReqMsg = null; /** - * 缺省为0。0 表示请求为字符串类型。1表示为二进制类型 + * 拨测回应 * @type {string || null} */ - this.RespDataType = null; + this.RespMsg = null; /** - * 预期的UDP请求的回应数据。字符串型,只需要返回的结果里包含本字符串算校验通过。二进制型,则需要严格等于才算通过 + * 客户端IP * @type {string || null} */ - this.RespData = null; + this.ClientIp = null; /** - * 目的DNS服务器,可以为空字符串 + * 拨测点所在城市名称 * @type {string || null} */ - this.DnsSvr = null; + this.CityName = null; /** - * 需要检验是否在DNS IP列表的IP。可以为空字符串,表示不校验 + * 拨测点所在运营商名称 * @type {string || null} */ - this.DnsCheckIp = null; + this.IspName = null; /** - * 需要为下列值之一。缺省为A。A, MX, NS, CNAME, TXT, ANY - * @type {string || null} + * 解析耗时,单位毫秒 + * @type {number || null} */ - this.DnsQueryType = null; + this.ParseTime = null; /** - * 是否使用安全链接SSL, 0 不使用,1 使用 + * 连接耗时,单位毫秒 * @type {number || null} */ - this.UseSecConn = null; + this.ConnectTime = null; /** - * FTP登录验证方式, 0 不验证 1 匿名登录 2 需要身份验证 + * 数据发送耗时,单位毫秒 * @type {number || null} */ - this.NeedAuth = null; + this.SendTime = null; /** - * Type=0 默认 (站点监控) Type=2 可用率监控 + * 等待耗时,单位毫秒 * @type {number || null} */ - this.Type = null; + this.WaitTime = null; /** - * 跟随跳转次数,取值范围0-5,不传则表示不跟随 + * 接收耗时,单位毫秒 * @type {number || null} */ - this.RedirectFollowNum = null; + this.ReceiveTime = null; } @@ -2752,52 +4351,40 @@ class ModifyTaskExRequest extends AbstractModel { if (!params) { return; } + this.Time = 'Time' in params ? params.Time : null; this.CatTypeName = 'CatTypeName' in params ? params.CatTypeName : null; - this.Url = 'Url' in params ? params.Url : null; - this.Period = 'Period' in params ? params.Period : null; - this.TaskName = 'TaskName' in params ? params.TaskName : null; this.TaskId = 'TaskId' in params ? params.TaskId : null; - this.AgentGroupId = 'AgentGroupId' in params ? params.AgentGroupId : null; - this.Host = 'Host' in params ? params.Host : null; - this.Port = 'Port' in params ? params.Port : null; - this.IsHeader = 'IsHeader' in params ? params.IsHeader : null; - this.SslVer = 'SslVer' in params ? params.SslVer : null; - this.PostData = 'PostData' in params ? params.PostData : null; - this.UserAgent = 'UserAgent' in params ? params.UserAgent : null; - this.CheckStr = 'CheckStr' in params ? params.CheckStr : null; - this.CheckType = 'CheckType' in params ? params.CheckType : null; - this.Cookie = 'Cookie' in params ? params.Cookie : null; - this.UserName = 'UserName' in params ? params.UserName : null; - this.PassWord = 'PassWord' in params ? params.PassWord : null; - this.ReqDataType = 'ReqDataType' in params ? params.ReqDataType : null; - this.ReqData = 'ReqData' in params ? params.ReqData : null; - this.RespDataType = 'RespDataType' in params ? params.RespDataType : null; - this.RespData = 'RespData' in params ? params.RespData : null; - this.DnsSvr = 'DnsSvr' in params ? params.DnsSvr : null; - this.DnsCheckIp = 'DnsCheckIp' in params ? params.DnsCheckIp : null; - this.DnsQueryType = 'DnsQueryType' in params ? params.DnsQueryType : null; - this.UseSecConn = 'UseSecConn' in params ? params.UseSecConn : null; - this.NeedAuth = 'NeedAuth' in params ? params.NeedAuth : null; - this.Type = 'Type' in params ? params.Type : null; - this.RedirectFollowNum = 'RedirectFollowNum' in params ? params.RedirectFollowNum : null; + this.City = 'City' in params ? params.City : null; + this.Isp = 'Isp' in params ? params.Isp : null; + this.ServerIp = 'ServerIp' in params ? params.ServerIp : null; + this.DomainName = 'DomainName' in params ? params.DomainName : null; + this.TotalTime = 'TotalTime' in params ? params.TotalTime : null; + this.ResultType = 'ResultType' in params ? params.ResultType : null; + this.ResultCode = 'ResultCode' in params ? params.ResultCode : null; + this.ReqPkgSize = 'ReqPkgSize' in params ? params.ReqPkgSize : null; + this.RspPkgSize = 'RspPkgSize' in params ? params.RspPkgSize : null; + this.ReqMsg = 'ReqMsg' in params ? params.ReqMsg : null; + this.RespMsg = 'RespMsg' in params ? params.RespMsg : null; + this.ClientIp = 'ClientIp' in params ? params.ClientIp : null; + this.CityName = 'CityName' in params ? params.CityName : null; + this.IspName = 'IspName' in params ? params.IspName : null; + this.ParseTime = 'ParseTime' in params ? params.ParseTime : null; + this.ConnectTime = 'ConnectTime' in params ? params.ConnectTime : null; + this.SendTime = 'SendTime' in params ? params.SendTime : null; + this.WaitTime = 'WaitTime' in params ? params.WaitTime : null; + this.ReceiveTime = 'ReceiveTime' in params ? params.ReceiveTime : null; } } /** - * DescribeAlarmTopic请求参数结构体 + * DescribeAgentGroups请求参数结构体 * @class */ -class DescribeAlarmTopicRequest extends AbstractModel { +class DescribeAgentGroupsRequest extends AbstractModel { constructor(){ super(); - /** - * 如果不存在拨测相关的主题,是否自动创建一个。取值可为0, 1,默认为0 - * @type {number || null} - */ - this.NeedAdd = null; - } /** @@ -2807,192 +4394,126 @@ class DescribeAlarmTopicRequest extends AbstractModel { if (!params) { return; } - this.NeedAdd = 'NeedAdd' in params ? params.NeedAdd : null; } } /** - * CreateTaskEx请求参数结构体 + * 可用性监控任务状态及告警信息 * @class */ -class CreateTaskExRequest extends AbstractModel { +class TaskAlarm extends AbstractModel { constructor(){ super(); /** - * http, https, ping, tcp, ftp, smtp, udp, dns 之一 - * @type {string || null} - */ - this.CatTypeName = null; - - /** - * 拨测的URL, 例如:www.qq.com (URL域名解析需要能解析出具体的IP) - * @type {string || null} - */ - this.Url = null; - - /** - * 拨测周期。取值可为1,5,15,30之一, 单位:分钟。精度不能低于用户等级规定的最小精度 - * @type {number || null} - */ - this.Period = null; - - /** - * 拨测任务名称不能超过32个字符。同一个用户创建的任务名不可重复 - * @type {string || null} - */ - this.TaskName = null; - - /** - * 拨测分组ID,体现本拨测任务要采用哪些运营商作为拨测源。一般可直接填写本用户的默认拨测分组。参见:DescribeAgentGroups 接口,本参数使用返回结果里的GroupId的值。注意: Type为0时,AgentGroupId为必填 - * @type {number || null} - */ - this.AgentGroupId = null; - - /** - * 指定域名(如需要) - * @type {string || null} - */ - this.Host = null; - - /** - * 是否为Header请求(非0 发起Header 请求。为0,且PostData 非空,发起POST请求。为0,PostData 为空,发起GET请求) - * @type {number || null} - */ - this.IsHeader = null; - - /** - * URL中含有"https"时有用。缺省为SSLv23。需要为 TLSv1_2, TLSv1_1, TLSv1, SSLv2, SSLv23, SSLv3 之一 - * @type {string || null} - */ - this.SslVer = null; - - /** - * POST请求数据。空字符串表示非POST请求 - * @type {string || null} - */ - this.PostData = null; - - /** - * 用户Agent信息 - * @type {string || null} - */ - this.UserAgent = null; - - /** - * 要在结果中进行匹配的字符串 - * @type {string || null} - */ - this.CheckStr = null; - - /** - * 1 表示通过检查结果是否包含CheckStr 进行校验 - * @type {number || null} - */ - this.CheckType = null; - - /** - * 需要设置的Cookie信息 - * @type {string || null} - */ - this.Cookie = null; - - /** - * 任务ID,用于验证且修改任务时传入原任务ID + * 任务ID * @type {number || null} */ this.TaskId = null; /** - * 登录服务器的账号。如果为空字符串,表示不用校验用户密码。只做简单连接服务器的拨测 - * @type {string || null} - */ - this.UserName = null; - - /** - * 登录服务器的密码 + * 任务名称 * @type {string || null} */ - this.PassWord = null; + this.TaskName = null; /** - * 缺省为0。0 表示请求为字符串类型。1表示为二进制类型 + * 任务周期,单位为分钟。目前支持1,5,15,30几种取值 * @type {number || null} */ - this.ReqDataType = null; + this.Period = null; /** - * 发起TCP, UDP请求的协议请求数据 + * 拨测类型。http, https, ping, tcp, udp, smtp, pop3, dns 之一 * @type {string || null} */ - this.ReqData = null; + this.CatTypeName = null; /** - * 缺省为0。0 表示响应为字符串类型。1表示为二进制类型 + * 任务状态。1表示暂停,2表示运行中,0为初始态 * @type {number || null} */ - this.RespDataType = null; - - /** - * 预期的UDP请求的回应数据。字符串型,只需要返回的结果里包含本字符串算校验通过。二进制型,则需要严格等于才算通过 - * @type {string || null} - */ - this.RespData = null; - - /** - * 目的DNS服务器 可以为空字符串 - * @type {string || null} - */ - this.DnsSvr = null; + this.Status = null; /** - * 需要检验是否在DNS IP列表的IP。可以为空字符串,表示不校验 + * 拨测任务的URL * @type {string || null} */ - this.DnsCheckIp = null; + this.CgiUrl = null; /** - * 需要为下列值之一。缺省为A。A, MX, NS, CNAME, TXT, ANY + * 任务创建时间 * @type {string || null} */ - this.DnsQueryType = null; + this.AddTime = null; /** - * 是否使用安全链接SSL, 0 不使用,1 使用 + * 告警状态。1 故障,0 正常 * @type {number || null} */ - this.UseSecConn = null; + this.AlarmStatus = null; /** - * FTP登录验证方式, 0 不验证 , 1 匿名登录, 2 需要身份验证 - * @type {number || null} + * 告警状态描述,统计信息 + * @type {string || null} */ - this.NeedAuth = null; + this.StatusInfo = null; /** - * 拨测目标的端口号 - * @type {number || null} + * 任务更新时间 + * @type {string || null} */ - this.Port = null; + this.UpdateTime = null; + + } + + /** + * @private + */ + deserialize(params) { + if (!params) { + return; + } + this.TaskId = 'TaskId' in params ? params.TaskId : null; + this.TaskName = 'TaskName' in params ? params.TaskName : null; + this.Period = 'Period' in params ? params.Period : null; + this.CatTypeName = 'CatTypeName' in params ? params.CatTypeName : null; + this.Status = 'Status' in params ? params.Status : null; + this.CgiUrl = 'CgiUrl' in params ? params.CgiUrl : null; + this.AddTime = 'AddTime' in params ? params.AddTime : null; + this.AlarmStatus = 'AlarmStatus' in params ? params.AlarmStatus : null; + this.StatusInfo = 'StatusInfo' in params ? params.StatusInfo : null; + this.UpdateTime = 'UpdateTime' in params ? params.UpdateTime : null; + + } +} + +/** + * DescribeCatLogs返回参数结构体 + * @class + */ +class DescribeCatLogsResponse extends AbstractModel { + constructor(){ + super(); /** - * Type=0 默认 (站点监控)Type=2 可用率监控 + * 符合条件的总记录数 * @type {number || null} */ - this.Type = null; + this.TotalCount = null; /** - * IsVerify=0 非验证任务 IsVerify=1 验证任务,不传则默认为0 - * @type {number || null} + * 拨测记录列表 + * @type {Array. || null} */ - this.IsVerify = null; + this.CatLogs = null; /** - * 跟随跳转次数,取值范围0-5,不传则表示不跟随 - * @type {number || null} + * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。 + * @type {string || null} */ - this.RedirectFollowNum = null; + this.RequestId = null; } @@ -3003,47 +4524,47 @@ class CreateTaskExRequest extends AbstractModel { if (!params) { return; } - this.CatTypeName = 'CatTypeName' in params ? params.CatTypeName : null; - this.Url = 'Url' in params ? params.Url : null; - this.Period = 'Period' in params ? params.Period : null; - this.TaskName = 'TaskName' in params ? params.TaskName : null; - this.AgentGroupId = 'AgentGroupId' in params ? params.AgentGroupId : null; - this.Host = 'Host' in params ? params.Host : null; - this.IsHeader = 'IsHeader' in params ? params.IsHeader : null; - this.SslVer = 'SslVer' in params ? params.SslVer : null; - this.PostData = 'PostData' in params ? params.PostData : null; - this.UserAgent = 'UserAgent' in params ? params.UserAgent : null; - this.CheckStr = 'CheckStr' in params ? params.CheckStr : null; - this.CheckType = 'CheckType' in params ? params.CheckType : null; - this.Cookie = 'Cookie' in params ? params.Cookie : null; - this.TaskId = 'TaskId' in params ? params.TaskId : null; - this.UserName = 'UserName' in params ? params.UserName : null; - this.PassWord = 'PassWord' in params ? params.PassWord : null; - this.ReqDataType = 'ReqDataType' in params ? params.ReqDataType : null; - this.ReqData = 'ReqData' in params ? params.ReqData : null; - this.RespDataType = 'RespDataType' in params ? params.RespDataType : null; - this.RespData = 'RespData' in params ? params.RespData : null; - this.DnsSvr = 'DnsSvr' in params ? params.DnsSvr : null; - this.DnsCheckIp = 'DnsCheckIp' in params ? params.DnsCheckIp : null; - this.DnsQueryType = 'DnsQueryType' in params ? params.DnsQueryType : null; - this.UseSecConn = 'UseSecConn' in params ? params.UseSecConn : null; - this.NeedAuth = 'NeedAuth' in params ? params.NeedAuth : null; - this.Port = 'Port' in params ? params.Port : null; - this.Type = 'Type' in params ? params.Type : null; - this.IsVerify = 'IsVerify' in params ? params.IsVerify : null; - this.RedirectFollowNum = 'RedirectFollowNum' in params ? params.RedirectFollowNum : null; + this.TotalCount = 'TotalCount' in params ? params.TotalCount : null; + + if (params.CatLogs) { + this.CatLogs = new Array(); + for (let z in params.CatLogs) { + let obj = new CatLog(); + obj.deserialize(params.CatLogs[z]); + this.CatLogs.push(obj); + } + } + this.RequestId = 'RequestId' in params ? params.RequestId : null; } } /** - * GetTaskTotalNumber请求参数结构体 + * 单条详细拨测数据 * @class */ -class GetTaskTotalNumberRequest extends AbstractModel { +class DetailedSingleDataDefine extends AbstractModel { constructor(){ super(); + /** + * 拨测时间戳 + * @type {number || null} + */ + this.ProbeTime = null; + + /** + * 储存所有string类型字段 + * @type {Array.