npmci/ts/connector.cloudly/cloudlyconnector.ts

36 lines
946 B
TypeScript
Raw Normal View History

2019-08-29 18:26:23 +00:00
import * as plugins from '../npmci.plugins';
2019-09-01 11:51:11 +00:00
import { Npmci } from '../npmci.classes.npmci';
2019-08-29 18:56:02 +00:00
import { logger } from '../npmci.logging';
2019-08-29 18:26:23 +00:00
/**
2019-08-29 18:56:02 +00:00
* connects to cloudly
2019-08-29 18:26:23 +00:00
*/
export class CloudlyConnector {
2019-08-29 18:56:02 +00:00
public npmciRef: Npmci;
constructor(npmciRefArg: Npmci) {
this.npmciRef = npmciRefArg;
}
2021-05-14 18:11:12 +00:00
public async announceDockerContainer(
optionsArg: plugins.servezoneInterfaces.version.IVersionData
) {
2019-08-29 18:56:02 +00:00
const cloudlyUrl = this.npmciRef.npmciConfig.getConfig().urlCloudly;
if (!cloudlyUrl) {
2019-09-01 11:51:11 +00:00
logger.log(
'warn',
'no cloudly url provided. Thus we cannot announce the newly built Dockerimage!'
);
2019-08-29 18:56:02 +00:00
return;
}
2019-09-01 11:51:11 +00:00
2021-05-14 18:11:12 +00:00
const typedrequest = new plugins.typedrequest.TypedRequest<plugins.servezoneInterfaces.request.version.IRequest_Any_Cloudly_VersionManager_Update>(
`https://${cloudlyUrl}/versionmanager`,
'update'
);
2019-08-29 18:56:02 +00:00
2019-09-01 11:51:11 +00:00
const response = await typedrequest.fire(optionsArg);
2019-08-29 18:56:02 +00:00
}
2019-08-29 18:38:44 +00:00
}