@controlplane/cli
Version:
Control Plane Corporation CLI
1,195 lines • 33.9 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.stopReplica = exports.helmList = exports.helmDeployment = exports.workloadCron = exports.volumeNewSize = exports.volumeSnapshot = exports.volume = exports.auditctx = exports.replicas = exports.image = exports.flattenedAccessReport = exports.agent = exports.task = exports.flattenedPermissions = exports.quota = exports.spicedbcluster = exports.mk8s = exports.memcachecluster = exports.volumeset = exports.dbcluster = exports.workload = exports.deployment = exports.gvc = exports.ipset = exports.identity = exports.policy = exports.group = exports.user = exports.location = exports.event = exports.serviceaccount = exports.secret = exports.cloudaccount = exports.domain = exports.account = exports.org = exports.wellKnown = exports.humanizeDuration = exports.formatTimestamp = exports.formatKVs = exports.truncate = exports.named = void 0;
const _ = require("lodash");
const humanize_duration_1 = require("humanize-duration");
const links_1 = require("../util/links");
const objects_1 = require("../util/objects");
const DESCRIPTION_MAX_LENGTH = 40;
const defaultUnits = ['y', 'mo', 'w', 'd', 'h', 'm'];
const conversionRates = {
ms: 1,
s: 1000,
m: 1000 * 60,
h: 1000 * 60 * 60,
d: 1000 * 60 * 60 * 24,
w: 1000 * 60 * 60 * 24 * 7,
mo: 1000 * 60 * 60 * 24 * 30,
y: 1000 * 60 * 60 * 24 * 365,
};
function named(name) {
return {
name: name,
};
}
exports.named = named;
function truncate(prop, max, options) {
return (obj) => {
if (!obj || !obj[prop]) {
return '';
}
return _.truncate(obj[prop], {
length: max,
omission: '...',
});
};
}
exports.truncate = truncate;
function formatKVs(prop) {
return (obj) => {
if (!obj || !obj[prop]) {
return '';
}
let result = '';
for (let k of Object.keys(obj[prop]).sort()) {
// handle structured values too
let value = JSON.stringify(obj[prop][k]);
// trim line to lenght
const line = _.truncate(`${k}=${value}`, {
length: 80,
omission: '...',
});
result += line + '\n';
}
return result.slice(0, -1);
};
}
exports.formatKVs = formatKVs;
function formatIpSetLocations(obj) {
var _a;
let locations = [];
for (const location of ((_a = obj.spec) === null || _a === void 0 ? void 0 : _a.locations) || []) {
locations.push(`${(0, links_1.getLastPartOfLink)(location.name)},${location.retentionPolicy}`);
}
return locations.join('\n');
}
function formatGVCLocations(obj) {
var _a, _b, _c, _d;
let locations = [];
if ((_b = (_a = obj.spec) === null || _a === void 0 ? void 0 : _a.staticPlacement) === null || _b === void 0 ? void 0 : _b.locationLinks) {
for (let loc of obj.spec.staticPlacement.locationLinks) {
locations.push(loc.split('/').pop());
}
}
if ((_d = (_c = obj.spec) === null || _c === void 0 ? void 0 : _c.staticPlacement) === null || _d === void 0 ? void 0 : _d.locationQuery) {
locations.push('+');
}
return locations.join('\n');
}
function formatDBClusterLocations(obj) {
var _a, _b;
let locations = [];
// TODO change this when we have more than just postgres type
if ((_b = (_a = obj.spec) === null || _a === void 0 ? void 0 : _a.postgres) === null || _b === void 0 ? void 0 : _b.locations) {
for (let loc of obj.spec.postgres.locations) {
locations.push(loc.writable ? loc.name + ' (writable)' : loc.name);
}
}
return locations.join('\n');
}
function formatSpecLocations(obj) {
var _a, _b;
let locations = [];
if ((_a = obj.spec) === null || _a === void 0 ? void 0 : _a.locations) {
for (let loc of (_b = obj.spec) === null || _b === void 0 ? void 0 : _b.locations) {
locations.push(loc.split('/location/')[1]);
}
}
return locations.join('\n');
}
function getValueAt(jsonPath) {
return (obj) => {
if (!obj) {
return '';
}
return _.get(obj, jsonPath);
};
}
function link(rel) {
return (obj) => {
if (!obj || !obj.links) {
return '';
}
return (0, links_1.linksOf)(obj)[rel];
};
}
const formatMatches = (obj) => {
if (obj.target == 'all') {
return 'all';
}
let res = '';
if (obj.targetQuery) {
res += 'query,';
}
if (obj.targetLinks) {
res += 'links,';
}
return res.slice(0, -1);
};
const formatProviders = (obj) => {
let res = '';
if (obj.aws) {
res += 'aws,';
}
if (obj.gcp) {
res += 'gcp,';
}
if (obj.azure) {
res += 'azure,';
}
return res.slice(0, -1);
};
const formatSaKeys = (obj) => {
if (!obj || !obj.keys) {
return '';
}
let result = '';
for (let k of obj.keys) {
const line = `${k.name}`;
result += line + '\n';
}
return result.slice(0, -1);
};
const formatProviderInfo = (obj) => {
if (!obj || !obj.data) {
return '';
}
if (obj.provider == 'gcp') {
return obj.data.projectId;
}
if (obj.provider == 'aws') {
// arn:aws:iam::738753148043:role/cpln-coke"
return obj.data.roleArn;
}
return '';
};
function formatTimestamp(prop, options, now) {
return (obj) => {
if (!obj || !obj[prop]) {
return '';
}
let date = new Date(obj[prop]);
if (isNaN(date.getTime())) {
return obj[prop];
}
if (!now) {
now = new Date();
}
switch (options.ts) {
case 'age':
return humanizeDuration(now.getTime() - date.getTime()) + ' ago';
case 'iso':
return date.toISOString();
case 'local':
return date.toLocaleString();
default:
return date.toISOString();
}
};
}
exports.formatTimestamp = formatTimestamp;
function humanizeDuration(ms, options) {
// Merge provided options with default options
const finalOptions = {
round: false,
units: defaultUnits,
largest: 1,
...(options || {}),
};
// Floor the duration to the smallest unit
const flooredDuration = floorDuration(ms, finalOptions.units || defaultUnits);
// Note: If the duration is approximately 2 months, it will return "1 month" as an output
return (0, humanize_duration_1.humanizer)(finalOptions)(flooredDuration, finalOptions);
}
exports.humanizeDuration = humanizeDuration;
function floorDuration(milliseconds, units) {
// Get the smallest unit from the unit array
const smallestUnit = units[units.length - 1];
// Get the conversion rate for the smallest unit
const conversionRate = conversionRates[smallestUnit];
// Floor the duration to the nearest conversion rate
return Math.floor(milliseconds / conversionRate) * conversionRate;
}
exports.wellKnown = {
NAME: {
name: 'NAME',
},
LINK: {
name: 'LINK',
},
ORIGIN: {
name: 'ORIGIN',
},
STATUS: {
name: 'STATUS',
},
DESCRIPTION: {
name: 'DESCRIPTION',
},
AGE: {
name: 'AGE',
},
PROVIDER: {
name: 'PROVIDER',
},
ID: {
name: 'ID',
},
VERSION: {
name: 'VERSION',
},
CREATED: {
name: 'CREATED',
},
LAST_MODIFIED: {
name: 'MODIFIED',
},
ENDPOINT: {
name: 'ENDPOINT',
},
MODIFIED: {
name: 'MODIFIED',
},
ALIAS: {
name: 'ALIAS',
},
DOMAIN: {
name: 'DOMAIN',
},
TAGS: {
name: 'TAGS',
wrapWord: true,
},
};
function org(options) {
return {
columns: [
//
exports.wellKnown.NAME,
exports.wellKnown.DESCRIPTION,
exports.wellKnown.LINK,
exports.wellKnown.TAGS,
],
makeRow(obj) {
return [
//
obj.name,
truncate('description', DESCRIPTION_MAX_LENGTH, options),
link('self'),
formatKVs('tags'),
];
},
};
}
exports.org = org;
function account(options) {
return {
columns: [
//
exports.wellKnown.ID,
named('FULL NAME'),
named('ACCOUNT NAME'),
],
makeRow(obj) {
return [
//
obj.id,
obj.fullName,
obj.accountName,
];
},
};
}
exports.account = account;
function domain(options) {
return {
columns: [
//
exports.wellKnown.NAME,
exports.wellKnown.DESCRIPTION,
exports.wellKnown.TAGS,
],
makeRow(obj) {
return [
//
obj.name,
truncate('description', DESCRIPTION_MAX_LENGTH, options),
formatKVs('tags'),
];
},
};
}
exports.domain = domain;
function cloudaccount(options) {
return {
columns: [
//
exports.wellKnown.NAME,
exports.wellKnown.DESCRIPTION,
exports.wellKnown.PROVIDER,
named('INFO'),
exports.wellKnown.CREATED,
exports.wellKnown.TAGS,
],
makeRow(obj) {
return [
//
obj.name,
truncate('description', DESCRIPTION_MAX_LENGTH, options),
obj.provider,
formatProviderInfo,
formatTimestamp('created', options),
formatKVs('tags'),
];
},
};
}
exports.cloudaccount = cloudaccount;
function secret(options) {
return {
columns: [
//
exports.wellKnown.NAME,
exports.wellKnown.DESCRIPTION,
named('TYPE'),
exports.wellKnown.CREATED,
exports.wellKnown.TAGS,
],
makeRow(obj) {
return [
//
obj.name,
truncate('description', DESCRIPTION_MAX_LENGTH, options),
obj.type,
formatTimestamp('created', options),
formatKVs('tags'),
];
},
};
}
exports.secret = secret;
function serviceaccount(options) {
return {
columns: [
//
exports.wellKnown.NAME,
exports.wellKnown.DESCRIPTION,
exports.wellKnown.CREATED,
exports.wellKnown.ORIGIN,
named('KEYS'),
exports.wellKnown.TAGS,
],
makeRow(obj) {
return [
//
obj.name,
truncate('description', DESCRIPTION_MAX_LENGTH, options),
formatTimestamp('created', options),
obj.origin,
formatSaKeys,
formatKVs('tags'),
];
},
};
}
exports.serviceaccount = serviceaccount;
function event(options) {
return {
columns: [
//
exports.wellKnown.ID,
exports.wellKnown.STATUS,
exports.wellKnown.CREATED,
{
name: 'CONTEXT',
},
],
makeRow(obj) {
return [
//
obj.id,
obj.status,
formatTimestamp('created', options),
formatKVs('context'),
];
},
};
}
exports.event = event;
function location(options) {
return {
columns: [
//
exports.wellKnown.NAME,
exports.wellKnown.DESCRIPTION,
exports.wellKnown.PROVIDER,
named('ENABLED'),
named('REGION'),
exports.wellKnown.ORIGIN,
exports.wellKnown.TAGS,
],
makeRow(obj) {
var _a;
return [
//
obj.name,
truncate('description', DESCRIPTION_MAX_LENGTH, options),
obj.provider,
!!((_a = obj.spec) === null || _a === void 0 ? void 0 : _a.enabled),
obj.region,
obj.origin,
formatKVs('tags'),
];
},
};
}
exports.location = location;
function user(options) {
return {
columns: [
//
exports.wellKnown.ID,
named('FULL NAME'),
named('EMAIL'),
exports.wellKnown.CREATED,
named('IDP'),
exports.wellKnown.TAGS,
],
makeRow(obj) {
return [
//
obj.id,
obj.name,
obj.email,
formatTimestamp('created', options),
obj.idp,
formatKVs('tags'),
];
},
};
}
exports.user = user;
function group(options) {
return {
columns: [
//
exports.wellKnown.NAME,
exports.wellKnown.DESCRIPTION,
exports.wellKnown.CREATED,
named('FILTER'),
exports.wellKnown.ORIGIN,
exports.wellKnown.TAGS,
],
makeRow(obj) {
return [
//
obj.name,
truncate('description', DESCRIPTION_MAX_LENGTH, options),
formatTimestamp('created', options),
(obj) => {
let res = [];
if (obj.memberLinks) {
res.push('links');
}
if (obj.memberQuery) {
res.push('query');
}
return res.join('+');
},
obj.origin,
formatKVs('tags'),
];
},
};
}
exports.group = group;
function policy(options) {
return {
columns: [
//
exports.wellKnown.NAME,
exports.wellKnown.DESCRIPTION,
exports.wellKnown.CREATED,
named('TARGET KIND'),
named('MATCHES'),
exports.wellKnown.ORIGIN,
exports.wellKnown.TAGS,
],
makeRow(obj) {
return [
//
obj.name,
truncate('description', DESCRIPTION_MAX_LENGTH, options),
formatTimestamp('created', options),
obj.targetKind,
formatMatches,
obj.origin,
formatKVs('tags'),
];
},
};
}
exports.policy = policy;
function identity(options) {
return {
columns: [
//
exports.wellKnown.NAME,
exports.wellKnown.DESCRIPTION,
named('GVC'),
named('LOCAL NAME'),
exports.wellKnown.CREATED,
named('PROVIDERS'),
exports.wellKnown.TAGS,
],
makeRow(obj) {
var _a;
return [
//
obj.name,
truncate('description', DESCRIPTION_MAX_LENGTH, options),
(obj) => {
const link = (0, links_1.linksOf)(obj).gvc;
let components = link.split('/');
return components[4];
},
(_a = obj.status) === null || _a === void 0 ? void 0 : _a.objectName,
formatTimestamp('created', options),
formatProviders,
formatKVs('tags'),
];
},
};
}
exports.identity = identity;
function ipset(options) {
return {
columns: [
//
exports.wellKnown.NAME,
exports.wellKnown.DESCRIPTION,
named('LINK'),
named('LOCATIONS'),
exports.wellKnown.TAGS,
],
makeRow(obj) {
var _a;
return [
//
obj.name,
truncate('description', DESCRIPTION_MAX_LENGTH, options),
((_a = obj.spec) === null || _a === void 0 ? void 0 : _a.link) || '',
formatIpSetLocations(obj),
formatKVs('tags'),
];
},
};
}
exports.ipset = ipset;
function gvc(options) {
return {
columns: [
//
exports.wellKnown.NAME,
exports.wellKnown.DESCRIPTION,
exports.wellKnown.CREATED,
exports.wellKnown.ALIAS,
exports.wellKnown.DOMAIN,
named('LOCATIONS'),
exports.wellKnown.TAGS,
],
makeRow(obj) {
return [
//
obj.name,
truncate('description', DESCRIPTION_MAX_LENGTH, options),
formatTimestamp('created', options),
obj.alias,
obj.spec.domain,
formatGVCLocations(obj),
formatKVs('tags'),
];
},
};
}
exports.gvc = gvc;
function deployment(options) {
return {
columns: [
//
named('NAME/LOCATION'),
exports.wellKnown.LAST_MODIFIED,
exports.wellKnown.STATUS,
],
makeRow(obj) {
return [
//
obj.name,
formatTimestamp('lastModified', options),
formatKVs('status'),
];
},
};
}
exports.deployment = deployment;
function workload(options) {
return {
columns: [
//
exports.wellKnown.NAME,
exports.wellKnown.DESCRIPTION,
named('GVC'),
named('READY'),
exports.wellKnown.CREATED,
exports.wellKnown.ENDPOINT,
exports.wellKnown.TAGS,
],
makeRow(obj) {
return [
//
obj.name,
truncate('description', DESCRIPTION_MAX_LENGTH, options),
(obj) => {
const link = (0, links_1.linksOf)(obj).gvc;
let components = link.split('/');
return components[4];
},
(obj) => obj.status.ready,
formatTimestamp('created', options),
getValueAt('status.endpoint'),
formatKVs('tags'),
];
},
};
}
exports.workload = workload;
function dbcluster(options) {
return {
columns: [
//
exports.wellKnown.NAME,
exports.wellKnown.DESCRIPTION,
named('GVC'),
exports.wellKnown.CREATED,
exports.wellKnown.ALIAS,
named('DEFAULT SIZE'),
named('LOCATIONS'),
exports.wellKnown.TAGS,
],
makeRow(obj) {
var _a, _b, _c;
return [
//
obj.name,
truncate('description', DESCRIPTION_MAX_LENGTH, options),
(obj) => {
const link = (0, links_1.linksOf)(obj).gvc;
let components = link.split('/');
return components[4];
},
formatTimestamp('created', options),
getValueAt('alias'),
// TODO change this when we have more than just postgres type
(_c = (_b = (_a = obj.spec) === null || _a === void 0 ? void 0 : _a.postgres) === null || _b === void 0 ? void 0 : _b.defaults) === null || _c === void 0 ? void 0 : _c.size,
formatDBClusterLocations(obj),
formatKVs('tags'),
];
},
};
}
exports.dbcluster = dbcluster;
function volumeset(options) {
return {
columns: [
//
exports.wellKnown.NAME,
exports.wellKnown.DESCRIPTION,
named('GVC'),
exports.wellKnown.CREATED,
named('PERFORMANCE CLASS'),
named('FILE SYSTEM TYPE'),
exports.wellKnown.TAGS,
],
makeRow(obj) {
return [
//
obj.name,
truncate('description', DESCRIPTION_MAX_LENGTH, options),
(obj) => {
const link = (0, links_1.linksOf)(obj).gvc;
let components = link.split('/');
return components[4];
},
formatTimestamp('created', options),
getValueAt('spec.performanceClass'),
getValueAt('spec.fileSystemType'),
formatKVs('tags'),
];
},
};
}
exports.volumeset = volumeset;
function memcachecluster(options) {
return {
columns: [
//
exports.wellKnown.NAME,
exports.wellKnown.DESCRIPTION,
exports.wellKnown.CREATED,
named('NODE COUNT'),
named('NODE SIZE'),
named('LOCATIONS'),
exports.wellKnown.TAGS,
],
makeRow(obj) {
return [
//
obj.name,
truncate('description', DESCRIPTION_MAX_LENGTH, options),
formatTimestamp('created', options),
(obj) => {
return obj.spec.nodeCount;
},
(obj) => {
return obj.spec.nodeSizeGiB + ' GiB';
},
formatSpecLocations(obj),
formatKVs('tags'),
];
},
};
}
exports.memcachecluster = memcachecluster;
function mk8s(options) {
return {
columns: [
//
exports.wellKnown.NAME,
exports.wellKnown.ALIAS,
exports.wellKnown.DESCRIPTION,
exports.wellKnown.CREATED,
named('VERSION'),
named('LOCATION'),
named('PROVIDER'),
named('ADDONS'),
exports.wellKnown.TAGS,
],
makeRow(obj) {
return [
//
obj.name,
obj.alias,
truncate('description', DESCRIPTION_MAX_LENGTH, options),
formatTimestamp('created', options),
(obj) => {
return obj.spec.version;
},
(obj) => {
return obj.status.homeLocation;
},
(obj) => {
return Object.keys(obj.spec.provider)[0];
},
(obj) => {
return Object.keys(obj.spec.addOns || [])
.sort()
.join('\n');
},
formatKVs('tags'),
];
},
};
}
exports.mk8s = mk8s;
function spicedbcluster(options) {
return {
columns: [
//
exports.wellKnown.NAME,
exports.wellKnown.DESCRIPTION,
exports.wellKnown.CREATED,
named('VERSION'),
named('LOCATIONS'),
exports.wellKnown.ENDPOINT,
exports.wellKnown.TAGS,
],
makeRow(obj) {
return [
//
obj.name,
truncate('description', DESCRIPTION_MAX_LENGTH, options),
formatTimestamp('created', options),
(obj) => {
return obj.spec.version;
},
formatSpecLocations(obj),
getValueAt('status.externalEndpoint'),
formatKVs('tags'),
];
},
};
}
exports.spicedbcluster = spicedbcluster;
function quota(options) {
return {
columns: [
//
exports.wellKnown.ID,
exports.wellKnown.NAME,
exports.wellKnown.DESCRIPTION,
exports.wellKnown.ORIGIN,
named('CURRENT'),
named('MAX'),
named('UNIT'),
named('DIMENSIONS'),
],
makeRow(obj) {
return [
//
obj.id,
obj.name,
truncate('description', DESCRIPTION_MAX_LENGTH, options),
obj.origin,
obj.current,
obj.max,
obj.unit,
formatKVs('dimensions'),
];
},
};
}
exports.quota = quota;
function flattenedPermissions(options) {
return {
columns: [
//
exports.wellKnown.NAME,
exports.wellKnown.DESCRIPTION,
named('IMPLIES'),
],
makeRow(obj) {
return [
//
obj.name,
truncate('description', DESCRIPTION_MAX_LENGTH, options),
(obj) => {
const implied = obj.implied[obj.name];
if (implied) {
return (0, objects_1.toArray)(implied).join(', ');
}
return '';
},
];
},
};
}
exports.flattenedPermissions = flattenedPermissions;
function task(options) {
return {
columns: [
//
exports.wellKnown.ID,
exports.wellKnown.DESCRIPTION,
named('TYPE'),
named('TARGET'),
exports.wellKnown.CREATED,
named('STATUS'),
],
makeRow(obj) {
return [
//
obj.id,
truncate('description', DESCRIPTION_MAX_LENGTH, options),
obj.type,
obj.targetEmail,
formatTimestamp('created', options),
obj.status,
];
},
};
}
exports.task = task;
function agent(options) {
return {
columns: [
//
exports.wellKnown.NAME,
exports.wellKnown.DESCRIPTION,
exports.wellKnown.CREATED,
exports.wellKnown.TAGS,
],
makeRow(obj) {
return [
//
obj.name,
truncate('description', DESCRIPTION_MAX_LENGTH, options),
formatTimestamp('created', options),
formatKVs('tags'),
];
},
};
}
exports.agent = agent;
function flattenedAccessReport(options) {
return {
columns: [
//
named('PERMISSION'),
named('PRINCIPAL'),
named('GRANTED'),
],
makeRow(obj) {
return [
//
obj.permission,
obj.principalLink,
obj.grantedPermissions.join(', '),
];
},
};
}
exports.flattenedAccessReport = flattenedAccessReport;
function image(options) {
return {
columns: [
//
exports.wellKnown.NAME,
named('PULL'),
named('DIGEST'),
exports.wellKnown.CREATED,
exports.wellKnown.TAGS,
],
makeRow(obj) {
return [
//
obj.name,
(obj) => {
var _a;
let res = (_a = options._hints) === null || _a === void 0 ? void 0 : _a.registry;
if (res) {
res = res + '/' + obj.name;
}
else {
res = obj.name;
}
return res;
},
truncate('digest', 16, options),
formatTimestamp('created', options),
formatKVs('tags'),
];
},
};
}
exports.image = image;
function replicas(options) {
return {
columns: [
//
named('REPLICA'),
],
makeRow(obj) {
return [
//
obj,
];
},
};
}
exports.replicas = replicas;
function auditctx(options) {
return {
columns: [
//
exports.wellKnown.NAME,
exports.wellKnown.DESCRIPTION,
exports.wellKnown.ORIGIN,
exports.wellKnown.TAGS,
],
makeRow(obj) {
return [
//
obj.name,
truncate('description', DESCRIPTION_MAX_LENGTH, options),
obj.origin,
formatKVs('tags'),
];
},
};
}
exports.auditctx = auditctx;
function volume(options) {
return {
columns: [
//
named('LOCATION'),
named('VOLUME INDEX'),
named('LIFECYCLE'),
],
makeRow(obj) {
var _a, _b;
return [
//
obj.location,
obj.volumeIndex,
((_a = obj.stage) === null || _a === void 0 ? void 0 : _a.charAt(0).toUpperCase()) + ((_b = obj.stage) === null || _b === void 0 ? void 0 : _b.slice(1)),
];
},
};
}
exports.volume = volume;
function volumeSnapshot(options) {
return {
columns: [
//
named('LOCATION'),
named('VOLUME INDEX'),
exports.wellKnown.NAME,
exports.wellKnown.TAGS,
named('STAGE'),
named('SNAPSHOT CREATED'),
],
makeRow(obj) {
var _a, _b;
return [
//
obj.location,
obj.volumeIndex,
obj.name,
formatKVs('tags'),
((_a = obj.stage) === null || _a === void 0 ? void 0 : _a.charAt(0).toUpperCase()) + ((_b = obj.stage) === null || _b === void 0 ? void 0 : _b.slice(1)),
obj.created ? formatTimestamp('created', options) : '',
];
},
};
}
exports.volumeSnapshot = volumeSnapshot;
function volumeNewSize(options) {
return {
columns: [
//
exports.wellKnown.NAME,
named('NEW SIZE'),
named('LOCATION'),
named('VOLUME INDEX'),
named('STAGE'),
],
makeRow(obj) {
var _a, _b;
return [
//
obj.name,
obj.newSize,
obj.location,
obj.volumeIndex,
((_a = obj.stage) === null || _a === void 0 ? void 0 : _a.charAt(0).toUpperCase()) + ((_b = obj.stage) === null || _b === void 0 ? void 0 : _b.slice(1)),
];
},
};
}
exports.volumeNewSize = volumeNewSize;
function workloadCron(options) {
return {
columns: [
//
named('WORKLOAD'),
named('LOCATION'),
named('NAME OR COMMAND ID'),
named('STATUS'),
named('START TIME'),
named('COMPLETION TIME'),
],
makeRow(obj) {
var _a, _b;
return [
//
obj.workloadName,
obj.location,
obj.id,
((_a = obj.status) === null || _a === void 0 ? void 0 : _a.charAt(0).toUpperCase()) + ((_b = obj.status) === null || _b === void 0 ? void 0 : _b.slice(1)),
obj.startTime.toLocaleString(),
obj.completionTime ? obj.completionTime.toLocaleString() : '',
];
},
};
}
exports.workloadCron = workloadCron;
function helmDeployment(options) {
return {
columns: [
//
named('REVISION'),
named('UPDATED'),
named('STATUS'),
named('CHART'),
named('APP VERSION'),
named('DESCRIPTION'),
],
makeRow(obj) {
return [
//
obj.revision,
formatTimestamp('updated', options),
obj.status,
obj.chart,
obj.appVersion,
truncate('description', DESCRIPTION_MAX_LENGTH, options),
];
},
};
}
exports.helmDeployment = helmDeployment;
function helmList(options) {
return {
columns: [
//
exports.wellKnown.NAME,
named('GVC'),
named('REVISION'),
named('UPDATED'),
named('STATUS'),
named('CHART'),
named('APP VERSION'),
],
makeRow(obj) {
return [
//
obj.release,
obj.gvc,
obj.revision,
formatTimestamp('updated', options),
obj.status,
obj.chart,
obj.appVersion,
];
},
};
}
exports.helmList = helmList;
function stopReplica(options) {
return {
columns: [
//
named('WORKLOAD'),
named('LOCATION'),
named('REPLICA'),
named('STATUS'),
named('START TIME'),
named('COMPLETION TIME'),
],
makeRow(obj) {
var _a, _b;
return [
//
obj.workloadName,
obj.location,
obj.replica,
((_a = obj.status) === null || _a === void 0 ? void 0 : _a.charAt(0).toUpperCase()) + ((_b = obj.status) === null || _b === void 0 ? void 0 : _b.slice(1)),
obj.startTime.toLocaleString(),
obj.completionTime ? obj.completionTime.toLocaleString() : '',
];
},
};
}
exports.stopReplica = stopReplica;
//# sourceMappingURL=models.js.map
;