Files
certd/packages/libs/lib-jdcloud/src/repo/deploy/v1/deploy.js
T

786 lines
22 KiB
JavaScript
Raw Normal View History

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