UNPKG

alwaysai

Version:

The alwaysAI command-line interface (CLI)

35 lines (33 loc) 1.16 kB
import * as logSymbols from 'log-symbols'; import { CliUsageError } from '@alwaysai/alwayscli'; import { AaiDevice } from '../../infrastructure'; import { targetHostnameCheckComponent } from './target-hostname-check-component'; import { RequiredWithYesMessage, echo } from '../../util'; export async function getTargetHostnameComponent(props: { yes: boolean; device: AaiDevice; targetHostname?: string; }): Promise<string | undefined> { const { yes, device } = props; const targetHostname = device.host_name !== '' ? device.host_name : props.targetHostname; if (yes && !targetHostname) { throw new CliUsageError(RequiredWithYesMessage('hostname')); } if (device.host_name !== '' && props.targetHostname) { echo(`${logSymbols.warning} Input for targetHostname will be ignored.`); } if (device.mode === 'production') { // Support prompting for hostname for production (provisioned) devices only if (!targetHostname) { return await targetHostnameCheckComponent({ prompt: true }); } } await targetHostnameCheckComponent({ targetHostname, prompt: false }); return targetHostname; }