Skip to content

GCP.BareMetalSolution reference

Source: src/GCP/BareMetalSolution/NfsShare.ts

A Bare Metal Solution NFS share — file storage attached to BMS networks in the same region and pod.

Changing nfsShareId, location, storageType, or pod replaces the share. Labels and allowed clients update in place.

Creating a share requires a Bare Metal Solution environment (physical hardware and a client network). Accounts without BMS entitlement are rejected by the API (ServiceDisabled when the API is off).

Generated name

const share = yield* GCP.BareMetalSolution.NfsShare("Share", {
allowedClients: [
{
network: "client-net",
allowedClientsCidr: "10.0.0.0/24",
mountPermissions: "READ_WRITE",
noRootSquash: true,
},
],
});

Explicit id, size, and labels

const share = yield* GCP.BareMetalSolution.NfsShare("Share", {
nfsShareId: "app-nfs",
requestedSizeGib: 256,
storageType: "SSD",
allowedClients: [
{
network: network.name,
allowedClientsCidr: "10.200.0.0/28",
mountPermissions: "READ_WRITE",
allowDev: true,
noRootSquash: true,
},
],
labels: { env: "prod" },
});
const share = yield* GCP.BareMetalSolution.NfsShare("Share", {
allowedClients: [
{
network: network.name,
allowedClientsCidr: "10.200.0.0/28",
mountPermissions: "READ_ONLY",
},
],
labels: { env: "prod", team: "storage" },
});

Source: src/GCP/BareMetalSolution/VolumesSnapshot.ts

A Bare Metal Solution boot-volume snapshot — a point-in-time copy of a BMS boot volume.

Snapshots have no labels field, so Alchemy stamps ownership into a [alchemy …] description prefix for list / nuke. The API does not expose an update method; description is set at create time. Changing snapshotId, volume, or location replaces the snapshot.

Creating a snapshot requires an existing boot volume in a Bare Metal Solution environment. Non-boot volumes and unentitled accounts are rejected by the API (ServiceDisabled when the API is off).

VolumesSnapshot: Creating a Volume Snapshot

Section titled “VolumesSnapshot: Creating a Volume Snapshot”

Generated name

const snap = yield* GCP.BareMetalSolution.VolumesSnapshot("Nightly", {
volume: volume.name,
});

Description

const snap = yield* GCP.BareMetalSolution.VolumesSnapshot("Nightly", {
volume: volume.name,
description: "nightly boot snapshot",
});