* refact(e2e): Split up boundary-cli helper methods * CR: Use ESM import * CR: Move authenticated state to a non-shared file * CR: Use mjs * CR: Modify playwright config to .mjs
32 lines
753 B
JavaScript
32 lines
753 B
JavaScript
/**
|
|
* Copyright (c) HashiCorp, Inc.
|
|
* SPDX-License-Identifier: BUSL-1.1
|
|
*/
|
|
|
|
import { execSync } from 'node:child_process';
|
|
import { nanoid } from 'nanoid';
|
|
|
|
/**
|
|
* Creates a new static host
|
|
* @param {string} hostCatalogId ID of the host catalog that the host will be created for.
|
|
* @returns {Promise<string>} new host's ID
|
|
*/
|
|
export async function createStaticHostCli(hostCatalogId) {
|
|
const hostName = 'static-host-' + nanoid();
|
|
let host;
|
|
try {
|
|
host = JSON.parse(
|
|
execSync(
|
|
`boundary hosts create static \
|
|
-host-catalog-id ${hostCatalogId} \
|
|
-name ${hostName} \
|
|
-address localhost \
|
|
-format json`,
|
|
),
|
|
).item;
|
|
} catch (e) {
|
|
console.log(`${e.stderr}`);
|
|
}
|
|
return host.id;
|
|
}
|