balena-cli
Version:
The official balena Command Line Interface
51 lines (48 loc) • 2.02 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const core_1 = require("@oclif/core");
const ca = require("../../utils/common-args");
const lazy_1 = require("../../utils/lazy");
const messages_1 = require("../../utils/messages");
class DeviceRegisterCmd extends core_1.Command {
async run() {
var _a;
const { args: params, flags: options } = await this.parse(DeviceRegisterCmd);
const { getApplication } = await Promise.resolve().then(() => require('../../utils/sdk'));
const balena = (0, lazy_1.getBalenaSdk)();
const application = await getApplication(balena, params.fleet, {
$select: ['id', 'slug'],
});
const uuid = (_a = options.uuid) !== null && _a !== void 0 ? _a : balena.models.device.generateUniqueKey();
console.info(`Registering to ${application.slug}: ${uuid}`);
const result = await balena.models.device.register(application.id, uuid, options.deviceType);
return result && result.uuid;
}
}
DeviceRegisterCmd.description = (0, lazy_1.stripIndent) `
Register a new device.
Register a new device with a balena fleet.
If --uuid is not provided, a new UUID will be automatically assigned.
${messages_1.applicationIdInfo.split('\n').join('\n\t\t')}
`;
DeviceRegisterCmd.examples = [
'$ balena device register MyFleet',
'$ balena device register MyFleet --uuid <uuid>',
'$ balena device register myorg/myfleet --uuid <uuid>',
'$ balena device register myorg/myfleet --uuid <uuid> --deviceType <deviceTypeSlug>',
];
DeviceRegisterCmd.args = {
fleet: ca.fleetRequired,
};
DeviceRegisterCmd.flags = {
uuid: core_1.Flags.string({
description: 'custom uuid',
char: 'u',
}),
deviceType: core_1.Flags.string({
description: "device type slug (run 'balena device-type list' for possible values)",
}),
};
DeviceRegisterCmd.authenticated = true;
exports.default = DeviceRegisterCmd;
//# sourceMappingURL=register.js.map