/* * Copyright 2018 JDCLOUD.COM * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http:#www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * * 依赖 * 云部署依赖相关接口 * * OpenAPI spec version: v1 * Contact: * * NOTE: This class is auto generated by the jdcloud code generator program. */ require('../../../lib/node_loader') var JDCloud = require('../../../lib/core') var Service = JDCloud.Service var serviceId = 'deploy' Service._services[serviceId] = true /** * deploy service. * @version 1.0.0 */ JDCloud.DEPLOY = class DEPLOY extends Service { constructor (options = {}) { options._defaultEndpoint = {} options._defaultEndpoint.protocol = options._defaultEndpoint.protocol || 'https' options._defaultEndpoint.host = options._defaultEndpoint.host || 'deploy.jdcloud-api.com' options.basePath = '/v1' // 默认要设为空"" super(serviceId, options) } /** * 批量查询应用的信息,此接口支持分页查询,默认每页20条 * @param {Object} opts - parameters * @param {integer} [opts.pageNumber] - 页码;默认为1 optional * @param {integer} [opts.pageSize] - 分页大小;默认为20;取值范围[10, 100] optional * @param {filter} [opts.filters] - appId - 应用ID,精确匹配 appName - 应用名,精确匹配 platform - 部署平台,精确匹配 optional * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param app apps * @param number totalCount */ describeApps (opts, regionId = this.config.regionId, callback) { if (typeof regionId === 'function') { callback = regionId regionId = this.config.regionId } if (regionId === undefined || regionId === null) { throw new Error( "Missing the required parameter 'regionId' when calling describeApps" ) } opts = opts || {} let postBody = null let queryParams = {} if (opts.pageNumber !== undefined && opts.pageNumber !== null) { queryParams['pageNumber'] = opts.pageNumber } if (opts.pageSize !== undefined && opts.pageSize !== null) { queryParams['pageSize'] = opts.pageSize } Object.assign(queryParams, this.buildFilterParam(opts.filters, 'filters')) let pathParams = { regionId: regionId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 deploy/1.0.0' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call describeApps with params:\npathParams:${JSON.stringify( pathParams )},\nqueryParams:${JSON.stringify( queryParams )}, \nheaderParams:${JSON.stringify( headerParams )}, \nformParams:${JSON.stringify( formParams )}, \npostBody:${JSON.stringify(postBody)}`, 'DEBUG' ) let request = this.makeRequest( '/regions/{regionId}/apps', 'GET', pathParams, queryParams, headerParams, formParams, postBody, contentTypes, accepts, returnType, callback ) return request.then( function (result) { if (callback && typeof callback === 'function') { return callback(null, result) } return result }, function (error) { if (callback && typeof callback === 'function') { return callback(error) } return Promise.reject(error) } ) } /** * 查询一个应用的信息 * @param {Object} opts - parameters * @param {string} opts.appId - App Id * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param app app */ describeApp (opts, regionId = this.config.regionId, callback) { if (typeof regionId === 'function') { callback = regionId regionId = this.config.regionId } if (regionId === undefined || regionId === null) { throw new Error( "Missing the required parameter 'regionId' when calling describeApp" ) } opts = opts || {} if (opts.appId === undefined || opts.appId === null) { throw new Error( "Missing the required parameter 'opts.appId' when calling describeApp" ) } let postBody = null let queryParams = {} let pathParams = { regionId: regionId, appId: opts.appId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 deploy/1.0.0' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call describeApp with params:\npathParams:${JSON.stringify( pathParams )},\nqueryParams:${JSON.stringify( queryParams )}, \nheaderParams:${JSON.stringify( headerParams )}, \nformParams:${JSON.stringify( formParams )}, \npostBody:${JSON.stringify(postBody)}`, 'DEBUG' ) let request = this.makeRequest( '/regions/{regionId}/app/{appId}', 'GET', pathParams, queryParams, headerParams, formParams, postBody, contentTypes, accepts, returnType, callback ) return request.then( function (result) { if (callback && typeof callback === 'function') { return callback(null, result) } return result }, function (error) { if (callback && typeof callback === 'function') { return callback(error) } return Promise.reject(error) } ) } /** * 创建部署任务 * @param {Object} opts - parameters * @param {string} opts.groupId - 部署组ID,部署组的唯一标识 * @param {string} [opts.desc] - 描述 optional * @param {integer} opts.deploySource - 部署来源:1url,2云编译,3云存储 * @param {string} [opts.deployCmd] - 部署操作 optional * @param {integer} [opts.cmdSource] - 1使用输入的操作,2使用程序自带操作 optional * @param {integer} [opts.cmdType] - 部署操作展示格式:1form,2ymal optional * @param {integer} [opts.productType] - 项目类型 1tomcat,2 optional * @param {string} [opts.downloadUrl] - 下载url optional * @param {string} [opts.md5] - md5 optional * @param {string} [opts.compileProject] - 云编译项目名 optional * @param {string} [opts.compileSeries] - 云编译构建序号 optional * @param {string} [opts.ossSpace] - 云存储空间 optional * @param {string} [opts.ossDir] - 云存储目录 optional * @param {integer} [opts.fileType] - 文件类型:1.tar,2.zip,3.tar.gz optional * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param string deployId 上线单ID */ createDeploy (opts, regionId = this.config.regionId, callback) { if (typeof regionId === 'function') { callback = regionId regionId = this.config.regionId } if (regionId === undefined || regionId === null) { throw new Error( "Missing the required parameter 'regionId' when calling createDeploy" ) } opts = opts || {} if (opts.groupId === undefined || opts.groupId === null) { throw new Error( "Missing the required parameter 'opts.groupId' when calling createDeploy" ) } if (opts.deploySource === undefined || opts.deploySource === null) { throw new Error( "Missing the required parameter 'opts.deploySource' when calling createDeploy" ) } let postBody = {} if (opts.groupId !== undefined && opts.groupId !== null) { postBody['groupId'] = opts.groupId } if (opts.desc !== undefined && opts.desc !== null) { postBody['desc'] = opts.desc } if (opts.deploySource !== undefined && opts.deploySource !== null) { postBody['deploySource'] = opts.deploySource } if (opts.deployCmd !== undefined && opts.deployCmd !== null) { postBody['deployCmd'] = opts.deployCmd } if (opts.cmdSource !== undefined && opts.cmdSource !== null) { postBody['cmdSource'] = opts.cmdSource } if (opts.cmdType !== undefined && opts.cmdType !== null) { postBody['cmdType'] = opts.cmdType } if (opts.productType !== undefined && opts.productType !== null) { postBody['productType'] = opts.productType } if (opts.downloadUrl !== undefined && opts.downloadUrl !== null) { postBody['downloadUrl'] = opts.downloadUrl } if (opts.md5 !== undefined && opts.md5 !== null) { postBody['md5'] = opts.md5 } if (opts.compileProject !== undefined && opts.compileProject !== null) { postBody['compileProject'] = opts.compileProject } if (opts.compileSeries !== undefined && opts.compileSeries !== null) { postBody['compileSeries'] = opts.compileSeries } if (opts.ossSpace !== undefined && opts.ossSpace !== null) { postBody['ossSpace'] = opts.ossSpace } if (opts.ossDir !== undefined && opts.ossDir !== null) { postBody['ossDir'] = opts.ossDir } if (opts.fileType !== undefined && opts.fileType !== null) { postBody['fileType'] = opts.fileType } let queryParams = {} let pathParams = { regionId: regionId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 deploy/1.0.0' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call createDeploy with params:\npathParams:${JSON.stringify( pathParams )},\nqueryParams:${JSON.stringify( queryParams )}, \nheaderParams:${JSON.stringify( headerParams )}, \nformParams:${JSON.stringify( formParams )}, \npostBody:${JSON.stringify(postBody)}`, 'DEBUG' ) let request = this.makeRequest( '/regions/{regionId}/deploy', 'POST', pathParams, queryParams, headerParams, formParams, postBody, contentTypes, accepts, returnType, callback ) return request.then( function (result) { if (callback && typeof callback === 'function') { return callback(null, result) } return result }, function (error) { if (callback && typeof callback === 'function') { return callback(error) } return Promise.reject(error) } ) } /** * 查询一个部署任务详情 * @param {Object} opts - parameters * @param {string} opts.deployId - Deploy Id * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param deploy deploy */ describeDeploy (opts, regionId = this.config.regionId, callback) { if (typeof regionId === 'function') { callback = regionId regionId = this.config.regionId } if (regionId === undefined || regionId === null) { throw new Error( "Missing the required parameter 'regionId' when calling describeDeploy" ) } opts = opts || {} if (opts.deployId === undefined || opts.deployId === null) { throw new Error( "Missing the required parameter 'opts.deployId' when calling describeDeploy" ) } let postBody = null let queryParams = {} let pathParams = { regionId: regionId, deployId: opts.deployId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 deploy/1.0.0' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call describeDeploy with params:\npathParams:${JSON.stringify( pathParams )},\nqueryParams:${JSON.stringify( queryParams )}, \nheaderParams:${JSON.stringify( headerParams )}, \nformParams:${JSON.stringify( formParams )}, \npostBody:${JSON.stringify(postBody)}`, 'DEBUG' ) let request = this.makeRequest( '/regions/{regionId}/deploy/{deployId}', 'GET', pathParams, queryParams, headerParams, formParams, postBody, contentTypes, accepts, returnType, callback ) return request.then( function (result) { if (callback && typeof callback === 'function') { return callback(null, result) } return result }, function (error) { if (callback && typeof callback === 'function') { return callback(error) } return Promise.reject(error) } ) } /** * 批量查询部署组的信息,此接口支持分页查询,默认每页20条 * @param {Object} opts - parameters * @param {integer} [opts.pageNumber] - 页码;默认为1 optional * @param {integer} [opts.pageSize] - 分页大小;默认为20;取值范围[10, 100] optional * @param {filter} [opts.filters] - appId - 应用ID,精确匹配 groupId - 部署组ID,精确匹配 groupName - 部署组名,精确匹配 optional * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param group groups * @param number totalCount */ describeGroups (opts, regionId = this.config.regionId, callback) { if (typeof regionId === 'function') { callback = regionId regionId = this.config.regionId } if (regionId === undefined || regionId === null) { throw new Error( "Missing the required parameter 'regionId' when calling describeGroups" ) } opts = opts || {} let postBody = null let queryParams = {} if (opts.pageNumber !== undefined && opts.pageNumber !== null) { queryParams['pageNumber'] = opts.pageNumber } if (opts.pageSize !== undefined && opts.pageSize !== null) { queryParams['pageSize'] = opts.pageSize } Object.assign(queryParams, this.buildFilterParam(opts.filters, 'filters')) let pathParams = { regionId: regionId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 deploy/1.0.0' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call describeGroups with params:\npathParams:${JSON.stringify( pathParams )},\nqueryParams:${JSON.stringify( queryParams )}, \nheaderParams:${JSON.stringify( headerParams )}, \nformParams:${JSON.stringify( formParams )}, \npostBody:${JSON.stringify(postBody)}`, 'DEBUG' ) let request = this.makeRequest( '/regions/{regionId}/groups', 'GET', pathParams, queryParams, headerParams, formParams, postBody, contentTypes, accepts, returnType, callback ) return request.then( function (result) { if (callback && typeof callback === 'function') { return callback(null, result) } return result }, function (error) { if (callback && typeof callback === 'function') { return callback(error) } return Promise.reject(error) } ) } /** * 查询一个部署组的信息 * @param {Object} opts - parameters * @param {string} opts.groupId - Group Id * @param {string} regionId - ID of the region * @param {string} callback - callback @return {Object} result * @param group group */ describeGroup (opts, regionId = this.config.regionId, callback) { if (typeof regionId === 'function') { callback = regionId regionId = this.config.regionId } if (regionId === undefined || regionId === null) { throw new Error( "Missing the required parameter 'regionId' when calling describeGroup" ) } opts = opts || {} if (opts.groupId === undefined || opts.groupId === null) { throw new Error( "Missing the required parameter 'opts.groupId' when calling describeGroup" ) } let postBody = null let queryParams = {} let pathParams = { regionId: regionId, groupId: opts.groupId } let headerParams = { 'User-Agent': 'JdcloudSdkNode/1.0.0 deploy/1.0.0' } let contentTypes = ['application/json'] let accepts = ['application/json'] // 扩展自定义头 if (opts['x-extra-header']) { for (let extraHeader in opts['x-extra-header']) { headerParams[extraHeader] = opts['x-extra-header'][extraHeader] } if (Array.isArray(opts['x-extra-header']['content-type'])) { contentTypes = opts['x-extra-header']['content-type'] } else if (typeof opts['x-extra-header']['content-type'] === 'string') { contentTypes = opts['x-extra-header']['content-type'].split(',') } if (Array.isArray(opts['x-extra-header']['accept'])) { accepts = opts['x-extra-header']['accept'] } else if (typeof opts['x-extra-header']['accept'] === 'string') { accepts = opts['x-extra-header']['accept'].split(',') } } let formParams = {} let returnType = null this.config.logger( `call describeGroup with params:\npathParams:${JSON.stringify( pathParams )},\nqueryParams:${JSON.stringify( queryParams )}, \nheaderParams:${JSON.stringify( headerParams )}, \nformParams:${JSON.stringify( formParams )}, \npostBody:${JSON.stringify(postBody)}`, 'DEBUG' ) let request = this.makeRequest( '/regions/{regionId}/group/{groupId}', 'GET', pathParams, queryParams, headerParams, formParams, postBody, contentTypes, accepts, returnType, callback ) return request.then( function (result) { if (callback && typeof callback === 'function') { return callback(null, result) } return result }, function (error) { if (callback && typeof callback === 'function') { return callback(error) } return Promise.reject(error) } ) } } module.exports = JDCloud.DEPLOY