/* * Copyright 2018 JDCLOUD.COM * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http:#www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * * Anti DDoS Pro Web Rule Configuration APIs * Anti DDoS Pro Web Rule Configuration APIs * * OpenAPI spec version: v1 * Contact: * * NOTE: This class is auto generated by the jdcloud code generator program. */ require('../../../lib/node_loader') var JDCloud = require('../../../lib/core') var Service = JDCloud.Service var serviceId = 'ipanti' Service._services[serviceId] = true /** * ipanti service. * @version 1.12.0 */ class IPANTI extends Service { constructor (options = {}) { options._defaultEndpoint = {} options._defaultEndpoint.protocol = options._defaultEndpoint.protocol || 'https' options._defaultEndpoint.host = options._defaultEndpoint.host || 'ipanti.jdcloud-api.com' options.basePath = '/v1' // 默认要设为空"" super(serviceId, options) } /** * 查询 DDoS 攻击日志, 仅能查询非BGP实例的攻击记录, 同时查询BGP和非BGP实例请使用 <a href='http://docs.jdcloud.com/anti-ddos-pro/api/describeDDoSIpAttackLogs'>describeDDoSIpAttackLogs</a> * @param {Object} opts - parameters * @param {integer} [opts.pageNumber] - 页码, 默认为1 optional * @param {integer} [opts.pageSize] - 分页大小, 默认为10, 取值范围[10, 100] optional * @param {string} opts.startTime - 开始时间, 只能查询最近 90 天以内的数据, UTC 时间, 格式: yyyy-MM-dd'T'HH:mm:ssZ * @param {string} [opts.endTime] - 查询的结束时间, UTC 时间, 格式: yyyy-MM-dd'T'HH:mm:ssZ optional * @param {string} [opts.instanceId] - 高防实例 ID optional * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param dDoSAttackLog dataList * @param integer currentCount 当前页数量 * @param integer totalCount 实例总数 * @param integer totalPage 总页数 */ describeDDoSAttackLogs (opts, regionId = this.config.regionId, callback) { if (typeof regionId === 'function') { callback = regionId regionId = this.config.regionId } if (regionId === undefined || regionId === null) { throw new Error( "Missing the required parameter 'regionId' when calling describeDDoSAttackLogs" ) } opts = opts || {} if (opts.startTime === undefined || opts.startTime === null) { throw new Error( "Missing the required parameter 'opts.startTime' when calling describeDDoSAttackLogs" ) } let postBody = null let queryParams = {} if (opts.pageNumber !== undefined && opts.pageNumber !== null) { queryParams['pageNumber'] = opts.pageNumber } if (opts.pageSize !== undefined && opts.pageSize !== null) { queryParams['pageSize'] = opts.pageSize } if (opts.startTime !== undefined && opts.startTime !== null) { queryParams['startTime'] = opts.startTime } if (opts.endTime !== undefined && opts.endTime !== null) { queryParams['endTime'] = opts.endTime } Object.assign( queryParams, super.buildArrayParam(opts.instanceId, 'instanceId') ) let pathParams = { regionId: regionId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 ipanti/1.12.0' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call describeDDoSAttackLogs with params:\npathParams:${JSON.stringify( pathParams )},\nqueryParams:${JSON.stringify( queryParams )}, \nheaderParams:${JSON.stringify( headerParams )}, \nformParams:${JSON.stringify( formParams )}, \npostBody:${JSON.stringify(postBody)}`, 'DEBUG' ) let request = super.makeRequest( '/regions/{regionId}/attacklog:describeDDoSAttackLogs', 'GET', pathParams, queryParams, headerParams, formParams, postBody, contentTypes, accepts, returnType, callback ) return request.then( function (result) { if (callback && typeof callback === 'function') { return callback(null, result) } return result }, function (error) { if (callback && typeof callback === 'function') { return callback(error) } return Promise.reject(error) } ) } /** * 查询高防IP的 DDoS 攻击日志, 仅BGP实例返回的是IP级别的攻击记录, 非BGP实例返回的仍是实例级别的攻击记录(serviceIp 字段为空) 参数 serviceIp 优先级大于 instanceId. - 指定 serviceIp 参数时, 忽略 instanceId 参数, 查询 ip 相关攻击记录. - 未指定 serviceIp 时, 查询 instanceId 指定实例相关攻击记录. - serviceIp 和 instanceId 均未指定时, 查询用户所有攻击记录 * @param {Object} opts - parameters * @param {integer} [opts.pageNumber] - 页码, 默认为1 optional * @param {integer} [opts.pageSize] - 分页大小, 默认为10, 取值范围[10, 100] optional * @param {string} opts.startTime - 开始时间, 只能查询最近 90 天以内的数据, UTC 时间, 格式: yyyy-MM-dd'T'HH:mm:ssZ * @param {string} [opts.endTime] - 查询的结束时间, UTC 时间, 格式: yyyy-MM-dd'T'HH:mm:ssZ optional * @param {string} [opts.instanceId] - 高防实例 ID optional * @param {string} [opts.serviceIp] - 高防IP列表. <br>- 使用 <a href='http://docs.jdcloud.com/anti-ddos-pro/api/describeServiceIpList'>describeServiceIpList</a> 接口查询实例的高防 IP optional * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param dDoSIpAttackLog dataList * @param integer currentCount 当前页数量 * @param integer totalCount 实例总数 * @param integer totalPage 总页数 */ describeDDoSIpAttackLogs (opts, regionId = this.config.regionId, callback) { if (typeof regionId === 'function') { callback = regionId regionId = this.config.regionId } if (regionId === undefined || regionId === null) { throw new Error( "Missing the required parameter 'regionId' when calling describeDDoSIpAttackLogs" ) } opts = opts || {} if (opts.startTime === undefined || opts.startTime === null) { throw new Error( "Missing the required parameter 'opts.startTime' when calling describeDDoSIpAttackLogs" ) } let postBody = null let queryParams = {} if (opts.pageNumber !== undefined && opts.pageNumber !== null) { queryParams['pageNumber'] = opts.pageNumber } if (opts.pageSize !== undefined && opts.pageSize !== null) { queryParams['pageSize'] = opts.pageSize } if (opts.startTime !== undefined && opts.startTime !== null) { queryParams['startTime'] = opts.startTime } if (opts.endTime !== undefined && opts.endTime !== null) { queryParams['endTime'] = opts.endTime } Object.assign( queryParams, super.buildArrayParam(opts.instanceId, 'instanceId') ) Object.assign( queryParams, super.buildArrayParam(opts.serviceIp, 'serviceIp') ) let pathParams = { regionId: regionId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 ipanti/1.12.0' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call describeDDoSIpAttackLogs with params:\npathParams:${JSON.stringify( pathParams )},\nqueryParams:${JSON.stringify( queryParams )}, \nheaderParams:${JSON.stringify( headerParams )}, \nformParams:${JSON.stringify( formParams )}, \npostBody:${JSON.stringify(postBody)}`, 'DEBUG' ) let request = super.makeRequest( '/regions/{regionId}/attacklog:describeDDoSIpAttackLogs', 'GET', pathParams, queryParams, headerParams, formParams, postBody, contentTypes, accepts, returnType, callback ) return request.then( function (result) { if (callback && typeof callback === 'function') { return callback(null, result) } return result }, function (error) { if (callback && typeof callback === 'function') { return callback(error) } return Promise.reject(error) } ) } /** * 查询 CC 攻击日志 * @param {Object} opts - parameters * @param {integer} [opts.pageNumber] - 页码, 默认为1 optional * @param {integer} [opts.pageSize] - 分页大小, 默认为10, 取值范围[10, 100] optional * @param {string} opts.startTime - 开始时间, 只能查询最近 90 天以内的数据, UTC 时间, 格式: yyyy-MM-dd'T'HH:mm:ssZ * @param {string} [opts.endTime] - 查询的结束时间, UTC 时间, 格式: yyyy-MM-dd'T'HH:mm:ssZ optional * @param {string} [opts.instanceId] - 高防实例 ID optional * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param cCAttackLog dataList * @param integer currentCount 当前页数量 * @param integer totalCount 实例总数 * @param integer totalPage 总页数 */ describeCCAttackLogs (opts, regionId = this.config.regionId, callback) { if (typeof regionId === 'function') { callback = regionId regionId = this.config.regionId } if (regionId === undefined || regionId === null) { throw new Error( "Missing the required parameter 'regionId' when calling describeCCAttackLogs" ) } opts = opts || {} if (opts.startTime === undefined || opts.startTime === null) { throw new Error( "Missing the required parameter 'opts.startTime' when calling describeCCAttackLogs" ) } let postBody = null let queryParams = {} if (opts.pageNumber !== undefined && opts.pageNumber !== null) { queryParams['pageNumber'] = opts.pageNumber } if (opts.pageSize !== undefined && opts.pageSize !== null) { queryParams['pageSize'] = opts.pageSize } if (opts.startTime !== undefined && opts.startTime !== null) { queryParams['startTime'] = opts.startTime } if (opts.endTime !== undefined && opts.endTime !== null) { queryParams['endTime'] = opts.endTime } Object.assign( queryParams, super.buildArrayParam(opts.instanceId, 'instanceId') ) let pathParams = { regionId: regionId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 ipanti/1.12.0' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call describeCCAttackLogs with params:\npathParams:${JSON.stringify( pathParams )},\nqueryParams:${JSON.stringify( queryParams )}, \nheaderParams:${JSON.stringify( headerParams )}, \nformParams:${JSON.stringify( formParams )}, \npostBody:${JSON.stringify(postBody)}`, 'DEBUG' ) let request = super.makeRequest( '/regions/{regionId}/attacklog:describeCCAttackLogs', 'GET', pathParams, queryParams, headerParams, formParams, postBody, contentTypes, accepts, returnType, callback ) return request.then( function (result) { if (callback && typeof callback === 'function') { return callback(null, result) } return result }, function (error) { if (callback && typeof callback === 'function') { return callback(error) } return Promise.reject(error) } ) } /** * 查询 CC 攻击日志详情. - 参数 attackId 优先级高于 instanceId, attackId 不为空时, 忽略 instanceId * @param {Object} opts - parameters * @param {integer} [opts.pageNumber] - 页码, 默认为1 optional * @param {integer} [opts.pageSize] - 分页大小, 默认为10, 取值范围[10, 100] optional * @param {string} [opts.startTime] - 开始时间, 只能查询最近 90 天以内的数据, UTC 时间, 格式: yyyy-MM-dd'T'HH:mm:ssZ, attackId 为空时必传 optional * @param {string} [opts.endTime] - 查询的结束时间, UTC 时间, 格式: yyyy-MM-dd'T'HH:mm:ssZ optional * @param {string} [opts.instanceId] - 高防实例 ID optional * @param {string} [opts.attackId] - CC 攻击记录 Id, 不为空时忽略 startTime, endTime optional * @param {string} [opts.subDomain] - 查询的子域名, 只有选中某一个实例后才能多选子域名 optional * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param cCAttackLogDetail dataList * @param integer currentCount 当前页数量 * @param integer totalCount 实例总数 * @param integer totalPage 总页数 */ describeCCAttackLogDetails (opts, regionId = this.config.regionId, callback) { if (typeof regionId === 'function') { callback = regionId regionId = this.config.regionId } if (regionId === undefined || regionId === null) { throw new Error( "Missing the required parameter 'regionId' when calling describeCCAttackLogDetails" ) } opts = opts || {} let postBody = null let queryParams = {} if (opts.pageNumber !== undefined && opts.pageNumber !== null) { queryParams['pageNumber'] = opts.pageNumber } if (opts.pageSize !== undefined && opts.pageSize !== null) { queryParams['pageSize'] = opts.pageSize } if (opts.startTime !== undefined && opts.startTime !== null) { queryParams['startTime'] = opts.startTime } if (opts.endTime !== undefined && opts.endTime !== null) { queryParams['endTime'] = opts.endTime } if (opts.instanceId !== undefined && opts.instanceId !== null) { queryParams['instanceId'] = opts.instanceId } if (opts.attackId !== undefined && opts.attackId !== null) { queryParams['attackId'] = opts.attackId } Object.assign( queryParams, super.buildArrayParam(opts.subDomain, 'subDomain') ) let pathParams = { regionId: regionId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 ipanti/1.12.0' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call describeCCAttackLogDetails with params:\npathParams:${JSON.stringify( pathParams )},\nqueryParams:${JSON.stringify( queryParams )}, \nheaderParams:${JSON.stringify( headerParams )}, \nformParams:${JSON.stringify( formParams )}, \npostBody:${JSON.stringify(postBody)}`, 'DEBUG' ) let request = super.makeRequest( '/regions/{regionId}/attacklog:describeCCAttackLogDetails', 'GET', pathParams, queryParams, headerParams, formParams, postBody, contentTypes, accepts, returnType, callback ) return request.then( function (result) { if (callback && typeof callback === 'function') { return callback(null, result) } return result }, function (error) { if (callback && typeof callback === 'function') { return callback(error) } return Promise.reject(error) } ) } /** * 查询攻击次数及流量峰值 参数 serviceIp 优先级大于 instanceId. - 指定 serviceIp 参数时, 忽略 instanceId 参数, 统计 ip 相关攻击 - 未指定 serviceIp 时, 统计 instanceId 指定实例相关攻击 - serviceIp 和 instanceId 均未指定时, 统计用户所有攻击记录 CC攻击为实例级别, 查询类型 type 为 cc 时, 参数 serviceIp 无效 * @param {Object} opts - parameters * @param {string} opts.startTime - 开始时间, 只能查询最近 90 天以内的数据, UTC 时间, 格式: yyyy-MM-dd'T'HH:mm:ssZ * @param {string} [opts.endTime] - 查询的结束时间, UTC 时间, 格式: yyyy-MM-dd'T'HH:mm:ssZ optional * @param {integer} opts.type - 攻击类型, 0 为 DDoS, 1 为 CC * @param {string} [opts.instanceId] - 高防实例 ID optional * @param {string} [opts.serviceIp] - 高防IP列表. <br>- 使用 <a href='http://docs.jdcloud.com/anti-ddos-pro/api/describeServiceIpList'>describeServiceIpList</a> 接口查询实例的高防 IP optional * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param number flow 攻击流量峰值 * @param integer count 攻击次数 * @param string unit 流量单位, bps、Kbps、Mbps、Gbps */ describeAttackStatistics (opts, regionId = this.config.regionId, callback) { if (typeof regionId === 'function') { callback = regionId regionId = this.config.regionId } if (regionId === undefined || regionId === null) { throw new Error( "Missing the required parameter 'regionId' when calling describeAttackStatistics" ) } opts = opts || {} if (opts.startTime === undefined || opts.startTime === null) { throw new Error( "Missing the required parameter 'opts.startTime' when calling describeAttackStatistics" ) } if (opts.type === undefined || opts.type === null) { throw new Error( "Missing the required parameter 'opts.type' when calling describeAttackStatistics" ) } let postBody = null let queryParams = {} if (opts.startTime !== undefined && opts.startTime !== null) { queryParams['startTime'] = opts.startTime } if (opts.endTime !== undefined && opts.endTime !== null) { queryParams['endTime'] = opts.endTime } if (opts.type !== undefined && opts.type !== null) { queryParams['type'] = opts.type } Object.assign( queryParams, super.buildArrayParam(opts.instanceId, 'instanceId') ) Object.assign( queryParams, super.buildArrayParam(opts.serviceIp, 'serviceIp') ) let pathParams = { regionId: regionId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 ipanti/1.12.0' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call describeAttackStatistics with params:\npathParams:${JSON.stringify( pathParams )},\nqueryParams:${JSON.stringify( queryParams )}, \nheaderParams:${JSON.stringify( headerParams )}, \nformParams:${JSON.stringify( formParams )}, \npostBody:${JSON.stringify(postBody)}`, 'DEBUG' ) let request = super.makeRequest( '/regions/{regionId}/attacklog:describeAttackStatistics', 'GET', pathParams, queryParams, headerParams, formParams, postBody, contentTypes, accepts, returnType, callback ) return request.then( function (result) { if (callback && typeof callback === 'function') { return callback(null, result) } return result }, function (error) { if (callback && typeof callback === 'function') { return callback(error) } return Promise.reject(error) } ) } /** * 查询各类型攻击次数 参数 serviceIp 优先级大于 instanceId. - 指定 serviceIp 参数时, 忽略 instanceId 参数, 统计 ip 相关攻击 - 未指定 serviceIp 时, 统计 instanceId 指定实例相关攻击 - serviceIp 和 instanceId 均未指定时, 统计用户所有攻击记录 * @param {Object} opts - parameters * @param {string} opts.startTime - 开始时间, 只能查询最近 90 天以内的数据, UTC 时间, 格式: yyyy-MM-dd'T'HH:mm:ssZ * @param {string} [opts.endTime] - 查询的结束时间, UTC 时间, 格式: yyyy-MM-dd'T'HH:mm:ssZ optional * @param {string} [opts.instanceId] - 高防实例 ID optional * @param {string} [opts.serviceIp] - 高防IP列表. <br>- 使用 <a href='http://docs.jdcloud.com/anti-ddos-pro/api/describeServiceIpList'>describeServiceIpList</a> 接口查询实例的高防 IP optional * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param attackTypeCount dataList */ describeAttackTypeCount (opts, regionId = this.config.regionId, callback) { if (typeof regionId === 'function') { callback = regionId regionId = this.config.regionId } if (regionId === undefined || regionId === null) { throw new Error( "Missing the required parameter 'regionId' when calling describeAttackTypeCount" ) } opts = opts || {} if (opts.startTime === undefined || opts.startTime === null) { throw new Error( "Missing the required parameter 'opts.startTime' when calling describeAttackTypeCount" ) } let postBody = null let queryParams = {} if (opts.startTime !== undefined && opts.startTime !== null) { queryParams['startTime'] = opts.startTime } if (opts.endTime !== undefined && opts.endTime !== null) { queryParams['endTime'] = opts.endTime } Object.assign( queryParams, super.buildArrayParam(opts.instanceId, 'instanceId') ) Object.assign( queryParams, super.buildArrayParam(opts.serviceIp, 'serviceIp') ) let pathParams = { regionId: regionId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 ipanti/1.12.0' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call describeAttackTypeCount with params:\npathParams:${JSON.stringify( pathParams )},\nqueryParams:${JSON.stringify( queryParams )}, \nheaderParams:${JSON.stringify( headerParams )}, \nformParams:${JSON.stringify( formParams )}, \npostBody:${JSON.stringify(postBody)}`, 'DEBUG' ) let request = super.makeRequest( '/regions/{regionId}/attacklog:describeAttackTypeCount', 'GET', pathParams, queryParams, headerParams, formParams, postBody, contentTypes, accepts, returnType, callback ) return request.then( function (result) { if (callback && typeof callback === 'function') { return callback(null, result) } return result }, function (error) { if (callback && typeof callback === 'function') { return callback(error) } return Promise.reject(error) } ) } /** * DDos 防护流量报表 参数 serviceIp 优先级大于 instanceId. - 指定 serviceIp 参数时, 忽略 instanceId 参数, 查询 ip 相关报表 - 未指定 serviceIp 时, 查询 instanceId 指定实例相关报表 - serviceIp 和 instanceId 均未指定时, 查询用户所有实例报表 * @param {Object} opts - parameters * @param {string} opts.startTime - 开始时间, 只能查询最近 90 天以内的数据, UTC 时间, 格式: yyyy-MM-dd'T'HH:mm:ssZ * @param {string} [opts.endTime] - 查询的结束时间, UTC 时间, 格式: yyyy-MM-dd'T'HH:mm:ssZ optional * @param {string} [opts.instanceId] - 高防实例 Id 列表 optional * @param {string} [opts.serviceIp] - 高防IP列表. <br>- 使用 <a href='http://docs.jdcloud.com/anti-ddos-pro/api/describeServiceIpList'>describeServiceIpList</a> 接口查询实例的高防 IP optional * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param number preProtect * @param number postProtect * @param string time * @param string unit 流量单位, bps, Kbps, Mbps, Gbps */ describeDDoSGraph (opts, regionId = this.config.regionId, callback) { if (typeof regionId === 'function') { callback = regionId regionId = this.config.regionId } if (regionId === undefined || regionId === null) { throw new Error( "Missing the required parameter 'regionId' when calling describeDDoSGraph" ) } opts = opts || {} if (opts.startTime === undefined || opts.startTime === null) { throw new Error( "Missing the required parameter 'opts.startTime' when calling describeDDoSGraph" ) } let postBody = null let queryParams = {} if (opts.startTime !== undefined && opts.startTime !== null) { queryParams['startTime'] = opts.startTime } if (opts.endTime !== undefined && opts.endTime !== null) { queryParams['endTime'] = opts.endTime } Object.assign( queryParams, super.buildArrayParam(opts.instanceId, 'instanceId') ) Object.assign( queryParams, super.buildArrayParam(opts.serviceIp, 'serviceIp') ) let pathParams = { regionId: regionId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 ipanti/1.12.0' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call describeDDoSGraph with params:\npathParams:${JSON.stringify( pathParams )},\nqueryParams:${JSON.stringify( queryParams )}, \nheaderParams:${JSON.stringify( headerParams )}, \nformParams:${JSON.stringify( formParams )}, \npostBody:${JSON.stringify(postBody)}`, 'DEBUG' ) let request = super.makeRequest( '/regions/{regionId}/charts:DDoSGraph', 'GET', pathParams, queryParams, headerParams, formParams, postBody, contentTypes, accepts, returnType, callback ) return request.then( function (result) { if (callback && typeof callback === 'function') { return callback(null, result) } return result }, function (error) { if (callback && typeof callback === 'function') { return callback(error) } return Promise.reject(error) } ) } /** * 转发流量报表 * @param {Object} opts - parameters * @param {string} opts.startTime - 开始时间, 只能查询最近 90 天以内的数据, UTC 时间, 格式: yyyy-MM-dd'T'HH:mm:ssZ * @param {string} [opts.endTime] - 查询的结束时间, UTC 时间, 格式: yyyy-MM-dd'T'HH:mm:ssZ optional * @param {string} [opts.instanceId] - 高防实例 Id 列表 optional * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param number forwardRecord * @param string time * @param string unit 流量单位, bps, Kbps, Mbps, Gbps */ describeFwdGraph (opts, regionId = this.config.regionId, callback) { if (typeof regionId === 'function') { callback = regionId regionId = this.config.regionId } if (regionId === undefined || regionId === null) { throw new Error( "Missing the required parameter 'regionId' when calling describeFwdGraph" ) } opts = opts || {} if (opts.startTime === undefined || opts.startTime === null) { throw new Error( "Missing the required parameter 'opts.startTime' when calling describeFwdGraph" ) } let postBody = null let queryParams = {} if (opts.startTime !== undefined && opts.startTime !== null) { queryParams['startTime'] = opts.startTime } if (opts.endTime !== undefined && opts.endTime !== null) { queryParams['endTime'] = opts.endTime } Object.assign( queryParams, super.buildArrayParam(opts.instanceId, 'instanceId') ) let pathParams = { regionId: regionId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 ipanti/1.12.0' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call describeFwdGraph with params:\npathParams:${JSON.stringify( pathParams )},\nqueryParams:${JSON.stringify( queryParams )}, \nheaderParams:${JSON.stringify( headerParams )}, \nformParams:${JSON.stringify( formParams )}, \npostBody:${JSON.stringify(postBody)}`, 'DEBUG' ) let request = super.makeRequest( '/regions/{regionId}/charts:fwdGraph', 'GET', pathParams, queryParams, headerParams, formParams, postBody, contentTypes, accepts, returnType, callback ) return request.then( function (result) { if (callback && typeof callback === 'function') { return callback(null, result) } return result }, function (error) { if (callback && typeof callback === 'function') { return callback(error) } return Promise.reject(error) } ) } /** * 业务流量报表 参数 serviceIp 优先级大于 instanceId. - 指定 serviceIp 参数时, 忽略 instanceId 参数, 查询 ip 相关报表 - 未指定 serviceIp 时, 查询 instanceId 指定实例相关报表 - serviceIp 和 instanceId 均未指定时, 查询用户所有实例报表 * @param {Object} opts - parameters * @param {string} opts.startTime - 开始时间, 只能查询最近 90 天以内的数据, UTC 时间, 格式: yyyy-MM-dd'T'HH:mm:ssZ * @param {string} [opts.endTime] - 查询的结束时间, UTC 时间, 格式: yyyy-MM-dd'T'HH:mm:ssZ optional * @param {string} [opts.instanceId] - 高防实例 Id 列表 optional * @param {string} [opts.serviceIp] - 高防IP列表. <br>- 使用 <a href='http://docs.jdcloud.com/anti-ddos-pro/api/describeServiceIpList'>describeServiceIpList</a> 接口查询实例的高防 IP optional * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param number inTraffic * @param number outTraffic * @param string time * @param string unit 流量单位, bps, Kbps, Mbps, Gbps */ describeBusinessGraph (opts, regionId = this.config.regionId, callback) { if (typeof regionId === 'function') { callback = regionId regionId = this.config.regionId } if (regionId === undefined || regionId === null) { throw new Error( "Missing the required parameter 'regionId' when calling describeBusinessGraph" ) } opts = opts || {} if (opts.startTime === undefined || opts.startTime === null) { throw new Error( "Missing the required parameter 'opts.startTime' when calling describeBusinessGraph" ) } let postBody = null let queryParams = {} if (opts.startTime !== undefined && opts.startTime !== null) { queryParams['startTime'] = opts.startTime } if (opts.endTime !== undefined && opts.endTime !== null) { queryParams['endTime'] = opts.endTime } Object.assign( queryParams, super.buildArrayParam(opts.instanceId, 'instanceId') ) Object.assign( queryParams, super.buildArrayParam(opts.serviceIp, 'serviceIp') ) let pathParams = { regionId: regionId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 ipanti/1.12.0' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call describeBusinessGraph with params:\npathParams:${JSON.stringify( pathParams )},\nqueryParams:${JSON.stringify( queryParams )}, \nheaderParams:${JSON.stringify( headerParams )}, \nformParams:${JSON.stringify( formParams )}, \npostBody:${JSON.stringify(postBody)}`, 'DEBUG' ) let request = super.makeRequest( '/regions/{regionId}/charts:businessGraph', 'GET', pathParams, queryParams, headerParams, formParams, postBody, contentTypes, accepts, returnType, callback ) return request.then( function (result) { if (callback && typeof callback === 'function') { return callback(null, result) } return result }, function (error) { if (callback && typeof callback === 'function') { return callback(error) } return Promise.reject(error) } ) } /** * CC 防护流量报表 * @param {Object} opts - parameters * @param {string} opts.startTime - 开始时间, 只能查询最近 90 天以内的数据, UTC 时间, 格式: yyyy-MM-dd'T'HH:mm:ssZ * @param {string} [opts.endTime] - 查询的结束时间, UTC 时间, 格式: yyyy-MM-dd'T'HH:mm:ssZ optional * @param {string} [opts.instanceId] - 高防实例 Id 列表 optional * @param {string} [opts.subDomain] - 规则域名列表 optional * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param integer postProtect * @param integer preProtect * @param string time * @param string unit 流量单位 */ describeCCGraph (opts, regionId = this.config.regionId, callback) { if (typeof regionId === 'function') { callback = regionId regionId = this.config.regionId } if (regionId === undefined || regionId === null) { throw new Error( "Missing the required parameter 'regionId' when calling describeCCGraph" ) } opts = opts || {} if (opts.startTime === undefined || opts.startTime === null) { throw new Error( "Missing the required parameter 'opts.startTime' when calling describeCCGraph" ) } let postBody = null let queryParams = {} if (opts.startTime !== undefined && opts.startTime !== null) { queryParams['startTime'] = opts.startTime } if (opts.endTime !== undefined && opts.endTime !== null) { queryParams['endTime'] = opts.endTime } Object.assign( queryParams, super.buildArrayParam(opts.instanceId, 'instanceId') ) Object.assign( queryParams, super.buildArrayParam(opts.subDomain, 'subDomain') ) let pathParams = { regionId: regionId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 ipanti/1.12.0' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call describeCCGraph with params:\npathParams:${JSON.stringify( pathParams )},\nqueryParams:${JSON.stringify( queryParams )}, \nheaderParams:${JSON.stringify( headerParams )}, \nformParams:${JSON.stringify( formParams )}, \npostBody:${JSON.stringify(postBody)}`, 'DEBUG' ) let request = super.makeRequest( '/regions/{regionId}/charts:CCGraph', 'GET', pathParams, queryParams, headerParams, formParams, postBody, contentTypes, accepts, returnType, callback ) return request.then( function (result) { if (callback && typeof callback === 'function') { return callback(null, result) } return result }, function (error) { if (callback && typeof callback === 'function') { return callback(error) } return Promise.reject(error) } ) } /** * 高防返回客户端状态码报表 * @param {Object} opts - parameters * @param {string} opts.startTime - 开始时间, 只能查询最近 7 天以内的数据, UTC 时间, 格式: yyyy-MM-dd'T'HH:mm:ssZ * @param {string} [opts.endTime] - 查询的结束时间, UTC 时间, 格式: yyyy-MM-dd'T'HH:mm:ssZ optional * @param {string} [opts.instanceId] - 高防实例 Id 列表 optional * @param {string} [opts.subDomain] - 规则域名列表 optional * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param integer status500 * @param integer status502 * @param integer status504 * @param integer status590 * @param integer status592 * @param integer status594 * @param integer status5xx * @param string time */ describeStatusGraph (opts, regionId = this.config.regionId, callback) { if (typeof regionId === 'function') { callback = regionId regionId = this.config.regionId } if (regionId === undefined || regionId === null) { throw new Error( "Missing the required parameter 'regionId' when calling describeStatusGraph" ) } opts = opts || {} if (opts.startTime === undefined || opts.startTime === null) { throw new Error( "Missing the required parameter 'opts.startTime' when calling describeStatusGraph" ) } let postBody = null let queryParams = {} if (opts.startTime !== undefined && opts.startTime !== null) { queryParams['startTime'] = opts.startTime } if (opts.endTime !== undefined && opts.endTime !== null) { queryParams['endTime'] = opts.endTime } Object.assign( queryParams, super.buildArrayParam(opts.instanceId, 'instanceId') ) Object.assign( queryParams, super.buildArrayParam(opts.subDomain, 'subDomain') ) let pathParams = { regionId: regionId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 ipanti/1.12.0' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call describeStatusGraph with params:\npathParams:${JSON.stringify( pathParams )},\nqueryParams:${JSON.stringify( queryParams )}, \nheaderParams:${JSON.stringify( headerParams )}, \nformParams:${JSON.stringify( formParams )}, \npostBody:${JSON.stringify(postBody)}`, 'DEBUG' ) let request = super.makeRequest( '/regions/{regionId}/charts:statusGraph', 'GET', pathParams, queryParams, headerParams, formParams, postBody, contentTypes, accepts, returnType, callback ) return request.then( function (result) { if (callback && typeof callback === 'function') { return callback(null, result) } return result }, function (error) { if (callback && typeof callback === 'function') { return callback(error) } return Promise.reject(error) } ) } /** * 新建与并发连接数统计报表 参数 serviceIp 优先级大于 instanceId. - 指定 serviceIp 参数时, 忽略 instanceId 参数, 查询 ip 相关报表 - 未指定 serviceIp 时, 查询 instanceId 指定实例相关报表 - serviceIp 和 instanceId 均未指定时, 查询用户所有实例报表 * @param {Object} opts - parameters * @param {string} opts.startTime - 开始时间, 只能查询最近 90 天以内的数据, UTC 时间, 格式: yyyy-MM-dd'T'HH:mm:ssZ * @param {string} [opts.endTime] - 查询的结束时间, UTC 时间, 格式: yyyy-MM-dd'T'HH:mm:ssZ optional * @param {string} [opts.instanceId] - 高防实例 Id 列表 optional * @param {string} [opts.serviceIp] - 高防IP列表. <br>- 使用 <a href='http://docs.jdcloud.com/anti-ddos-pro/api/describeServiceIpList'>describeServiceIpList</a> 接口查询实例的高防 IP optional * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param integer newConn * @param integer activeConn * @param integer inactiveConn * @param string time */ describeConnStatGraph (opts, regionId = this.config.regionId, callback) { if (typeof regionId === 'function') { callback = regionId regionId = this.config.regionId } if (regionId === undefined || regionId === null) { throw new Error( "Missing the required parameter 'regionId' when calling describeConnStatGraph" ) } opts = opts || {} if (opts.startTime === undefined || opts.startTime === null) { throw new Error( "Missing the required parameter 'opts.startTime' when calling describeConnStatGraph" ) } let postBody = null let queryParams = {} if (opts.startTime !== undefined && opts.startTime !== null) { queryParams['startTime'] = opts.startTime } if (opts.endTime !== undefined && opts.endTime !== null) { queryParams['endTime'] = opts.endTime } Object.assign( queryParams, super.buildArrayParam(opts.instanceId, 'instanceId') ) Object.assign( queryParams, super.buildArrayParam(opts.serviceIp, 'serviceIp') ) let pathParams = { regionId: regionId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 ipanti/1.12.0' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call describeConnStatGraph with params:\npathParams:${JSON.stringify( pathParams )},\nqueryParams:${JSON.stringify( queryParams )}, \nheaderParams:${JSON.stringify( headerParams )}, \nformParams:${JSON.stringify( formParams )}, \npostBody:${JSON.stringify(postBody)}`, 'DEBUG' ) let request = super.makeRequest( '/regions/{regionId}/charts:connStatGraph', 'GET', pathParams, queryParams, headerParams, formParams, postBody, contentTypes, accepts, returnType, callback ) return request.then( function (result) { if (callback && typeof callback === 'function') { return callback(null, result) } return result }, function (error) { if (callback && typeof callback === 'function') { return callback(error) } return Promise.reject(error) } ) } /** * 查询某个实例下的防护调度规则 * @param {Object} opts - parameters * @param {string} opts.instanceId - 高防实例 Id * @param {integer} [opts.pageNumber] - 页码, 默认为1 optional * @param {integer} [opts.pageSize] - 分页大小, 默认为10, 取值范围[10, 100] optional * @param {string} [opts.name] - 实例名称, 可模糊匹配 optional * @param {string} [opts.innerIp] - 云内IP, 可模糊匹配 optional * @param {string} [opts.serviceIp] - 高防IP, 可模糊匹配 optional * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param dispatchRule dataList * @param integer currentCount 当前页数量 * @param integer totalCount 总数 * @param integer totalPage 总页数 */ describeDispatchRules (opts, regionId = this.config.regionId, callback) { if (typeof regionId === 'function') { callback = regionId regionId = this.config.regionId } if (regionId === undefined || regionId === null) { throw new Error( "Missing the required parameter 'regionId' when calling describeDispatchRules" ) } opts = opts || {} if (opts.instanceId === undefined || opts.instanceId === null) { throw new Error( "Missing the required parameter 'opts.instanceId' when calling describeDispatchRules" ) } let postBody = null let queryParams = {} if (opts.pageNumber !== undefined && opts.pageNumber !== null) { queryParams['pageNumber'] = opts.pageNumber } if (opts.pageSize !== undefined && opts.pageSize !== null) { queryParams['pageSize'] = opts.pageSize } if (opts.name !== undefined && opts.name !== null) { queryParams['name'] = opts.name } if (opts.innerIp !== undefined && opts.innerIp !== null) { queryParams['innerIp'] = opts.innerIp } if (opts.serviceIp !== undefined && opts.serviceIp !== null) { queryParams['serviceIp'] = opts.serviceIp } let pathParams = { regionId: regionId, instanceId: opts.instanceId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 ipanti/1.12.0' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call describeDispatchRules with params:\npathParams:${JSON.stringify( pathParams )},\nqueryParams:${JSON.stringify( queryParams )}, \nheaderParams:${JSON.stringify( headerParams )}, \nformParams:${JSON.stringify( formParams )}, \npostBody:${JSON.stringify(postBody)}`, 'DEBUG' ) let request = super.makeRequest( '/regions/{regionId}/instances/{instanceId}/dispatchRules', 'GET', pathParams, queryParams, headerParams, formParams, postBody, contentTypes, accepts, returnType, callback ) return request.then( function (result) { if (callback && typeof callback === 'function') { return callback(null, result) } return result }, function (error) { if (callback && typeof callback === 'function') { return callback(error) } return Promise.reject(error) } ) } /** * 添加防护调度规则 * @param {Object} opts - parameters * @param {string} opts.instanceId - 高防实例 Id * @param {createDispatchRuleSpec} opts.createDispatchRuleSpec - 添加防护调度规则请求参数 * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param integer code 0: 添加规则失败, 1: 添加规则成功 * @param string message 添加规则失败时给出具体原因 */ createDispatchRule (opts, regionId = this.config.regionId, callback) { if (typeof regionId === 'function') { callback = regionId regionId = this.config.regionId } if (regionId === undefined || regionId === null) { throw new Error( "Missing the required parameter 'regionId' when calling createDispatchRule" ) } opts = opts || {} if (opts.instanceId === undefined || opts.instanceId === null) { throw new Error( "Missing the required parameter 'opts.instanceId' when calling createDispatchRule" ) } if ( opts.createDispatchRuleSpec === undefined || opts.createDispatchRuleSpec === null ) { throw new Error( "Missing the required parameter 'opts.createDispatchRuleSpec' when calling createDispatchRule" ) } let postBody = {} if ( opts.createDispatchRuleSpec !== undefined && opts.createDispatchRuleSpec !== null ) { postBody['createDispatchRuleSpec'] = opts.createDispatchRuleSpec } let queryParams = {} let pathParams = { regionId: regionId, instanceId: opts.instanceId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 ipanti/1.12.0' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call createDispatchRule with params:\npathParams:${JSON.stringify( pathParams )},\nqueryParams:${JSON.stringify( queryParams )}, \nheaderParams:${JSON.stringify( headerParams )}, \nformParams:${JSON.stringify( formParams )}, \npostBody:${JSON.stringify(postBody)}`, 'DEBUG' ) let request = super.makeRequest( '/regions/{regionId}/instances/{instanceId}/dispatchRules', 'POST', pathParams, queryParams, headerParams, formParams, postBody, contentTypes, accepts, returnType, callback ) return request.then( function (result) { if (callback && typeof callback === 'function') { return callback(null, result) } return result }, function (error) { if (callback && typeof callback === 'function') { return callback(error) } return Promise.reject(error) } ) } /** * 批量添加防护调度规则 * @param {Object} opts - parameters * @param {string} opts.instanceId - 高防实例 Id * @param {array} opts.dispatchRuleSpecList - 批量添加防护调度规则请求参数 * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param string dispatchRuleIds * @param failedRule failRules */ createDispatchRules (opts, regionId = this.config.regionId, callback) { if (typeof regionId === 'function') { callback = regionId regionId = this.config.regionId } if (regionId === undefined || regionId === null) { throw new Error( "Missing the required parameter 'regionId' when calling createDispatchRules" ) } opts = opts || {} if (opts.instanceId === undefined || opts.instanceId === null) { throw new Error( "Missing the required parameter 'opts.instanceId' when calling createDispatchRules" ) } if ( opts.dispatchRuleSpecList === undefined || opts.dispatchRuleSpecList === null ) { throw new Error( "Missing the required parameter 'opts.dispatchRuleSpecList' when calling createDispatchRules" ) } let postBody = {} if ( opts.dispatchRuleSpecList !== undefined && opts.dispatchRuleSpecList !== null ) { postBody['dispatchRuleSpecList'] = opts.dispatchRuleSpecList } let queryParams = {} let pathParams = { regionId: regionId, instanceId: opts.instanceId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 ipanti/1.12.0' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call createDispatchRules with params:\npathParams:${JSON.stringify( pathParams )},\nqueryParams:${JSON.stringify( queryParams )}, \nheaderParams:${JSON.stringify( headerParams )}, \nformParams:${JSON.stringify( formParams )}, \npostBody:${JSON.stringify(postBody)}`, 'DEBUG' ) let request = super.makeRequest( '/regions/{regionId}/instances/{instanceId}:createDispatchRules', 'POST', pathParams, queryParams, headerParams, formParams, postBody, contentTypes, accepts, returnType, callback ) return request.then( function (result) { if (callback && typeof callback === 'function') { return callback(null, result) } return result }, function (error) { if (callback && typeof callback === 'function') { return callback(error) } return Promise.reject(error) } ) } /** * 更新防护调度规则 * @param {Object} opts - parameters * @param {string} opts.instanceId - 高防实例 Id * @param {string} opts.dispatchRuleId - 防护调度规则 Id * @param {modifyDispatchRuleSpec} opts.modifyDispatchRuleSpec - 更新防护调度规则请求参数 * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param integer code 0: 更新规则失败, 1: 更新规则成功 * @param string message 更新规则失败时给出具体原因 */ modifyDispatchRule (opts, regionId = this.config.regionId, callback) { if (typeof regionId === 'function') { callback = regionId regionId = this.config.regionId } if (regionId === undefined || regionId === null) { throw new Error( "Missing the required parameter 'regionId' when calling modifyDispatchRule" ) } opts = opts || {} if (opts.instanceId === undefined || opts.instanceId === null) { throw new Error( "Missing the required parameter 'opts.instanceId' when calling modifyDispatchRule" ) } if (opts.dispatchRuleId === undefined || opts.dispatchRuleId === null) { throw new Error( "Missing the required parameter 'opts.dispatchRuleId' when calling modifyDispatchRule" ) } if ( opts.modifyDispatchRuleSpec === undefined || opts.modifyDispatchRuleSpec === null ) { throw new Error( "Missing the required parameter 'opts.modifyDispatchRuleSpec' when calling modifyDispatchRule" ) } let postBody = {} if ( opts.modifyDispatchRuleSpec !== undefined && opts.modifyDispatchRuleSpec !== null ) { postBody['modifyDispatchRuleSpec'] = opts.modifyDispatchRuleSpec } let queryParams = {} let pathParams = { regionId: regionId, instanceId: opts.instanceId, dispatchRuleId: opts.dispatchRuleId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 ipanti/1.12.0' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call modifyDispatchRule with params:\npathParams:${JSON.stringify( pathParams )},\nqueryParams:${JSON.stringify( queryParams )}, \nheaderParams:${JSON.stringify( headerParams )}, \nformParams:${JSON.stringify( formParams )}, \npostBody:${JSON.stringify(postBody)}`, 'DEBUG' ) let request = super.makeRequest( '/regions/{regionId}/instances/{instanceId}/dispatchRules/{dispatchRuleId}', 'PATCH', pathParams, queryParams, headerParams, formParams, postBody, contentTypes, accepts, returnType, callback ) return request.then( function (result) { if (callback && typeof callback === 'function') { return callback(null, result) } return result }, function (error) { if (callback && typeof callback === 'function') { return callback(error) } return Promise.reject(error) } ) } /** * 删除防护调度规则 * @param {Object} opts - parameters * @param {string} opts.instanceId - 高防实例 Id * @param {string} opts.dispatchRuleId - 防护调度规则 Id * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param integer code 0: 删除规则失败, 1: 删除规则成功 * @param string message 删除规则失败时给出具体原因 */ deleteDispatchRule (opts, regionId = this.config.regionId, callback) { if (typeof regionId === 'function') { callback = regionId regionId = this.config.regionId } if (regionId === undefined || regionId === null) { throw new Error( "Missing the required parameter 'regionId' when calling deleteDispatchRule" ) } opts = opts || {} if (opts.instanceId === undefined || opts.instanceId === null) { throw new Error( "Missing the required parameter 'opts.instanceId' when calling deleteDispatchRule" ) } if (opts.dispatchRuleId === undefined || opts.dispatchRuleId === null) { throw new Error( "Missing the required parameter 'opts.dispatchRuleId' when calling deleteDispatchRule" ) } let postBody = null let queryParams = {} let pathParams = { regionId: regionId, instanceId: opts.instanceId, dispatchRuleId: opts.dispatchRuleId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 ipanti/1.12.0' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call deleteDispatchRule with params:\npathParams:${JSON.stringify( pathParams )},\nqueryParams:${JSON.stringify( queryParams )}, \nheaderParams:${JSON.stringify( headerParams )}, \nformParams:${JSON.stringify( formParams )}, \npostBody:${JSON.stringify(postBody)}`, 'DEBUG' ) let request = super.makeRequest( '/regions/{regionId}/instances/{instanceId}/dispatchRules/{dispatchRuleId}', 'DELETE', pathParams, queryParams, headerParams, formParams, postBody, contentTypes, accepts, returnType, callback ) return request.then( function (result) { if (callback && typeof callback === 'function') { return callback(null, result) } return result }, function (error) { if (callback && typeof callback === 'function') { return callback(error) } return Promise.reject(error) } ) } /** * 防护调度规则切换成防御状态 * @param {Object} opts - parameters * @param {string} opts.instanceId - 高防实例 Id * @param {string} opts.dispatchRuleId - 防护调度规则 Id * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param integer code 0: 规则切换成防御失败, 1: 规则切换成防御成功 * @param string message 规则切换成防御失败时给出具体原因 */ switchDispatchRuleProtect (opts, regionId = this.config.regionId, callback) { if (typeof regionId === 'function') { callback = regionId regionId = this.config.regionId } if (regionId === undefined || regionId === null) { throw new Error( "Missing the required parameter 'regionId' when calling switchDispatchRuleProtect" ) } opts = opts || {} if (opts.instanceId === undefined || opts.instanceId === null) { throw new Error( "Missing the required parameter 'opts.instanceId' when calling switchDispatchRuleProtect" ) } if (opts.dispatchRuleId === undefined || opts.dispatchRuleId === null) { throw new Error( "Missing the required parameter 'opts.dispatchRuleId' when calling switchDispatchRuleProtect" ) } let postBody = {} let queryParams = {} let pathParams = { regionId: regionId, instanceId: opts.instanceId, dispatchRuleId: opts.dispatchRuleId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 ipanti/1.12.0' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call switchDispatchRuleProtect with params:\npathParams:${JSON.stringify( pathParams )},\nqueryParams:${JSON.stringify( queryParams )}, \nheaderParams:${JSON.stringify( headerParams )}, \nformParams:${JSON.stringify( formParams )}, \npostBody:${JSON.stringify(postBody)}`, 'DEBUG' ) let request = super.makeRequest( '/regions/{regionId}/instances/{instanceId}/dispatchRules/{dispatchRuleId}:protect', 'POST', pathParams, queryParams, headerParams, formParams, postBody, contentTypes, accepts, returnType, callback ) return request.then( function (result) { if (callback && typeof callback === 'function') { return callback(null, result) } return result }, function (error) { if (callback && typeof callback === 'function') { return callback(error) } return Promise.reject(error) } ) } /** * 防护调度规则切换成回源状态 * @param {Object} opts - parameters * @param {string} opts.instanceId - 高防实例 Id * @param {string} opts.dispatchRuleId - 防护调度规则 Id * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param integer code 0: 规则切换成回源失败, 1: 规则切换成回源成功 * @param string message 规则切换成回源失败时给出具体原因 */ switchDispatchRuleOrigin (opts, regionId = this.config.regionId, callback) { if (typeof regionId === 'function') { callback = regionId regionId = this.config.regionId } if (regionId === undefined || regionId === null) { throw new Error( "Missing the required parameter 'regionId' when calling switchDispatchRuleOrigin" ) } opts = opts || {} if (opts.instanceId === undefined || opts.instanceId === null) { throw new Error( "Missing the required parameter 'opts.instanceId' when calling switchDispatchRuleOrigin" ) } if (opts.dispatchRuleId === undefined || opts.dispatchRuleId === null) { throw new Error( "Missing the required parameter 'opts.dispatchRuleId' when calling switchDispatchRuleOrigin" ) } let postBody = {} let queryParams = {} let pathParams = { regionId: regionId, instanceId: opts.instanceId, dispatchRuleId: opts.dispatchRuleId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 ipanti/1.12.0' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call switchDispatchRuleOrigin with params:\npathParams:${JSON.stringify( pathParams )},\nqueryParams:${JSON.stringify( queryParams )}, \nheaderParams:${JSON.stringify( headerParams )}, \nformParams:${JSON.stringify( formParams )}, \npostBody:${JSON.stringify(postBody)}`, 'DEBUG' ) let request = super.makeRequest( '/regions/{regionId}/instances/{instanceId}/dispatchRules/{dispatchRuleId}:origin', 'POST', pathParams, queryParams, headerParams, formParams, postBody, contentTypes, accepts, returnType, callback ) return request.then( function (result) { if (callback && typeof callback === 'function') { return callback(null, result) } return result }, function (error) { if (callback && typeof callback === 'function') { return callback(error) } return Promise.reject(error) } ) } /** * 查询某个实例下的非网站转发配置 * @param {Object} opts - parameters * @param {string} opts.instanceId - 高防实例 Id * @param {integer} [opts.pageNumber] - 页码, 默认为1 optional * @param {integer} [opts.pageSize] - 分页大小, 默认为10, 取值范围[10, 100] optional * @param {string} [opts.searchType] - 查询类型名称, domain:源站域名, ip:源站 IP, port: 转发端口, originPort: 源站端口, serviceIp: 高防IP(仅支持BGP线路的实例) optional * @param {string} [opts.searchValue] - 查询类型值 optional * @param {sort} [opts.sorts] - 排序属性: port - 按转发端口排序,默认不排序,asc表示按转发端口升序,desc表示按转发端口降序 optional * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param forwardRule dataList * @param integer currentCount 当前页数量 * @param integer totalCount 总数 * @param integer totalPage 总页数 */ describeForwardRules (opts, regionId = this.config.regionId, callback) { if (typeof regionId === 'function') { callback = regionId regionId = this.config.regionId } if (regionId === undefined || regionId === null) { throw new Error( "Missing the required parameter 'regionId' when calling describeForwardRules" ) } opts = opts || {} if (opts.instanceId === undefined || opts.instanceId === null) { throw new Error( "Missing the required parameter 'opts.instanceId' when calling describeForwardRules" ) } let postBody = null let queryParams = {} if (opts.pageNumber !== undefined && opts.pageNumber !== null) { queryParams['pageNumber'] = opts.pageNumber } if (opts.pageSize !== undefined && opts.pageSize !== null) { queryParams['pageSize'] = opts.pageSize } if (opts.searchType !== undefined && opts.searchType !== null) { queryParams['searchType'] = opts.searchType } if (opts.searchValue !== undefined && opts.searchValue !== null) { queryParams['searchValue'] = opts.searchValue } Object.assign(queryParams, super.buildSortParam(opts.sorts, 'sorts')) let pathParams = { regionId: regionId, instanceId: opts.instanceId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 ipanti/1.12.0' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call describeForwardRules with params:\npathParams:${JSON.stringify( pathParams )},\nqueryParams:${JSON.stringify( queryParams )}, \nheaderParams:${JSON.stringify( headerParams )}, \nformParams:${JSON.stringify( formParams )}, \npostBody:${JSON.stringify(postBody)}`, 'DEBUG' ) let request = super.makeRequest( '/regions/{regionId}/instances/{instanceId}/forwardRules', 'GET', pathParams, queryParams, headerParams, formParams, postBody, contentTypes, accepts, returnType, callback ) return request.then( function (result) { if (callback && typeof callback === 'function') { return callback(null, result) } return result }, function (error) { if (callback && typeof callback === 'function') { return callback(error) } return Promise.reject(error) } ) } /** * 添加非网站类规则 * @param {Object} opts - parameters * @param {string} opts.instanceId - 高防实例 Id * @param {forwardRuleSpec} opts.forwardRuleSpec - 添加非网站类规则请求参数 * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param integer code 0: 添加规则失败, 1: 添加规则成功 * @param string message 添加规则失败时给出具体原因 */ createForwardRule (opts, regionId = this.config.regionId, callback) { if (typeof regionId === 'function') { callback = regionId regionId = this.config.regionId } if (regionId === undefined || regionId === null) { throw new Error( "Missing the required parameter 'regionId' when calling createForwardRule" ) } opts = opts || {} if (opts.instanceId === undefined || opts.instanceId === null) { throw new Error( "Missing the required parameter 'opts.instanceId' when calling createForwardRule" ) } if (opts.forwardRuleSpec === undefined || opts.forwardRuleSpec === null) { throw new Error( "Missing the required parameter 'opts.forwardRuleSpec' when calling createForwardRule" ) } let postBody = {} if (opts.forwardRuleSpec !== undefined && opts.forwardRuleSpec !== null) { postBody['forwardRuleSpec'] = opts.forwardRuleSpec } let queryParams = {} let pathParams = { regionId: regionId, instanceId: opts.instanceId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 ipanti/1.12.0' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call createForwardRule with params:\npathParams:${JSON.stringify( pathParams )},\nqueryParams:${JSON.stringify( queryParams )}, \nheaderParams:${JSON.stringify( headerParams )}, \nformParams:${JSON.stringify( formParams )}, \npostBody:${JSON.stringify(postBody)}`, 'DEBUG' ) let request = super.makeRequest( '/regions/{regionId}/instances/{instanceId}/forwardRules', 'POST', pathParams, queryParams, headerParams, formParams, postBody, contentTypes, accepts, returnType, callback ) return request.then( function (result) { if (callback && typeof callback === 'function') { return callback(null, result) } return result }, function (error) { if (callback && typeof callback === 'function') { return callback(error) } return Promise.reject(error) } ) } /** * 批量添加非网站类规则 * @param {Object} opts - parameters * @param {string} opts.instanceId - 高防实例 Id * @param {array} opts.forwardRuleSpecList - 批量添加非网站类规则请求参数 * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param string forwardRuleIds * @param failedPort failedPorts */ createForwardRules (opts, regionId = this.config.regionId, callback) { if (typeof regionId === 'function') { callback = regionId regionId = this.config.regionId } if (regionId === undefined || regionId === null) { throw new Error( "Missing the required parameter 'regionId' when calling createForwardRules" ) } opts = opts || {} if (opts.instanceId === undefined || opts.instanceId === null) { throw new Error( "Missing the required parameter 'opts.instanceId' when calling createForwardRules" ) } if ( opts.forwardRuleSpecList === undefined || opts.forwardRuleSpecList === null ) { throw new Error( "Missing the required parameter 'opts.forwardRuleSpecList' when calling createForwardRules" ) } let postBody = {} if ( opts.forwardRuleSpecList !== undefined && opts.forwardRuleSpecList !== null ) { postBody['forwardRuleSpecList'] = opts.forwardRuleSpecList } let queryParams = {} let pathParams = { regionId: regionId, instanceId: opts.instanceId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 ipanti/1.12.0' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call createForwardRules with params:\npathParams:${JSON.stringify( pathParams )},\nqueryParams:${JSON.stringify( queryParams )}, \nheaderParams:${JSON.stringify( headerParams )}, \nformParams:${JSON.stringify( formParams )}, \npostBody:${JSON.stringify(postBody)}`, 'DEBUG' ) let request = super.makeRequest( '/regions/{regionId}/instances/{instanceId}:createForwardRules', 'POST', pathParams, queryParams, headerParams, formParams, postBody, contentTypes, accepts, returnType, callback ) return request.then( function (result) { if (callback && typeof callback === 'function') { return callback(null, result) } return result }, function (error) { if (callback && typeof callback === 'function') { return callback(error) } return Promise.reject(error) } ) } /** * 查询非网站类规则 * @param {Object} opts - parameters * @param {string} opts.instanceId - 高防实例 Id * @param {string} opts.forwardRuleId - 转发规则 Id * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param forwardRule data */ describeForwardRule (opts, regionId = this.config.regionId, callback) { if (typeof regionId === 'function') { callback = regionId regionId = this.config.regionId } if (regionId === undefined || regionId === null) { throw new Error( "Missing the required parameter 'regionId' when calling describeForwardRule" ) } opts = opts || {} if (opts.instanceId === undefined || opts.instanceId === null) { throw new Error( "Missing the required parameter 'opts.instanceId' when calling describeForwardRule" ) } if (opts.forwardRuleId === undefined || opts.forwardRuleId === null) { throw new Error( "Missing the required parameter 'opts.forwardRuleId' when calling describeForwardRule" ) } let postBody = null let queryParams = {} let pathParams = { regionId: regionId, instanceId: opts.instanceId, forwardRuleId: opts.forwardRuleId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 ipanti/1.12.0' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call describeForwardRule with params:\npathParams:${JSON.stringify( pathParams )},\nqueryParams:${JSON.stringify( queryParams )}, \nheaderParams:${JSON.stringify( headerParams )}, \nformParams:${JSON.stringify( formParams )}, \npostBody:${JSON.stringify(postBody)}`, 'DEBUG' ) let request = super.makeRequest( '/regions/{regionId}/instances/{instanceId}/forwardRules/{forwardRuleId}', 'GET', pathParams, queryParams, headerParams, formParams, postBody, contentTypes, accepts, returnType, callback ) return request.then( function (result) { if (callback && typeof callback === 'function') { return callback(null, result) } return result }, function (error) { if (callback && typeof callback === 'function') { return callback(error) } return Promise.reject(error) } ) } /** * 更新非网站类规则 * @param {Object} opts - parameters * @param {string} opts.instanceId - 高防实例 Id * @param {string} opts.forwardRuleId - 转发规则 Id * @param {forwardRuleSpec} opts.forwardRuleSpec - 更新非网站类规则请求参数 * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param integer code 0: 更新规则失败, 1: 更新规则成功 * @param string message 更新规则失败时给出具体原因 */ modifyForwardRule (opts, regionId = this.config.regionId, callback) { if (typeof regionId === 'function') { callback = regionId regionId = this.config.regionId } if (regionId === undefined || regionId === null) { throw new Error( "Missing the required parameter 'regionId' when calling modifyForwardRule" ) } opts = opts || {} if (opts.instanceId === undefined || opts.instanceId === null) { throw new Error( "Missing the required parameter 'opts.instanceId' when calling modifyForwardRule" ) } if (opts.forwardRuleId === undefined || opts.forwardRuleId === null) { throw new Error( "Missing the required parameter 'opts.forwardRuleId' when calling modifyForwardRule" ) } if (opts.forwardRuleSpec === undefined || opts.forwardRuleSpec === null) { throw new Error( "Missing the required parameter 'opts.forwardRuleSpec' when calling modifyForwardRule" ) } let postBody = {} if (opts.forwardRuleSpec !== undefined && opts.forwardRuleSpec !== null) { postBody['forwardRuleSpec'] = opts.forwardRuleSpec } let queryParams = {} let pathParams = { regionId: regionId, instanceId: opts.instanceId, forwardRuleId: opts.forwardRuleId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 ipanti/1.12.0' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call modifyForwardRule with params:\npathParams:${JSON.stringify( pathParams )},\nqueryParams:${JSON.stringify( queryParams )}, \nheaderParams:${JSON.stringify( headerParams )}, \nformParams:${JSON.stringify( formParams )}, \npostBody:${JSON.stringify(postBody)}`, 'DEBUG' ) let request = super.makeRequest( '/regions/{regionId}/instances/{instanceId}/forwardRules/{forwardRuleId}', 'PATCH', pathParams, queryParams, headerParams, formParams, postBody, contentTypes, accepts, returnType, callback ) return request.then( function (result) { if (callback && typeof callback === 'function') { return callback(null, result) } return result }, function (error) { if (callback && typeof callback === 'function') { return callback(error) } return Promise.reject(error) } ) } /** * 删除非网站规则, 批量操作时, 返回 result.code 为 1 表示操作成功, 为 0 时可能全部失败, 也可能部分失败 * @param {Object} opts - parameters * @param {string} opts.instanceId - 高防实例 Id * @param {string} opts.forwardRuleId - 转发规则 Id * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param integer code 0: 删除规则失败, 1: 删除规则成功 * @param string message 删除规则失败时给出具体原因 */ deleteForwardRule (opts, regionId = this.config.regionId, callback) { if (typeof regionId === 'function') { callback = regionId regionId = this.config.regionId } if (regionId === undefined || regionId === null) { throw new Error( "Missing the required parameter 'regionId' when calling deleteForwardRule" ) } opts = opts || {} if (opts.instanceId === undefined || opts.instanceId === null) { throw new Error( "Missing the required parameter 'opts.instanceId' when calling deleteForwardRule" ) } if (opts.forwardRuleId === undefined || opts.forwardRuleId === null) { throw new Error( "Missing the required parameter 'opts.forwardRuleId' when calling deleteForwardRule" ) } let postBody = null let queryParams = {} let pathParams = { regionId: regionId, instanceId: opts.instanceId, forwardRuleId: opts.forwardRuleId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 ipanti/1.12.0' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call deleteForwardRule with params:\npathParams:${JSON.stringify( pathParams )},\nqueryParams:${JSON.stringify( queryParams )}, \nheaderParams:${JSON.stringify( headerParams )}, \nformParams:${JSON.stringify( formParams )}, \npostBody:${JSON.stringify(postBody)}`, 'DEBUG' ) let request = super.makeRequest( '/regions/{regionId}/instances/{instanceId}/forwardRules/{forwardRuleId}', 'DELETE', pathParams, queryParams, headerParams, formParams, postBody, contentTypes, accepts, returnType, callback ) return request.then( function (result) { if (callback && typeof callback === 'function') { return callback(null, result) } return result }, function (error) { if (callback && typeof callback === 'function') { return callback(error) } return Promise.reject(error) } ) } /** * 非网站类规则切换成防御状态。支持批量操作, 批量操作时 forwardRuleId 传多个, 以 ',' 分隔, 返回 result.code 为 1 表示操作成功, 为 0 时可能全部失败, 也可能部分失败 * @param {Object} opts - parameters * @param {string} opts.instanceId - 高防实例 Id * @param {string} opts.forwardRuleId - 转发规则 Id * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param integer code 0: 切换失败, 1: 切换成功 * @param string message 切换失败时给出具体原因 */ switchForwardRuleProtect (opts, regionId = this.config.regionId, callback) { if (typeof regionId === 'function') { callback = regionId regionId = this.config.regionId } if (regionId === undefined || regionId === null) { throw new Error( "Missing the required parameter 'regionId' when calling switchForwardRuleProtect" ) } opts = opts || {} if (opts.instanceId === undefined || opts.instanceId === null) { throw new Error( "Missing the required parameter 'opts.instanceId' when calling switchForwardRuleProtect" ) } if (opts.forwardRuleId === undefined || opts.forwardRuleId === null) { throw new Error( "Missing the required parameter 'opts.forwardRuleId' when calling switchForwardRuleProtect" ) } let postBody = {} let queryParams = {} let pathParams = { regionId: regionId, instanceId: opts.instanceId, forwardRuleId: opts.forwardRuleId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 ipanti/1.12.0' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call switchForwardRuleProtect with params:\npathParams:${JSON.stringify( pathParams )},\nqueryParams:${JSON.stringify( queryParams )}, \nheaderParams:${JSON.stringify( headerParams )}, \nformParams:${JSON.stringify( formParams )}, \npostBody:${JSON.stringify(postBody)}`, 'DEBUG' ) let request = super.makeRequest( '/regions/{regionId}/instances/{instanceId}/forwardRules/{forwardRuleId}:protect', 'POST', pathParams, queryParams, headerParams, formParams, postBody, contentTypes, accepts, returnType, callback ) return request.then( function (result) { if (callback && typeof callback === 'function') { return callback(null, result) } return result }, function (error) { if (callback && typeof callback === 'function') { return callback(error) } return Promise.reject(error) } ) } /** * 非网站类规则切换成回源状态。支持批量操作, 批量操作时 forwardRuleId 传多个, 以 ',' 分隔, 返回 result.code 为 1 表示操作成功, 为 0 时可能全部失败, 也可能部分失败 * @param {Object} opts - parameters * @param {string} opts.instanceId - 高防实例 Id * @param {string} opts.forwardRuleId - 转发规则 Id * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param integer code 0: 切换失败, 1: 切换成功 * @param string message 切换失败时给出具体原因 */ switchForwardRuleOrigin (opts, regionId = this.config.regionId, callback) { if (typeof regionId === 'function') { callback = regionId regionId = this.config.regionId } if (regionId === undefined || regionId === null) { throw new Error( "Missing the required parameter 'regionId' when calling switchForwardRuleOrigin" ) } opts = opts || {} if (opts.instanceId === undefined || opts.instanceId === null) { throw new Error( "Missing the required parameter 'opts.instanceId' when calling switchForwardRuleOrigin" ) } if (opts.forwardRuleId === undefined || opts.forwardRuleId === null) { throw new Error( "Missing the required parameter 'opts.forwardRuleId' when calling switchForwardRuleOrigin" ) } let postBody = {} let queryParams = {} let pathParams = { regionId: regionId, instanceId: opts.instanceId, forwardRuleId: opts.forwardRuleId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 ipanti/1.12.0' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call switchForwardRuleOrigin with params:\npathParams:${JSON.stringify( pathParams )},\nqueryParams:${JSON.stringify( queryParams )}, \nheaderParams:${JSON.stringify( headerParams )}, \nformParams:${JSON.stringify( formParams )}, \npostBody:${JSON.stringify(postBody)}`, 'DEBUG' ) let request = super.makeRequest( '/regions/{regionId}/instances/{instanceId}/forwardRules/{forwardRuleId}:origin', 'POST', pathParams, queryParams, headerParams, formParams, postBody, contentTypes, accepts, returnType, callback ) return request.then( function (result) { if (callback && typeof callback === 'function') { return callback(null, result) } return result }, function (error) { if (callback && typeof callback === 'function') { return callback(error) } return Promise.reject(error) } ) } /** * 查询非网站类转发规则的防护规则 * @param {Object} opts - parameters * @param {string} opts.instanceId - 高防实例 Id * @param {string} opts.forwardRuleId - 转发规则 Id * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param forwardProtectionRule protectionRule */ describeProtectionRuleOfForwardRule ( opts, regionId = this.config.regionId, callback ) { if (typeof regionId === 'function') { callback = regionId regionId = this.config.regionId } if (regionId === undefined || regionId === null) { throw new Error( "Missing the required parameter 'regionId' when calling describeProtectionRuleOfForwardRule" ) } opts = opts || {} if (opts.instanceId === undefined || opts.instanceId === null) { throw new Error( "Missing the required parameter 'opts.instanceId' when calling describeProtectionRuleOfForwardRule" ) } if (opts.forwardRuleId === undefined || opts.forwardRuleId === null) { throw new Error( "Missing the required parameter 'opts.forwardRuleId' when calling describeProtectionRuleOfForwardRule" ) } let postBody = null let queryParams = {} let pathParams = { regionId: regionId, instanceId: opts.instanceId, forwardRuleId: opts.forwardRuleId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 ipanti/1.12.0' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call describeProtectionRuleOfForwardRule with params:\npathParams:${JSON.stringify( pathParams )},\nqueryParams:${JSON.stringify( queryParams )}, \nheaderParams:${JSON.stringify( headerParams )}, \nformParams:${JSON.stringify( formParams )}, \npostBody:${JSON.stringify(postBody)}`, 'DEBUG' ) let request = super.makeRequest( '/regions/{regionId}/instances/{instanceId}/forwardRules/{forwardRuleId}:describeProtectionRule', 'GET', pathParams, queryParams, headerParams, formParams, postBody, contentTypes, accepts, returnType, callback ) return request.then( function (result) { if (callback && typeof callback === 'function') { return callback(null, result) } return result }, function (error) { if (callback && typeof callback === 'function') { return callback(error) } return Promise.reject(error) } ) } /** * 修改非网站类转发规则的防护规则 * @param {Object} opts - parameters * @param {string} opts.instanceId - 高防实例 Id * @param {string} opts.forwardRuleId - 转发规则 Id * @param {forwardProtectionRuleSpec} opts.forwardProtectionRuleSpec - 修改非网站类转发规则的防护规则请求参数 * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param integer code 0: 修改规则失败, 1: 修改规则成功 * @param string message 修改规则失败时给出具体原因 */ modifyProtectionRuleOfForwardRule ( opts, regionId = this.config.regionId, callback ) { if (typeof regionId === 'function') { callback = regionId regionId = this.config.regionId } if (regionId === undefined || regionId === null) { throw new Error( "Missing the required parameter 'regionId' when calling modifyProtectionRuleOfForwardRule" ) } opts = opts || {} if (opts.instanceId === undefined || opts.instanceId === null) { throw new Error( "Missing the required parameter 'opts.instanceId' when calling modifyProtectionRuleOfForwardRule" ) } if (opts.forwardRuleId === undefined || opts.forwardRuleId === null) { throw new Error( "Missing the required parameter 'opts.forwardRuleId' when calling modifyProtectionRuleOfForwardRule" ) } if ( opts.forwardProtectionRuleSpec === undefined || opts.forwardProtectionRuleSpec === null ) { throw new Error( "Missing the required parameter 'opts.forwardProtectionRuleSpec' when calling modifyProtectionRuleOfForwardRule" ) } let postBody = {} if ( opts.forwardProtectionRuleSpec !== undefined && opts.forwardProtectionRuleSpec !== null ) { postBody['forwardProtectionRuleSpec'] = opts.forwardProtectionRuleSpec } let queryParams = {} let pathParams = { regionId: regionId, instanceId: opts.instanceId, forwardRuleId: opts.forwardRuleId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 ipanti/1.12.0' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call modifyProtectionRuleOfForwardRule with params:\npathParams:${JSON.stringify( pathParams )},\nqueryParams:${JSON.stringify( queryParams )}, \nheaderParams:${JSON.stringify( headerParams )}, \nformParams:${JSON.stringify( formParams )}, \npostBody:${JSON.stringify(postBody)}`, 'DEBUG' ) let request = super.makeRequest( '/regions/{regionId}/instances/{instanceId}/forwardRules/{forwardRuleId}:modifyProtectionRule', 'POST', pathParams, queryParams, headerParams, formParams, postBody, contentTypes, accepts, returnType, callback ) return request.then( function (result) { if (callback && typeof callback === 'function') { return callback(null, result) } return result }, function (error) { if (callback && typeof callback === 'function') { return callback(error) } return Promise.reject(error) } ) } /** * 查询非网站类转发规则的防护规则 Geo 拦截可设置区域编码 * @param {Object} opts - parameters * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param country dataList */ describeGeoAreas (opts, regionId = this.config.regionId, callback) { if (typeof regionId === 'function') { callback = regionId regionId = this.config.regionId } if (regionId === undefined || regionId === null) { throw new Error( "Missing the required parameter 'regionId' when calling describeGeoAreas" ) } opts = opts || {} let postBody = null let queryParams = {} let pathParams = { regionId: regionId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 ipanti/1.12.0' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call describeGeoAreas with params:\npathParams:${JSON.stringify( pathParams )},\nqueryParams:${JSON.stringify( queryParams )}, \nheaderParams:${JSON.stringify( headerParams )}, \nformParams:${JSON.stringify( formParams )}, \npostBody:${JSON.stringify(postBody)}`, 'DEBUG' ) let request = super.makeRequest( '/regions/{regionId}/describeGeoAreas', 'GET', pathParams, queryParams, headerParams, formParams, postBody, contentTypes, accepts, returnType, callback ) return request.then( function (result) { if (callback && typeof callback === 'function') { return callback(null, result) } return result }, function (error) { if (callback && typeof callback === 'function') { return callback(error) } return Promise.reject(error) } ) } /** * 查询转发规则的黑名单规则 * @param {Object} opts - parameters * @param {string} opts.instanceId - 高防实例 Id * @param {string} opts.forwardRuleId - 转发规则 Id * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param forwardBlackListRule data */ describeBlackListRuleOfForwardRule ( opts, regionId = this.config.regionId, callback ) { if (typeof regionId === 'function') { callback = regionId regionId = this.config.regionId } if (regionId === undefined || regionId === null) { throw new Error( "Missing the required parameter 'regionId' when calling describeBlackListRuleOfForwardRule" ) } opts = opts || {} if (opts.instanceId === undefined || opts.instanceId === null) { throw new Error( "Missing the required parameter 'opts.instanceId' when calling describeBlackListRuleOfForwardRule" ) } if (opts.forwardRuleId === undefined || opts.forwardRuleId === null) { throw new Error( "Missing the required parameter 'opts.forwardRuleId' when calling describeBlackListRuleOfForwardRule" ) } let postBody = null let queryParams = {} let pathParams = { regionId: regionId, instanceId: opts.instanceId, forwardRuleId: opts.forwardRuleId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 ipanti/1.12.0' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call describeBlackListRuleOfForwardRule with params:\npathParams:${JSON.stringify( pathParams )},\nqueryParams:${JSON.stringify( queryParams )}, \nheaderParams:${JSON.stringify( headerParams )}, \nformParams:${JSON.stringify( formParams )}, \npostBody:${JSON.stringify(postBody)}`, 'DEBUG' ) let request = super.makeRequest( '/regions/{regionId}/instances/{instanceId}/forwardRules/{forwardRuleId}/forwardBlackListRule', 'GET', pathParams, queryParams, headerParams, formParams, postBody, contentTypes, accepts, returnType, callback ) return request.then( function (result) { if (callback && typeof callback === 'function') { return callback(null, result) } return result }, function (error) { if (callback && typeof callback === 'function') { return callback(error) } return Promise.reject(error) } ) } /** * 修改转发规则的黑名单规则 * @param {Object} opts - parameters * @param {string} opts.instanceId - 高防实例 Id * @param {string} opts.forwardRuleId - 转发规则 Id * @param {modifyBlackListRuleOfForwardRuleSpec} opts.modifySpec - 修改转发规则的黑名单规则请求参数 * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param integer code 修改结果, 0: 修改失败, 1: 修改成功 * @param string message 修改失败时给出具体原因 */ modifyBlackListRuleOfForwardRule ( opts, regionId = this.config.regionId, callback ) { if (typeof regionId === 'function') { callback = regionId regionId = this.config.regionId } if (regionId === undefined || regionId === null) { throw new Error( "Missing the required parameter 'regionId' when calling modifyBlackListRuleOfForwardRule" ) } opts = opts || {} if (opts.instanceId === undefined || opts.instanceId === null) { throw new Error( "Missing the required parameter 'opts.instanceId' when calling modifyBlackListRuleOfForwardRule" ) } if (opts.forwardRuleId === undefined || opts.forwardRuleId === null) { throw new Error( "Missing the required parameter 'opts.forwardRuleId' when calling modifyBlackListRuleOfForwardRule" ) } if (opts.modifySpec === undefined || opts.modifySpec === null) { throw new Error( "Missing the required parameter 'opts.modifySpec' when calling modifyBlackListRuleOfForwardRule" ) } let postBody = {} if (opts.modifySpec !== undefined && opts.modifySpec !== null) { postBody['modifySpec'] = opts.modifySpec } let queryParams = {} let pathParams = { regionId: regionId, instanceId: opts.instanceId, forwardRuleId: opts.forwardRuleId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 ipanti/1.12.0' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call modifyBlackListRuleOfForwardRule with params:\npathParams:${JSON.stringify( pathParams )},\nqueryParams:${JSON.stringify( queryParams )}, \nheaderParams:${JSON.stringify( headerParams )}, \nformParams:${JSON.stringify( formParams )}, \npostBody:${JSON.stringify(postBody)}`, 'DEBUG' ) let request = super.makeRequest( '/regions/{regionId}/instances/{instanceId}/forwardRules/{forwardRuleId}/forwardBlackListRule', 'PATCH', pathParams, queryParams, headerParams, formParams, postBody, contentTypes, accepts, returnType, callback ) return request.then( function (result) { if (callback && typeof callback === 'function') { return callback(null, result) } return result }, function (error) { if (callback && typeof callback === 'function') { return callback(error) } return Promise.reject(error) } ) } /** * 开启转发规则的黑名单规则 * @param {Object} opts - parameters * @param {string} opts.instanceId - 高防实例 Id * @param {string} opts.forwardRuleId - 转发规则 Id * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param integer code 开启结果, 0: 开启失败, 1: 开启成功 * @param string message 开启失败时给出具体原因 */ enableBlackListRuleOfForwardRule ( opts, regionId = this.config.regionId, callback ) { if (typeof regionId === 'function') { callback = regionId regionId = this.config.regionId } if (regionId === undefined || regionId === null) { throw new Error( "Missing the required parameter 'regionId' when calling enableBlackListRuleOfForwardRule" ) } opts = opts || {} if (opts.instanceId === undefined || opts.instanceId === null) { throw new Error( "Missing the required parameter 'opts.instanceId' when calling enableBlackListRuleOfForwardRule" ) } if (opts.forwardRuleId === undefined || opts.forwardRuleId === null) { throw new Error( "Missing the required parameter 'opts.forwardRuleId' when calling enableBlackListRuleOfForwardRule" ) } let postBody = {} let queryParams = {} let pathParams = { regionId: regionId, instanceId: opts.instanceId, forwardRuleId: opts.forwardRuleId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 ipanti/1.12.0' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call enableBlackListRuleOfForwardRule with params:\npathParams:${JSON.stringify( pathParams )},\nqueryParams:${JSON.stringify( queryParams )}, \nheaderParams:${JSON.stringify( headerParams )}, \nformParams:${JSON.stringify( formParams )}, \npostBody:${JSON.stringify(postBody)}`, 'DEBUG' ) let request = super.makeRequest( '/regions/{regionId}/instances/{instanceId}/forwardRules/{forwardRuleId}:enableBlackListRuleOfForwardRule', 'POST', pathParams, queryParams, headerParams, formParams, postBody, contentTypes, accepts, returnType, callback ) return request.then( function (result) { if (callback && typeof callback === 'function') { return callback(null, result) } return result }, function (error) { if (callback && typeof callback === 'function') { return callback(error) } return Promise.reject(error) } ) } /** * 关闭转发规则的黑名单规则 * @param {Object} opts - parameters * @param {string} opts.instanceId - 高防实例 Id * @param {string} opts.forwardRuleId - 转发规则 Id * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param integer code 关闭结果, 0: 关闭失败, 1: 关闭成功 * @param string message 关闭失败时给出具体原因 */ disableBlackListRuleOfForwardRule ( opts, regionId = this.config.regionId, callback ) { if (typeof regionId === 'function') { callback = regionId regionId = this.config.regionId } if (regionId === undefined || regionId === null) { throw new Error( "Missing the required parameter 'regionId' when calling disableBlackListRuleOfForwardRule" ) } opts = opts || {} if (opts.instanceId === undefined || opts.instanceId === null) { throw new Error( "Missing the required parameter 'opts.instanceId' when calling disableBlackListRuleOfForwardRule" ) } if (opts.forwardRuleId === undefined || opts.forwardRuleId === null) { throw new Error( "Missing the required parameter 'opts.forwardRuleId' when calling disableBlackListRuleOfForwardRule" ) } let postBody = {} let queryParams = {} let pathParams = { regionId: regionId, instanceId: opts.instanceId, forwardRuleId: opts.forwardRuleId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 ipanti/1.12.0' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call disableBlackListRuleOfForwardRule with params:\npathParams:${JSON.stringify( pathParams )},\nqueryParams:${JSON.stringify( queryParams )}, \nheaderParams:${JSON.stringify( headerParams )}, \nformParams:${JSON.stringify( formParams )}, \npostBody:${JSON.stringify(postBody)}`, 'DEBUG' ) let request = super.makeRequest( '/regions/{regionId}/instances/{instanceId}/forwardRules/{forwardRuleId}:disableBlackListRuleOfForwardRule', 'POST', pathParams, queryParams, headerParams, formParams, postBody, contentTypes, accepts, returnType, callback ) return request.then( function (result) { if (callback && typeof callback === 'function') { return callback(null, result) } return result }, function (error) { if (callback && typeof callback === 'function') { return callback(error) } return Promise.reject(error) } ) } /** * 查询转发规则的白名单规则 * @param {Object} opts - parameters * @param {string} opts.instanceId - 高防实例 Id * @param {string} opts.forwardRuleId - 转发规则 Id * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param forwardWhiteListRule data */ describeWhiteListRuleOfForwardRule ( opts, regionId = this.config.regionId, callback ) { if (typeof regionId === 'function') { callback = regionId regionId = this.config.regionId } if (regionId === undefined || regionId === null) { throw new Error( "Missing the required parameter 'regionId' when calling describeWhiteListRuleOfForwardRule" ) } opts = opts || {} if (opts.instanceId === undefined || opts.instanceId === null) { throw new Error( "Missing the required parameter 'opts.instanceId' when calling describeWhiteListRuleOfForwardRule" ) } if (opts.forwardRuleId === undefined || opts.forwardRuleId === null) { throw new Error( "Missing the required parameter 'opts.forwardRuleId' when calling describeWhiteListRuleOfForwardRule" ) } let postBody = null let queryParams = {} let pathParams = { regionId: regionId, instanceId: opts.instanceId, forwardRuleId: opts.forwardRuleId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 ipanti/1.12.0' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call describeWhiteListRuleOfForwardRule with params:\npathParams:${JSON.stringify( pathParams )},\nqueryParams:${JSON.stringify( queryParams )}, \nheaderParams:${JSON.stringify( headerParams )}, \nformParams:${JSON.stringify( formParams )}, \npostBody:${JSON.stringify(postBody)}`, 'DEBUG' ) let request = super.makeRequest( '/regions/{regionId}/instances/{instanceId}/forwardRules/{forwardRuleId}/forwardWhiteListRule', 'GET', pathParams, queryParams, headerParams, formParams, postBody, contentTypes, accepts, returnType, callback ) return request.then( function (result) { if (callback && typeof callback === 'function') { return callback(null, result) } return result }, function (error) { if (callback && typeof callback === 'function') { return callback(error) } return Promise.reject(error) } ) } /** * 修改转发规则的白名单规则 * @param {Object} opts - parameters * @param {string} opts.instanceId - 高防实例 Id * @param {string} opts.forwardRuleId - 转发规则 Id * @param {modifyWhiteListRuleOfForwardRuleSpec} opts.modifySpec - 修改转发规则的黑名单规则请求参数 * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param integer code 修改结果, 0: 修改失败, 1: 修改成功 * @param string message 修改失败时给出具体原因 */ modifyWhiteListRuleOfForwardRule ( opts, regionId = this.config.regionId, callback ) { if (typeof regionId === 'function') { callback = regionId regionId = this.config.regionId } if (regionId === undefined || regionId === null) { throw new Error( "Missing the required parameter 'regionId' when calling modifyWhiteListRuleOfForwardRule" ) } opts = opts || {} if (opts.instanceId === undefined || opts.instanceId === null) { throw new Error( "Missing the required parameter 'opts.instanceId' when calling modifyWhiteListRuleOfForwardRule" ) } if (opts.forwardRuleId === undefined || opts.forwardRuleId === null) { throw new Error( "Missing the required parameter 'opts.forwardRuleId' when calling modifyWhiteListRuleOfForwardRule" ) } if (opts.modifySpec === undefined || opts.modifySpec === null) { throw new Error( "Missing the required parameter 'opts.modifySpec' when calling modifyWhiteListRuleOfForwardRule" ) } let postBody = {} if (opts.modifySpec !== undefined && opts.modifySpec !== null) { postBody['modifySpec'] = opts.modifySpec } let queryParams = {} let pathParams = { regionId: regionId, instanceId: opts.instanceId, forwardRuleId: opts.forwardRuleId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 ipanti/1.12.0' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call modifyWhiteListRuleOfForwardRule with params:\npathParams:${JSON.stringify( pathParams )},\nqueryParams:${JSON.stringify( queryParams )}, \nheaderParams:${JSON.stringify( headerParams )}, \nformParams:${JSON.stringify( formParams )}, \npostBody:${JSON.stringify(postBody)}`, 'DEBUG' ) let request = super.makeRequest( '/regions/{regionId}/instances/{instanceId}/forwardRules/{forwardRuleId}/forwardWhiteListRule', 'PATCH', pathParams, queryParams, headerParams, formParams, postBody, contentTypes, accepts, returnType, callback ) return request.then( function (result) { if (callback && typeof callback === 'function') { return callback(null, result) } return result }, function (error) { if (callback && typeof callback === 'function') { return callback(error) } return Promise.reject(error) } ) } /** * 开启转发规则的白名单规则 * @param {Object} opts - parameters * @param {string} opts.instanceId - 高防实例 Id * @param {string} opts.forwardRuleId - 转发规则 Id * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param integer code 开启结果, 0: 开启失败, 1: 开启成功 * @param string message 开启失败时给出具体原因 */ enableWhiteListRuleOfForwardRule ( opts, regionId = this.config.regionId, callback ) { if (typeof regionId === 'function') { callback = regionId regionId = this.config.regionId } if (regionId === undefined || regionId === null) { throw new Error( "Missing the required parameter 'regionId' when calling enableWhiteListRuleOfForwardRule" ) } opts = opts || {} if (opts.instanceId === undefined || opts.instanceId === null) { throw new Error( "Missing the required parameter 'opts.instanceId' when calling enableWhiteListRuleOfForwardRule" ) } if (opts.forwardRuleId === undefined || opts.forwardRuleId === null) { throw new Error( "Missing the required parameter 'opts.forwardRuleId' when calling enableWhiteListRuleOfForwardRule" ) } let postBody = {} let queryParams = {} let pathParams = { regionId: regionId, instanceId: opts.instanceId, forwardRuleId: opts.forwardRuleId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 ipanti/1.12.0' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call enableWhiteListRuleOfForwardRule with params:\npathParams:${JSON.stringify( pathParams )},\nqueryParams:${JSON.stringify( queryParams )}, \nheaderParams:${JSON.stringify( headerParams )}, \nformParams:${JSON.stringify( formParams )}, \npostBody:${JSON.stringify(postBody)}`, 'DEBUG' ) let request = super.makeRequest( '/regions/{regionId}/instances/{instanceId}/forwardRules/{forwardRuleId}:enableWhiteListRuleOfForwardRule', 'POST', pathParams, queryParams, headerParams, formParams, postBody, contentTypes, accepts, returnType, callback ) return request.then( function (result) { if (callback && typeof callback === 'function') { return callback(null, result) } return result }, function (error) { if (callback && typeof callback === 'function') { return callback(error) } return Promise.reject(error) } ) } /** * 关闭转发规则的白名单规则 * @param {Object} opts - parameters * @param {string} opts.instanceId - 高防实例 Id * @param {string} opts.forwardRuleId - 转发规则 Id * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param integer code 关闭结果, 0: 关闭失败, 1: 关闭成功 * @param string message 关闭失败时给出具体原因 */ disableWhiteListRuleOfForwardRule ( opts, regionId = this.config.regionId, callback ) { if (typeof regionId === 'function') { callback = regionId regionId = this.config.regionId } if (regionId === undefined || regionId === null) { throw new Error( "Missing the required parameter 'regionId' when calling disableWhiteListRuleOfForwardRule" ) } opts = opts || {} if (opts.instanceId === undefined || opts.instanceId === null) { throw new Error( "Missing the required parameter 'opts.instanceId' when calling disableWhiteListRuleOfForwardRule" ) } if (opts.forwardRuleId === undefined || opts.forwardRuleId === null) { throw new Error( "Missing the required parameter 'opts.forwardRuleId' when calling disableWhiteListRuleOfForwardRule" ) } let postBody = {} let queryParams = {} let pathParams = { regionId: regionId, instanceId: opts.instanceId, forwardRuleId: opts.forwardRuleId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 ipanti/1.12.0' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call disableWhiteListRuleOfForwardRule with params:\npathParams:${JSON.stringify( pathParams )},\nqueryParams:${JSON.stringify( queryParams )}, \nheaderParams:${JSON.stringify( headerParams )}, \nformParams:${JSON.stringify( formParams )}, \npostBody:${JSON.stringify(postBody)}`, 'DEBUG' ) let request = super.makeRequest( '/regions/{regionId}/instances/{instanceId}/forwardRules/{forwardRuleId}:disableWhiteListRuleOfForwardRule', 'POST', pathParams, queryParams, headerParams, formParams, postBody, contentTypes, accepts, returnType, callback ) return request.then( function (result) { if (callback && typeof callback === 'function') { return callback(null, result) } return result }, function (error) { if (callback && typeof callback === 'function') { return callback(error) } return Promise.reject(error) } ) } /** * 查询实例全局访问控制配置,包括全局的IP黑白名单和geo拦截配置 * @param {Object} opts - parameters * @param {string} opts.instanceId - 实例 ID * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param instanceAcl data */ describeInstanceAcl (opts, regionId = this.config.regionId, callback) { if (typeof regionId === 'function') { callback = regionId regionId = this.config.regionId } if (regionId === undefined || regionId === null) { throw new Error( "Missing the required parameter 'regionId' when calling describeInstanceAcl" ) } opts = opts || {} if (opts.instanceId === undefined || opts.instanceId === null) { throw new Error( "Missing the required parameter 'opts.instanceId' when calling describeInstanceAcl" ) } let postBody = null let queryParams = {} let pathParams = { regionId: regionId, instanceId: opts.instanceId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 ipanti/1.12.0' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call describeInstanceAcl with params:\npathParams:${JSON.stringify( pathParams )},\nqueryParams:${JSON.stringify( queryParams )}, \nheaderParams:${JSON.stringify( headerParams )}, \nformParams:${JSON.stringify( formParams )}, \npostBody:${JSON.stringify(postBody)}`, 'DEBUG' ) let request = super.makeRequest( '/regions/{regionId}/instances/{instanceId}:describeInstanceAcl', 'GET', pathParams, queryParams, headerParams, formParams, postBody, contentTypes, accepts, returnType, callback ) return request.then( function (result) { if (callback && typeof callback === 'function') { return callback(null, result) } return result }, function (error) { if (callback && typeof callback === 'function') { return callback(error) } return Promise.reject(error) } ) } /** * 修改实例全局访问控制配置,包括全局的IP黑白名单和geo拦截配置 * @param {Object} opts - parameters * @param {string} opts.instanceId - 实例 ID * @param {instanceAclSpec} opts.instanceAclSpec - 修改实例全局访问控制配置参数 * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param boolean success 修改是否下发成功 * @param boolean canRecover 是否可以恢复到上一次的配置 */ modifyInstanceAcl (opts, regionId = this.config.regionId, callback) { if (typeof regionId === 'function') { callback = regionId regionId = this.config.regionId } if (regionId === undefined || regionId === null) { throw new Error( "Missing the required parameter 'regionId' when calling modifyInstanceAcl" ) } opts = opts || {} if (opts.instanceId === undefined || opts.instanceId === null) { throw new Error( "Missing the required parameter 'opts.instanceId' when calling modifyInstanceAcl" ) } if (opts.instanceAclSpec === undefined || opts.instanceAclSpec === null) { throw new Error( "Missing the required parameter 'opts.instanceAclSpec' when calling modifyInstanceAcl" ) } let postBody = {} if (opts.instanceAclSpec !== undefined && opts.instanceAclSpec !== null) { postBody['instanceAclSpec'] = opts.instanceAclSpec } let queryParams = {} let pathParams = { regionId: regionId, instanceId: opts.instanceId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 ipanti/1.12.0' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call modifyInstanceAcl with params:\npathParams:${JSON.stringify( pathParams )},\nqueryParams:${JSON.stringify( queryParams )}, \nheaderParams:${JSON.stringify( headerParams )}, \nformParams:${JSON.stringify( formParams )}, \npostBody:${JSON.stringify(postBody)}`, 'DEBUG' ) let request = super.makeRequest( '/regions/{regionId}/instances/{instanceId}:modifyInstanceAcl', 'POST', pathParams, queryParams, headerParams, formParams, postBody, contentTypes, accepts, returnType, callback ) return request.then( function (result) { if (callback && typeof callback === 'function') { return callback(null, result) } return result }, function (error) { if (callback && typeof callback === 'function') { return callback(error) } return Promise.reject(error) } ) } /** * 实例全局访问控制配置可以恢复到上一次下发成功的配置时,调用此接口回滚到上一次下发成功的配置 * @param {Object} opts - parameters * @param {string} opts.instanceId - 实例 ID * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param boolean success 是否回滚成功 */ recoverInstanceAcl (opts, regionId = this.config.regionId, callback) { if (typeof regionId === 'function') { callback = regionId regionId = this.config.regionId } if (regionId === undefined || regionId === null) { throw new Error( "Missing the required parameter 'regionId' when calling recoverInstanceAcl" ) } opts = opts || {} if (opts.instanceId === undefined || opts.instanceId === null) { throw new Error( "Missing the required parameter 'opts.instanceId' when calling recoverInstanceAcl" ) } let postBody = {} let queryParams = {} let pathParams = { regionId: regionId, instanceId: opts.instanceId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 ipanti/1.12.0' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call recoverInstanceAcl with params:\npathParams:${JSON.stringify( pathParams )},\nqueryParams:${JSON.stringify( queryParams )}, \nheaderParams:${JSON.stringify( headerParams )}, \nformParams:${JSON.stringify( formParams )}, \npostBody:${JSON.stringify(postBody)}`, 'DEBUG' ) let request = super.makeRequest( '/regions/{regionId}/instances/{instanceId}:recoverInstanceAcl', 'POST', pathParams, queryParams, headerParams, formParams, postBody, contentTypes, accepts, returnType, callback ) return request.then( function (result) { if (callback && typeof callback === 'function') { return callback(null, result) } return result }, function (error) { if (callback && typeof callback === 'function') { return callback(error) } return Promise.reject(error) } ) } /** * 查询自定义页面列表 * @param {Object} opts - parameters * @param {string} opts.instanceId - 实例 ID * @param {string} [opts.status] - 自定义页面状态, 可取值approving: 审批中, refused: 审批不通过, approved: 审批通过, 为空时查询全部 optional * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param customPage dataList */ describeCustomPages (opts, regionId = this.config.regionId, callback) { if (typeof regionId === 'function') { callback = regionId regionId = this.config.regionId } if (regionId === undefined || regionId === null) { throw new Error( "Missing the required parameter 'regionId' when calling describeCustomPages" ) } opts = opts || {} if (opts.instanceId === undefined || opts.instanceId === null) { throw new Error( "Missing the required parameter 'opts.instanceId' when calling describeCustomPages" ) } let postBody = null let queryParams = {} if (opts.status !== undefined && opts.status !== null) { queryParams['status'] = opts.status } let pathParams = { regionId: regionId, instanceId: opts.instanceId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 ipanti/1.12.0' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call describeCustomPages with params:\npathParams:${JSON.stringify( pathParams )},\nqueryParams:${JSON.stringify( queryParams )}, \nheaderParams:${JSON.stringify( headerParams )}, \nformParams:${JSON.stringify( formParams )}, \npostBody:${JSON.stringify(postBody)}`, 'DEBUG' ) let request = super.makeRequest( '/regions/{regionId}/instances/{instanceId}/customPages', 'GET', pathParams, queryParams, headerParams, formParams, postBody, contentTypes, accepts, returnType, callback ) return request.then( function (result) { if (callback && typeof callback === 'function') { return callback(null, result) } return result }, function (error) { if (callback && typeof callback === 'function') { return callback(error) } return Promise.reject(error) } ) } /** * 添加自定义页面 * @param {Object} opts - parameters * @param {string} opts.instanceId - 实例 ID * @param {customPageSpec} opts.customPageSpec - 添加自定义页面请求参数 * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param integer code 0: 添加失败, 1: 添加成功 * @param string message 添加失败时给出具体原因 */ createCustomPage (opts, regionId = this.config.regionId, callback) { if (typeof regionId === 'function') { callback = regionId regionId = this.config.regionId } if (regionId === undefined || regionId === null) { throw new Error( "Missing the required parameter 'regionId' when calling createCustomPage" ) } opts = opts || {} if (opts.instanceId === undefined || opts.instanceId === null) { throw new Error( "Missing the required parameter 'opts.instanceId' when calling createCustomPage" ) } if (opts.customPageSpec === undefined || opts.customPageSpec === null) { throw new Error( "Missing the required parameter 'opts.customPageSpec' when calling createCustomPage" ) } let postBody = {} if (opts.customPageSpec !== undefined && opts.customPageSpec !== null) { postBody['customPageSpec'] = opts.customPageSpec } let queryParams = {} let pathParams = { regionId: regionId, instanceId: opts.instanceId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 ipanti/1.12.0' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call createCustomPage with params:\npathParams:${JSON.stringify( pathParams )},\nqueryParams:${JSON.stringify( queryParams )}, \nheaderParams:${JSON.stringify( headerParams )}, \nformParams:${JSON.stringify( formParams )}, \npostBody:${JSON.stringify(postBody)}`, 'DEBUG' ) let request = super.makeRequest( '/regions/{regionId}/instances/{instanceId}/customPages', 'POST', pathParams, queryParams, headerParams, formParams, postBody, contentTypes, accepts, returnType, callback ) return request.then( function (result) { if (callback && typeof callback === 'function') { return callback(null, result) } return result }, function (error) { if (callback && typeof callback === 'function') { return callback(error) } return Promise.reject(error) } ) } /** * 修改自定义页面 * @param {Object} opts - parameters * @param {string} opts.instanceId - 实例 ID * @param {string} opts.pageId - 自定义页面Id * @param {customPageSpec} opts.customPageSpec - 修改自定义页面请求参数 * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param integer code 0: 修改失败, 1: 修改成功 * @param string message 修改失败时给出具体原因 */ modifyCustomPage (opts, regionId = this.config.regionId, callback) { if (typeof regionId === 'function') { callback = regionId regionId = this.config.regionId } if (regionId === undefined || regionId === null) { throw new Error( "Missing the required parameter 'regionId' when calling modifyCustomPage" ) } opts = opts || {} if (opts.instanceId === undefined || opts.instanceId === null) { throw new Error( "Missing the required parameter 'opts.instanceId' when calling modifyCustomPage" ) } if (opts.pageId === undefined || opts.pageId === null) { throw new Error( "Missing the required parameter 'opts.pageId' when calling modifyCustomPage" ) } if (opts.customPageSpec === undefined || opts.customPageSpec === null) { throw new Error( "Missing the required parameter 'opts.customPageSpec' when calling modifyCustomPage" ) } let postBody = {} if (opts.customPageSpec !== undefined && opts.customPageSpec !== null) { postBody['customPageSpec'] = opts.customPageSpec } let queryParams = {} let pathParams = { regionId: regionId, instanceId: opts.instanceId, pageId: opts.pageId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 ipanti/1.12.0' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call modifyCustomPage with params:\npathParams:${JSON.stringify( pathParams )},\nqueryParams:${JSON.stringify( queryParams )}, \nheaderParams:${JSON.stringify( headerParams )}, \nformParams:${JSON.stringify( formParams )}, \npostBody:${JSON.stringify(postBody)}`, 'DEBUG' ) let request = super.makeRequest( '/regions/{regionId}/instances/{instanceId}/customPages/{pageId}', 'PUT', pathParams, queryParams, headerParams, formParams, postBody, contentTypes, accepts, returnType, callback ) return request.then( function (result) { if (callback && typeof callback === 'function') { return callback(null, result) } return result }, function (error) { if (callback && typeof callback === 'function') { return callback(error) } return Promise.reject(error) } ) } /** * 删除自定义页面, 使用中的不允许删除 * @param {Object} opts - parameters * @param {string} opts.instanceId - 实例 ID * @param {string} opts.pageId - 自定义页面Id * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param integer code 0: 删除失败, 1: 删除成功 * @param string message 删除失败时给出具体原因 */ deleteCustomPage (opts, regionId = this.config.regionId, callback) { if (typeof regionId === 'function') { callback = regionId regionId = this.config.regionId } if (regionId === undefined || regionId === null) { throw new Error( "Missing the required parameter 'regionId' when calling deleteCustomPage" ) } opts = opts || {} if (opts.instanceId === undefined || opts.instanceId === null) { throw new Error( "Missing the required parameter 'opts.instanceId' when calling deleteCustomPage" ) } if (opts.pageId === undefined || opts.pageId === null) { throw new Error( "Missing the required parameter 'opts.pageId' when calling deleteCustomPage" ) } let postBody = null let queryParams = {} let pathParams = { regionId: regionId, instanceId: opts.instanceId, pageId: opts.pageId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 ipanti/1.12.0' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call deleteCustomPage with params:\npathParams:${JSON.stringify( pathParams )},\nqueryParams:${JSON.stringify( queryParams )}, \nheaderParams:${JSON.stringify( headerParams )}, \nformParams:${JSON.stringify( formParams )}, \npostBody:${JSON.stringify(postBody)}`, 'DEBUG' ) let request = super.makeRequest( '/regions/{regionId}/instances/{instanceId}/customPages/{pageId}', 'DELETE', pathParams, queryParams, headerParams, formParams, postBody, contentTypes, accepts, returnType, callback ) return request.then( function (result) { if (callback && typeof callback === 'function') { return callback(null, result) } return result }, function (error) { if (callback && typeof callback === 'function') { return callback(error) } return Promise.reject(error) } ) } /** * 修改实例错误状态码返回页面为自定义页面 * @param {Object} opts - parameters * @param {string} opts.instanceId - 实例 ID * @param {string} opts.pageId - 自定义页面Id * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param integer code 0: 修改失败, 1: 修改成功 * @param string message 修改失败时给出具体原因 */ modifyInstanceCustomPage (opts, regionId = this.config.regionId, callback) { if (typeof regionId === 'function') { callback = regionId regionId = this.config.regionId } if (regionId === undefined || regionId === null) { throw new Error( "Missing the required parameter 'regionId' when calling modifyInstanceCustomPage" ) } opts = opts || {} if (opts.instanceId === undefined || opts.instanceId === null) { throw new Error( "Missing the required parameter 'opts.instanceId' when calling modifyInstanceCustomPage" ) } if (opts.pageId === undefined || opts.pageId === null) { throw new Error( "Missing the required parameter 'opts.pageId' when calling modifyInstanceCustomPage" ) } let postBody = {} let queryParams = {} let pathParams = { regionId: regionId, instanceId: opts.instanceId, pageId: opts.pageId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 ipanti/1.12.0' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call modifyInstanceCustomPage with params:\npathParams:${JSON.stringify( pathParams )},\nqueryParams:${JSON.stringify( queryParams )}, \nheaderParams:${JSON.stringify( headerParams )}, \nformParams:${JSON.stringify( formParams )}, \npostBody:${JSON.stringify(postBody)}`, 'DEBUG' ) let request = super.makeRequest( '/regions/{regionId}/instances/{instanceId}/customPages/{pageId}:modifyInstanceCustomPage', 'POST', pathParams, queryParams, headerParams, formParams, postBody, contentTypes, accepts, returnType, callback ) return request.then( function (result) { if (callback && typeof callback === 'function') { return callback(null, result) } return result }, function (error) { if (callback && typeof callback === 'function') { return callback(error) } return Promise.reject(error) } ) } /** * 修改实例页面错误状态码返回页面为为默认页面 * @param {Object} opts - parameters * @param {string} opts.instanceId - 实例 ID * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param integer code 0: 修改失败, 1: 修改成功 * @param string message 修改失败时给出具体原因 */ modifyInstanceCustomPageDefault ( opts, regionId = this.config.regionId, callback ) { if (typeof regionId === 'function') { callback = regionId regionId = this.config.regionId } if (regionId === undefined || regionId === null) { throw new Error( "Missing the required parameter 'regionId' when calling modifyInstanceCustomPageDefault" ) } opts = opts || {} if (opts.instanceId === undefined || opts.instanceId === null) { throw new Error( "Missing the required parameter 'opts.instanceId' when calling modifyInstanceCustomPageDefault" ) } let postBody = {} let queryParams = {} let pathParams = { regionId: regionId, instanceId: opts.instanceId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 ipanti/1.12.0' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call modifyInstanceCustomPageDefault with params:\npathParams:${JSON.stringify( pathParams )},\nqueryParams:${JSON.stringify( queryParams )}, \nheaderParams:${JSON.stringify( headerParams )}, \nformParams:${JSON.stringify( formParams )}, \npostBody:${JSON.stringify(postBody)}`, 'DEBUG' ) let request = super.makeRequest( '/regions/{regionId}/instances/{instanceId}:modifyInstanceCustomPageDefault', 'POST', pathParams, queryParams, headerParams, formParams, postBody, contentTypes, accepts, returnType, callback ) return request.then( function (result) { if (callback && typeof callback === 'function') { return callback(null, result) } return result }, function (error) { if (callback && typeof callback === 'function') { return callback(error) } return Promise.reject(error) } ) } /** * 开启实例错误状态码返回页面, 错误状态码返回默认页面或自定义页面 * @param {Object} opts - parameters * @param {string} opts.instanceId - 实例 ID * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param integer code 0: 修改失败, 1: 修改成功 * @param string message 修改失败时给出具体原因 */ enableInstanceCustomPage (opts, regionId = this.config.regionId, callback) { if (typeof regionId === 'function') { callback = regionId regionId = this.config.regionId } if (regionId === undefined || regionId === null) { throw new Error( "Missing the required parameter 'regionId' when calling enableInstanceCustomPage" ) } opts = opts || {} if (opts.instanceId === undefined || opts.instanceId === null) { throw new Error( "Missing the required parameter 'opts.instanceId' when calling enableInstanceCustomPage" ) } let postBody = {} let queryParams = {} let pathParams = { regionId: regionId, instanceId: opts.instanceId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 ipanti/1.12.0' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call enableInstanceCustomPage with params:\npathParams:${JSON.stringify( pathParams )},\nqueryParams:${JSON.stringify( queryParams )}, \nheaderParams:${JSON.stringify( headerParams )}, \nformParams:${JSON.stringify( formParams )}, \npostBody:${JSON.stringify(postBody)}`, 'DEBUG' ) let request = super.makeRequest( '/regions/{regionId}/instances/{instanceId}:enableInstanceCustomPage', 'POST', pathParams, queryParams, headerParams, formParams, postBody, contentTypes, accepts, returnType, callback ) return request.then( function (result) { if (callback && typeof callback === 'function') { return callback(null, result) } return result }, function (error) { if (callback && typeof callback === 'function') { return callback(error) } return Promise.reject(error) } ) } /** * 关闭实例错误状态码返回页面, 透传错误状态码 * @param {Object} opts - parameters * @param {string} opts.instanceId - 实例 ID * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param integer code 0: 修改失败, 1: 修改成功 * @param string message 修改失败时给出具体原因 */ disableInstanceCustomPage (opts, regionId = this.config.regionId, callback) { if (typeof regionId === 'function') { callback = regionId regionId = this.config.regionId } if (regionId === undefined || regionId === null) { throw new Error( "Missing the required parameter 'regionId' when calling disableInstanceCustomPage" ) } opts = opts || {} if (opts.instanceId === undefined || opts.instanceId === null) { throw new Error( "Missing the required parameter 'opts.instanceId' when calling disableInstanceCustomPage" ) } let postBody = {} let queryParams = {} let pathParams = { regionId: regionId, instanceId: opts.instanceId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 ipanti/1.12.0' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call disableInstanceCustomPage with params:\npathParams:${JSON.stringify( pathParams )},\nqueryParams:${JSON.stringify( queryParams )}, \nheaderParams:${JSON.stringify( headerParams )}, \nformParams:${JSON.stringify( formParams )}, \npostBody:${JSON.stringify(postBody)}`, 'DEBUG' ) let request = super.makeRequest( '/regions/{regionId}/instances/{instanceId}:disableInstanceCustomPage', 'POST', pathParams, queryParams, headerParams, formParams, postBody, contentTypes, accepts, returnType, callback ) return request.then( function (result) { if (callback && typeof callback === 'function') { return callback(null, result) } return result }, function (error) { if (callback && typeof callback === 'function') { return callback(error) } return Promise.reject(error) } ) } /** * 查询实例列表 * @param {Object} opts - parameters * @param {integer} [opts.pageNumber] - 页码, 默认为 1 optional * @param {integer} [opts.pageSize] - 分页大小, 默认为 10, 取值范围[10, 100], 0 表示全量 optional * @param {string} [opts.name] - 实例名称, 可模糊匹配 optional * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param instance dataList * @param integer currentCount 当前页数量 * @param integer totalCount 总数 * @param integer totalPage 总页数 */ describeInstances (opts, regionId = this.config.regionId, callback) { if (typeof regionId === 'function') { callback = regionId regionId = this.config.regionId } if (regionId === undefined || regionId === null) { throw new Error( "Missing the required parameter 'regionId' when calling describeInstances" ) } opts = opts || {} let postBody = null let queryParams = {} if (opts.pageNumber !== undefined && opts.pageNumber !== null) { queryParams['pageNumber'] = opts.pageNumber } if (opts.pageSize !== undefined && opts.pageSize !== null) { queryParams['pageSize'] = opts.pageSize } if (opts.name !== undefined && opts.name !== null) { queryParams['name'] = opts.name } let pathParams = { regionId: regionId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 ipanti/1.12.0' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call describeInstances with params:\npathParams:${JSON.stringify( pathParams )},\nqueryParams:${JSON.stringify( queryParams )}, \nheaderParams:${JSON.stringify( headerParams )}, \nformParams:${JSON.stringify( formParams )}, \npostBody:${JSON.stringify(postBody)}`, 'DEBUG' ) let request = super.makeRequest( '/regions/{regionId}/instances', 'GET', pathParams, queryParams, headerParams, formParams, postBody, contentTypes, accepts, returnType, callback ) return request.then( function (result) { if (callback && typeof callback === 'function') { return callback(null, result) } return result }, function (error) { if (callback && typeof callback === 'function') { return callback(error) } return Promise.reject(error) } ) } /** * 新购或升级高防实例 * @param {Object} opts - parameters * @param {createInstanceSpec} opts.createInstanceSpec - 新购或升级实例请求参数 * @param {autoRenewalSpec} [opts.autoRenewalSpec] - 自动续费配置, 默认不开通, 仅新购实例时可设置 optional * @param {boolean} [opts.autoPay] - 自动支付标识 optional * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param integer code 0: 新购或升级实例失败, 1: 新购或升级实例成功 * @param string message 新购或升级成功时为计费资源ID, 创建实例失败时给出具体原因 * @param string orderNumber 新购或升级实例成功, 且设置了自动支付时, 为订单号。否则为空 */ createInstance (opts, regionId = this.config.regionId, callback) { if (typeof regionId === 'function') { callback = regionId regionId = this.config.regionId } if (regionId === undefined || regionId === null) { throw new Error( "Missing the required parameter 'regionId' when calling createInstance" ) } opts = opts || {} if ( opts.createInstanceSpec === undefined || opts.createInstanceSpec === null ) { throw new Error( "Missing the required parameter 'opts.createInstanceSpec' when calling createInstance" ) } let postBody = {} if ( opts.createInstanceSpec !== undefined && opts.createInstanceSpec !== null ) { postBody['createInstanceSpec'] = opts.createInstanceSpec } if (opts.autoRenewalSpec !== undefined && opts.autoRenewalSpec !== null) { postBody['autoRenewalSpec'] = opts.autoRenewalSpec } if (opts.autoPay !== undefined && opts.autoPay !== null) { postBody['autoPay'] = opts.autoPay } let queryParams = {} let pathParams = { regionId: regionId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 ipanti/1.12.0' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call createInstance with params:\npathParams:${JSON.stringify( pathParams )},\nqueryParams:${JSON.stringify( queryParams )}, \nheaderParams:${JSON.stringify( headerParams )}, \nformParams:${JSON.stringify( formParams )}, \npostBody:${JSON.stringify(postBody)}`, 'DEBUG' ) let request = super.makeRequest( '/regions/{regionId}/instances', 'POST', pathParams, queryParams, headerParams, formParams, postBody, contentTypes, accepts, returnType, callback ) return request.then( function (result) { if (callback && typeof callback === 'function') { return callback(null, result) } return result }, function (error) { if (callback && typeof callback === 'function') { return callback(error) } return Promise.reject(error) } ) } /** * 查询实例 * @param {Object} opts - parameters * @param {string} opts.instanceId - 实例 ID * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param instance data */ describeInstance (opts, regionId = this.config.regionId, callback) { if (typeof regionId === 'function') { callback = regionId regionId = this.config.regionId } if (regionId === undefined || regionId === null) { throw new Error( "Missing the required parameter 'regionId' when calling describeInstance" ) } opts = opts || {} if (opts.instanceId === undefined || opts.instanceId === null) { throw new Error( "Missing the required parameter 'opts.instanceId' when calling describeInstance" ) } let postBody = null let queryParams = {} let pathParams = { regionId: regionId, instanceId: opts.instanceId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 ipanti/1.12.0' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call describeInstance with params:\npathParams:${JSON.stringify( pathParams )},\nqueryParams:${JSON.stringify( queryParams )}, \nheaderParams:${JSON.stringify( headerParams )}, \nformParams:${JSON.stringify( formParams )}, \npostBody:${JSON.stringify(postBody)}`, 'DEBUG' ) let request = super.makeRequest( '/regions/{regionId}/instances/{instanceId}', 'GET', pathParams, queryParams, headerParams, formParams, postBody, contentTypes, accepts, returnType, callback ) return request.then( function (result) { if (callback && typeof callback === 'function') { return callback(null, result) } return result }, function (error) { if (callback && typeof callback === 'function') { return callback(error) } return Promise.reject(error) } ) } /** * 修改实例名称 * @param {Object} opts - parameters * @param {string} opts.instanceId - 实例 ID * @param {renameInstanceSpec} opts.renameInstanceSpec - 修改实例名称请求参数 * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param integer code 0: 修改实例名称失败, 1: 修改实例名称成功 * @param string message 修改失败时给出具体原因 */ modifyInstanceName (opts, regionId = this.config.regionId, callback) { if (typeof regionId === 'function') { callback = regionId regionId = this.config.regionId } if (regionId === undefined || regionId === null) { throw new Error( "Missing the required parameter 'regionId' when calling modifyInstanceName" ) } opts = opts || {} if (opts.instanceId === undefined || opts.instanceId === null) { throw new Error( "Missing the required parameter 'opts.instanceId' when calling modifyInstanceName" ) } if ( opts.renameInstanceSpec === undefined || opts.renameInstanceSpec === null ) { throw new Error( "Missing the required parameter 'opts.renameInstanceSpec' when calling modifyInstanceName" ) } let postBody = {} if ( opts.renameInstanceSpec !== undefined && opts.renameInstanceSpec !== null ) { postBody['renameInstanceSpec'] = opts.renameInstanceSpec } let queryParams = {} let pathParams = { regionId: regionId, instanceId: opts.instanceId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 ipanti/1.12.0' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call modifyInstanceName with params:\npathParams:${JSON.stringify( pathParams )},\nqueryParams:${JSON.stringify( queryParams )}, \nheaderParams:${JSON.stringify( headerParams )}, \nformParams:${JSON.stringify( formParams )}, \npostBody:${JSON.stringify(postBody)}`, 'DEBUG' ) let request = super.makeRequest( '/regions/{regionId}/instances/{instanceId}:rename', 'POST', pathParams, queryParams, headerParams, formParams, postBody, contentTypes, accepts, returnType, callback ) return request.then( function (result) { if (callback && typeof callback === 'function') { return callback(null, result) } return result }, function (error) { if (callback && typeof callback === 'function') { return callback(error) } return Promise.reject(error) } ) } /** * 更新实例弹性防护带宽 * @param {Object} opts - parameters * @param {string} opts.instanceId - 实例 ID * @param {modifyInstanceEPBSpec} opts.modifyInstanceEPBSpec - 修改实例名称请求参数 * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param integer code 0: 修改失败, 1: 修改成功 * @param string message 修改失败时给出具体原因 */ modifyEPB (opts, regionId = this.config.regionId, callback) { if (typeof regionId === 'function') { callback = regionId regionId = this.config.regionId } if (regionId === undefined || regionId === null) { throw new Error( "Missing the required parameter 'regionId' when calling modifyEPB" ) } opts = opts || {} if (opts.instanceId === undefined || opts.instanceId === null) { throw new Error( "Missing the required parameter 'opts.instanceId' when calling modifyEPB" ) } if ( opts.modifyInstanceEPBSpec === undefined || opts.modifyInstanceEPBSpec === null ) { throw new Error( "Missing the required parameter 'opts.modifyInstanceEPBSpec' when calling modifyEPB" ) } let postBody = {} if ( opts.modifyInstanceEPBSpec !== undefined && opts.modifyInstanceEPBSpec !== null ) { postBody['modifyInstanceEPBSpec'] = opts.modifyInstanceEPBSpec } let queryParams = {} let pathParams = { regionId: regionId, instanceId: opts.instanceId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 ipanti/1.12.0' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call modifyEPB with params:\npathParams:${JSON.stringify( pathParams )},\nqueryParams:${JSON.stringify( queryParams )}, \nheaderParams:${JSON.stringify( headerParams )}, \nformParams:${JSON.stringify( formParams )}, \npostBody:${JSON.stringify(postBody)}`, 'DEBUG' ) let request = super.makeRequest( '/regions/{regionId}/instances/{instanceId}:modifyEPB', 'POST', pathParams, queryParams, headerParams, formParams, postBody, contentTypes, accepts, returnType, callback ) return request.then( function (result) { if (callback && typeof callback === 'function') { return callback(null, result) } return result }, function (error) { if (callback && typeof callback === 'function') { return callback(error) } return Promise.reject(error) } ) } /** * 查询告警配置 * @param {Object} opts - parameters * @param {string} opts.instanceId - 实例 ID * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param alarmConfig data */ describeAlarmConfig (opts, regionId = this.config.regionId, callback) { if (typeof regionId === 'function') { callback = regionId regionId = this.config.regionId } if (regionId === undefined || regionId === null) { throw new Error( "Missing the required parameter 'regionId' when calling describeAlarmConfig" ) } opts = opts || {} if (opts.instanceId === undefined || opts.instanceId === null) { throw new Error( "Missing the required parameter 'opts.instanceId' when calling describeAlarmConfig" ) } let postBody = null let queryParams = {} let pathParams = { regionId: regionId, instanceId: opts.instanceId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 ipanti/1.12.0' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call describeAlarmConfig with params:\npathParams:${JSON.stringify( pathParams )},\nqueryParams:${JSON.stringify( queryParams )}, \nheaderParams:${JSON.stringify( headerParams )}, \nformParams:${JSON.stringify( formParams )}, \npostBody:${JSON.stringify(postBody)}`, 'DEBUG' ) let request = super.makeRequest( '/regions/{regionId}/instances/{instanceId}:describeAlarmConfig', 'GET', pathParams, queryParams, headerParams, formParams, postBody, contentTypes, accepts, returnType, callback ) return request.then( function (result) { if (callback && typeof callback === 'function') { return callback(null, result) } return result }, function (error) { if (callback && typeof callback === 'function') { return callback(error) } return Promise.reject(error) } ) } /** * 更新告警配置 * @param {Object} opts - parameters * @param {string} opts.instanceId - 实例 ID * @param {alarmConfigSpec} opts.alarmConfigSpec - 更新告警配置请求参数 * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param integer code 0: 修改失败, 1: 修改成功 * @param string message 修改失败时给出具体原因 */ modifyAlarmConfig (opts, regionId = this.config.regionId, callback) { if (typeof regionId === 'function') { callback = regionId regionId = this.config.regionId } if (regionId === undefined || regionId === null) { throw new Error( "Missing the required parameter 'regionId' when calling modifyAlarmConfig" ) } opts = opts || {} if (opts.instanceId === undefined || opts.instanceId === null) { throw new Error( "Missing the required parameter 'opts.instanceId' when calling modifyAlarmConfig" ) } if (opts.alarmConfigSpec === undefined || opts.alarmConfigSpec === null) { throw new Error( "Missing the required parameter 'opts.alarmConfigSpec' when calling modifyAlarmConfig" ) } let postBody = {} if (opts.alarmConfigSpec !== undefined && opts.alarmConfigSpec !== null) { postBody['alarmConfigSpec'] = opts.alarmConfigSpec } let queryParams = {} let pathParams = { regionId: regionId, instanceId: opts.instanceId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 ipanti/1.12.0' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call modifyAlarmConfig with params:\npathParams:${JSON.stringify( pathParams )},\nqueryParams:${JSON.stringify( queryParams )}, \nheaderParams:${JSON.stringify( headerParams )}, \nformParams:${JSON.stringify( formParams )}, \npostBody:${JSON.stringify(postBody)}`, 'DEBUG' ) let request = super.makeRequest( '/regions/{regionId}/instances/{instanceId}:modifyAlarmConfig', 'POST', pathParams, queryParams, headerParams, formParams, postBody, contentTypes, accepts, returnType, callback ) return request.then( function (result) { if (callback && typeof callback === 'function') { return callback(null, result) } return result }, function (error) { if (callback && typeof callback === 'function') { return callback(error) } return Promise.reject(error) } ) } /** * 查询高防实例回源 IP 白名单列表 * @param {Object} opts - parameters * @param {string} opts.instanceId - 实例 ID * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param string data */ describeOriginWhiteIpList (opts, regionId = this.config.regionId, callback) { if (typeof regionId === 'function') { callback = regionId regionId = this.config.regionId } if (regionId === undefined || regionId === null) { throw new Error( "Missing the required parameter 'regionId' when calling describeOriginWhiteIpList" ) } opts = opts || {} if (opts.instanceId === undefined || opts.instanceId === null) { throw new Error( "Missing the required parameter 'opts.instanceId' when calling describeOriginWhiteIpList" ) } let postBody = null let queryParams = {} let pathParams = { regionId: regionId, instanceId: opts.instanceId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 ipanti/1.12.0' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call describeOriginWhiteIpList with params:\npathParams:${JSON.stringify( pathParams )},\nqueryParams:${JSON.stringify( queryParams )}, \nheaderParams:${JSON.stringify( headerParams )}, \nformParams:${JSON.stringify( formParams )}, \npostBody:${JSON.stringify(postBody)}`, 'DEBUG' ) let request = super.makeRequest( '/regions/{regionId}/instances/{instanceId}:describeOriginWhiteIpList', 'GET', pathParams, queryParams, headerParams, formParams, postBody, contentTypes, accepts, returnType, callback ) return request.then( function (result) { if (callback && typeof callback === 'function') { return callback(null, result) } return result }, function (error) { if (callback && typeof callback === 'function') { return callback(error) } return Promise.reject(error) } ) } /** * 查询实例高防 IP 列表 * @param {Object} opts - parameters * @param {string} opts.instanceId - 实例 ID * @param {integer} [opts.pageNumber] - 页码, 默认为 1 optional * @param {integer} [opts.pageSize] - 分页大小, 默认为 10, 取值范围[10, 100] optional * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param serviceIp dataList * @param integer currentCount 当前页数量 * @param integer totalCount 总数 * @param integer totalPage 总页数 */ describeServiceIpList (opts, regionId = this.config.regionId, callback) { if (typeof regionId === 'function') { callback = regionId regionId = this.config.regionId } if (regionId === undefined || regionId === null) { throw new Error( "Missing the required parameter 'regionId' when calling describeServiceIpList" ) } opts = opts || {} if (opts.instanceId === undefined || opts.instanceId === null) { throw new Error( "Missing the required parameter 'opts.instanceId' when calling describeServiceIpList" ) } let postBody = null let queryParams = {} if (opts.pageNumber !== undefined && opts.pageNumber !== null) { queryParams['pageNumber'] = opts.pageNumber } if (opts.pageSize !== undefined && opts.pageSize !== null) { queryParams['pageSize'] = opts.pageSize } let pathParams = { regionId: regionId, instanceId: opts.instanceId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 ipanti/1.12.0' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call describeServiceIpList with params:\npathParams:${JSON.stringify( pathParams )},\nqueryParams:${JSON.stringify( queryParams )}, \nheaderParams:${JSON.stringify( headerParams )}, \nformParams:${JSON.stringify( formParams )}, \npostBody:${JSON.stringify(postBody)}`, 'DEBUG' ) let request = super.makeRequest( '/regions/{regionId}/instances/{instanceId}:describeServiceIpList', 'GET', pathParams, queryParams, headerParams, formParams, postBody, contentTypes, accepts, returnType, callback ) return request.then( function (result) { if (callback && typeof callback === 'function') { return callback(null, result) } return result }, function (error) { if (callback && typeof callback === 'function') { return callback(error) } return Promise.reject(error) } ) } /** * 根据高防计费资源ID查询对应的实例Id, 调用 <a href='http://docs.jdcloud.com/anti-ddos-pro/api/createInstance'>createInstance</a> 接口成功后,跟据message字段返回的计费资源Id查询对应的高防实例ID, 需要高防实例实际创建成功以后才可查询得到 * @param {Object} opts - parameters * @param {string} opts.resourceId - 高防实例计费资源ID * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param instanceIdVo data */ describeInstanceIdByResourceId ( opts, regionId = this.config.regionId, callback ) { if (typeof regionId === 'function') { callback = regionId regionId = this.config.regionId } if (regionId === undefined || regionId === null) { throw new Error( "Missing the required parameter 'regionId' when calling describeInstanceIdByResourceId" ) } opts = opts || {} if (opts.resourceId === undefined || opts.resourceId === null) { throw new Error( "Missing the required parameter 'opts.resourceId' when calling describeInstanceIdByResourceId" ) } let postBody = null let queryParams = {} if (opts.resourceId !== undefined && opts.resourceId !== null) { queryParams['resourceId'] = opts.resourceId } let pathParams = { regionId: regionId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 ipanti/1.12.0' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call describeInstanceIdByResourceId with params:\npathParams:${JSON.stringify( pathParams )},\nqueryParams:${JSON.stringify( queryParams )}, \nheaderParams:${JSON.stringify( headerParams )}, \nformParams:${JSON.stringify( formParams )}, \npostBody:${JSON.stringify(postBody)}`, 'DEBUG' ) let request = super.makeRequest( '/regions/{regionId}/describeInstanceIdByResourceId', 'GET', pathParams, queryParams, headerParams, formParams, postBody, contentTypes, accepts, returnType, callback ) return request.then( function (result) { if (callback && typeof callback === 'function') { return callback(null, result) } return result }, function (error) { if (callback && typeof callback === 'function') { return callback(error) } return Promise.reject(error) } ) } /** * 查询高防实例名称列表 * @param {Object} opts - parameters * @param {string} [opts.id] - 高防实例 ID, 为空则查询所有实例名称 optional * @param {string} [opts.name] - 实例名称, 可模糊匹配 optional * @param {integer} [opts.pageNumber] - 页码, 默认为 1 optional * @param {integer} [opts.pageSize] - 分页大小, 默认为 10, 取值范围 [10, 100] optional * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param instanceIdName dataList * @param integer currentCount 当前页数量 * @param integer totalCount 总数 * @param integer totalPage 总页数 */ describeNameList (opts, regionId = this.config.regionId, callback) { if (typeof regionId === 'function') { callback = regionId regionId = this.config.regionId } if (regionId === undefined || regionId === null) { throw new Error( "Missing the required parameter 'regionId' when calling describeNameList" ) } opts = opts || {} let postBody = null let queryParams = {} if (opts.id !== undefined && opts.id !== null) { queryParams['id'] = opts.id } if (opts.name !== undefined && opts.name !== null) { queryParams['name'] = opts.name } if (opts.pageNumber !== undefined && opts.pageNumber !== null) { queryParams['pageNumber'] = opts.pageNumber } if (opts.pageSize !== undefined && opts.pageSize !== null) { queryParams['pageSize'] = opts.pageSize } let pathParams = { regionId: regionId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 ipanti/1.12.0' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call describeNameList with params:\npathParams:${JSON.stringify( pathParams )},\nqueryParams:${JSON.stringify( queryParams )}, \nheaderParams:${JSON.stringify( headerParams )}, \nformParams:${JSON.stringify( formParams )}, \npostBody:${JSON.stringify(postBody)}`, 'DEBUG' ) let request = super.makeRequest( '/regions/{regionId}/describeNameList', 'GET', pathParams, queryParams, headerParams, formParams, postBody, contentTypes, accepts, returnType, callback ) return request.then( function (result) { if (callback && typeof callback === 'function') { return callback(null, result) } return result }, function (error) { if (callback && typeof callback === 'function') { return callback(error) } return Promise.reject(error) } ) } /** * 查询高防实例防护统计信息 * @param {Object} opts - parameters * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param protectionStatistics data */ describeProtectionStatistics ( opts, regionId = this.config.regionId, callback ) { if (typeof regionId === 'function') { callback = regionId regionId = this.config.regionId } if (regionId === undefined || regionId === null) { throw new Error( "Missing the required parameter 'regionId' when calling describeProtectionStatistics" ) } opts = opts || {} let postBody = null let queryParams = {} let pathParams = { regionId: regionId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 ipanti/1.12.0' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call describeProtectionStatistics with params:\npathParams:${JSON.stringify( pathParams )},\nqueryParams:${JSON.stringify( queryParams )}, \nheaderParams:${JSON.stringify( headerParams )}, \nformParams:${JSON.stringify( formParams )}, \npostBody:${JSON.stringify(postBody)}`, 'DEBUG' ) let request = super.makeRequest( '/regions/{regionId}/describeProtectionStatistics', 'GET', pathParams, queryParams, headerParams, formParams, postBody, contentTypes, accepts, returnType, callback ) return request.then( function (result) { if (callback && typeof callback === 'function') { return callback(null, result) } return result }, function (error) { if (callback && typeof callback === 'function') { return callback(error) } return Promise.reject(error) } ) } /** * 查询高防实例防护概要 * @param {Object} opts - parameters * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param protectionOutline data */ describeProtectionOutline (opts, regionId = this.config.regionId, callback) { if (typeof regionId === 'function') { callback = regionId regionId = this.config.regionId } if (regionId === undefined || regionId === null) { throw new Error( "Missing the required parameter 'regionId' when calling describeProtectionOutline" ) } opts = opts || {} let postBody = null let queryParams = {} let pathParams = { regionId: regionId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 ipanti/1.12.0' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call describeProtectionOutline with params:\npathParams:${JSON.stringify( pathParams )},\nqueryParams:${JSON.stringify( queryParams )}, \nheaderParams:${JSON.stringify( headerParams )}, \nformParams:${JSON.stringify( formParams )}, \npostBody:${JSON.stringify(postBody)}`, 'DEBUG' ) let request = super.makeRequest( '/regions/{regionId}/describeProtectionOutline', 'GET', pathParams, queryParams, headerParams, formParams, postBody, contentTypes, accepts, returnType, callback ) return request.then( function (result) { if (callback && typeof callback === 'function') { return callback(null, result) } return result }, function (error) { if (callback && typeof callback === 'function') { return callback(error) } return Promise.reject(error) } ) } /** * 检测实例名称是否合法 * @param {Object} opts - parameters * @param {string} opts.name - 待检测实例名称 * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param integer code 检测结果 code, 0: 不可用, 1: 可用 * @param string message 检测结果, 不可用时给出具体原因 */ checkName (opts, regionId = this.config.regionId, callback) { if (typeof regionId === 'function') { callback = regionId regionId = this.config.regionId } if (regionId === undefined || regionId === null) { throw new Error( "Missing the required parameter 'regionId' when calling checkName" ) } opts = opts || {} if (opts.name === undefined || opts.name === null) { throw new Error( "Missing the required parameter 'opts.name' when calling checkName" ) } let postBody = null let queryParams = {} if (opts.name !== undefined && opts.name !== null) { queryParams['name'] = opts.name } let pathParams = { regionId: regionId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 ipanti/1.12.0' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call checkName with params:\npathParams:${JSON.stringify( pathParams )},\nqueryParams:${JSON.stringify( queryParams )}, \nheaderParams:${JSON.stringify( headerParams )}, \nformParams:${JSON.stringify( formParams )}, \npostBody:${JSON.stringify(postBody)}`, 'DEBUG' ) let request = super.makeRequest( '/regions/{regionId}/checkName', 'GET', pathParams, queryParams, headerParams, formParams, postBody, contentTypes, accepts, returnType, callback ) return request.then( function (result) { if (callback && typeof callback === 'function') { return callback(null, result) } return result }, function (error) { if (callback && typeof callback === 'function') { return callback(error) } return Promise.reject(error) } ) } /** * 查询用户可设置为网站类规则回源 IP 的京东云云内弹性公网 IP 资源 * @param {Object} opts - parameters * @param {integer} [opts.pageNumber] - 页码, 默认为 1 optional * @param {integer} [opts.pageSize] - 分页大小, 默认为 10, 取值范围 [0, 100], 0 表示全量 optional * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param vpcIpResource dataList * @param integer currentCount 当前页数量 * @param integer totalCount 总数 * @param integer totalPage 总页数 */ describeVpcIpList (opts, regionId = this.config.regionId, callback) { if (typeof regionId === 'function') { callback = regionId regionId = this.config.regionId } if (regionId === undefined || regionId === null) { throw new Error( "Missing the required parameter 'regionId' when calling describeVpcIpList" ) } opts = opts || {} let postBody = null let queryParams = {} if (opts.pageNumber !== undefined && opts.pageNumber !== null) { queryParams['pageNumber'] = opts.pageNumber } if (opts.pageSize !== undefined && opts.pageSize !== null) { queryParams['pageSize'] = opts.pageSize } let pathParams = { regionId: regionId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 ipanti/1.12.0' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call describeVpcIpList with params:\npathParams:${JSON.stringify( pathParams )},\nqueryParams:${JSON.stringify( queryParams )}, \nheaderParams:${JSON.stringify( headerParams )}, \nformParams:${JSON.stringify( formParams )}, \npostBody:${JSON.stringify(postBody)}`, 'DEBUG' ) let request = super.makeRequest( '/regions/{regionId}/describeVpcIpList', 'GET', pathParams, queryParams, headerParams, formParams, postBody, contentTypes, accepts, returnType, callback ) return request.then( function (result) { if (callback && typeof callback === 'function') { return callback(null, result) } return result }, function (error) { if (callback && typeof callback === 'function') { return callback(error) } return Promise.reject(error) } ) } /** * 查询用户可设置为网站类规则回源 IP 的京东云云物理服务器公网 IP 资源 * @param {Object} opts - parameters * @param {integer} [opts.pageNumber] - 页码, 默认为 1 optional * @param {integer} [opts.pageSize] - 分页大小, 默认为 10, 取值范围 [0, 100], 0 表示全量 optional * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param cpsIpResource dataList * @param integer currentCount 当前页数量 * @param integer totalCount 总数 * @param integer totalPage 总页数 */ describeCpsIpList (opts, regionId = this.config.regionId, callback) { if (typeof regionId === 'function') { callback = regionId regionId = this.config.regionId } if (regionId === undefined || regionId === null) { throw new Error( "Missing the required parameter 'regionId' when calling describeCpsIpList" ) } opts = opts || {} let postBody = null let queryParams = {} if (opts.pageNumber !== undefined && opts.pageNumber !== null) { queryParams['pageNumber'] = opts.pageNumber } if (opts.pageSize !== undefined && opts.pageSize !== null) { queryParams['pageSize'] = opts.pageSize } let pathParams = { regionId: regionId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 ipanti/1.12.0' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call describeCpsIpList with params:\npathParams:${JSON.stringify( pathParams )},\nqueryParams:${JSON.stringify( queryParams )}, \nheaderParams:${JSON.stringify( headerParams )}, \nformParams:${JSON.stringify( formParams )}, \npostBody:${JSON.stringify(postBody)}`, 'DEBUG' ) let request = super.makeRequest( '/regions/{regionId}/cpsIpResources', 'GET', pathParams, queryParams, headerParams, formParams, postBody, contentTypes, accepts, returnType, callback ) return request.then( function (result) { if (callback && typeof callback === 'function') { return callback(null, result) } return result }, function (error) { if (callback && typeof callback === 'function') { return callback(error) } return Promise.reject(error) } ) } /** * 查询用户可设置为网站类规则回源 IP 的京东云托管区公网 IP 资源 * @param {Object} opts - parameters * @param {integer} [opts.pageNumber] - 页码, 默认为 1 optional * @param {integer} [opts.pageSize] - 分页大小, 默认为 10, 取值范围 [0, 100], 0 表示全量 optional * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param ccsIpResource dataList * @param integer currentCount 当前页数量 * @param integer totalCount 总数 * @param integer totalPage 总页数 */ describeCcsIpList (opts, regionId = this.config.regionId, callback) { if (typeof regionId === 'function') { callback = regionId regionId = this.config.regionId } if (regionId === undefined || regionId === null) { throw new Error( "Missing the required parameter 'regionId' when calling describeCcsIpList" ) } opts = opts || {} let postBody = null let queryParams = {} if (opts.pageNumber !== undefined && opts.pageNumber !== null) { queryParams['pageNumber'] = opts.pageNumber } if (opts.pageSize !== undefined && opts.pageSize !== null) { queryParams['pageSize'] = opts.pageSize } let pathParams = { regionId: regionId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 ipanti/1.12.0' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call describeCcsIpList with params:\npathParams:${JSON.stringify( pathParams )},\nqueryParams:${JSON.stringify( queryParams )}, \nheaderParams:${JSON.stringify( headerParams )}, \nformParams:${JSON.stringify( formParams )}, \npostBody:${JSON.stringify(postBody)}`, 'DEBUG' ) let request = super.makeRequest( '/regions/{regionId}/ccsIpResources', 'GET', pathParams, queryParams, headerParams, formParams, postBody, contentTypes, accepts, returnType, callback ) return request.then( function (result) { if (callback && typeof callback === 'function') { return callback(null, result) } return result }, function (error) { if (callback && typeof callback === 'function') { return callback(error) } return Promise.reject(error) } ) } /** * 查询实例的 IP 黑白名单库列表 * @param {Object} opts - parameters * @param {string} opts.instanceId - 高防实例 Id * @param {integer} [opts.pageNumber] - 页码, 默认为1 optional * @param {integer} [opts.pageSize] - 分页大小, 默认为10, 取值范围[10, 100] optional * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param ipSet dataList * @param integer currentCount 当前页数量 * @param integer totalCount 总数 * @param integer totalPage 总页数 */ describeIpSets (opts, regionId = this.config.regionId, callback) { if (typeof regionId === 'function') { callback = regionId regionId = this.config.regionId } if (regionId === undefined || regionId === null) { throw new Error( "Missing the required parameter 'regionId' when calling describeIpSets" ) } opts = opts || {} if (opts.instanceId === undefined || opts.instanceId === null) { throw new Error( "Missing the required parameter 'opts.instanceId' when calling describeIpSets" ) } let postBody = null let queryParams = {} if (opts.pageNumber !== undefined && opts.pageNumber !== null) { queryParams['pageNumber'] = opts.pageNumber } if (opts.pageSize !== undefined && opts.pageSize !== null) { queryParams['pageSize'] = opts.pageSize } let pathParams = { regionId: regionId, instanceId: opts.instanceId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 ipanti/1.12.0' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call describeIpSets with params:\npathParams:${JSON.stringify( pathParams )},\nqueryParams:${JSON.stringify( queryParams )}, \nheaderParams:${JSON.stringify( headerParams )}, \nformParams:${JSON.stringify( formParams )}, \npostBody:${JSON.stringify(postBody)}`, 'DEBUG' ) let request = super.makeRequest( '/regions/{regionId}/instances/{instanceId}/ipSets', 'GET', pathParams, queryParams, headerParams, formParams, postBody, contentTypes, accepts, returnType, callback ) return request.then( function (result) { if (callback && typeof callback === 'function') { return callback(null, result) } return result }, function (error) { if (callback && typeof callback === 'function') { return callback(error) } return Promise.reject(error) } ) } /** * 添加实例的 IP 黑白名单, 预定义的 IP 黑白名单绑定到转发规则的黑名单或白名单后生效 * @param {Object} opts - parameters * @param {string} opts.instanceId - 高防实例 Id * @param {ipSetSpec} opts.ipSetSpec - 添加实例的 IP 黑白名单请求参数 * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param integer code 0: 添加失败, 1: 添加成功 * @param string message 添加失败时给出具体原因 */ createIpSet (opts, regionId = this.config.regionId, callback) { if (typeof regionId === 'function') { callback = regionId regionId = this.config.regionId } if (regionId === undefined || regionId === null) { throw new Error( "Missing the required parameter 'regionId' when calling createIpSet" ) } opts = opts || {} if (opts.instanceId === undefined || opts.instanceId === null) { throw new Error( "Missing the required parameter 'opts.instanceId' when calling createIpSet" ) } if (opts.ipSetSpec === undefined || opts.ipSetSpec === null) { throw new Error( "Missing the required parameter 'opts.ipSetSpec' when calling createIpSet" ) } let postBody = {} if (opts.ipSetSpec !== undefined && opts.ipSetSpec !== null) { postBody['ipSetSpec'] = opts.ipSetSpec } let queryParams = {} let pathParams = { regionId: regionId, instanceId: opts.instanceId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 ipanti/1.12.0' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call createIpSet with params:\npathParams:${JSON.stringify( pathParams )},\nqueryParams:${JSON.stringify( queryParams )}, \nheaderParams:${JSON.stringify( headerParams )}, \nformParams:${JSON.stringify( formParams )}, \npostBody:${JSON.stringify(postBody)}`, 'DEBUG' ) let request = super.makeRequest( '/regions/{regionId}/instances/{instanceId}/ipSets', 'POST', pathParams, queryParams, headerParams, formParams, postBody, contentTypes, accepts, returnType, callback ) return request.then( function (result) { if (callback && typeof callback === 'function') { return callback(null, result) } return result }, function (error) { if (callback && typeof callback === 'function') { return callback(error) } return Promise.reject(error) } ) } /** * 查询实例的 IP 黑白名单 * @param {Object} opts - parameters * @param {string} opts.instanceId - 高防实例 Id * @param {string} opts.ipSetId - IP 黑白名单 Id * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param ipSet data */ describeIpSet (opts, regionId = this.config.regionId, callback) { if (typeof regionId === 'function') { callback = regionId regionId = this.config.regionId } if (regionId === undefined || regionId === null) { throw new Error( "Missing the required parameter 'regionId' when calling describeIpSet" ) } opts = opts || {} if (opts.instanceId === undefined || opts.instanceId === null) { throw new Error( "Missing the required parameter 'opts.instanceId' when calling describeIpSet" ) } if (opts.ipSetId === undefined || opts.ipSetId === null) { throw new Error( "Missing the required parameter 'opts.ipSetId' when calling describeIpSet" ) } let postBody = null let queryParams = {} let pathParams = { regionId: regionId, instanceId: opts.instanceId, ipSetId: opts.ipSetId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 ipanti/1.12.0' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call describeIpSet with params:\npathParams:${JSON.stringify( pathParams )},\nqueryParams:${JSON.stringify( queryParams )}, \nheaderParams:${JSON.stringify( headerParams )}, \nformParams:${JSON.stringify( formParams )}, \npostBody:${JSON.stringify(postBody)}`, 'DEBUG' ) let request = super.makeRequest( '/regions/{regionId}/instances/{instanceId}/ipSets/{ipSetId}', 'GET', pathParams, queryParams, headerParams, formParams, postBody, contentTypes, accepts, returnType, callback ) return request.then( function (result) { if (callback && typeof callback === 'function') { return callback(null, result) } return result }, function (error) { if (callback && typeof callback === 'function') { return callback(error) } return Promise.reject(error) } ) } /** * 删除实例的 IP 黑白名单. 支持批量操作, 批量操作时 ipSetId 传多个, 以 ',' 分隔. IP 黑白名单规则被引用时不允许删除 * @param {Object} opts - parameters * @param {string} opts.instanceId - 高防实例 Id * @param {string} opts.ipSetId - IP 黑白名单 Id * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param batchResultDetail data */ deleteIpSet (opts, regionId = this.config.regionId, callback) { if (typeof regionId === 'function') { callback = regionId regionId = this.config.regionId } if (regionId === undefined || regionId === null) { throw new Error( "Missing the required parameter 'regionId' when calling deleteIpSet" ) } opts = opts || {} if (opts.instanceId === undefined || opts.instanceId === null) { throw new Error( "Missing the required parameter 'opts.instanceId' when calling deleteIpSet" ) } if (opts.ipSetId === undefined || opts.ipSetId === null) { throw new Error( "Missing the required parameter 'opts.ipSetId' when calling deleteIpSet" ) } let postBody = null let queryParams = {} let pathParams = { regionId: regionId, instanceId: opts.instanceId, ipSetId: opts.ipSetId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 ipanti/1.12.0' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call deleteIpSet with params:\npathParams:${JSON.stringify( pathParams )},\nqueryParams:${JSON.stringify( queryParams )}, \nheaderParams:${JSON.stringify( headerParams )}, \nformParams:${JSON.stringify( formParams )}, \npostBody:${JSON.stringify(postBody)}`, 'DEBUG' ) let request = super.makeRequest( '/regions/{regionId}/instances/{instanceId}/ipSets/{ipSetId}', 'DELETE', pathParams, queryParams, headerParams, formParams, postBody, contentTypes, accepts, returnType, callback ) return request.then( function (result) { if (callback && typeof callback === 'function') { return callback(null, result) } return result }, function (error) { if (callback && typeof callback === 'function') { return callback(error) } return Promise.reject(error) } ) } /** * 查询实例的 IP 黑白名单用量信息 * @param {Object} opts - parameters * @param {string} opts.instanceId - 高防实例 Id * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param integer allocatedNum 实例已添加的 IP 黑白名单数量 * @param integer surplusAllocateNum 实例还可添加的 IP 黑白名单数量 * @param integer maxAllocateNum 实例最多可添加的 IP 黑白名单数量 */ describeIpSetUsage (opts, regionId = this.config.regionId, callback) { if (typeof regionId === 'function') { callback = regionId regionId = this.config.regionId } if (regionId === undefined || regionId === null) { throw new Error( "Missing the required parameter 'regionId' when calling describeIpSetUsage" ) } opts = opts || {} if (opts.instanceId === undefined || opts.instanceId === null) { throw new Error( "Missing the required parameter 'opts.instanceId' when calling describeIpSetUsage" ) } let postBody = null let queryParams = {} let pathParams = { regionId: regionId, instanceId: opts.instanceId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 ipanti/1.12.0' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call describeIpSetUsage with params:\npathParams:${JSON.stringify( pathParams )},\nqueryParams:${JSON.stringify( queryParams )}, \nheaderParams:${JSON.stringify( headerParams )}, \nformParams:${JSON.stringify( formParams )}, \npostBody:${JSON.stringify(postBody)}`, 'DEBUG' ) let request = super.makeRequest( '/regions/{regionId}/instances/{instanceId}:describeIpSetUsage', 'GET', pathParams, queryParams, headerParams, formParams, postBody, contentTypes, accepts, returnType, callback ) return request.then( function (result) { if (callback && typeof callback === 'function') { return callback(null, result) } return result }, function (error) { if (callback && typeof callback === 'function') { return callback(error) } return Promise.reject(error) } ) } /** * 查询某个实例下的网站类规则 * @param {Object} opts - parameters * @param {string} opts.instanceId - 高防实例 Id * @param {integer} [opts.pageNumber] - 页码, 默认为1 optional * @param {integer} [opts.pageSize] - 分页大小, 默认为10, 取值范围[10, 100] optional * @param {string} [opts.searchType] - 查询类型名称, domain:源站域名, ip:源站 IP, rawDomain: 域名, serviceIp: 高防IP(仅支持BGP线路的实例) optional * @param {string} [opts.searchValue] - 查询类型值 optional * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param webRule dataList * @param integer currentCount 当前页数量 * @param integer totalCount 总数 * @param integer totalPage 总页数 */ describeWebRules (opts, regionId = this.config.regionId, callback) { if (typeof regionId === 'function') { callback = regionId regionId = this.config.regionId } if (regionId === undefined || regionId === null) { throw new Error( "Missing the required parameter 'regionId' when calling describeWebRules" ) } opts = opts || {} if (opts.instanceId === undefined || opts.instanceId === null) { throw new Error( "Missing the required parameter 'opts.instanceId' when calling describeWebRules" ) } let postBody = null let queryParams = {} if (opts.pageNumber !== undefined && opts.pageNumber !== null) { queryParams['pageNumber'] = opts.pageNumber } if (opts.pageSize !== undefined && opts.pageSize !== null) { queryParams['pageSize'] = opts.pageSize } if (opts.searchType !== undefined && opts.searchType !== null) { queryParams['searchType'] = opts.searchType } if (opts.searchValue !== undefined && opts.searchValue !== null) { queryParams['searchValue'] = opts.searchValue } let pathParams = { regionId: regionId, instanceId: opts.instanceId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 ipanti/1.12.0' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call describeWebRules with params:\npathParams:${JSON.stringify( pathParams )},\nqueryParams:${JSON.stringify( queryParams )}, \nheaderParams:${JSON.stringify( headerParams )}, \nformParams:${JSON.stringify( formParams )}, \npostBody:${JSON.stringify(postBody)}`, 'DEBUG' ) let request = super.makeRequest( '/regions/{regionId}/instances/{instanceId}/webRules', 'GET', pathParams, queryParams, headerParams, formParams, postBody, contentTypes, accepts, returnType, callback ) return request.then( function (result) { if (callback && typeof callback === 'function') { return callback(null, result) } return result }, function (error) { if (callback && typeof callback === 'function') { return callback(error) } return Promise.reject(error) } ) } /** * 添加网站类规则 * @param {Object} opts - parameters * @param {string} opts.instanceId - 高防实例 Id * @param {webRuleSpec} opts.webRuleSpec - 添加网站类规则请求参数 * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param integer code 0: 添加失败, 1: 添加成功 * @param string message 添加失败时给出具体原因 */ createWebRule (opts, regionId = this.config.regionId, callback) { if (typeof regionId === 'function') { callback = regionId regionId = this.config.regionId } if (regionId === undefined || regionId === null) { throw new Error( "Missing the required parameter 'regionId' when calling createWebRule" ) } opts = opts || {} if (opts.instanceId === undefined || opts.instanceId === null) { throw new Error( "Missing the required parameter 'opts.instanceId' when calling createWebRule" ) } if (opts.webRuleSpec === undefined || opts.webRuleSpec === null) { throw new Error( "Missing the required parameter 'opts.webRuleSpec' when calling createWebRule" ) } let postBody = {} if (opts.webRuleSpec !== undefined && opts.webRuleSpec !== null) { postBody['webRuleSpec'] = opts.webRuleSpec } let queryParams = {} let pathParams = { regionId: regionId, instanceId: opts.instanceId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 ipanti/1.12.0' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call createWebRule with params:\npathParams:${JSON.stringify( pathParams )},\nqueryParams:${JSON.stringify( queryParams )}, \nheaderParams:${JSON.stringify( headerParams )}, \nformParams:${JSON.stringify( formParams )}, \npostBody:${JSON.stringify(postBody)}`, 'DEBUG' ) let request = super.makeRequest( '/regions/{regionId}/instances/{instanceId}/webRules', 'POST', pathParams, queryParams, headerParams, formParams, postBody, contentTypes, accepts, returnType, callback ) return request.then( function (result) { if (callback && typeof callback === 'function') { return callback(null, result) } return result }, function (error) { if (callback && typeof callback === 'function') { return callback(error) } return Promise.reject(error) } ) } /** * 批量添加网站类规则 * @param {Object} opts - parameters * @param {string} opts.instanceId - 高防实例 Id * @param {array} opts.webRuleSpecList - 批量添加网站类规则请求参数 * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param string webRuleIdIds * @param failedDomain failedDomains */ createWebRules (opts, regionId = this.config.regionId, callback) { if (typeof regionId === 'function') { callback = regionId regionId = this.config.regionId } if (regionId === undefined || regionId === null) { throw new Error( "Missing the required parameter 'regionId' when calling createWebRules" ) } opts = opts || {} if (opts.instanceId === undefined || opts.instanceId === null) { throw new Error( "Missing the required parameter 'opts.instanceId' when calling createWebRules" ) } if (opts.webRuleSpecList === undefined || opts.webRuleSpecList === null) { throw new Error( "Missing the required parameter 'opts.webRuleSpecList' when calling createWebRules" ) } let postBody = {} if (opts.webRuleSpecList !== undefined && opts.webRuleSpecList !== null) { postBody['webRuleSpecList'] = opts.webRuleSpecList } let queryParams = {} let pathParams = { regionId: regionId, instanceId: opts.instanceId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 ipanti/1.12.0' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call createWebRules with params:\npathParams:${JSON.stringify( pathParams )},\nqueryParams:${JSON.stringify( queryParams )}, \nheaderParams:${JSON.stringify( headerParams )}, \nformParams:${JSON.stringify( formParams )}, \npostBody:${JSON.stringify(postBody)}`, 'DEBUG' ) let request = super.makeRequest( '/regions/{regionId}/instances/{instanceId}:createWebRules', 'POST', pathParams, queryParams, headerParams, formParams, postBody, contentTypes, accepts, returnType, callback ) return request.then( function (result) { if (callback && typeof callback === 'function') { return callback(null, result) } return result }, function (error) { if (callback && typeof callback === 'function') { return callback(error) } return Promise.reject(error) } ) } /** * 查询网站类规则 * @param {Object} opts - parameters * @param {string} opts.instanceId - 高防实例 Id * @param {string} opts.webRuleId - 网站规则 Id * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param webRule data */ describeWebRule (opts, regionId = this.config.regionId, callback) { if (typeof regionId === 'function') { callback = regionId regionId = this.config.regionId } if (regionId === undefined || regionId === null) { throw new Error( "Missing the required parameter 'regionId' when calling describeWebRule" ) } opts = opts || {} if (opts.instanceId === undefined || opts.instanceId === null) { throw new Error( "Missing the required parameter 'opts.instanceId' when calling describeWebRule" ) } if (opts.webRuleId === undefined || opts.webRuleId === null) { throw new Error( "Missing the required parameter 'opts.webRuleId' when calling describeWebRule" ) } let postBody = null let queryParams = {} let pathParams = { regionId: regionId, instanceId: opts.instanceId, webRuleId: opts.webRuleId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 ipanti/1.12.0' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call describeWebRule with params:\npathParams:${JSON.stringify( pathParams )},\nqueryParams:${JSON.stringify( queryParams )}, \nheaderParams:${JSON.stringify( headerParams )}, \nformParams:${JSON.stringify( formParams )}, \npostBody:${JSON.stringify(postBody)}`, 'DEBUG' ) let request = super.makeRequest( '/regions/{regionId}/instances/{instanceId}/webRules/{webRuleId}', 'GET', pathParams, queryParams, headerParams, formParams, postBody, contentTypes, accepts, returnType, callback ) return request.then( function (result) { if (callback && typeof callback === 'function') { return callback(null, result) } return result }, function (error) { if (callback && typeof callback === 'function') { return callback(error) } return Promise.reject(error) } ) } /** * 修改网站类规则 * @param {Object} opts - parameters * @param {string} opts.instanceId - 高防实例 Id * @param {string} opts.webRuleId - 网站规则 Id * @param {webRuleSpec} opts.webRuleSpec - 更新网站类规则请求参数 * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param integer code 修改网站类规则结果, 0: 修改失败, 1: 修改成功 * @param string message 修改失败时给出具体原因 */ modifyWebRule (opts, regionId = this.config.regionId, callback) { if (typeof regionId === 'function') { callback = regionId regionId = this.config.regionId } if (regionId === undefined || regionId === null) { throw new Error( "Missing the required parameter 'regionId' when calling modifyWebRule" ) } opts = opts || {} if (opts.instanceId === undefined || opts.instanceId === null) { throw new Error( "Missing the required parameter 'opts.instanceId' when calling modifyWebRule" ) } if (opts.webRuleId === undefined || opts.webRuleId === null) { throw new Error( "Missing the required parameter 'opts.webRuleId' when calling modifyWebRule" ) } if (opts.webRuleSpec === undefined || opts.webRuleSpec === null) { throw new Error( "Missing the required parameter 'opts.webRuleSpec' when calling modifyWebRule" ) } let postBody = {} if (opts.webRuleSpec !== undefined && opts.webRuleSpec !== null) { postBody['webRuleSpec'] = opts.webRuleSpec } let queryParams = {} let pathParams = { regionId: regionId, instanceId: opts.instanceId, webRuleId: opts.webRuleId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 ipanti/1.12.0' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call modifyWebRule with params:\npathParams:${JSON.stringify( pathParams )},\nqueryParams:${JSON.stringify( queryParams )}, \nheaderParams:${JSON.stringify( headerParams )}, \nformParams:${JSON.stringify( formParams )}, \npostBody:${JSON.stringify(postBody)}`, 'DEBUG' ) let request = super.makeRequest( '/regions/{regionId}/instances/{instanceId}/webRules/{webRuleId}', 'PATCH', pathParams, queryParams, headerParams, formParams, postBody, contentTypes, accepts, returnType, callback ) return request.then( function (result) { if (callback && typeof callback === 'function') { return callback(null, result) } return result }, function (error) { if (callback && typeof callback === 'function') { return callback(error) } return Promise.reject(error) } ) } /** * 删除网站规则。支持批量操作, 批量操作时 webRuleId 传多个, 以 ',' 分隔, 返回 result.code 为 1 表示操作成功, 为 0 时可能全部失败, 也可能部分失败 * @param {Object} opts - parameters * @param {string} opts.instanceId - 高防实例 Id * @param {string} opts.webRuleId - 网站规则 Id * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param integer code 删除网站类规则结果, 0: 删除失败, 1: 删除成功 * @param string message 删除失败时给出具体原因 */ deleteWebRule (opts, regionId = this.config.regionId, callback) { if (typeof regionId === 'function') { callback = regionId regionId = this.config.regionId } if (regionId === undefined || regionId === null) { throw new Error( "Missing the required parameter 'regionId' when calling deleteWebRule" ) } opts = opts || {} if (opts.instanceId === undefined || opts.instanceId === null) { throw new Error( "Missing the required parameter 'opts.instanceId' when calling deleteWebRule" ) } if (opts.webRuleId === undefined || opts.webRuleId === null) { throw new Error( "Missing the required parameter 'opts.webRuleId' when calling deleteWebRule" ) } let postBody = null let queryParams = {} let pathParams = { regionId: regionId, instanceId: opts.instanceId, webRuleId: opts.webRuleId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 ipanti/1.12.0' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call deleteWebRule with params:\npathParams:${JSON.stringify( pathParams )},\nqueryParams:${JSON.stringify( queryParams )}, \nheaderParams:${JSON.stringify( headerParams )}, \nformParams:${JSON.stringify( formParams )}, \npostBody:${JSON.stringify(postBody)}`, 'DEBUG' ) let request = super.makeRequest( '/regions/{regionId}/instances/{instanceId}/webRules/{webRuleId}', 'DELETE', pathParams, queryParams, headerParams, formParams, postBody, contentTypes, accepts, returnType, callback ) return request.then( function (result) { if (callback && typeof callback === 'function') { return callback(null, result) } return result }, function (error) { if (callback && typeof callback === 'function') { return callback(error) } return Promise.reject(error) } ) } /** * 网站类规则绑定 SSL 证书 * @param {Object} opts - parameters * @param {string} opts.instanceId - 高防实例 Id * @param {string} opts.webRuleId - 网站规则 Id * @param {string} opts.certId - 证书 Id. 使用 <a href='https://docs.jdcloud.com/cn/ssl-certificate/api/describecerts'>describeCerts</a> 接口, 按照域名检索可绑定的证书, 域名不匹配将导致证书配置失败 * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param integer code 0: 绑定失败, 1: 绑定成功 * @param string message 绑定失败时给出具体原因 */ bindCert (opts, regionId = this.config.regionId, callback) { if (typeof regionId === 'function') { callback = regionId regionId = this.config.regionId } if (regionId === undefined || regionId === null) { throw new Error( "Missing the required parameter 'regionId' when calling bindCert" ) } opts = opts || {} if (opts.instanceId === undefined || opts.instanceId === null) { throw new Error( "Missing the required parameter 'opts.instanceId' when calling bindCert" ) } if (opts.webRuleId === undefined || opts.webRuleId === null) { throw new Error( "Missing the required parameter 'opts.webRuleId' when calling bindCert" ) } if (opts.certId === undefined || opts.certId === null) { throw new Error( "Missing the required parameter 'opts.certId' when calling bindCert" ) } let postBody = {} if (opts.certId !== undefined && opts.certId !== null) { postBody['certId'] = opts.certId } let queryParams = {} let pathParams = { regionId: regionId, instanceId: opts.instanceId, webRuleId: opts.webRuleId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 ipanti/1.12.0' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call bindCert with params:\npathParams:${JSON.stringify( pathParams )},\nqueryParams:${JSON.stringify( queryParams )}, \nheaderParams:${JSON.stringify( headerParams )}, \nformParams:${JSON.stringify( formParams )}, \npostBody:${JSON.stringify(postBody)}`, 'DEBUG' ) let request = super.makeRequest( '/regions/{regionId}/instances/{instanceId}/webRules/{webRuleId}:bindCert', 'POST', pathParams, queryParams, headerParams, formParams, postBody, contentTypes, accepts, returnType, callback ) return request.then( function (result) { if (callback && typeof callback === 'function') { return callback(null, result) } return result }, function (error) { if (callback && typeof callback === 'function') { return callback(error) } return Promise.reject(error) } ) } /** * 网站类规则切换成防御状态。支持批量操作, 批量操作时 webRuleId 传多个, 以 ',' 分隔, 返回 result.code 为 1 表示操作成功, 为 0 时可能全部失败, 也可能部分失败 * @param {Object} opts - parameters * @param {string} opts.instanceId - 高防实例 Id * @param {string} opts.webRuleId - 网站规则 Id * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param integer code 0: 规则切换成防御失败, 1: 规则切换成防御成功 * @param string message 规则切换成防御失败时给出具体原因 */ switchWebRuleProtect (opts, regionId = this.config.regionId, callback) { if (typeof regionId === 'function') { callback = regionId regionId = this.config.regionId } if (regionId === undefined || regionId === null) { throw new Error( "Missing the required parameter 'regionId' when calling switchWebRuleProtect" ) } opts = opts || {} if (opts.instanceId === undefined || opts.instanceId === null) { throw new Error( "Missing the required parameter 'opts.instanceId' when calling switchWebRuleProtect" ) } if (opts.webRuleId === undefined || opts.webRuleId === null) { throw new Error( "Missing the required parameter 'opts.webRuleId' when calling switchWebRuleProtect" ) } let postBody = {} let queryParams = {} let pathParams = { regionId: regionId, instanceId: opts.instanceId, webRuleId: opts.webRuleId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 ipanti/1.12.0' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call switchWebRuleProtect with params:\npathParams:${JSON.stringify( pathParams )},\nqueryParams:${JSON.stringify( queryParams )}, \nheaderParams:${JSON.stringify( headerParams )}, \nformParams:${JSON.stringify( formParams )}, \npostBody:${JSON.stringify(postBody)}`, 'DEBUG' ) let request = super.makeRequest( '/regions/{regionId}/instances/{instanceId}/webRules/{webRuleId}:protect', 'POST', pathParams, queryParams, headerParams, formParams, postBody, contentTypes, accepts, returnType, callback ) return request.then( function (result) { if (callback && typeof callback === 'function') { return callback(null, result) } return result }, function (error) { if (callback && typeof callback === 'function') { return callback(error) } return Promise.reject(error) } ) } /** * 网站类规则切换成回源状态。支持批量操作, 批量操作时 webRuleId 传多个, 以 ',' 分隔, 返回 result.code 为 1 表示操作成功, 为 0 时可能全部失败, 也可能部分失败 * @param {Object} opts - parameters * @param {string} opts.instanceId - 高防实例 Id * @param {string} opts.webRuleId - 网站规则 Id * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param integer code 0: 规则切换成回源失败, 1: 规则切换成回源成功 * @param string message 规则切换成回源失败时给出具体原因 */ switchWebRuleOrigin (opts, regionId = this.config.regionId, callback) { if (typeof regionId === 'function') { callback = regionId regionId = this.config.regionId } if (regionId === undefined || regionId === null) { throw new Error( "Missing the required parameter 'regionId' when calling switchWebRuleOrigin" ) } opts = opts || {} if (opts.instanceId === undefined || opts.instanceId === null) { throw new Error( "Missing the required parameter 'opts.instanceId' when calling switchWebRuleOrigin" ) } if (opts.webRuleId === undefined || opts.webRuleId === null) { throw new Error( "Missing the required parameter 'opts.webRuleId' when calling switchWebRuleOrigin" ) } let postBody = {} let queryParams = {} let pathParams = { regionId: regionId, instanceId: opts.instanceId, webRuleId: opts.webRuleId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 ipanti/1.12.0' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call switchWebRuleOrigin with params:\npathParams:${JSON.stringify( pathParams )},\nqueryParams:${JSON.stringify( queryParams )}, \nheaderParams:${JSON.stringify( headerParams )}, \nformParams:${JSON.stringify( formParams )}, \npostBody:${JSON.stringify(postBody)}`, 'DEBUG' ) let request = super.makeRequest( '/regions/{regionId}/instances/{instanceId}/webRules/{webRuleId}:origin', 'POST', pathParams, queryParams, headerParams, formParams, postBody, contentTypes, accepts, returnType, callback ) return request.then( function (result) { if (callback && typeof callback === 'function') { return callback(null, result) } return result }, function (error) { if (callback && typeof callback === 'function') { return callback(error) } return Promise.reject(error) } ) } /** * 网站类规则开启 CC 防护, 开启后网站类规则已配置的防护规则和 CC 防护配置生效, 若没有配置过 CC 防护, 默认的 CC 防护配置生效。支持批量操作, 批量操作时 webRuleId 传多个, 以 ',' 分隔, 返回 result.code 为 1 表示操作成功, 为 0 时可能全部失败, 也可能部分失败 * @param {Object} opts - parameters * @param {string} opts.instanceId - 高防实例 Id * @param {string} opts.webRuleId - 网站规则 Id * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param integer code 0: 开启 CC 失败, 1: 开启 CC 成功 * @param string message 开启 CC 失败时给出具体原因 */ enableWebRuleCC (opts, regionId = this.config.regionId, callback) { if (typeof regionId === 'function') { callback = regionId regionId = this.config.regionId } if (regionId === undefined || regionId === null) { throw new Error( "Missing the required parameter 'regionId' when calling enableWebRuleCC" ) } opts = opts || {} if (opts.instanceId === undefined || opts.instanceId === null) { throw new Error( "Missing the required parameter 'opts.instanceId' when calling enableWebRuleCC" ) } if (opts.webRuleId === undefined || opts.webRuleId === null) { throw new Error( "Missing the required parameter 'opts.webRuleId' when calling enableWebRuleCC" ) } let postBody = {} let queryParams = {} let pathParams = { regionId: regionId, instanceId: opts.instanceId, webRuleId: opts.webRuleId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 ipanti/1.12.0' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call enableWebRuleCC with params:\npathParams:${JSON.stringify( pathParams )},\nqueryParams:${JSON.stringify( queryParams )}, \nheaderParams:${JSON.stringify( headerParams )}, \nformParams:${JSON.stringify( formParams )}, \npostBody:${JSON.stringify(postBody)}`, 'DEBUG' ) let request = super.makeRequest( '/regions/{regionId}/instances/{instanceId}/webRules/{webRuleId}:enableCC', 'POST', pathParams, queryParams, headerParams, formParams, postBody, contentTypes, accepts, returnType, callback ) return request.then( function (result) { if (callback && typeof callback === 'function') { return callback(null, result) } return result }, function (error) { if (callback && typeof callback === 'function') { return callback(error) } return Promise.reject(error) } ) } /** * 关闭网站类规则 CC 防护, 网站类规则的 CC 防护规则和 CC 防护配置失效。支持批量操作, 批量操作时 webRuleId 传多个, 以 ',' 分隔, 返回 result.code 为 1 表示操作成功, 为 0 时可能全部失败, 也可能部分失败 * @param {Object} opts - parameters * @param {string} opts.instanceId - 高防实例 Id * @param {string} opts.webRuleId - 网站规则 Id * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param integer code 0: 禁用 CC 失败, 1: 禁用 CC 成功 * @param string message 禁用 CC 失败时给出具体原因 */ disableWebRuleCC (opts, regionId = this.config.regionId, callback) { if (typeof regionId === 'function') { callback = regionId regionId = this.config.regionId } if (regionId === undefined || regionId === null) { throw new Error( "Missing the required parameter 'regionId' when calling disableWebRuleCC" ) } opts = opts || {} if (opts.instanceId === undefined || opts.instanceId === null) { throw new Error( "Missing the required parameter 'opts.instanceId' when calling disableWebRuleCC" ) } if (opts.webRuleId === undefined || opts.webRuleId === null) { throw new Error( "Missing the required parameter 'opts.webRuleId' when calling disableWebRuleCC" ) } let postBody = {} let queryParams = {} let pathParams = { regionId: regionId, instanceId: opts.instanceId, webRuleId: opts.webRuleId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 ipanti/1.12.0' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call disableWebRuleCC with params:\npathParams:${JSON.stringify( pathParams )},\nqueryParams:${JSON.stringify( queryParams )}, \nheaderParams:${JSON.stringify( headerParams )}, \nformParams:${JSON.stringify( formParams )}, \npostBody:${JSON.stringify(postBody)}`, 'DEBUG' ) let request = super.makeRequest( '/regions/{regionId}/instances/{instanceId}/webRules/{webRuleId}:disableCC', 'POST', pathParams, queryParams, headerParams, formParams, postBody, contentTypes, accepts, returnType, callback ) return request.then( function (result) { if (callback && typeof callback === 'function') { return callback(null, result) } return result }, function (error) { if (callback && typeof callback === 'function') { return callback(error) } return Promise.reject(error) } ) } /** * 开启网站类规则 CC 观察者模式, 观察模式下, CC 防护只告警不防御。支持批量操作, 批量操作时 webRuleId 传多个, 以 ',' 分隔, 返回 result.code 为 1 表示操作成功, 为 0 时可能全部失败, 也可能部分失败 * @param {Object} opts - parameters * @param {string} opts.instanceId - 高防实例 Id * @param {string} opts.webRuleId - 网站规则 Id * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param integer code 0: 开启 CC 观察者模式失败, 1: 开启 CC 观察者模式成功 * @param string message 开启 CC 观察者模式失败时给出具体原因 */ enableWebRuleCCObserverMode (opts, regionId = this.config.regionId, callback) { if (typeof regionId === 'function') { callback = regionId regionId = this.config.regionId } if (regionId === undefined || regionId === null) { throw new Error( "Missing the required parameter 'regionId' when calling enableWebRuleCCObserverMode" ) } opts = opts || {} if (opts.instanceId === undefined || opts.instanceId === null) { throw new Error( "Missing the required parameter 'opts.instanceId' when calling enableWebRuleCCObserverMode" ) } if (opts.webRuleId === undefined || opts.webRuleId === null) { throw new Error( "Missing the required parameter 'opts.webRuleId' when calling enableWebRuleCCObserverMode" ) } let postBody = {} let queryParams = {} let pathParams = { regionId: regionId, instanceId: opts.instanceId, webRuleId: opts.webRuleId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 ipanti/1.12.0' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call enableWebRuleCCObserverMode with params:\npathParams:${JSON.stringify( pathParams )},\nqueryParams:${JSON.stringify( queryParams )}, \nheaderParams:${JSON.stringify( headerParams )}, \nformParams:${JSON.stringify( formParams )}, \npostBody:${JSON.stringify(postBody)}`, 'DEBUG' ) let request = super.makeRequest( '/regions/{regionId}/instances/{instanceId}/webRules/{webRuleId}:enableCCObserverMode', 'POST', pathParams, queryParams, headerParams, formParams, postBody, contentTypes, accepts, returnType, callback ) return request.then( function (result) { if (callback && typeof callback === 'function') { return callback(null, result) } return result }, function (error) { if (callback && typeof callback === 'function') { return callback(error) } return Promise.reject(error) } ) } /** * 关闭网站类规则 CC 观察者模式, 观察模式下, CC 防护只告警不防御。支持批量操作, 批量操作时 webRuleId 传多个, 以 ',' 分隔, 返回 result.code 为 1 表示操作成功, 为 0 时可能全部失败, 也可能部分失败 * @param {Object} opts - parameters * @param {string} opts.instanceId - 高防实例 Id * @param {string} opts.webRuleId - 网站规则 Id * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param integer code 0: 关闭 CC 观察者模式失败, 1: 关闭 CC 观察者模式成功 * @param string message 关闭 CC 观察者模式失败时给出具体原因 */ disableWebRuleCCObserverMode ( opts, regionId = this.config.regionId, callback ) { if (typeof regionId === 'function') { callback = regionId regionId = this.config.regionId } if (regionId === undefined || regionId === null) { throw new Error( "Missing the required parameter 'regionId' when calling disableWebRuleCCObserverMode" ) } opts = opts || {} if (opts.instanceId === undefined || opts.instanceId === null) { throw new Error( "Missing the required parameter 'opts.instanceId' when calling disableWebRuleCCObserverMode" ) } if (opts.webRuleId === undefined || opts.webRuleId === null) { throw new Error( "Missing the required parameter 'opts.webRuleId' when calling disableWebRuleCCObserverMode" ) } let postBody = {} let queryParams = {} let pathParams = { regionId: regionId, instanceId: opts.instanceId, webRuleId: opts.webRuleId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 ipanti/1.12.0' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call disableWebRuleCCObserverMode with params:\npathParams:${JSON.stringify( pathParams )},\nqueryParams:${JSON.stringify( queryParams )}, \nheaderParams:${JSON.stringify( headerParams )}, \nformParams:${JSON.stringify( formParams )}, \npostBody:${JSON.stringify(postBody)}`, 'DEBUG' ) let request = super.makeRequest( '/regions/{regionId}/instances/{instanceId}/webRules/{webRuleId}:disableCCObserverMode', 'POST', pathParams, queryParams, headerParams, formParams, postBody, contentTypes, accepts, returnType, callback ) return request.then( function (result) { if (callback && typeof callback === 'function') { return callback(null, result) } return result }, function (error) { if (callback && typeof callback === 'function') { return callback(error) } return Promise.reject(error) } ) } /** * 查询网站类规则允许插入JS指纹的页面 * @param {Object} opts - parameters * @param {string} opts.instanceId - 高防实例 Id * @param {string} opts.webRuleId - 网站规则 Id * @param {integer} [opts.pageNumber] - 页码, 默认为1 optional * @param {integer} [opts.pageSize] - 分页大小, 默认为10, 取值范围[10, 100] optional * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param jsPage dataList * @param integer currentCount 当前页数量 * @param integer totalCount 总数 * @param integer totalPage 总页数 */ describeJsPagesOfWebRule (opts, regionId = this.config.regionId, callback) { if (typeof regionId === 'function') { callback = regionId regionId = this.config.regionId } if (regionId === undefined || regionId === null) { throw new Error( "Missing the required parameter 'regionId' when calling describeJsPagesOfWebRule" ) } opts = opts || {} if (opts.instanceId === undefined || opts.instanceId === null) { throw new Error( "Missing the required parameter 'opts.instanceId' when calling describeJsPagesOfWebRule" ) } if (opts.webRuleId === undefined || opts.webRuleId === null) { throw new Error( "Missing the required parameter 'opts.webRuleId' when calling describeJsPagesOfWebRule" ) } let postBody = null let queryParams = {} if (opts.pageNumber !== undefined && opts.pageNumber !== null) { queryParams['pageNumber'] = opts.pageNumber } if (opts.pageSize !== undefined && opts.pageSize !== null) { queryParams['pageSize'] = opts.pageSize } let pathParams = { regionId: regionId, instanceId: opts.instanceId, webRuleId: opts.webRuleId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 ipanti/1.12.0' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call describeJsPagesOfWebRule with params:\npathParams:${JSON.stringify( pathParams )},\nqueryParams:${JSON.stringify( queryParams )}, \nheaderParams:${JSON.stringify( headerParams )}, \nformParams:${JSON.stringify( formParams )}, \npostBody:${JSON.stringify(postBody)}`, 'DEBUG' ) let request = super.makeRequest( '/regions/{regionId}/instances/{instanceId}/webRules/{webRuleId}/jsPages', 'GET', pathParams, queryParams, headerParams, formParams, postBody, contentTypes, accepts, returnType, callback ) return request.then( function (result) { if (callback && typeof callback === 'function') { return callback(null, result) } return result }, function (error) { if (callback && typeof callback === 'function') { return callback(error) } return Promise.reject(error) } ) } /** * 添加网站类规则允许插入JS指纹的页面 * @param {Object} opts - parameters * @param {string} opts.instanceId - 高防实例 Id * @param {string} opts.webRuleId - 网站规则 Id * @param {jsPageSpec} opts.jsPageSpec - 添加 JS 指纹页面请求参数 * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param integer code 0: 添加失败, 1: 添加成功 * @param string message 添加失败时给出具体原因 */ createJsPageOfWebRule (opts, regionId = this.config.regionId, callback) { if (typeof regionId === 'function') { callback = regionId regionId = this.config.regionId } if (regionId === undefined || regionId === null) { throw new Error( "Missing the required parameter 'regionId' when calling createJsPageOfWebRule" ) } opts = opts || {} if (opts.instanceId === undefined || opts.instanceId === null) { throw new Error( "Missing the required parameter 'opts.instanceId' when calling createJsPageOfWebRule" ) } if (opts.webRuleId === undefined || opts.webRuleId === null) { throw new Error( "Missing the required parameter 'opts.webRuleId' when calling createJsPageOfWebRule" ) } if (opts.jsPageSpec === undefined || opts.jsPageSpec === null) { throw new Error( "Missing the required parameter 'opts.jsPageSpec' when calling createJsPageOfWebRule" ) } let postBody = {} if (opts.jsPageSpec !== undefined && opts.jsPageSpec !== null) { postBody['jsPageSpec'] = opts.jsPageSpec } let queryParams = {} let pathParams = { regionId: regionId, instanceId: opts.instanceId, webRuleId: opts.webRuleId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 ipanti/1.12.0' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call createJsPageOfWebRule with params:\npathParams:${JSON.stringify( pathParams )},\nqueryParams:${JSON.stringify( queryParams )}, \nheaderParams:${JSON.stringify( headerParams )}, \nformParams:${JSON.stringify( formParams )}, \npostBody:${JSON.stringify(postBody)}`, 'DEBUG' ) let request = super.makeRequest( '/regions/{regionId}/instances/{instanceId}/webRules/{webRuleId}/jsPages', 'POST', pathParams, queryParams, headerParams, formParams, postBody, contentTypes, accepts, returnType, callback ) return request.then( function (result) { if (callback && typeof callback === 'function') { return callback(null, result) } return result }, function (error) { if (callback && typeof callback === 'function') { return callback(error) } return Promise.reject(error) } ) } /** * 批量添加网站类规则允许插入JS指纹的页面 * @param {Object} opts - parameters * @param {string} opts.instanceId - 高防实例 Id * @param {string} opts.webRuleId - 网站规则 Id * @param {jsPagesSpec} opts.jsPagesSpec - 添加 JS 指纹页面请求参数 * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param integer code 0: 添加失败, 1: 添加成功 * @param string message 添加失败时给出具体原因 */ createJsPagesOfWebRule (opts, regionId = this.config.regionId, callback) { if (typeof regionId === 'function') { callback = regionId regionId = this.config.regionId } if (regionId === undefined || regionId === null) { throw new Error( "Missing the required parameter 'regionId' when calling createJsPagesOfWebRule" ) } opts = opts || {} if (opts.instanceId === undefined || opts.instanceId === null) { throw new Error( "Missing the required parameter 'opts.instanceId' when calling createJsPagesOfWebRule" ) } if (opts.webRuleId === undefined || opts.webRuleId === null) { throw new Error( "Missing the required parameter 'opts.webRuleId' when calling createJsPagesOfWebRule" ) } if (opts.jsPagesSpec === undefined || opts.jsPagesSpec === null) { throw new Error( "Missing the required parameter 'opts.jsPagesSpec' when calling createJsPagesOfWebRule" ) } let postBody = {} if (opts.jsPagesSpec !== undefined && opts.jsPagesSpec !== null) { postBody['jsPagesSpec'] = opts.jsPagesSpec } let queryParams = {} let pathParams = { regionId: regionId, instanceId: opts.instanceId, webRuleId: opts.webRuleId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 ipanti/1.12.0' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call createJsPagesOfWebRule with params:\npathParams:${JSON.stringify( pathParams )},\nqueryParams:${JSON.stringify( queryParams )}, \nheaderParams:${JSON.stringify( headerParams )}, \nformParams:${JSON.stringify( formParams )}, \npostBody:${JSON.stringify(postBody)}`, 'DEBUG' ) let request = super.makeRequest( '/regions/{regionId}/instances/{instanceId}/webRules/{webRuleId}:createJsPagesOfWebRule', 'POST', pathParams, queryParams, headerParams, formParams, postBody, contentTypes, accepts, returnType, callback ) return request.then( function (result) { if (callback && typeof callback === 'function') { return callback(null, result) } return result }, function (error) { if (callback && typeof callback === 'function') { return callback(error) } return Promise.reject(error) } ) } /** * 修改网站类规则允许插入 JS 指纹的页面 * @param {Object} opts - parameters * @param {string} opts.instanceId - 高防实例 Id * @param {string} opts.webRuleId - 网站规则 Id * @param {string} opts.jsPageId - 支持插入JS指纹的页面 Id * @param {jsPageSpec} opts.jsPageSpec - 修改网站类规则允许插入 JS 指纹的页面请求参数 * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param integer code 0: 修改失败, 1: 修改成功 * @param string message 修改失败时给出具体原因 */ modifyJsPageOfWebRule (opts, regionId = this.config.regionId, callback) { if (typeof regionId === 'function') { callback = regionId regionId = this.config.regionId } if (regionId === undefined || regionId === null) { throw new Error( "Missing the required parameter 'regionId' when calling modifyJsPageOfWebRule" ) } opts = opts || {} if (opts.instanceId === undefined || opts.instanceId === null) { throw new Error( "Missing the required parameter 'opts.instanceId' when calling modifyJsPageOfWebRule" ) } if (opts.webRuleId === undefined || opts.webRuleId === null) { throw new Error( "Missing the required parameter 'opts.webRuleId' when calling modifyJsPageOfWebRule" ) } if (opts.jsPageId === undefined || opts.jsPageId === null) { throw new Error( "Missing the required parameter 'opts.jsPageId' when calling modifyJsPageOfWebRule" ) } if (opts.jsPageSpec === undefined || opts.jsPageSpec === null) { throw new Error( "Missing the required parameter 'opts.jsPageSpec' when calling modifyJsPageOfWebRule" ) } let postBody = {} if (opts.jsPageSpec !== undefined && opts.jsPageSpec !== null) { postBody['jsPageSpec'] = opts.jsPageSpec } let queryParams = {} let pathParams = { regionId: regionId, instanceId: opts.instanceId, webRuleId: opts.webRuleId, jsPageId: opts.jsPageId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 ipanti/1.12.0' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call modifyJsPageOfWebRule with params:\npathParams:${JSON.stringify( pathParams )},\nqueryParams:${JSON.stringify( queryParams )}, \nheaderParams:${JSON.stringify( headerParams )}, \nformParams:${JSON.stringify( formParams )}, \npostBody:${JSON.stringify(postBody)}`, 'DEBUG' ) let request = super.makeRequest( '/regions/{regionId}/instances/{instanceId}/webRules/{webRuleId}/jsPages/{jsPageId}', 'PATCH', pathParams, queryParams, headerParams, formParams, postBody, contentTypes, accepts, returnType, callback ) return request.then( function (result) { if (callback && typeof callback === 'function') { return callback(null, result) } return result }, function (error) { if (callback && typeof callback === 'function') { return callback(error) } return Promise.reject(error) } ) } /** * 删除网站类规则允许插入 JS 指纹的页面。支持批量操作, 批量操作时 jsPageId 传多个, 以 ',' 分隔 * @param {Object} opts - parameters * @param {string} opts.instanceId - 高防实例 Id * @param {string} opts.webRuleId - 网站规则 Id * @param {string} opts.jsPageId - 支持插入JS指纹的页面 Id * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param integer code 0: 删除失败, 1: 删除成功 * @param string message 删除失败时给出具体原因 */ deleteJsPageOfWebRule (opts, regionId = this.config.regionId, callback) { if (typeof regionId === 'function') { callback = regionId regionId = this.config.regionId } if (regionId === undefined || regionId === null) { throw new Error( "Missing the required parameter 'regionId' when calling deleteJsPageOfWebRule" ) } opts = opts || {} if (opts.instanceId === undefined || opts.instanceId === null) { throw new Error( "Missing the required parameter 'opts.instanceId' when calling deleteJsPageOfWebRule" ) } if (opts.webRuleId === undefined || opts.webRuleId === null) { throw new Error( "Missing the required parameter 'opts.webRuleId' when calling deleteJsPageOfWebRule" ) } if (opts.jsPageId === undefined || opts.jsPageId === null) { throw new Error( "Missing the required parameter 'opts.jsPageId' when calling deleteJsPageOfWebRule" ) } let postBody = null let queryParams = {} let pathParams = { regionId: regionId, instanceId: opts.instanceId, webRuleId: opts.webRuleId, jsPageId: opts.jsPageId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 ipanti/1.12.0' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call deleteJsPageOfWebRule with params:\npathParams:${JSON.stringify( pathParams )},\nqueryParams:${JSON.stringify( queryParams )}, \nheaderParams:${JSON.stringify( headerParams )}, \nformParams:${JSON.stringify( formParams )}, \npostBody:${JSON.stringify(postBody)}`, 'DEBUG' ) let request = super.makeRequest( '/regions/{regionId}/instances/{instanceId}/webRules/{webRuleId}/jsPages/{jsPageId}', 'DELETE', pathParams, queryParams, headerParams, formParams, postBody, contentTypes, accepts, returnType, callback ) return request.then( function (result) { if (callback && typeof callback === 'function') { return callback(null, result) } return result }, function (error) { if (callback && typeof callback === 'function') { return callback(error) } return Promise.reject(error) } ) } /** * 关闭网站类规则的JS指纹开关 * @param {Object} opts - parameters * @param {string} opts.instanceId - 高防实例 Id * @param {string} opts.webRuleId - 网站规则 Id * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param integer code 0: 关闭失败, 1: 关闭成功 * @param string message 关闭失败时给出具体原因 */ disableWebRuleJsPage (opts, regionId = this.config.regionId, callback) { if (typeof regionId === 'function') { callback = regionId regionId = this.config.regionId } if (regionId === undefined || regionId === null) { throw new Error( "Missing the required parameter 'regionId' when calling disableWebRuleJsPage" ) } opts = opts || {} if (opts.instanceId === undefined || opts.instanceId === null) { throw new Error( "Missing the required parameter 'opts.instanceId' when calling disableWebRuleJsPage" ) } if (opts.webRuleId === undefined || opts.webRuleId === null) { throw new Error( "Missing the required parameter 'opts.webRuleId' when calling disableWebRuleJsPage" ) } let postBody = {} let queryParams = {} let pathParams = { regionId: regionId, instanceId: opts.instanceId, webRuleId: opts.webRuleId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 ipanti/1.12.0' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call disableWebRuleJsPage with params:\npathParams:${JSON.stringify( pathParams )},\nqueryParams:${JSON.stringify( queryParams )}, \nheaderParams:${JSON.stringify( headerParams )}, \nformParams:${JSON.stringify( formParams )}, \npostBody:${JSON.stringify(postBody)}`, 'DEBUG' ) let request = super.makeRequest( '/regions/{regionId}/instances/{instanceId}/webRules/{webRuleId}:disableWebRuleJsPage', 'POST', pathParams, queryParams, headerParams, formParams, postBody, contentTypes, accepts, returnType, callback ) return request.then( function (result) { if (callback && typeof callback === 'function') { return callback(null, result) } return result }, function (error) { if (callback && typeof callback === 'function') { return callback(error) } return Promise.reject(error) } ) } /** * 打开网站类规则的JS指纹开关 * @param {Object} opts - parameters * @param {string} opts.instanceId - 高防实例 Id * @param {string} opts.webRuleId - 网站规则 Id * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param integer code 0: 打开失败, 1: 打开成功 * @param string message 打开失败时给出具体原因 */ enableWebRuleJsPage (opts, regionId = this.config.regionId, callback) { if (typeof regionId === 'function') { callback = regionId regionId = this.config.regionId } if (regionId === undefined || regionId === null) { throw new Error( "Missing the required parameter 'regionId' when calling enableWebRuleJsPage" ) } opts = opts || {} if (opts.instanceId === undefined || opts.instanceId === null) { throw new Error( "Missing the required parameter 'opts.instanceId' when calling enableWebRuleJsPage" ) } if (opts.webRuleId === undefined || opts.webRuleId === null) { throw new Error( "Missing the required parameter 'opts.webRuleId' when calling enableWebRuleJsPage" ) } let postBody = {} let queryParams = {} let pathParams = { regionId: regionId, instanceId: opts.instanceId, webRuleId: opts.webRuleId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 ipanti/1.12.0' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call enableWebRuleJsPage with params:\npathParams:${JSON.stringify( pathParams )},\nqueryParams:${JSON.stringify( queryParams )}, \nheaderParams:${JSON.stringify( headerParams )}, \nformParams:${JSON.stringify( formParams )}, \npostBody:${JSON.stringify(postBody)}`, 'DEBUG' ) let request = super.makeRequest( '/regions/{regionId}/instances/{instanceId}/webRules/{webRuleId}:enableWebRuleJsPage', 'POST', pathParams, queryParams, headerParams, formParams, postBody, contentTypes, accepts, returnType, callback ) return request.then( function (result) { if (callback && typeof callback === 'function') { return callback(null, result) } return result }, function (error) { if (callback && typeof callback === 'function') { return callback(error) } return Promise.reject(error) } ) } /** * 插入JS指纹到所有页面, 需要打开网站类规则的JS指纹开关 * @param {Object} opts - parameters * @param {string} opts.instanceId - 高防实例 Id * @param {string} opts.webRuleId - 网站规则 Id * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param integer code 0: 修改失败, 1: 修改成功 * @param string message 修改失败时给出具体原因 */ modifyWebRuleJsPageToAll (opts, regionId = this.config.regionId, callback) { if (typeof regionId === 'function') { callback = regionId regionId = this.config.regionId } if (regionId === undefined || regionId === null) { throw new Error( "Missing the required parameter 'regionId' when calling modifyWebRuleJsPageToAll" ) } opts = opts || {} if (opts.instanceId === undefined || opts.instanceId === null) { throw new Error( "Missing the required parameter 'opts.instanceId' when calling modifyWebRuleJsPageToAll" ) } if (opts.webRuleId === undefined || opts.webRuleId === null) { throw new Error( "Missing the required parameter 'opts.webRuleId' when calling modifyWebRuleJsPageToAll" ) } let postBody = {} let queryParams = {} let pathParams = { regionId: regionId, instanceId: opts.instanceId, webRuleId: opts.webRuleId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 ipanti/1.12.0' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call modifyWebRuleJsPageToAll with params:\npathParams:${JSON.stringify( pathParams )},\nqueryParams:${JSON.stringify( queryParams )}, \nheaderParams:${JSON.stringify( headerParams )}, \nformParams:${JSON.stringify( formParams )}, \npostBody:${JSON.stringify(postBody)}`, 'DEBUG' ) let request = super.makeRequest( '/regions/{regionId}/instances/{instanceId}/webRules/{webRuleId}:modifyWebRuleJsPageToAll', 'POST', pathParams, queryParams, headerParams, formParams, postBody, contentTypes, accepts, returnType, callback ) return request.then( function (result) { if (callback && typeof callback === 'function') { return callback(null, result) } return result }, function (error) { if (callback && typeof callback === 'function') { return callback(error) } return Promise.reject(error) } ) } /** * 插入JS指纹到配置的自定义页面, 需要打开网站类规则的JS指纹开关 * @param {Object} opts - parameters * @param {string} opts.instanceId - 高防实例 Id * @param {string} opts.webRuleId - 网站规则 Id * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param integer code 0: 修改失败, 1: 修改成功 * @param string message 修改失败时给出具体原因 */ modifyWebRuleJsPageToCustom (opts, regionId = this.config.regionId, callback) { if (typeof regionId === 'function') { callback = regionId regionId = this.config.regionId } if (regionId === undefined || regionId === null) { throw new Error( "Missing the required parameter 'regionId' when calling modifyWebRuleJsPageToCustom" ) } opts = opts || {} if (opts.instanceId === undefined || opts.instanceId === null) { throw new Error( "Missing the required parameter 'opts.instanceId' when calling modifyWebRuleJsPageToCustom" ) } if (opts.webRuleId === undefined || opts.webRuleId === null) { throw new Error( "Missing the required parameter 'opts.webRuleId' when calling modifyWebRuleJsPageToCustom" ) } let postBody = {} let queryParams = {} let pathParams = { regionId: regionId, instanceId: opts.instanceId, webRuleId: opts.webRuleId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 ipanti/1.12.0' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call modifyWebRuleJsPageToCustom with params:\npathParams:${JSON.stringify( pathParams )},\nqueryParams:${JSON.stringify( queryParams )}, \nheaderParams:${JSON.stringify( headerParams )}, \nformParams:${JSON.stringify( formParams )}, \npostBody:${JSON.stringify(postBody)}`, 'DEBUG' ) let request = super.makeRequest( '/regions/{regionId}/instances/{instanceId}/webRules/{webRuleId}:modifyWebRuleJsPageToCustom', 'POST', pathParams, queryParams, headerParams, formParams, postBody, contentTypes, accepts, returnType, callback ) return request.then( function (result) { if (callback && typeof callback === 'function') { return callback(null, result) } return result }, function (error) { if (callback && typeof callback === 'function') { return callback(error) } return Promise.reject(error) } ) } /** * 查询网站类规则的 CC 防护规则列表 * @param {Object} opts - parameters * @param {string} opts.instanceId - 高防实例 Id * @param {string} opts.webRuleId - 网站规则 Id * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param cCProtectionRule dataList * @param integer currentCount 当前页数量 * @param integer totalCount 总数 * @param integer totalPage 总页数 */ describeCCProtectionRulesOfWebRule ( opts, regionId = this.config.regionId, callback ) { if (typeof regionId === 'function') { callback = regionId regionId = this.config.regionId } if (regionId === undefined || regionId === null) { throw new Error( "Missing the required parameter 'regionId' when calling describeCCProtectionRulesOfWebRule" ) } opts = opts || {} if (opts.instanceId === undefined || opts.instanceId === null) { throw new Error( "Missing the required parameter 'opts.instanceId' when calling describeCCProtectionRulesOfWebRule" ) } if (opts.webRuleId === undefined || opts.webRuleId === null) { throw new Error( "Missing the required parameter 'opts.webRuleId' when calling describeCCProtectionRulesOfWebRule" ) } let postBody = null let queryParams = {} let pathParams = { regionId: regionId, instanceId: opts.instanceId, webRuleId: opts.webRuleId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 ipanti/1.12.0' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call describeCCProtectionRulesOfWebRule with params:\npathParams:${JSON.stringify( pathParams )},\nqueryParams:${JSON.stringify( queryParams )}, \nheaderParams:${JSON.stringify( headerParams )}, \nformParams:${JSON.stringify( formParams )}, \npostBody:${JSON.stringify(postBody)}`, 'DEBUG' ) let request = super.makeRequest( '/regions/{regionId}/instances/{instanceId}/webRules/{webRuleId}/ccProtectionRules', 'GET', pathParams, queryParams, headerParams, formParams, postBody, contentTypes, accepts, returnType, callback ) return request.then( function (result) { if (callback && typeof callback === 'function') { return callback(null, result) } return result }, function (error) { if (callback && typeof callback === 'function') { return callback(error) } return Promise.reject(error) } ) } /** * 添加网站类规则的 CC 防护规则 * @param {Object} opts - parameters * @param {string} opts.instanceId - 高防实例 Id * @param {string} opts.webRuleId - 网站规则 Id * @param {cCProtectionRuleSpec} opts.ccProtectionRuleSpec - 添加 CC 防护规则请求参数 * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param integer code 0: 添加失败, 1: 添加成功 * @param string message 添加失败时给出具体原因 */ createCCProtectionRuleOfWebRule ( opts, regionId = this.config.regionId, callback ) { if (typeof regionId === 'function') { callback = regionId regionId = this.config.regionId } if (regionId === undefined || regionId === null) { throw new Error( "Missing the required parameter 'regionId' when calling createCCProtectionRuleOfWebRule" ) } opts = opts || {} if (opts.instanceId === undefined || opts.instanceId === null) { throw new Error( "Missing the required parameter 'opts.instanceId' when calling createCCProtectionRuleOfWebRule" ) } if (opts.webRuleId === undefined || opts.webRuleId === null) { throw new Error( "Missing the required parameter 'opts.webRuleId' when calling createCCProtectionRuleOfWebRule" ) } if ( opts.ccProtectionRuleSpec === undefined || opts.ccProtectionRuleSpec === null ) { throw new Error( "Missing the required parameter 'opts.ccProtectionRuleSpec' when calling createCCProtectionRuleOfWebRule" ) } let postBody = {} if ( opts.ccProtectionRuleSpec !== undefined && opts.ccProtectionRuleSpec !== null ) { postBody['ccProtectionRuleSpec'] = opts.ccProtectionRuleSpec } let queryParams = {} let pathParams = { regionId: regionId, instanceId: opts.instanceId, webRuleId: opts.webRuleId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 ipanti/1.12.0' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call createCCProtectionRuleOfWebRule with params:\npathParams:${JSON.stringify( pathParams )},\nqueryParams:${JSON.stringify( queryParams )}, \nheaderParams:${JSON.stringify( headerParams )}, \nformParams:${JSON.stringify( formParams )}, \npostBody:${JSON.stringify(postBody)}`, 'DEBUG' ) let request = super.makeRequest( '/regions/{regionId}/instances/{instanceId}/webRules/{webRuleId}/ccProtectionRules', 'POST', pathParams, queryParams, headerParams, formParams, postBody, contentTypes, accepts, returnType, callback ) return request.then( function (result) { if (callback && typeof callback === 'function') { return callback(null, result) } return result }, function (error) { if (callback && typeof callback === 'function') { return callback(error) } return Promise.reject(error) } ) } /** * 查询网站类规则的 CC 防护规则 * @param {Object} opts - parameters * @param {string} opts.instanceId - 高防实例 Id * @param {string} opts.webRuleId - 网站规则 Id * @param {string} opts.ccProtectionRuleId - 网站类规则的 CC 防护规则 Id * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param cCProtectionRule data */ describeCCProtectionRuleOfWebRule ( opts, regionId = this.config.regionId, callback ) { if (typeof regionId === 'function') { callback = regionId regionId = this.config.regionId } if (regionId === undefined || regionId === null) { throw new Error( "Missing the required parameter 'regionId' when calling describeCCProtectionRuleOfWebRule" ) } opts = opts || {} if (opts.instanceId === undefined || opts.instanceId === null) { throw new Error( "Missing the required parameter 'opts.instanceId' when calling describeCCProtectionRuleOfWebRule" ) } if (opts.webRuleId === undefined || opts.webRuleId === null) { throw new Error( "Missing the required parameter 'opts.webRuleId' when calling describeCCProtectionRuleOfWebRule" ) } if ( opts.ccProtectionRuleId === undefined || opts.ccProtectionRuleId === null ) { throw new Error( "Missing the required parameter 'opts.ccProtectionRuleId' when calling describeCCProtectionRuleOfWebRule" ) } let postBody = null let queryParams = {} let pathParams = { regionId: regionId, instanceId: opts.instanceId, webRuleId: opts.webRuleId, ccProtectionRuleId: opts.ccProtectionRuleId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 ipanti/1.12.0' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call describeCCProtectionRuleOfWebRule with params:\npathParams:${JSON.stringify( pathParams )},\nqueryParams:${JSON.stringify( queryParams )}, \nheaderParams:${JSON.stringify( headerParams )}, \nformParams:${JSON.stringify( formParams )}, \npostBody:${JSON.stringify(postBody)}`, 'DEBUG' ) let request = super.makeRequest( '/regions/{regionId}/instances/{instanceId}/webRules/{webRuleId}/ccProtectionRules/{ccProtectionRuleId}', 'GET', pathParams, queryParams, headerParams, formParams, postBody, contentTypes, accepts, returnType, callback ) return request.then( function (result) { if (callback && typeof callback === 'function') { return callback(null, result) } return result }, function (error) { if (callback && typeof callback === 'function') { return callback(error) } return Promise.reject(error) } ) } /** * 修改网站类规则的 CC 防护规则 * @param {Object} opts - parameters * @param {string} opts.instanceId - 高防实例 Id * @param {string} opts.webRuleId - 网站规则 Id * @param {string} opts.ccProtectionRuleId - 网站类规则的 CC 防护规则 Id * @param {cCProtectionRuleSpec} opts.ccProtectionRuleSpec - 修改 CC 防护规则请求参数 * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param integer code 0: 修改失败, 1: 修改成功 * @param string message 修改失败时给出具体原因 */ modifyCCProtectionRuleOfWebRule ( opts, regionId = this.config.regionId, callback ) { if (typeof regionId === 'function') { callback = regionId regionId = this.config.regionId } if (regionId === undefined || regionId === null) { throw new Error( "Missing the required parameter 'regionId' when calling modifyCCProtectionRuleOfWebRule" ) } opts = opts || {} if (opts.instanceId === undefined || opts.instanceId === null) { throw new Error( "Missing the required parameter 'opts.instanceId' when calling modifyCCProtectionRuleOfWebRule" ) } if (opts.webRuleId === undefined || opts.webRuleId === null) { throw new Error( "Missing the required parameter 'opts.webRuleId' when calling modifyCCProtectionRuleOfWebRule" ) } if ( opts.ccProtectionRuleId === undefined || opts.ccProtectionRuleId === null ) { throw new Error( "Missing the required parameter 'opts.ccProtectionRuleId' when calling modifyCCProtectionRuleOfWebRule" ) } if ( opts.ccProtectionRuleSpec === undefined || opts.ccProtectionRuleSpec === null ) { throw new Error( "Missing the required parameter 'opts.ccProtectionRuleSpec' when calling modifyCCProtectionRuleOfWebRule" ) } let postBody = {} if ( opts.ccProtectionRuleSpec !== undefined && opts.ccProtectionRuleSpec !== null ) { postBody['ccProtectionRuleSpec'] = opts.ccProtectionRuleSpec } let queryParams = {} let pathParams = { regionId: regionId, instanceId: opts.instanceId, webRuleId: opts.webRuleId, ccProtectionRuleId: opts.ccProtectionRuleId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 ipanti/1.12.0' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call modifyCCProtectionRuleOfWebRule with params:\npathParams:${JSON.stringify( pathParams )},\nqueryParams:${JSON.stringify( queryParams )}, \nheaderParams:${JSON.stringify( headerParams )}, \nformParams:${JSON.stringify( formParams )}, \npostBody:${JSON.stringify(postBody)}`, 'DEBUG' ) let request = super.makeRequest( '/regions/{regionId}/instances/{instanceId}/webRules/{webRuleId}/ccProtectionRules/{ccProtectionRuleId}', 'PATCH', pathParams, queryParams, headerParams, formParams, postBody, contentTypes, accepts, returnType, callback ) return request.then( function (result) { if (callback && typeof callback === 'function') { return callback(null, result) } return result }, function (error) { if (callback && typeof callback === 'function') { return callback(error) } return Promise.reject(error) } ) } /** * 删除网站规则的 CC 防护规则 * @param {Object} opts - parameters * @param {string} opts.instanceId - 高防实例 Id * @param {string} opts.webRuleId - 网站规则 Id * @param {string} opts.ccProtectionRuleId - 网站类规则的 CC 防护规则 Id * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param integer code 0: 删除失败, 1: 删除成功 * @param string message 删除失败时给出具体原因 */ deleteCCProtectionRuleOfWebRule ( opts, regionId = this.config.regionId, callback ) { if (typeof regionId === 'function') { callback = regionId regionId = this.config.regionId } if (regionId === undefined || regionId === null) { throw new Error( "Missing the required parameter 'regionId' when calling deleteCCProtectionRuleOfWebRule" ) } opts = opts || {} if (opts.instanceId === undefined || opts.instanceId === null) { throw new Error( "Missing the required parameter 'opts.instanceId' when calling deleteCCProtectionRuleOfWebRule" ) } if (opts.webRuleId === undefined || opts.webRuleId === null) { throw new Error( "Missing the required parameter 'opts.webRuleId' when calling deleteCCProtectionRuleOfWebRule" ) } if ( opts.ccProtectionRuleId === undefined || opts.ccProtectionRuleId === null ) { throw new Error( "Missing the required parameter 'opts.ccProtectionRuleId' when calling deleteCCProtectionRuleOfWebRule" ) } let postBody = null let queryParams = {} let pathParams = { regionId: regionId, instanceId: opts.instanceId, webRuleId: opts.webRuleId, ccProtectionRuleId: opts.ccProtectionRuleId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 ipanti/1.12.0' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call deleteCCProtectionRuleOfWebRule with params:\npathParams:${JSON.stringify( pathParams )},\nqueryParams:${JSON.stringify( queryParams )}, \nheaderParams:${JSON.stringify( headerParams )}, \nformParams:${JSON.stringify( formParams )}, \npostBody:${JSON.stringify(postBody)}`, 'DEBUG' ) let request = super.makeRequest( '/regions/{regionId}/instances/{instanceId}/webRules/{webRuleId}/ccProtectionRules/{ccProtectionRuleId}', 'DELETE', pathParams, queryParams, headerParams, formParams, postBody, contentTypes, accepts, returnType, callback ) return request.then( function (result) { if (callback && typeof callback === 'function') { return callback(null, result) } return result }, function (error) { if (callback && typeof callback === 'function') { return callback(error) } return Promise.reject(error) } ) } /** * 开启网站类规则的 CC 防护规则 * @param {Object} opts - parameters * @param {string} opts.instanceId - 高防实例 Id * @param {string} opts.webRuleId - 网站规则 Id * @param {string} opts.ccProtectionRuleId - 网站类规则的 CC 防护规则 Id * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param integer code 0: 开启失败, 1: 开启成功 * @param string message 开启失败时给出具体原因 */ enableCCProtectionRuleOfWebRule ( opts, regionId = this.config.regionId, callback ) { if (typeof regionId === 'function') { callback = regionId regionId = this.config.regionId } if (regionId === undefined || regionId === null) { throw new Error( "Missing the required parameter 'regionId' when calling enableCCProtectionRuleOfWebRule" ) } opts = opts || {} if (opts.instanceId === undefined || opts.instanceId === null) { throw new Error( "Missing the required parameter 'opts.instanceId' when calling enableCCProtectionRuleOfWebRule" ) } if (opts.webRuleId === undefined || opts.webRuleId === null) { throw new Error( "Missing the required parameter 'opts.webRuleId' when calling enableCCProtectionRuleOfWebRule" ) } if ( opts.ccProtectionRuleId === undefined || opts.ccProtectionRuleId === null ) { throw new Error( "Missing the required parameter 'opts.ccProtectionRuleId' when calling enableCCProtectionRuleOfWebRule" ) } let postBody = {} let queryParams = {} let pathParams = { regionId: regionId, instanceId: opts.instanceId, webRuleId: opts.webRuleId, ccProtectionRuleId: opts.ccProtectionRuleId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 ipanti/1.12.0' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call enableCCProtectionRuleOfWebRule with params:\npathParams:${JSON.stringify( pathParams )},\nqueryParams:${JSON.stringify( queryParams )}, \nheaderParams:${JSON.stringify( headerParams )}, \nformParams:${JSON.stringify( formParams )}, \npostBody:${JSON.stringify(postBody)}`, 'DEBUG' ) let request = super.makeRequest( '/regions/{regionId}/instances/{instanceId}/webRules/{webRuleId}/ccProtectionRules/{ccProtectionRuleId}:enable', 'POST', pathParams, queryParams, headerParams, formParams, postBody, contentTypes, accepts, returnType, callback ) return request.then( function (result) { if (callback && typeof callback === 'function') { return callback(null, result) } return result }, function (error) { if (callback && typeof callback === 'function') { return callback(error) } return Promise.reject(error) } ) } /** * 关闭网站类规则的 CC 防护规则 * @param {Object} opts - parameters * @param {string} opts.instanceId - 高防实例 Id * @param {string} opts.webRuleId - 网站规则 Id * @param {string} opts.ccProtectionRuleId - 网站类规则的 CC 防护规则 Id * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param integer code 0: 关闭失败, 1: 关闭成功 * @param string message 关闭失败时给出具体原因 */ disableCCProtectionRuleOfWebRule ( opts, regionId = this.config.regionId, callback ) { if (typeof regionId === 'function') { callback = regionId regionId = this.config.regionId } if (regionId === undefined || regionId === null) { throw new Error( "Missing the required parameter 'regionId' when calling disableCCProtectionRuleOfWebRule" ) } opts = opts || {} if (opts.instanceId === undefined || opts.instanceId === null) { throw new Error( "Missing the required parameter 'opts.instanceId' when calling disableCCProtectionRuleOfWebRule" ) } if (opts.webRuleId === undefined || opts.webRuleId === null) { throw new Error( "Missing the required parameter 'opts.webRuleId' when calling disableCCProtectionRuleOfWebRule" ) } if ( opts.ccProtectionRuleId === undefined || opts.ccProtectionRuleId === null ) { throw new Error( "Missing the required parameter 'opts.ccProtectionRuleId' when calling disableCCProtectionRuleOfWebRule" ) } let postBody = {} let queryParams = {} let pathParams = { regionId: regionId, instanceId: opts.instanceId, webRuleId: opts.webRuleId, ccProtectionRuleId: opts.ccProtectionRuleId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 ipanti/1.12.0' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call disableCCProtectionRuleOfWebRule with params:\npathParams:${JSON.stringify( pathParams )},\nqueryParams:${JSON.stringify( queryParams )}, \nheaderParams:${JSON.stringify( headerParams )}, \nformParams:${JSON.stringify( formParams )}, \npostBody:${JSON.stringify(postBody)}`, 'DEBUG' ) let request = super.makeRequest( '/regions/{regionId}/instances/{instanceId}/webRules/{webRuleId}/ccProtectionRules/{ccProtectionRuleId}:disable', 'POST', pathParams, queryParams, headerParams, formParams, postBody, contentTypes, accepts, returnType, callback ) return request.then( function (result) { if (callback && typeof callback === 'function') { return callback(null, result) } return result }, function (error) { if (callback && typeof callback === 'function') { return callback(error) } return Promise.reject(error) } ) } /** * 开启网站类规则的自定义 CC 防护规则总开关, 状态为开启的自定义 CC 防护规则生效 * @param {Object} opts - parameters * @param {string} opts.instanceId - 高防实例 Id * @param {string} opts.webRuleId - 网站规则 Id * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param integer code 0: 开启失败, 1: 开启成功 * @param string message 开启失败时给出具体原因 */ enableWebRuleCCProtectionRule ( opts, regionId = this.config.regionId, callback ) { if (typeof regionId === 'function') { callback = regionId regionId = this.config.regionId } if (regionId === undefined || regionId === null) { throw new Error( "Missing the required parameter 'regionId' when calling enableWebRuleCCProtectionRule" ) } opts = opts || {} if (opts.instanceId === undefined || opts.instanceId === null) { throw new Error( "Missing the required parameter 'opts.instanceId' when calling enableWebRuleCCProtectionRule" ) } if (opts.webRuleId === undefined || opts.webRuleId === null) { throw new Error( "Missing the required parameter 'opts.webRuleId' when calling enableWebRuleCCProtectionRule" ) } let postBody = {} let queryParams = {} let pathParams = { regionId: regionId, instanceId: opts.instanceId, webRuleId: opts.webRuleId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 ipanti/1.12.0' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call enableWebRuleCCProtectionRule with params:\npathParams:${JSON.stringify( pathParams )},\nqueryParams:${JSON.stringify( queryParams )}, \nheaderParams:${JSON.stringify( headerParams )}, \nformParams:${JSON.stringify( formParams )}, \npostBody:${JSON.stringify(postBody)}`, 'DEBUG' ) let request = super.makeRequest( '/regions/{regionId}/instances/{instanceId}/webRules/{webRuleId}:enableWebRuleCCProtectionRule', 'POST', pathParams, queryParams, headerParams, formParams, postBody, contentTypes, accepts, returnType, callback ) return request.then( function (result) { if (callback && typeof callback === 'function') { return callback(null, result) } return result }, function (error) { if (callback && typeof callback === 'function') { return callback(error) } return Promise.reject(error) } ) } /** * 关闭网站类规则的自定义 CC 防护规则总开关, 所有自定义 CC 防护规则失效 * @param {Object} opts - parameters * @param {string} opts.instanceId - 高防实例 Id * @param {string} opts.webRuleId - 网站规则 Id * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param integer code 0: 关闭失败, 1: 关闭成功 * @param string message 关闭失败时给出具体原因 */ disableWebRuleCCProtectionRule ( opts, regionId = this.config.regionId, callback ) { if (typeof regionId === 'function') { callback = regionId regionId = this.config.regionId } if (regionId === undefined || regionId === null) { throw new Error( "Missing the required parameter 'regionId' when calling disableWebRuleCCProtectionRule" ) } opts = opts || {} if (opts.instanceId === undefined || opts.instanceId === null) { throw new Error( "Missing the required parameter 'opts.instanceId' when calling disableWebRuleCCProtectionRule" ) } if (opts.webRuleId === undefined || opts.webRuleId === null) { throw new Error( "Missing the required parameter 'opts.webRuleId' when calling disableWebRuleCCProtectionRule" ) } let postBody = {} let queryParams = {} let pathParams = { regionId: regionId, instanceId: opts.instanceId, webRuleId: opts.webRuleId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 ipanti/1.12.0' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call disableWebRuleCCProtectionRule with params:\npathParams:${JSON.stringify( pathParams )},\nqueryParams:${JSON.stringify( queryParams )}, \nheaderParams:${JSON.stringify( headerParams )}, \nformParams:${JSON.stringify( formParams )}, \npostBody:${JSON.stringify(postBody)}`, 'DEBUG' ) let request = super.makeRequest( '/regions/{regionId}/instances/{instanceId}/webRules/{webRuleId}:disableWebRuleCCProtectionRule', 'POST', pathParams, queryParams, headerParams, formParams, postBody, contentTypes, accepts, returnType, callback ) return request.then( function (result) { if (callback && typeof callback === 'function') { return callback(null, result) } return result }, function (error) { if (callback && typeof callback === 'function') { return callback(error) } return Promise.reject(error) } ) } /** * 查询网站类规则的 CC 防护配置 * @param {Object} opts - parameters * @param {string} opts.instanceId - 高防实例 Id * @param {string} opts.webRuleId - 网站规则 Id * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param cCProtectionConfig data */ describeCCProtectionConfigOfWebRule ( opts, regionId = this.config.regionId, callback ) { if (typeof regionId === 'function') { callback = regionId regionId = this.config.regionId } if (regionId === undefined || regionId === null) { throw new Error( "Missing the required parameter 'regionId' when calling describeCCProtectionConfigOfWebRule" ) } opts = opts || {} if (opts.instanceId === undefined || opts.instanceId === null) { throw new Error( "Missing the required parameter 'opts.instanceId' when calling describeCCProtectionConfigOfWebRule" ) } if (opts.webRuleId === undefined || opts.webRuleId === null) { throw new Error( "Missing the required parameter 'opts.webRuleId' when calling describeCCProtectionConfigOfWebRule" ) } let postBody = null let queryParams = {} let pathParams = { regionId: regionId, instanceId: opts.instanceId, webRuleId: opts.webRuleId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 ipanti/1.12.0' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call describeCCProtectionConfigOfWebRule with params:\npathParams:${JSON.stringify( pathParams )},\nqueryParams:${JSON.stringify( queryParams )}, \nheaderParams:${JSON.stringify( headerParams )}, \nformParams:${JSON.stringify( formParams )}, \npostBody:${JSON.stringify(postBody)}`, 'DEBUG' ) let request = super.makeRequest( '/regions/{regionId}/instances/{instanceId}/webRules/{webRuleId}:ccProtectionConfig', 'GET', pathParams, queryParams, headerParams, formParams, postBody, contentTypes, accepts, returnType, callback ) return request.then( function (result) { if (callback && typeof callback === 'function') { return callback(null, result) } return result }, function (error) { if (callback && typeof callback === 'function') { return callback(error) } return Promise.reject(error) } ) } /** * 修改网站类规则的 CC 防护配置 * @param {Object} opts - parameters * @param {string} opts.instanceId - 高防实例 Id * @param {string} opts.webRuleId - 网站规则 Id * @param {cCProtectionConfigSpec} opts.ccProtectionConfigSpec - 修改 CC 防护配置请求参数 * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param integer code 0: 修改失败, 1: 修改成功 * @param string message 修改失败时给出具体原因 */ modifyCCProtectionConfigOfWebRule ( opts, regionId = this.config.regionId, callback ) { if (typeof regionId === 'function') { callback = regionId regionId = this.config.regionId } if (regionId === undefined || regionId === null) { throw new Error( "Missing the required parameter 'regionId' when calling modifyCCProtectionConfigOfWebRule" ) } opts = opts || {} if (opts.instanceId === undefined || opts.instanceId === null) { throw new Error( "Missing the required parameter 'opts.instanceId' when calling modifyCCProtectionConfigOfWebRule" ) } if (opts.webRuleId === undefined || opts.webRuleId === null) { throw new Error( "Missing the required parameter 'opts.webRuleId' when calling modifyCCProtectionConfigOfWebRule" ) } if ( opts.ccProtectionConfigSpec === undefined || opts.ccProtectionConfigSpec === null ) { throw new Error( "Missing the required parameter 'opts.ccProtectionConfigSpec' when calling modifyCCProtectionConfigOfWebRule" ) } let postBody = {} if ( opts.ccProtectionConfigSpec !== undefined && opts.ccProtectionConfigSpec !== null ) { postBody['ccProtectionConfigSpec'] = opts.ccProtectionConfigSpec } let queryParams = {} let pathParams = { regionId: regionId, instanceId: opts.instanceId, webRuleId: opts.webRuleId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 ipanti/1.12.0' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call modifyCCProtectionConfigOfWebRule with params:\npathParams:${JSON.stringify( pathParams )},\nqueryParams:${JSON.stringify( queryParams )}, \nheaderParams:${JSON.stringify( headerParams )}, \nformParams:${JSON.stringify( formParams )}, \npostBody:${JSON.stringify(postBody)}`, 'DEBUG' ) let request = super.makeRequest( '/regions/{regionId}/instances/{instanceId}/webRules/{webRuleId}:ccProtectionConfig', 'PATCH', pathParams, queryParams, headerParams, formParams, postBody, contentTypes, accepts, returnType, callback ) return request.then( function (result) { if (callback && typeof callback === 'function') { return callback(null, result) } return result }, function (error) { if (callback && typeof callback === 'function') { return callback(error) } return Promise.reject(error) } ) } /** * 查询网站类规则的 CC 防护默认配置 * @param {Object} opts - parameters * @param {string} opts.instanceId - 高防实例 Id * @param {string} opts.webRuleId - 网站规则 Id * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param cCProtectionDefaultConfig data */ describeCCProtectionDefaultConfigOfWebRule ( opts, regionId = this.config.regionId, callback ) { if (typeof regionId === 'function') { callback = regionId regionId = this.config.regionId } if (regionId === undefined || regionId === null) { throw new Error( "Missing the required parameter 'regionId' when calling describeCCProtectionDefaultConfigOfWebRule" ) } opts = opts || {} if (opts.instanceId === undefined || opts.instanceId === null) { throw new Error( "Missing the required parameter 'opts.instanceId' when calling describeCCProtectionDefaultConfigOfWebRule" ) } if (opts.webRuleId === undefined || opts.webRuleId === null) { throw new Error( "Missing the required parameter 'opts.webRuleId' when calling describeCCProtectionDefaultConfigOfWebRule" ) } let postBody = null let queryParams = {} let pathParams = { regionId: regionId, instanceId: opts.instanceId, webRuleId: opts.webRuleId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 ipanti/1.12.0' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call describeCCProtectionDefaultConfigOfWebRule with params:\npathParams:${JSON.stringify( pathParams )},\nqueryParams:${JSON.stringify( queryParams )}, \nheaderParams:${JSON.stringify( headerParams )}, \nformParams:${JSON.stringify( formParams )}, \npostBody:${JSON.stringify(postBody)}`, 'DEBUG' ) let request = super.makeRequest( '/regions/{regionId}/instances/{instanceId}/webRules/{webRuleId}:ccProtectionDefaultConfig', 'GET', pathParams, queryParams, headerParams, formParams, postBody, contentTypes, accepts, returnType, callback ) return request.then( function (result) { if (callback && typeof callback === 'function') { return callback(null, result) } return result }, function (error) { if (callback && typeof callback === 'function') { return callback(error) } return Promise.reject(error) } ) } /** * 编辑网站规则证书信息 * @param {Object} opts - parameters * @param {string} opts.instanceId - 高防实例 Id * @param {string} opts.webRuleId - 网站规则 Id * @param {certInfoModifySpec} opts.certInfoModifySpec - 编辑网站规则证书信息请求参数 * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param integer code 上传 SSL 证书结果, 0: 删除证书失败, 1: 删除证书成功 * @param string message 上传成功时为证书 Id, 失败时给出具体原因 */ modifyCertInfo (opts, regionId = this.config.regionId, callback) { if (typeof regionId === 'function') { callback = regionId regionId = this.config.regionId } if (regionId === undefined || regionId === null) { throw new Error( "Missing the required parameter 'regionId' when calling modifyCertInfo" ) } opts = opts || {} if (opts.instanceId === undefined || opts.instanceId === null) { throw new Error( "Missing the required parameter 'opts.instanceId' when calling modifyCertInfo" ) } if (opts.webRuleId === undefined || opts.webRuleId === null) { throw new Error( "Missing the required parameter 'opts.webRuleId' when calling modifyCertInfo" ) } if ( opts.certInfoModifySpec === undefined || opts.certInfoModifySpec === null ) { throw new Error( "Missing the required parameter 'opts.certInfoModifySpec' when calling modifyCertInfo" ) } let postBody = {} if ( opts.certInfoModifySpec !== undefined && opts.certInfoModifySpec !== null ) { postBody['certInfoModifySpec'] = opts.certInfoModifySpec } let queryParams = {} let pathParams = { regionId: regionId, instanceId: opts.instanceId, webRuleId: opts.webRuleId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 ipanti/1.12.0' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call modifyCertInfo with params:\npathParams:${JSON.stringify( pathParams )},\nqueryParams:${JSON.stringify( queryParams )}, \nheaderParams:${JSON.stringify( headerParams )}, \nformParams:${JSON.stringify( formParams )}, \npostBody:${JSON.stringify(postBody)}`, 'DEBUG' ) let request = super.makeRequest( '/regions/{regionId}/instances/{instanceId}/webRules/{webRuleId}:modifyCertInfo', 'POST', pathParams, queryParams, headerParams, formParams, postBody, contentTypes, accepts, returnType, callback ) return request.then( function (result) { if (callback && typeof callback === 'function') { return callback(null, result) } return result }, function (error) { if (callback && typeof callback === 'function') { return callback(error) } return Promise.reject(error) } ) } /** * 查询网站类防护规则的黑名单用量信息 * @param {Object} opts - parameters * @param {string} opts.instanceId - 高防实例 Id * @param {string} opts.webRuleId - 网站规则 Id * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param integer allocatedNum 已配置的黑名单规则数量 * @param integer activeNum 开启的黑名单规则数量 * @param integer surplusAllocateNum 还可添加的黑名单规则数量 * @param integer maxAllocateNum 最多可添加的黑名单规则数量 */ describeWebRuleBlackListUsage ( opts, regionId = this.config.regionId, callback ) { if (typeof regionId === 'function') { callback = regionId regionId = this.config.regionId } if (regionId === undefined || regionId === null) { throw new Error( "Missing the required parameter 'regionId' when calling describeWebRuleBlackListUsage" ) } opts = opts || {} if (opts.instanceId === undefined || opts.instanceId === null) { throw new Error( "Missing the required parameter 'opts.instanceId' when calling describeWebRuleBlackListUsage" ) } if (opts.webRuleId === undefined || opts.webRuleId === null) { throw new Error( "Missing the required parameter 'opts.webRuleId' when calling describeWebRuleBlackListUsage" ) } let postBody = null let queryParams = {} let pathParams = { regionId: regionId, instanceId: opts.instanceId, webRuleId: opts.webRuleId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 ipanti/1.12.0' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call describeWebRuleBlackListUsage with params:\npathParams:${JSON.stringify( pathParams )},\nqueryParams:${JSON.stringify( queryParams )}, \nheaderParams:${JSON.stringify( headerParams )}, \nformParams:${JSON.stringify( formParams )}, \npostBody:${JSON.stringify(postBody)}`, 'DEBUG' ) let request = super.makeRequest( '/regions/{regionId}/instances/{instanceId}/webRules/{webRuleId}:describeWebRuleBlackListUsage', 'GET', pathParams, queryParams, headerParams, formParams, postBody, contentTypes, accepts, returnType, callback ) return request.then( function (result) { if (callback && typeof callback === 'function') { return callback(null, result) } return result }, function (error) { if (callback && typeof callback === 'function') { return callback(error) } return Promise.reject(error) } ) } /** * 查询网站类规则的黑名单规则列表 * @param {Object} opts - parameters * @param {string} opts.instanceId - 高防实例 Id * @param {string} opts.webRuleId - 网站规则 Id * @param {integer} [opts.pageNumber] - 页码, 默认为1 optional * @param {integer} [opts.pageSize] - 分页大小, 默认为10, 取值范围[10, 100] optional * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param webBlackListRule dataList * @param integer currentCount 当前页数量 * @param integer totalCount 总数 * @param integer totalPage 总页数 */ describeBlackListRulesOfWebRule ( opts, regionId = this.config.regionId, callback ) { if (typeof regionId === 'function') { callback = regionId regionId = this.config.regionId } if (regionId === undefined || regionId === null) { throw new Error( "Missing the required parameter 'regionId' when calling describeBlackListRulesOfWebRule" ) } opts = opts || {} if (opts.instanceId === undefined || opts.instanceId === null) { throw new Error( "Missing the required parameter 'opts.instanceId' when calling describeBlackListRulesOfWebRule" ) } if (opts.webRuleId === undefined || opts.webRuleId === null) { throw new Error( "Missing the required parameter 'opts.webRuleId' when calling describeBlackListRulesOfWebRule" ) } let postBody = null let queryParams = {} if (opts.pageNumber !== undefined && opts.pageNumber !== null) { queryParams['pageNumber'] = opts.pageNumber } if (opts.pageSize !== undefined && opts.pageSize !== null) { queryParams['pageSize'] = opts.pageSize } let pathParams = { regionId: regionId, instanceId: opts.instanceId, webRuleId: opts.webRuleId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 ipanti/1.12.0' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call describeBlackListRulesOfWebRule with params:\npathParams:${JSON.stringify( pathParams )},\nqueryParams:${JSON.stringify( queryParams )}, \nheaderParams:${JSON.stringify( headerParams )}, \nformParams:${JSON.stringify( formParams )}, \npostBody:${JSON.stringify(postBody)}`, 'DEBUG' ) let request = super.makeRequest( '/regions/{regionId}/instances/{instanceId}/webRules/{webRuleId}/webBlackListRules', 'GET', pathParams, queryParams, headerParams, formParams, postBody, contentTypes, accepts, returnType, callback ) return request.then( function (result) { if (callback && typeof callback === 'function') { return callback(null, result) } return result }, function (error) { if (callback && typeof callback === 'function') { return callback(error) } return Promise.reject(error) } ) } /** * 添加网站类规则的黑名单规则 * @param {Object} opts - parameters * @param {string} opts.instanceId - 高防实例 Id * @param {string} opts.webRuleId - 网站规则 Id * @param {webBlackListRuleSpec} opts.webBlackListRuleSpec - 添加网站类规则的黑名单规则请求参数 * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param integer code 0: 添加失败, 1: 添加成功 * @param string message 添加失败时给出具体原因 */ createBlackListRuleOfWebRule ( opts, regionId = this.config.regionId, callback ) { if (typeof regionId === 'function') { callback = regionId regionId = this.config.regionId } if (regionId === undefined || regionId === null) { throw new Error( "Missing the required parameter 'regionId' when calling createBlackListRuleOfWebRule" ) } opts = opts || {} if (opts.instanceId === undefined || opts.instanceId === null) { throw new Error( "Missing the required parameter 'opts.instanceId' when calling createBlackListRuleOfWebRule" ) } if (opts.webRuleId === undefined || opts.webRuleId === null) { throw new Error( "Missing the required parameter 'opts.webRuleId' when calling createBlackListRuleOfWebRule" ) } if ( opts.webBlackListRuleSpec === undefined || opts.webBlackListRuleSpec === null ) { throw new Error( "Missing the required parameter 'opts.webBlackListRuleSpec' when calling createBlackListRuleOfWebRule" ) } let postBody = {} if ( opts.webBlackListRuleSpec !== undefined && opts.webBlackListRuleSpec !== null ) { postBody['webBlackListRuleSpec'] = opts.webBlackListRuleSpec } let queryParams = {} let pathParams = { regionId: regionId, instanceId: opts.instanceId, webRuleId: opts.webRuleId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 ipanti/1.12.0' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call createBlackListRuleOfWebRule with params:\npathParams:${JSON.stringify( pathParams )},\nqueryParams:${JSON.stringify( queryParams )}, \nheaderParams:${JSON.stringify( headerParams )}, \nformParams:${JSON.stringify( formParams )}, \npostBody:${JSON.stringify(postBody)}`, 'DEBUG' ) let request = super.makeRequest( '/regions/{regionId}/instances/{instanceId}/webRules/{webRuleId}/webBlackListRules', 'POST', pathParams, queryParams, headerParams, formParams, postBody, contentTypes, accepts, returnType, callback ) return request.then( function (result) { if (callback && typeof callback === 'function') { return callback(null, result) } return result }, function (error) { if (callback && typeof callback === 'function') { return callback(error) } return Promise.reject(error) } ) } /** * 查询网站类规则的黑名单规则 * @param {Object} opts - parameters * @param {string} opts.instanceId - 高防实例 Id * @param {string} opts.webRuleId - 网站规则 Id * @param {string} opts.webBlackListRuleId - 网站类规则的黑名单规则 Id * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param webBlackListRule data */ describeBlackListRuleOfWebRule ( opts, regionId = this.config.regionId, callback ) { if (typeof regionId === 'function') { callback = regionId regionId = this.config.regionId } if (regionId === undefined || regionId === null) { throw new Error( "Missing the required parameter 'regionId' when calling describeBlackListRuleOfWebRule" ) } opts = opts || {} if (opts.instanceId === undefined || opts.instanceId === null) { throw new Error( "Missing the required parameter 'opts.instanceId' when calling describeBlackListRuleOfWebRule" ) } if (opts.webRuleId === undefined || opts.webRuleId === null) { throw new Error( "Missing the required parameter 'opts.webRuleId' when calling describeBlackListRuleOfWebRule" ) } if ( opts.webBlackListRuleId === undefined || opts.webBlackListRuleId === null ) { throw new Error( "Missing the required parameter 'opts.webBlackListRuleId' when calling describeBlackListRuleOfWebRule" ) } let postBody = null let queryParams = {} let pathParams = { regionId: regionId, instanceId: opts.instanceId, webRuleId: opts.webRuleId, webBlackListRuleId: opts.webBlackListRuleId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 ipanti/1.12.0' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call describeBlackListRuleOfWebRule with params:\npathParams:${JSON.stringify( pathParams )},\nqueryParams:${JSON.stringify( queryParams )}, \nheaderParams:${JSON.stringify( headerParams )}, \nformParams:${JSON.stringify( formParams )}, \npostBody:${JSON.stringify(postBody)}`, 'DEBUG' ) let request = super.makeRequest( '/regions/{regionId}/instances/{instanceId}/webRules/{webRuleId}/webBlackListRules/{webBlackListRuleId}', 'GET', pathParams, queryParams, headerParams, formParams, postBody, contentTypes, accepts, returnType, callback ) return request.then( function (result) { if (callback && typeof callback === 'function') { return callback(null, result) } return result }, function (error) { if (callback && typeof callback === 'function') { return callback(error) } return Promise.reject(error) } ) } /** * 修改网站类规则的黑名单规则 * @param {Object} opts - parameters * @param {string} opts.instanceId - 高防实例 Id * @param {string} opts.webRuleId - 网站规则 Id * @param {string} opts.webBlackListRuleId - 网站类规则的黑名单规则 Id * @param {webBlackListRuleSpec} opts.webBlackListRuleSpec - 修改网站类规则的黑名单规则请求参数 * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param integer code 修改结果, 0: 修改失败, 1: 修改成功 * @param string message 修改失败时给出具体原因 */ modifyBlackListRuleOfWebRule ( opts, regionId = this.config.regionId, callback ) { if (typeof regionId === 'function') { callback = regionId regionId = this.config.regionId } if (regionId === undefined || regionId === null) { throw new Error( "Missing the required parameter 'regionId' when calling modifyBlackListRuleOfWebRule" ) } opts = opts || {} if (opts.instanceId === undefined || opts.instanceId === null) { throw new Error( "Missing the required parameter 'opts.instanceId' when calling modifyBlackListRuleOfWebRule" ) } if (opts.webRuleId === undefined || opts.webRuleId === null) { throw new Error( "Missing the required parameter 'opts.webRuleId' when calling modifyBlackListRuleOfWebRule" ) } if ( opts.webBlackListRuleId === undefined || opts.webBlackListRuleId === null ) { throw new Error( "Missing the required parameter 'opts.webBlackListRuleId' when calling modifyBlackListRuleOfWebRule" ) } if ( opts.webBlackListRuleSpec === undefined || opts.webBlackListRuleSpec === null ) { throw new Error( "Missing the required parameter 'opts.webBlackListRuleSpec' when calling modifyBlackListRuleOfWebRule" ) } let postBody = {} if ( opts.webBlackListRuleSpec !== undefined && opts.webBlackListRuleSpec !== null ) { postBody['webBlackListRuleSpec'] = opts.webBlackListRuleSpec } let queryParams = {} let pathParams = { regionId: regionId, instanceId: opts.instanceId, webRuleId: opts.webRuleId, webBlackListRuleId: opts.webBlackListRuleId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 ipanti/1.12.0' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call modifyBlackListRuleOfWebRule with params:\npathParams:${JSON.stringify( pathParams )},\nqueryParams:${JSON.stringify( queryParams )}, \nheaderParams:${JSON.stringify( headerParams )}, \nformParams:${JSON.stringify( formParams )}, \npostBody:${JSON.stringify(postBody)}`, 'DEBUG' ) let request = super.makeRequest( '/regions/{regionId}/instances/{instanceId}/webRules/{webRuleId}/webBlackListRules/{webBlackListRuleId}', 'PATCH', pathParams, queryParams, headerParams, formParams, postBody, contentTypes, accepts, returnType, callback ) return request.then( function (result) { if (callback && typeof callback === 'function') { return callback(null, result) } return result }, function (error) { if (callback && typeof callback === 'function') { return callback(error) } return Promise.reject(error) } ) } /** * 删除网站类规则的黑名单规则, 批量操作时 webBlackListRuleId 传多个, 以 ',' 分隔, 返回 result.code 为 1 表示操作成功, 为 0 时可能全部失败, 也可能部分失败 * @param {Object} opts - parameters * @param {string} opts.instanceId - 高防实例 Id * @param {string} opts.webRuleId - 网站规则 Id * @param {string} opts.webBlackListRuleId - 网站类规则的黑名单规则 Id * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param integer code 删除结果, 0: 删除失败, 1: 删除成功 * @param string message 删除失败时给出具体原因 */ deleteBlackListRuleOfWebRule ( opts, regionId = this.config.regionId, callback ) { if (typeof regionId === 'function') { callback = regionId regionId = this.config.regionId } if (regionId === undefined || regionId === null) { throw new Error( "Missing the required parameter 'regionId' when calling deleteBlackListRuleOfWebRule" ) } opts = opts || {} if (opts.instanceId === undefined || opts.instanceId === null) { throw new Error( "Missing the required parameter 'opts.instanceId' when calling deleteBlackListRuleOfWebRule" ) } if (opts.webRuleId === undefined || opts.webRuleId === null) { throw new Error( "Missing the required parameter 'opts.webRuleId' when calling deleteBlackListRuleOfWebRule" ) } if ( opts.webBlackListRuleId === undefined || opts.webBlackListRuleId === null ) { throw new Error( "Missing the required parameter 'opts.webBlackListRuleId' when calling deleteBlackListRuleOfWebRule" ) } let postBody = null let queryParams = {} let pathParams = { regionId: regionId, instanceId: opts.instanceId, webRuleId: opts.webRuleId, webBlackListRuleId: opts.webBlackListRuleId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 ipanti/1.12.0' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call deleteBlackListRuleOfWebRule with params:\npathParams:${JSON.stringify( pathParams )},\nqueryParams:${JSON.stringify( queryParams )}, \nheaderParams:${JSON.stringify( headerParams )}, \nformParams:${JSON.stringify( formParams )}, \npostBody:${JSON.stringify(postBody)}`, 'DEBUG' ) let request = super.makeRequest( '/regions/{regionId}/instances/{instanceId}/webRules/{webRuleId}/webBlackListRules/{webBlackListRuleId}', 'DELETE', pathParams, queryParams, headerParams, formParams, postBody, contentTypes, accepts, returnType, callback ) return request.then( function (result) { if (callback && typeof callback === 'function') { return callback(null, result) } return result }, function (error) { if (callback && typeof callback === 'function') { return callback(error) } return Promise.reject(error) } ) } /** * 开启网站类规则的黑名单 * @param {Object} opts - parameters * @param {string} opts.instanceId - 高防实例 Id * @param {string} opts.webRuleId - 网站规则 Id * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param integer code 开启结果, 0: 开启失败, 1: 开启成功 * @param string message 开启失败时给出具体原因 */ enableWebRuleBlackList (opts, regionId = this.config.regionId, callback) { if (typeof regionId === 'function') { callback = regionId regionId = this.config.regionId } if (regionId === undefined || regionId === null) { throw new Error( "Missing the required parameter 'regionId' when calling enableWebRuleBlackList" ) } opts = opts || {} if (opts.instanceId === undefined || opts.instanceId === null) { throw new Error( "Missing the required parameter 'opts.instanceId' when calling enableWebRuleBlackList" ) } if (opts.webRuleId === undefined || opts.webRuleId === null) { throw new Error( "Missing the required parameter 'opts.webRuleId' when calling enableWebRuleBlackList" ) } let postBody = {} let queryParams = {} let pathParams = { regionId: regionId, instanceId: opts.instanceId, webRuleId: opts.webRuleId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 ipanti/1.12.0' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call enableWebRuleBlackList with params:\npathParams:${JSON.stringify( pathParams )},\nqueryParams:${JSON.stringify( queryParams )}, \nheaderParams:${JSON.stringify( headerParams )}, \nformParams:${JSON.stringify( formParams )}, \npostBody:${JSON.stringify(postBody)}`, 'DEBUG' ) let request = super.makeRequest( '/regions/{regionId}/instances/{instanceId}/webRules/{webRuleId}:enableWebRuleBlackList', 'POST', pathParams, queryParams, headerParams, formParams, postBody, contentTypes, accepts, returnType, callback ) return request.then( function (result) { if (callback && typeof callback === 'function') { return callback(null, result) } return result }, function (error) { if (callback && typeof callback === 'function') { return callback(error) } return Promise.reject(error) } ) } /** * 开启网站类规则的黑名单规则, 批量操作时 webBlackListRuleId 传多个, 以 ',' 分隔, 返回 result.code 为 1 表示操作成功, 为 0 时可能全部失败, 也可能部分失败 * @param {Object} opts - parameters * @param {string} opts.instanceId - 高防实例 Id * @param {string} opts.webRuleId - 网站规则 Id * @param {string} opts.webBlackListRuleId - 网站类规则的黑名单规则 Id * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param integer code 开启结果, 0: 开启失败, 1: 开启成功 * @param string message 开启失败时给出具体原因 */ enableBlackListRuleOfWebRule ( opts, regionId = this.config.regionId, callback ) { if (typeof regionId === 'function') { callback = regionId regionId = this.config.regionId } if (regionId === undefined || regionId === null) { throw new Error( "Missing the required parameter 'regionId' when calling enableBlackListRuleOfWebRule" ) } opts = opts || {} if (opts.instanceId === undefined || opts.instanceId === null) { throw new Error( "Missing the required parameter 'opts.instanceId' when calling enableBlackListRuleOfWebRule" ) } if (opts.webRuleId === undefined || opts.webRuleId === null) { throw new Error( "Missing the required parameter 'opts.webRuleId' when calling enableBlackListRuleOfWebRule" ) } if ( opts.webBlackListRuleId === undefined || opts.webBlackListRuleId === null ) { throw new Error( "Missing the required parameter 'opts.webBlackListRuleId' when calling enableBlackListRuleOfWebRule" ) } let postBody = {} let queryParams = {} let pathParams = { regionId: regionId, instanceId: opts.instanceId, webRuleId: opts.webRuleId, webBlackListRuleId: opts.webBlackListRuleId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 ipanti/1.12.0' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call enableBlackListRuleOfWebRule with params:\npathParams:${JSON.stringify( pathParams )},\nqueryParams:${JSON.stringify( queryParams )}, \nheaderParams:${JSON.stringify( headerParams )}, \nformParams:${JSON.stringify( formParams )}, \npostBody:${JSON.stringify(postBody)}`, 'DEBUG' ) let request = super.makeRequest( '/regions/{regionId}/instances/{instanceId}/webRules/{webRuleId}/webBlackListRules/{webBlackListRuleId}:enable', 'POST', pathParams, queryParams, headerParams, formParams, postBody, contentTypes, accepts, returnType, callback ) return request.then( function (result) { if (callback && typeof callback === 'function') { return callback(null, result) } return result }, function (error) { if (callback && typeof callback === 'function') { return callback(error) } return Promise.reject(error) } ) } /** * 关闭网站类规则的黑名单 * @param {Object} opts - parameters * @param {string} opts.instanceId - 高防实例 Id * @param {string} opts.webRuleId - 网站规则 Id * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param integer code 关闭结果, 0: 关闭失败, 1: 关闭成功 * @param string message 关闭失败时给出具体原因 */ disableWebRuleBlackList (opts, regionId = this.config.regionId, callback) { if (typeof regionId === 'function') { callback = regionId regionId = this.config.regionId } if (regionId === undefined || regionId === null) { throw new Error( "Missing the required parameter 'regionId' when calling disableWebRuleBlackList" ) } opts = opts || {} if (opts.instanceId === undefined || opts.instanceId === null) { throw new Error( "Missing the required parameter 'opts.instanceId' when calling disableWebRuleBlackList" ) } if (opts.webRuleId === undefined || opts.webRuleId === null) { throw new Error( "Missing the required parameter 'opts.webRuleId' when calling disableWebRuleBlackList" ) } let postBody = {} let queryParams = {} let pathParams = { regionId: regionId, instanceId: opts.instanceId, webRuleId: opts.webRuleId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 ipanti/1.12.0' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call disableWebRuleBlackList with params:\npathParams:${JSON.stringify( pathParams )},\nqueryParams:${JSON.stringify( queryParams )}, \nheaderParams:${JSON.stringify( headerParams )}, \nformParams:${JSON.stringify( formParams )}, \npostBody:${JSON.stringify(postBody)}`, 'DEBUG' ) let request = super.makeRequest( '/regions/{regionId}/instances/{instanceId}/webRules/{webRuleId}:disableWebRuleBlackList', 'POST', pathParams, queryParams, headerParams, formParams, postBody, contentTypes, accepts, returnType, callback ) return request.then( function (result) { if (callback && typeof callback === 'function') { return callback(null, result) } return result }, function (error) { if (callback && typeof callback === 'function') { return callback(error) } return Promise.reject(error) } ) } /** * 关闭网站类规则的黑名单规则, 批量操作时 webBlackListRuleId 传多个, 以 ',' 分隔, 返回 result.code 为 1 表示操作成功, 为 0 时可能全部失败, 也可能部分失败 * @param {Object} opts - parameters * @param {string} opts.instanceId - 高防实例 Id * @param {string} opts.webRuleId - 网站规则 Id * @param {string} opts.webBlackListRuleId - 网站类规则的黑名单规则 Id * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param integer code 关闭结果, 0: 关闭失败, 1: 关闭成功 * @param string message 关闭失败时给出具体原因 */ disableBlackListRuleOfWebRule ( opts, regionId = this.config.regionId, callback ) { if (typeof regionId === 'function') { callback = regionId regionId = this.config.regionId } if (regionId === undefined || regionId === null) { throw new Error( "Missing the required parameter 'regionId' when calling disableBlackListRuleOfWebRule" ) } opts = opts || {} if (opts.instanceId === undefined || opts.instanceId === null) { throw new Error( "Missing the required parameter 'opts.instanceId' when calling disableBlackListRuleOfWebRule" ) } if (opts.webRuleId === undefined || opts.webRuleId === null) { throw new Error( "Missing the required parameter 'opts.webRuleId' when calling disableBlackListRuleOfWebRule" ) } if ( opts.webBlackListRuleId === undefined || opts.webBlackListRuleId === null ) { throw new Error( "Missing the required parameter 'opts.webBlackListRuleId' when calling disableBlackListRuleOfWebRule" ) } let postBody = {} let queryParams = {} let pathParams = { regionId: regionId, instanceId: opts.instanceId, webRuleId: opts.webRuleId, webBlackListRuleId: opts.webBlackListRuleId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 ipanti/1.12.0' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call disableBlackListRuleOfWebRule with params:\npathParams:${JSON.stringify( pathParams )},\nqueryParams:${JSON.stringify( queryParams )}, \nheaderParams:${JSON.stringify( headerParams )}, \nformParams:${JSON.stringify( formParams )}, \npostBody:${JSON.stringify(postBody)}`, 'DEBUG' ) let request = super.makeRequest( '/regions/{regionId}/instances/{instanceId}/webRules/{webRuleId}/webBlackListRules/{webBlackListRuleId}:disable', 'POST', pathParams, queryParams, headerParams, formParams, postBody, contentTypes, accepts, returnType, callback ) return request.then( function (result) { if (callback && typeof callback === 'function') { return callback(null, result) } return result }, function (error) { if (callback && typeof callback === 'function') { return callback(error) } return Promise.reject(error) } ) } /** * 查询网站类防护规则的白名单用量信息 * @param {Object} opts - parameters * @param {string} opts.instanceId - 高防实例 Id * @param {string} opts.webRuleId - 网站规则 Id * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param integer allocatedNum 已配置的白名单规则数量 * @param integer activeNum 开启的白名单规则数量 * @param integer surplusAllocateNum 还可添加的白名单规则数量 * @param integer maxAllocateNum 最多可添加的白名单规则数量 */ describeWebRuleWhiteListUsage ( opts, regionId = this.config.regionId, callback ) { if (typeof regionId === 'function') { callback = regionId regionId = this.config.regionId } if (regionId === undefined || regionId === null) { throw new Error( "Missing the required parameter 'regionId' when calling describeWebRuleWhiteListUsage" ) } opts = opts || {} if (opts.instanceId === undefined || opts.instanceId === null) { throw new Error( "Missing the required parameter 'opts.instanceId' when calling describeWebRuleWhiteListUsage" ) } if (opts.webRuleId === undefined || opts.webRuleId === null) { throw new Error( "Missing the required parameter 'opts.webRuleId' when calling describeWebRuleWhiteListUsage" ) } let postBody = null let queryParams = {} let pathParams = { regionId: regionId, instanceId: opts.instanceId, webRuleId: opts.webRuleId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 ipanti/1.12.0' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call describeWebRuleWhiteListUsage with params:\npathParams:${JSON.stringify( pathParams )},\nqueryParams:${JSON.stringify( queryParams )}, \nheaderParams:${JSON.stringify( headerParams )}, \nformParams:${JSON.stringify( formParams )}, \npostBody:${JSON.stringify(postBody)}`, 'DEBUG' ) let request = super.makeRequest( '/regions/{regionId}/instances/{instanceId}/webRules/{webRuleId}:describeWebRuleWhiteListUsage', 'GET', pathParams, queryParams, headerParams, formParams, postBody, contentTypes, accepts, returnType, callback ) return request.then( function (result) { if (callback && typeof callback === 'function') { return callback(null, result) } return result }, function (error) { if (callback && typeof callback === 'function') { return callback(error) } return Promise.reject(error) } ) } /** * 查询网站类规则的白名单规则列表 * @param {Object} opts - parameters * @param {string} opts.instanceId - 高防实例 Id * @param {string} opts.webRuleId - 网站规则 Id * @param {integer} [opts.pageNumber] - 页码, 默认为1 optional * @param {integer} [opts.pageSize] - 分页大小, 默认为10, 取值范围[10, 100] optional * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param webWhiteListRule dataList * @param integer currentCount 当前页数量 * @param integer totalCount 总数 * @param integer totalPage 总页数 */ describeWhiteListRulesOfWebRule ( opts, regionId = this.config.regionId, callback ) { if (typeof regionId === 'function') { callback = regionId regionId = this.config.regionId } if (regionId === undefined || regionId === null) { throw new Error( "Missing the required parameter 'regionId' when calling describeWhiteListRulesOfWebRule" ) } opts = opts || {} if (opts.instanceId === undefined || opts.instanceId === null) { throw new Error( "Missing the required parameter 'opts.instanceId' when calling describeWhiteListRulesOfWebRule" ) } if (opts.webRuleId === undefined || opts.webRuleId === null) { throw new Error( "Missing the required parameter 'opts.webRuleId' when calling describeWhiteListRulesOfWebRule" ) } let postBody = null let queryParams = {} if (opts.pageNumber !== undefined && opts.pageNumber !== null) { queryParams['pageNumber'] = opts.pageNumber } if (opts.pageSize !== undefined && opts.pageSize !== null) { queryParams['pageSize'] = opts.pageSize } let pathParams = { regionId: regionId, instanceId: opts.instanceId, webRuleId: opts.webRuleId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 ipanti/1.12.0' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call describeWhiteListRulesOfWebRule with params:\npathParams:${JSON.stringify( pathParams )},\nqueryParams:${JSON.stringify( queryParams )}, \nheaderParams:${JSON.stringify( headerParams )}, \nformParams:${JSON.stringify( formParams )}, \npostBody:${JSON.stringify(postBody)}`, 'DEBUG' ) let request = super.makeRequest( '/regions/{regionId}/instances/{instanceId}/webRules/{webRuleId}/webWhiteListRules', 'GET', pathParams, queryParams, headerParams, formParams, postBody, contentTypes, accepts, returnType, callback ) return request.then( function (result) { if (callback && typeof callback === 'function') { return callback(null, result) } return result }, function (error) { if (callback && typeof callback === 'function') { return callback(error) } return Promise.reject(error) } ) } /** * 添加网站类规则的白名单规则 * @param {Object} opts - parameters * @param {string} opts.instanceId - 高防实例 Id * @param {string} opts.webRuleId - 网站规则 Id * @param {webWhiteListRuleSpec} opts.webWhiteListRuleSpec - 添加网站类规则的白名单规则请求参数 * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param integer code 0: 添加失败, 1: 添加成功 * @param string message 添加失败时给出具体原因 */ createWhiteListRuleOfWebRule ( opts, regionId = this.config.regionId, callback ) { if (typeof regionId === 'function') { callback = regionId regionId = this.config.regionId } if (regionId === undefined || regionId === null) { throw new Error( "Missing the required parameter 'regionId' when calling createWhiteListRuleOfWebRule" ) } opts = opts || {} if (opts.instanceId === undefined || opts.instanceId === null) { throw new Error( "Missing the required parameter 'opts.instanceId' when calling createWhiteListRuleOfWebRule" ) } if (opts.webRuleId === undefined || opts.webRuleId === null) { throw new Error( "Missing the required parameter 'opts.webRuleId' when calling createWhiteListRuleOfWebRule" ) } if ( opts.webWhiteListRuleSpec === undefined || opts.webWhiteListRuleSpec === null ) { throw new Error( "Missing the required parameter 'opts.webWhiteListRuleSpec' when calling createWhiteListRuleOfWebRule" ) } let postBody = {} if ( opts.webWhiteListRuleSpec !== undefined && opts.webWhiteListRuleSpec !== null ) { postBody['webWhiteListRuleSpec'] = opts.webWhiteListRuleSpec } let queryParams = {} let pathParams = { regionId: regionId, instanceId: opts.instanceId, webRuleId: opts.webRuleId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 ipanti/1.12.0' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call createWhiteListRuleOfWebRule with params:\npathParams:${JSON.stringify( pathParams )},\nqueryParams:${JSON.stringify( queryParams )}, \nheaderParams:${JSON.stringify( headerParams )}, \nformParams:${JSON.stringify( formParams )}, \npostBody:${JSON.stringify(postBody)}`, 'DEBUG' ) let request = super.makeRequest( '/regions/{regionId}/instances/{instanceId}/webRules/{webRuleId}/webWhiteListRules', 'POST', pathParams, queryParams, headerParams, formParams, postBody, contentTypes, accepts, returnType, callback ) return request.then( function (result) { if (callback && typeof callback === 'function') { return callback(null, result) } return result }, function (error) { if (callback && typeof callback === 'function') { return callback(error) } return Promise.reject(error) } ) } /** * 查询网站类规则的白名单规则 * @param {Object} opts - parameters * @param {string} opts.instanceId - 高防实例 Id * @param {string} opts.webRuleId - 网站规则 Id * @param {string} opts.webWhiteListRuleId - 网站类规则的白名单规则 Id * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param webWhiteListRule data */ describeWhiteListRuleOfWebRule ( opts, regionId = this.config.regionId, callback ) { if (typeof regionId === 'function') { callback = regionId regionId = this.config.regionId } if (regionId === undefined || regionId === null) { throw new Error( "Missing the required parameter 'regionId' when calling describeWhiteListRuleOfWebRule" ) } opts = opts || {} if (opts.instanceId === undefined || opts.instanceId === null) { throw new Error( "Missing the required parameter 'opts.instanceId' when calling describeWhiteListRuleOfWebRule" ) } if (opts.webRuleId === undefined || opts.webRuleId === null) { throw new Error( "Missing the required parameter 'opts.webRuleId' when calling describeWhiteListRuleOfWebRule" ) } if ( opts.webWhiteListRuleId === undefined || opts.webWhiteListRuleId === null ) { throw new Error( "Missing the required parameter 'opts.webWhiteListRuleId' when calling describeWhiteListRuleOfWebRule" ) } let postBody = null let queryParams = {} let pathParams = { regionId: regionId, instanceId: opts.instanceId, webRuleId: opts.webRuleId, webWhiteListRuleId: opts.webWhiteListRuleId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 ipanti/1.12.0' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call describeWhiteListRuleOfWebRule with params:\npathParams:${JSON.stringify( pathParams )},\nqueryParams:${JSON.stringify( queryParams )}, \nheaderParams:${JSON.stringify( headerParams )}, \nformParams:${JSON.stringify( formParams )}, \npostBody:${JSON.stringify(postBody)}`, 'DEBUG' ) let request = super.makeRequest( '/regions/{regionId}/instances/{instanceId}/webRules/{webRuleId}/webWhiteListRules/{webWhiteListRuleId}', 'GET', pathParams, queryParams, headerParams, formParams, postBody, contentTypes, accepts, returnType, callback ) return request.then( function (result) { if (callback && typeof callback === 'function') { return callback(null, result) } return result }, function (error) { if (callback && typeof callback === 'function') { return callback(error) } return Promise.reject(error) } ) } /** * 修改网站类规则的白名单规则 * @param {Object} opts - parameters * @param {string} opts.instanceId - 高防实例 Id * @param {string} opts.webRuleId - 网站规则 Id * @param {string} opts.webWhiteListRuleId - 网站类规则的白名单规则 Id * @param {webWhiteListRuleSpec} opts.webWhiteListRuleSpec - 修改网站类规则的白名单规则请求参数 * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param integer code 修改结果, 0: 修改失败, 1: 修改成功 * @param string message 修改失败时给出具体原因 */ modifyWhiteListRuleOfWebRule ( opts, regionId = this.config.regionId, callback ) { if (typeof regionId === 'function') { callback = regionId regionId = this.config.regionId } if (regionId === undefined || regionId === null) { throw new Error( "Missing the required parameter 'regionId' when calling modifyWhiteListRuleOfWebRule" ) } opts = opts || {} if (opts.instanceId === undefined || opts.instanceId === null) { throw new Error( "Missing the required parameter 'opts.instanceId' when calling modifyWhiteListRuleOfWebRule" ) } if (opts.webRuleId === undefined || opts.webRuleId === null) { throw new Error( "Missing the required parameter 'opts.webRuleId' when calling modifyWhiteListRuleOfWebRule" ) } if ( opts.webWhiteListRuleId === undefined || opts.webWhiteListRuleId === null ) { throw new Error( "Missing the required parameter 'opts.webWhiteListRuleId' when calling modifyWhiteListRuleOfWebRule" ) } if ( opts.webWhiteListRuleSpec === undefined || opts.webWhiteListRuleSpec === null ) { throw new Error( "Missing the required parameter 'opts.webWhiteListRuleSpec' when calling modifyWhiteListRuleOfWebRule" ) } let postBody = {} if ( opts.webWhiteListRuleSpec !== undefined && opts.webWhiteListRuleSpec !== null ) { postBody['webWhiteListRuleSpec'] = opts.webWhiteListRuleSpec } let queryParams = {} let pathParams = { regionId: regionId, instanceId: opts.instanceId, webRuleId: opts.webRuleId, webWhiteListRuleId: opts.webWhiteListRuleId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 ipanti/1.12.0' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call modifyWhiteListRuleOfWebRule with params:\npathParams:${JSON.stringify( pathParams )},\nqueryParams:${JSON.stringify( queryParams )}, \nheaderParams:${JSON.stringify( headerParams )}, \nformParams:${JSON.stringify( formParams )}, \npostBody:${JSON.stringify(postBody)}`, 'DEBUG' ) let request = super.makeRequest( '/regions/{regionId}/instances/{instanceId}/webRules/{webRuleId}/webWhiteListRules/{webWhiteListRuleId}', 'PATCH', pathParams, queryParams, headerParams, formParams, postBody, contentTypes, accepts, returnType, callback ) return request.then( function (result) { if (callback && typeof callback === 'function') { return callback(null, result) } return result }, function (error) { if (callback && typeof callback === 'function') { return callback(error) } return Promise.reject(error) } ) } /** * 删除网站类规则的白名单规则, 批量操作时 webWhiteListRuleId 传多个, 以 ',' 分隔, 返回 result.code 为 1 表示操作成功, 为 0 时可能全部失败, 也可能部分失败 * @param {Object} opts - parameters * @param {string} opts.instanceId - 高防实例 Id * @param {string} opts.webRuleId - 网站规则 Id * @param {string} opts.webWhiteListRuleId - 网站类规则的白名单规则 Id * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param integer code 删除结果, 0: 删除失败, 1: 删除成功 * @param string message 删除失败时给出具体原因 */ deleteWhiteListRuleOfWebRule ( opts, regionId = this.config.regionId, callback ) { if (typeof regionId === 'function') { callback = regionId regionId = this.config.regionId } if (regionId === undefined || regionId === null) { throw new Error( "Missing the required parameter 'regionId' when calling deleteWhiteListRuleOfWebRule" ) } opts = opts || {} if (opts.instanceId === undefined || opts.instanceId === null) { throw new Error( "Missing the required parameter 'opts.instanceId' when calling deleteWhiteListRuleOfWebRule" ) } if (opts.webRuleId === undefined || opts.webRuleId === null) { throw new Error( "Missing the required parameter 'opts.webRuleId' when calling deleteWhiteListRuleOfWebRule" ) } if ( opts.webWhiteListRuleId === undefined || opts.webWhiteListRuleId === null ) { throw new Error( "Missing the required parameter 'opts.webWhiteListRuleId' when calling deleteWhiteListRuleOfWebRule" ) } let postBody = null let queryParams = {} let pathParams = { regionId: regionId, instanceId: opts.instanceId, webRuleId: opts.webRuleId, webWhiteListRuleId: opts.webWhiteListRuleId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 ipanti/1.12.0' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call deleteWhiteListRuleOfWebRule with params:\npathParams:${JSON.stringify( pathParams )},\nqueryParams:${JSON.stringify( queryParams )}, \nheaderParams:${JSON.stringify( headerParams )}, \nformParams:${JSON.stringify( formParams )}, \npostBody:${JSON.stringify(postBody)}`, 'DEBUG' ) let request = super.makeRequest( '/regions/{regionId}/instances/{instanceId}/webRules/{webRuleId}/webWhiteListRules/{webWhiteListRuleId}', 'DELETE', pathParams, queryParams, headerParams, formParams, postBody, contentTypes, accepts, returnType, callback ) return request.then( function (result) { if (callback && typeof callback === 'function') { return callback(null, result) } return result }, function (error) { if (callback && typeof callback === 'function') { return callback(error) } return Promise.reject(error) } ) } /** * 开启网站类规则的白名单 * @param {Object} opts - parameters * @param {string} opts.instanceId - 高防实例 Id * @param {string} opts.webRuleId - 网站规则 Id * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param integer code 开启结果, 0: 开启失败, 1: 开启成功 * @param string message 开启失败时给出具体原因 */ enableWebRuleWhiteList (opts, regionId = this.config.regionId, callback) { if (typeof regionId === 'function') { callback = regionId regionId = this.config.regionId } if (regionId === undefined || regionId === null) { throw new Error( "Missing the required parameter 'regionId' when calling enableWebRuleWhiteList" ) } opts = opts || {} if (opts.instanceId === undefined || opts.instanceId === null) { throw new Error( "Missing the required parameter 'opts.instanceId' when calling enableWebRuleWhiteList" ) } if (opts.webRuleId === undefined || opts.webRuleId === null) { throw new Error( "Missing the required parameter 'opts.webRuleId' when calling enableWebRuleWhiteList" ) } let postBody = {} let queryParams = {} let pathParams = { regionId: regionId, instanceId: opts.instanceId, webRuleId: opts.webRuleId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 ipanti/1.12.0' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call enableWebRuleWhiteList with params:\npathParams:${JSON.stringify( pathParams )},\nqueryParams:${JSON.stringify( queryParams )}, \nheaderParams:${JSON.stringify( headerParams )}, \nformParams:${JSON.stringify( formParams )}, \npostBody:${JSON.stringify(postBody)}`, 'DEBUG' ) let request = super.makeRequest( '/regions/{regionId}/instances/{instanceId}/webRules/{webRuleId}:enableWebRuleWhiteList', 'POST', pathParams, queryParams, headerParams, formParams, postBody, contentTypes, accepts, returnType, callback ) return request.then( function (result) { if (callback && typeof callback === 'function') { return callback(null, result) } return result }, function (error) { if (callback && typeof callback === 'function') { return callback(error) } return Promise.reject(error) } ) } /** * 开启网站类规则的白名单规则, 批量操作时 webWhiteListRuleId 传多个, 以 ',' 分隔, 返回 result.code 为 1 表示操作成功, 为 0 时可能全部失败, 也可能部分失败 * @param {Object} opts - parameters * @param {string} opts.instanceId - 高防实例 Id * @param {string} opts.webRuleId - 网站规则 Id * @param {string} opts.webWhiteListRuleId - 网站类规则的白名单规则 Id * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param integer code 开启结果, 0: 开启失败, 1: 开启成功 * @param string message 开启失败时给出具体原因 */ enableWhiteListRuleOfWebRule ( opts, regionId = this.config.regionId, callback ) { if (typeof regionId === 'function') { callback = regionId regionId = this.config.regionId } if (regionId === undefined || regionId === null) { throw new Error( "Missing the required parameter 'regionId' when calling enableWhiteListRuleOfWebRule" ) } opts = opts || {} if (opts.instanceId === undefined || opts.instanceId === null) { throw new Error( "Missing the required parameter 'opts.instanceId' when calling enableWhiteListRuleOfWebRule" ) } if (opts.webRuleId === undefined || opts.webRuleId === null) { throw new Error( "Missing the required parameter 'opts.webRuleId' when calling enableWhiteListRuleOfWebRule" ) } if ( opts.webWhiteListRuleId === undefined || opts.webWhiteListRuleId === null ) { throw new Error( "Missing the required parameter 'opts.webWhiteListRuleId' when calling enableWhiteListRuleOfWebRule" ) } let postBody = {} let queryParams = {} let pathParams = { regionId: regionId, instanceId: opts.instanceId, webRuleId: opts.webRuleId, webWhiteListRuleId: opts.webWhiteListRuleId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 ipanti/1.12.0' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call enableWhiteListRuleOfWebRule with params:\npathParams:${JSON.stringify( pathParams )},\nqueryParams:${JSON.stringify( queryParams )}, \nheaderParams:${JSON.stringify( headerParams )}, \nformParams:${JSON.stringify( formParams )}, \npostBody:${JSON.stringify(postBody)}`, 'DEBUG' ) let request = super.makeRequest( '/regions/{regionId}/instances/{instanceId}/webRules/{webRuleId}/webWhiteListRules/{webWhiteListRuleId}:enable', 'POST', pathParams, queryParams, headerParams, formParams, postBody, contentTypes, accepts, returnType, callback ) return request.then( function (result) { if (callback && typeof callback === 'function') { return callback(null, result) } return result }, function (error) { if (callback && typeof callback === 'function') { return callback(error) } return Promise.reject(error) } ) } /** * 关闭网站类规则的白名单 * @param {Object} opts - parameters * @param {string} opts.instanceId - 高防实例 Id * @param {string} opts.webRuleId - 网站规则 Id * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param integer code 关闭结果, 0: 关闭失败, 1: 关闭成功 * @param string message 关闭失败时给出具体原因 */ disableWebRuleWhiteList (opts, regionId = this.config.regionId, callback) { if (typeof regionId === 'function') { callback = regionId regionId = this.config.regionId } if (regionId === undefined || regionId === null) { throw new Error( "Missing the required parameter 'regionId' when calling disableWebRuleWhiteList" ) } opts = opts || {} if (opts.instanceId === undefined || opts.instanceId === null) { throw new Error( "Missing the required parameter 'opts.instanceId' when calling disableWebRuleWhiteList" ) } if (opts.webRuleId === undefined || opts.webRuleId === null) { throw new Error( "Missing the required parameter 'opts.webRuleId' when calling disableWebRuleWhiteList" ) } let postBody = {} let queryParams = {} let pathParams = { regionId: regionId, instanceId: opts.instanceId, webRuleId: opts.webRuleId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 ipanti/1.12.0' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call disableWebRuleWhiteList with params:\npathParams:${JSON.stringify( pathParams )},\nqueryParams:${JSON.stringify( queryParams )}, \nheaderParams:${JSON.stringify( headerParams )}, \nformParams:${JSON.stringify( formParams )}, \npostBody:${JSON.stringify(postBody)}`, 'DEBUG' ) let request = super.makeRequest( '/regions/{regionId}/instances/{instanceId}/webRules/{webRuleId}:disableWebRuleWhiteList', 'POST', pathParams, queryParams, headerParams, formParams, postBody, contentTypes, accepts, returnType, callback ) return request.then( function (result) { if (callback && typeof callback === 'function') { return callback(null, result) } return result }, function (error) { if (callback && typeof callback === 'function') { return callback(error) } return Promise.reject(error) } ) } /** * 关闭网站类规则的白名单规则, 批量操作时 webWhiteListRuleId 传多个, 以 ',' 分隔, 返回 result.code 为 1 表示操作成功, 为 0 时可能全部失败, 也可能部分失败 * @param {Object} opts - parameters * @param {string} opts.instanceId - 高防实例 Id * @param {string} opts.webRuleId - 网站规则 Id * @param {string} opts.webWhiteListRuleId - 网站类规则的白名单规则 Id * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param integer code 关闭结果, 0: 关闭失败, 1: 关闭成功 * @param string message 关闭失败时给出具体原因 */ disableWhiteListRuleOfWebRule ( opts, regionId = this.config.regionId, callback ) { if (typeof regionId === 'function') { callback = regionId regionId = this.config.regionId } if (regionId === undefined || regionId === null) { throw new Error( "Missing the required parameter 'regionId' when calling disableWhiteListRuleOfWebRule" ) } opts = opts || {} if (opts.instanceId === undefined || opts.instanceId === null) { throw new Error( "Missing the required parameter 'opts.instanceId' when calling disableWhiteListRuleOfWebRule" ) } if (opts.webRuleId === undefined || opts.webRuleId === null) { throw new Error( "Missing the required parameter 'opts.webRuleId' when calling disableWhiteListRuleOfWebRule" ) } if ( opts.webWhiteListRuleId === undefined || opts.webWhiteListRuleId === null ) { throw new Error( "Missing the required parameter 'opts.webWhiteListRuleId' when calling disableWhiteListRuleOfWebRule" ) } let postBody = {} let queryParams = {} let pathParams = { regionId: regionId, instanceId: opts.instanceId, webRuleId: opts.webRuleId, webWhiteListRuleId: opts.webWhiteListRuleId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 ipanti/1.12.0' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call disableWhiteListRuleOfWebRule with params:\npathParams:${JSON.stringify( pathParams )},\nqueryParams:${JSON.stringify( queryParams )}, \nheaderParams:${JSON.stringify( headerParams )}, \nformParams:${JSON.stringify( formParams )}, \npostBody:${JSON.stringify(postBody)}`, 'DEBUG' ) let request = super.makeRequest( '/regions/{regionId}/instances/{instanceId}/webRules/{webRuleId}/webWhiteListRules/{webWhiteListRuleId}:disable', 'POST', pathParams, queryParams, headerParams, formParams, postBody, contentTypes, accepts, returnType, callback ) return request.then( function (result) { if (callback && typeof callback === 'function') { return callback(null, result) } return result }, function (error) { if (callback && typeof callback === 'function') { return callback(error) } return Promise.reject(error) } ) } /** * 查询网站类转发规则 Geo 模式的黑名单可设置区域编码 * @param {Object} opts - parameters * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param country dataList */ describeWebRuleBlackListGeoAreas ( opts, regionId = this.config.regionId, callback ) { if (typeof regionId === 'function') { callback = regionId regionId = this.config.regionId } if (regionId === undefined || regionId === null) { throw new Error( "Missing the required parameter 'regionId' when calling describeWebRuleBlackListGeoAreas" ) } opts = opts || {} let postBody = null let queryParams = {} let pathParams = { regionId: regionId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 ipanti/1.12.0' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call describeWebRuleBlackListGeoAreas with params:\npathParams:${JSON.stringify( pathParams )},\nqueryParams:${JSON.stringify( queryParams )}, \nheaderParams:${JSON.stringify( headerParams )}, \nformParams:${JSON.stringify( formParams )}, \npostBody:${JSON.stringify(postBody)}`, 'DEBUG' ) let request = super.makeRequest( '/regions/{regionId}/describeWebRuleBlackListGeoAreas', 'GET', pathParams, queryParams, headerParams, formParams, postBody, contentTypes, accepts, returnType, callback ) return request.then( function (result) { if (callback && typeof callback === 'function') { return callback(null, result) } return result }, function (error) { if (callback && typeof callback === 'function') { return callback(error) } return Promise.reject(error) } ) } /** * 查询网站类转发规则 Geo 模式的白名单可设置区域编码 * @param {Object} opts - parameters * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param country dataList */ describeWebRuleWhiteListGeoAreas ( opts, regionId = this.config.regionId, callback ) { if (typeof regionId === 'function') { callback = regionId regionId = this.config.regionId } if (regionId === undefined || regionId === null) { throw new Error( "Missing the required parameter 'regionId' when calling describeWebRuleWhiteListGeoAreas" ) } opts = opts || {} let postBody = null let queryParams = {} let pathParams = { regionId: regionId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 ipanti/1.12.0' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call describeWebRuleWhiteListGeoAreas with params:\npathParams:${JSON.stringify( pathParams )},\nqueryParams:${JSON.stringify( queryParams )}, \nheaderParams:${JSON.stringify( headerParams )}, \nformParams:${JSON.stringify( formParams )}, \npostBody:${JSON.stringify(postBody)}`, 'DEBUG' ) let request = super.makeRequest( '/regions/{regionId}/describeWebRuleWhiteListGeoAreas', 'GET', pathParams, queryParams, headerParams, formParams, postBody, contentTypes, accepts, returnType, callback ) return request.then( function (result) { if (callback && typeof callback === 'function') { return callback(null, result) } return result }, function (error) { if (callback && typeof callback === 'function') { return callback(error) } return Promise.reject(error) } ) } /** * 查询网站类转发规则按地域回源配置 geoRsRoute 可设置的区域 * @param {Object} opts - parameters * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param country dataList */ describeWebRuleRSGeoAreas (opts, regionId = this.config.regionId, callback) { if (typeof regionId === 'function') { callback = regionId regionId = this.config.regionId } if (regionId === undefined || regionId === null) { throw new Error( "Missing the required parameter 'regionId' when calling describeWebRuleRSGeoAreas" ) } opts = opts || {} let postBody = null let queryParams = {} let pathParams = { regionId: regionId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 ipanti/1.12.0' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call describeWebRuleRSGeoAreas with params:\npathParams:${JSON.stringify( pathParams )},\nqueryParams:${JSON.stringify( queryParams )}, \nheaderParams:${JSON.stringify( headerParams )}, \nformParams:${JSON.stringify( formParams )}, \npostBody:${JSON.stringify(postBody)}`, 'DEBUG' ) let request = super.makeRequest( '/regions/{regionId}/describeWebRuleRSGeoAreas', 'GET', pathParams, queryParams, headerParams, formParams, postBody, contentTypes, accepts, returnType, callback ) return request.then( function (result) { if (callback && typeof callback === 'function') { return callback(null, result) } return result }, function (error) { if (callback && typeof callback === 'function') { return callback(error) } return Promise.reject(error) } ) } } module.exports = IPANTI