/* * 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. * * Trigger * Trigger 相关接口 * * 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 = 'fc' Service._services[serviceId] = true /** * fc service. * @version 1.0.2 */ class FC extends Service { constructor (options = {}) { options._defaultEndpoint = {} options._defaultEndpoint.protocol = options._defaultEndpoint.protocol || 'https' options._defaultEndpoint.host = options._defaultEndpoint.host || 'fc.jdcloud-api.com' options.basePath = '/v1' // 默认要设为空"" super(serviceId, options) } /** * 批量查询 function 的详细信息<br> 此接口支持分页查询,默认每页20条。 * @param {Object} opts - parameters * @param {string} opts.serviceName - Service Name * @param {integer} [opts.pageNumber] - 页码;默认为1 optional * @param {integer} [opts.pageSize] - 分页大小;默认为20;取值范围[10, 100] optional * @param {filter} [opts.filters] - name - 实例名称,模糊匹配,支持单个 optional * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param function functions * @param number totalCount */ describeFunctions (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 describeFunctions" ) } opts = opts || {} if (opts.serviceName === undefined || opts.serviceName === null) { throw new Error( "Missing the required parameter 'opts.serviceName' when calling describeFunctions" ) } let postBody = null let queryParams = {} if (opts.pageNumber !== undefined && opts.pageNumber !== null) { queryParams['pageNumber'] = opts.pageNumber } if (opts.pageSize !== undefined && opts.pageSize !== null) { queryParams['pageSize'] = opts.pageSize } Object.assign(queryParams, super.buildFilterParam(opts.filters, 'filters')) let pathParams = { regionId: regionId, serviceName: opts.serviceName } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 fc/1.0.2' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call describeFunctions 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}/services/{serviceName}/functions', '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.serviceName - Service Name * @param {functionSpec} opts.functionSpec - 函数 创建参数 * @param {string} [opts.clientToken] - 保证请求幂等性的字符串;最大长度64个ASCII字符 optional * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param string functionName */ createFunction (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 createFunction" ) } opts = opts || {} if (opts.serviceName === undefined || opts.serviceName === null) { throw new Error( "Missing the required parameter 'opts.serviceName' when calling createFunction" ) } if (opts.functionSpec === undefined || opts.functionSpec === null) { throw new Error( "Missing the required parameter 'opts.functionSpec' when calling createFunction" ) } let postBody = {} if (opts.functionSpec !== undefined && opts.functionSpec !== null) { postBody['functionSpec'] = opts.functionSpec } if (opts.clientToken !== undefined && opts.clientToken !== null) { postBody['clientToken'] = opts.clientToken } let queryParams = {} let pathParams = { regionId: regionId, serviceName: opts.serviceName } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 fc/1.0.2' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call createFunction 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}/services/{serviceName}/functions', '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.serviceName - Service Name * @param {string} opts.functionName - Function Name * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param function function */ describeFunction (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 describeFunction" ) } opts = opts || {} if (opts.serviceName === undefined || opts.serviceName === null) { throw new Error( "Missing the required parameter 'opts.serviceName' when calling describeFunction" ) } if (opts.functionName === undefined || opts.functionName === null) { throw new Error( "Missing the required parameter 'opts.functionName' when calling describeFunction" ) } let postBody = null let queryParams = {} let pathParams = { regionId: regionId, serviceName: opts.serviceName, functionName: opts.functionName } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 fc/1.0.2' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call describeFunction 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}/services/{serviceName}/functions/{functionName}', '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) } ) } /** * 修改 function * @param {Object} opts - parameters * @param {string} opts.serviceName - Service Name * @param {string} opts.functionName - Function Name * @param {code} [opts.code] - 修改后的代码 optional * @param {integer} [opts.timeout] - 修改后的超时时间 optional * @param {string} [opts.runtime] - 修改后的运行时语言 optional * @param {string} [opts.handler] - 修改后的函数执行入口 optional * @param {string} [opts.description] - 修改后的描述 optional * @param {array} [opts.envs] - 修改后的环境变量 optional * @param {number} [opts.cpu] - 修改后的cpu optional * @param {integer} [opts.memorySize] - 修改后的内存 optional * @param {integer} [opts.diskSize] - 修改后的磁盘 optional * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result */ updateFunction (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 updateFunction" ) } opts = opts || {} if (opts.serviceName === undefined || opts.serviceName === null) { throw new Error( "Missing the required parameter 'opts.serviceName' when calling updateFunction" ) } if (opts.functionName === undefined || opts.functionName === null) { throw new Error( "Missing the required parameter 'opts.functionName' when calling updateFunction" ) } let postBody = {} if (opts.code !== undefined && opts.code !== null) { postBody['code'] = opts.code } if (opts.timeout !== undefined && opts.timeout !== null) { postBody['timeout'] = opts.timeout } if (opts.runtime !== undefined && opts.runtime !== null) { postBody['runtime'] = opts.runtime } if (opts.handler !== undefined && opts.handler !== null) { postBody['handler'] = opts.handler } if (opts.description !== undefined && opts.description !== null) { postBody['description'] = opts.description } if (opts.envs !== undefined && opts.envs !== null) { postBody['envs'] = opts.envs } if (opts.cpu !== undefined && opts.cpu !== null) { postBody['cpu'] = opts.cpu } if (opts.memorySize !== undefined && opts.memorySize !== null) { postBody['memorySize'] = opts.memorySize } if (opts.diskSize !== undefined && opts.diskSize !== null) { postBody['diskSize'] = opts.diskSize } let queryParams = {} let pathParams = { regionId: regionId, serviceName: opts.serviceName, functionName: opts.functionName } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 fc/1.0.2' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call updateFunction 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}/services/{serviceName}/functions/{functionName}', '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) } ) } /** * 删除function [MFA enabled] * @param {Object} opts - parameters * @param {string} opts.serviceName - Service Name * @param {string} opts.functionName - Function Name * @param {boolean} [opts.deleteTrigger] - 触发器是否随函数删除 optional * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result */ deleteFunction (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 deleteFunction" ) } opts = opts || {} if (opts.serviceName === undefined || opts.serviceName === null) { throw new Error( "Missing the required parameter 'opts.serviceName' when calling deleteFunction" ) } if (opts.functionName === undefined || opts.functionName === null) { throw new Error( "Missing the required parameter 'opts.functionName' when calling deleteFunction" ) } let postBody = null let queryParams = {} if (opts.deleteTrigger !== undefined && opts.deleteTrigger !== null) { queryParams['deleteTrigger'] = opts.deleteTrigger } let pathParams = { regionId: regionId, serviceName: opts.serviceName, functionName: opts.functionName } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 fc/1.0.2' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call deleteFunction 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}/services/{serviceName}/functions/{functionName}', '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) } ) } /** * 查询一个 function 的代码地址 * @param {Object} opts - parameters * @param {string} opts.serviceName - Service Name * @param {string} opts.functionName - Function Name * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param string checkSum 函数部署包的 SHA256 哈希 * @param string url 代码地址 */ describeFunctionCode (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 describeFunctionCode" ) } opts = opts || {} if (opts.serviceName === undefined || opts.serviceName === null) { throw new Error( "Missing the required parameter 'opts.serviceName' when calling describeFunctionCode" ) } if (opts.functionName === undefined || opts.functionName === null) { throw new Error( "Missing the required parameter 'opts.functionName' when calling describeFunctionCode" ) } let postBody = null let queryParams = {} let pathParams = { regionId: regionId, serviceName: opts.serviceName, functionName: opts.functionName } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 fc/1.0.2' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call describeFunctionCode 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}/services/{serviceName}/functions/{functionName}/code', '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) } ) } /** * 获取所有的runtime * @param {Object} opts - parameters * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param string runtimes * @param integer totalCount 总数量 */ describeRuntimes (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 describeRuntimes" ) } opts = opts || {} let postBody = null let queryParams = {} let pathParams = { regionId: regionId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 fc/1.0.2' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call describeRuntimes 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}/runtimes', '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) } ) } /** * 触发函数执行 可以添加header参数 `x-fc-invocation-type`指定调用方式。 - Async 异步调用 - Sync 同步调用(暂不支持) 异步调用函数时,请求会立即返回 requestId。 <br> * @param {Object} opts - parameters * @param {string} opts.serviceName - Service Name * @param {string} opts.functionName - Function Name * @param {string} [opts.body] - 事件信息,以json格式表示,会在函数执行时作为参数传入,默认为{} optional * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result */ invokeFunction (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 invokeFunction" ) } opts = opts || {} if (opts.serviceName === undefined || opts.serviceName === null) { throw new Error( "Missing the required parameter 'opts.serviceName' when calling invokeFunction" ) } if (opts.functionName === undefined || opts.functionName === null) { throw new Error( "Missing the required parameter 'opts.functionName' when calling invokeFunction" ) } let postBody = {} if (opts.body !== undefined && opts.body !== null) { postBody['body'] = opts.body } let queryParams = {} let pathParams = { regionId: regionId, serviceName: opts.serviceName, functionName: opts.functionName } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 fc/1.0.2' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call invokeFunction 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}/services/{serviceName}/functions/{functionName}/invocations', '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) } ) } /** * 批量查询 instanceTypes 的详细信息<br>` 此接口支持分页查询,默认每页20条。 * @param {Object} opts - parameters * @param {integer} [opts.pageNumber] - 页码;默认为1 optional * @param {integer} [opts.pageSize] - 分页大小;默认为20;取值范围[10, 100] optional * @param {filter} [opts.filters] - cpu - vCpu,支持多个 memorySize: - 内存,支持多个 optional * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param instanceType instanceTypes * @param number totalCount */ describeInstanceTypes (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 describeInstanceTypes" ) } opts = opts || {} let postBody = null let queryParams = {} if (opts.pageNumber !== undefined && opts.pageNumber !== null) { queryParams['pageNumber'] = opts.pageNumber } if (opts.pageSize !== undefined && opts.pageSize !== null) { queryParams['pageSize'] = opts.pageSize } Object.assign(queryParams, super.buildFilterParam(opts.filters, 'filters')) let pathParams = { regionId: regionId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 fc/1.0.2' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call describeInstanceTypes 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}/instanceTypes', '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) } ) } /** * 批量查询 service 的详细信息<br> 此接口支持分页查询,默认每页20条。 * @param {Object} opts - parameters * @param {integer} [opts.pageNumber] - 页码;默认为1 optional * @param {integer} [opts.pageSize] - 分页大小;默认为20;取值范围[10, 100] optional * @param {filter} [opts.filters] - name - 服务名称,模糊匹配,支持单个 serviceId - 服务 ID, 精确匹配,支持多个 optional * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param service services * @param number totalCount */ describeServices (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 describeServices" ) } opts = opts || {} let postBody = null let queryParams = {} if (opts.pageNumber !== undefined && opts.pageNumber !== null) { queryParams['pageNumber'] = opts.pageNumber } if (opts.pageSize !== undefined && opts.pageSize !== null) { queryParams['pageSize'] = opts.pageSize } Object.assign(queryParams, super.buildFilterParam(opts.filters, 'filters')) let pathParams = { regionId: regionId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 fc/1.0.2' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call describeServices 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}/services', '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 {serviceSpec} opts.serviceSpec - 服务 创建参数 * @param {string} [opts.clientToken] - 保证请求幂等性的字符串;最大长度64个ASCII字符 optional * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param string serviceName */ createService (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 createService" ) } opts = opts || {} if (opts.serviceSpec === undefined || opts.serviceSpec === null) { throw new Error( "Missing the required parameter 'opts.serviceSpec' when calling createService" ) } let postBody = {} if (opts.serviceSpec !== undefined && opts.serviceSpec !== null) { postBody['serviceSpec'] = opts.serviceSpec } if (opts.clientToken !== undefined && opts.clientToken !== null) { postBody['clientToken'] = opts.clientToken } let queryParams = {} let pathParams = { regionId: regionId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 fc/1.0.2' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call createService 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}/services', '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) } ) } /** * 查询一个 service 的详细信息 * @param {Object} opts - parameters * @param {string} opts.serviceName - Service Name * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param service service */ describeService (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 describeService" ) } opts = opts || {} if (opts.serviceName === undefined || opts.serviceName === null) { throw new Error( "Missing the required parameter 'opts.serviceName' when calling describeService" ) } let postBody = null let queryParams = {} let pathParams = { regionId: regionId, serviceName: opts.serviceName } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 fc/1.0.2' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call describeService 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}/services/{serviceName}', '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) } ) } /** * 修改 service * @param {Object} opts - parameters * @param {string} opts.serviceName - Service Name * @param {string} [opts.description] - 修改后的描述 optional * @param {logConfig} [opts.logConfig] - 修改后的日志配置,不修改的话传空值,关闭日志集logTopicUid传空值。 optional * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result */ updateService (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 updateService" ) } opts = opts || {} if (opts.serviceName === undefined || opts.serviceName === null) { throw new Error( "Missing the required parameter 'opts.serviceName' when calling updateService" ) } let postBody = {} if (opts.description !== undefined && opts.description !== null) { postBody['description'] = opts.description } if (opts.logConfig !== undefined && opts.logConfig !== null) { postBody['logConfig'] = opts.logConfig } let queryParams = {} let pathParams = { regionId: regionId, serviceName: opts.serviceName } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 fc/1.0.2' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call updateService 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}/services/{serviceName}', '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) } ) } /** * 删除service [MFA enabled] * @param {Object} opts - parameters * @param {string} opts.serviceName - Service Name * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result */ deleteService (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 deleteService" ) } opts = opts || {} if (opts.serviceName === undefined || opts.serviceName === null) { throw new Error( "Missing the required parameter 'opts.serviceName' when calling deleteService" ) } let postBody = null let queryParams = {} let pathParams = { regionId: regionId, serviceName: opts.serviceName } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 fc/1.0.2' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call deleteService 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}/services/{serviceName}', '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.serviceName - 服务名称。 * @param {string} opts.functionName - 函数名称。 * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param trigger triggers * @param integer totalCount */ describeTriggers (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 describeTriggers" ) } opts = opts || {} if (opts.serviceName === undefined || opts.serviceName === null) { throw new Error( "Missing the required parameter 'opts.serviceName' when calling describeTriggers" ) } if (opts.functionName === undefined || opts.functionName === null) { throw new Error( "Missing the required parameter 'opts.functionName' when calling describeTriggers" ) } let postBody = null let queryParams = {} let pathParams = { regionId: regionId, serviceName: opts.serviceName, functionName: opts.functionName } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 fc/1.0.2' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call describeTriggers 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}/services/{serviceName}/functions/{functionName}/triggers', '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) } ) } /** * 创建触发器。 目前支持的触发器类型有: - oss ## 注意事项 - 一个函数下最多同时存在10个触发器。 - oss类型触发器会在对应的bucket中添加一个事件通知,若该bucket中已存在相同事件类型的事件通知,触发器可能无法生效。 - 创建多个相同类型的oss触发器,当对应的事件发生时,只有一个触发器会被调用。 - 若人为修改或删除了bucket中的事件通知,可能导致oss触发器失效。 * @param {Object} opts - parameters * @param {string} opts.serviceName - 服务名称。 * @param {string} opts.functionName - 函数名称。 * @param {triggerSpec} opts.triggerSpec - 触发器创建参数 * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param string triggerName */ createTrigger (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 createTrigger" ) } opts = opts || {} if (opts.serviceName === undefined || opts.serviceName === null) { throw new Error( "Missing the required parameter 'opts.serviceName' when calling createTrigger" ) } if (opts.functionName === undefined || opts.functionName === null) { throw new Error( "Missing the required parameter 'opts.functionName' when calling createTrigger" ) } if (opts.triggerSpec === undefined || opts.triggerSpec === null) { throw new Error( "Missing the required parameter 'opts.triggerSpec' when calling createTrigger" ) } let postBody = {} if (opts.triggerSpec !== undefined && opts.triggerSpec !== null) { postBody['triggerSpec'] = opts.triggerSpec } let queryParams = {} let pathParams = { regionId: regionId, serviceName: opts.serviceName, functionName: opts.functionName } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 fc/1.0.2' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call createTrigger 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}/services/{serviceName}/functions/{functionName}/triggers', '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.serviceName - 服务名称。 * @param {string} opts.functionName - 函数名称。 * @param {string} opts.triggerName - 触发器名称。 * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param trigger trigger */ describeTrigger (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 describeTrigger" ) } opts = opts || {} if (opts.serviceName === undefined || opts.serviceName === null) { throw new Error( "Missing the required parameter 'opts.serviceName' when calling describeTrigger" ) } if (opts.functionName === undefined || opts.functionName === null) { throw new Error( "Missing the required parameter 'opts.functionName' when calling describeTrigger" ) } if (opts.triggerName === undefined || opts.triggerName === null) { throw new Error( "Missing the required parameter 'opts.triggerName' when calling describeTrigger" ) } let postBody = null let queryParams = {} let pathParams = { regionId: regionId, serviceName: opts.serviceName, functionName: opts.functionName, triggerName: opts.triggerName } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 fc/1.0.2' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call describeTrigger 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}/services/{serviceName}/functions/{functionName}/triggers/{triggerName}', '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.serviceName - 服务名称。 * @param {string} opts.functionName - 函数名称。 * @param {string} opts.triggerName - 触发器名称。 * @param {string} [opts.description] - 修改后的描述 optional * @param {string} [opts.triggerConfig] - 修改后的配置 optional * @param {boolean} [opts.enable] - 是否启用或禁用触发器,默认为不更改触发器状态 optional * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result */ updateTrigger (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 updateTrigger" ) } opts = opts || {} if (opts.serviceName === undefined || opts.serviceName === null) { throw new Error( "Missing the required parameter 'opts.serviceName' when calling updateTrigger" ) } if (opts.functionName === undefined || opts.functionName === null) { throw new Error( "Missing the required parameter 'opts.functionName' when calling updateTrigger" ) } if (opts.triggerName === undefined || opts.triggerName === null) { throw new Error( "Missing the required parameter 'opts.triggerName' when calling updateTrigger" ) } let postBody = {} if (opts.description !== undefined && opts.description !== null) { postBody['description'] = opts.description } if (opts.triggerConfig !== undefined && opts.triggerConfig !== null) { postBody['triggerConfig'] = opts.triggerConfig } if (opts.enable !== undefined && opts.enable !== null) { postBody['enable'] = opts.enable } let queryParams = {} let pathParams = { regionId: regionId, serviceName: opts.serviceName, functionName: opts.functionName, triggerName: opts.triggerName } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 fc/1.0.2' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call updateTrigger 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}/services/{serviceName}/functions/{functionName}/triggers/{triggerName}', '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) } ) } /** * 删除触发器。 [MFA enabled] * @param {Object} opts - parameters * @param {string} opts.serviceName - 服务名称。 * @param {string} opts.functionName - 函数名称。 * @param {string} opts.triggerName - 触发器名称。 * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result */ deleteTrigger (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 deleteTrigger" ) } opts = opts || {} if (opts.serviceName === undefined || opts.serviceName === null) { throw new Error( "Missing the required parameter 'opts.serviceName' when calling deleteTrigger" ) } if (opts.functionName === undefined || opts.functionName === null) { throw new Error( "Missing the required parameter 'opts.functionName' when calling deleteTrigger" ) } if (opts.triggerName === undefined || opts.triggerName === null) { throw new Error( "Missing the required parameter 'opts.triggerName' when calling deleteTrigger" ) } let postBody = null let queryParams = {} let pathParams = { regionId: regionId, serviceName: opts.serviceName, functionName: opts.functionName, triggerName: opts.triggerName } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 fc/1.0.2' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call deleteTrigger 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}/services/{serviceName}/functions/{functionName}/triggers/{triggerName}', '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) } ) } } module.exports = FC