GCP.SasPortal reference
CustomersDeployment
Section titled “CustomersDeployment”Source:
src/GCP/SasPortal/CustomersDeployment.ts
A Spectrum Access System (SAS) Portal deployment under a customer.
SAS Portal deployments have no labels field, so Alchemy stamps
ownership into displayName for list / nuke. Parent customer is
identity. Display name and SAS user ids update in place. frns is
output-only.
CustomersDeployment: Creating a Deployment
Section titled “CustomersDeployment: Creating a Deployment”Generated display name
const deployment = yield* GCP.SasPortal.CustomersDeployment("Site", { parent: "customers/123",});Explicit name and SAS user id
const deployment = yield* GCP.SasPortal.CustomersDeployment("Site", { parent: "customers/123", displayName: "downtown", sasUserIds: ["operator-1"],});CustomersDeployment: Updating a Deployment
Section titled “CustomersDeployment: Updating a Deployment”Change props on the same logical id; the engine keeps the physical id.
const deployment = yield* GCP.SasPortal.CustomersDeployment("Site", { parent: "customers/123", displayName: "downtown-west", sasUserIds: ["operator-1"],});CustomersDeploymentsDevice
Section titled “CustomersDeploymentsDevice”Source:
src/GCP/SasPortal/CustomersDeploymentsDevice.ts
A Spectrum Access System (SAS) Portal CBSD under a customer deployment.
SAS Portal devices have no labels field, so Alchemy stamps ownership
into displayName for list / nuke. Parent, FCC id, and serial
number are identity. Display name, grant allowlists, preloaded
config, and metadata update in place.
CustomersDeploymentsDevice: Creating a Device
Section titled “CustomersDeploymentsDevice: Creating a Device”const device = yield* GCP.SasPortal.CustomersDeploymentsDevice("Cbsd", { parent: deployment.name, displayName: "rooftop-1", fccId: "TESTFCC", serialNumber: "SN1001",});CustomersDeploymentsDevice: Updating a Device
Section titled “CustomersDeploymentsDevice: Updating a Device”Change props on the same logical id; the engine keeps the physical id.
const device = yield* GCP.SasPortal.CustomersDeploymentsDevice("Cbsd", { parent: deployment.name, displayName: "rooftop-1-2", fccId: "TESTFCC", serialNumber: "SN1001",});CustomersDevice
Section titled “CustomersDevice”Source:
src/GCP/SasPortal/CustomersDevice.ts
A Spectrum Access System (SAS) Portal CBSD under a customer.
SAS Portal devices have no labels field, so Alchemy stamps ownership
into displayName for list / nuke. Parent, FCC id, and serial
number are identity. Display name, grant allowlists, preloaded
config, and metadata update in place.
CustomersDevice: Creating a Device
Section titled “CustomersDevice: Creating a Device”const device = yield* GCP.SasPortal.CustomersDevice("Cbsd", { parent: "customers/123", displayName: "rooftop-1", fccId: "TESTFCC", serialNumber: "SN1001", preloadedConfig: { category: "DEVICE_CATEGORY_A", userId: "operator-1", },});CustomersDevice: Updating a Device
Section titled “CustomersDevice: Updating a Device”Change props on the same logical id; the engine keeps the physical id.
const device = yield* GCP.SasPortal.CustomersDevice("Cbsd", { parent: "customers/123", displayName: "rooftop-2", fccId: "TESTFCC", serialNumber: "SN1001",});CustomersNode
Section titled “CustomersNode”Source:
src/GCP/SasPortal/CustomersNode.ts
A Spectrum Access System (SAS) Portal node under a customer.
SAS Portal nodes have no labels field, so Alchemy stamps ownership
into displayName for list / nuke. Parent customer is identity.
Display name and SAS user ids update in place.
CustomersNode: Creating a Node
Section titled “CustomersNode: Creating a Node”Generated display name
const node = yield* GCP.SasPortal.CustomersNode("Region", { parent: "customers/123",});Explicit name and SAS user ids
const node = yield* GCP.SasPortal.CustomersNode("Region", { parent: "customers/123", displayName: "west", sasUserIds: ["operator-1"],});CustomersNode: Updating a Node
Section titled “CustomersNode: Updating a Node”Change props on the same logical id; the engine keeps the physical id.
const node = yield* GCP.SasPortal.CustomersNode("Region", { parent: "customers/123", displayName: "west-2",});CustomersNodesDeployment
Section titled “CustomersNodesDeployment”Source:
src/GCP/SasPortal/CustomersNodesDeployment.ts
A Spectrum Access System (SAS) Portal deployment under a customer node.
SAS Portal deployments have no labels field, so Alchemy stamps
ownership into displayName for list / nuke. Parent is identity.
Display name and SAS user ids update in place. frns is output-only.
CustomersNodesDeployment: Creating a Deployment
Section titled “CustomersNodesDeployment: Creating a Deployment”const deployment = yield* GCP.SasPortal.CustomersNodesDeployment("Site", { parent: node.name, displayName: "downtown", sasUserIds: ["operator-1"],});CustomersNodesDeployment: Updating a Deployment
Section titled “CustomersNodesDeployment: Updating a Deployment”Change props on the same logical id; the engine keeps the physical id.
const deployment = yield* GCP.SasPortal.CustomersNodesDeployment("Site", { parent: node.name, displayName: "downtown-west", sasUserIds: ["operator-1"],});CustomersNodesDevice
Section titled “CustomersNodesDevice”Source:
src/GCP/SasPortal/CustomersNodesDevice.ts
A Spectrum Access System (SAS) Portal CBSD under a customer node.
SAS Portal devices have no labels field, so Alchemy stamps ownership
into displayName for list / nuke. Parent, FCC id, and serial
number are identity. Display name, grant allowlists, preloaded
config, and metadata update in place.
CustomersNodesDevice: Creating a Device
Section titled “CustomersNodesDevice: Creating a Device”const device = yield* GCP.SasPortal.CustomersNodesDevice("Cbsd", { parent: node.name, displayName: "sector-a", fccId: "TESTFCC", serialNumber: "SN1001",});CustomersNodesDevice: Updating a Device
Section titled “CustomersNodesDevice: Updating a Device”Change props on the same logical id; the engine keeps the physical id.
const device = yield* GCP.SasPortal.CustomersNodesDevice("Cbsd", { parent: node.name, displayName: "sector-a-2", fccId: "TESTFCC", serialNumber: "SN1001",});CustomersNodesNode
Section titled “CustomersNodesNode”Source:
src/GCP/SasPortal/CustomersNodesNode.ts
A Spectrum Access System (SAS) Portal node nested under a customer node.
SAS Portal nodes have no labels field, so Alchemy stamps ownership
into displayName for list / nuke. Parent is identity. Display
name and SAS user ids update in place.
CustomersNodesNode: Creating a Child Node
Section titled “CustomersNodesNode: Creating a Child Node”const child = yield* GCP.SasPortal.CustomersNodesNode("Sector", { parent: node.name, displayName: "sector-1",});CustomersNodesNode: Updating a Child Node
Section titled “CustomersNodesNode: Updating a Child Node”Change props on the same logical id; the engine keeps the physical id.
const child = yield* GCP.SasPortal.CustomersNodesNode("Sector", { parent: node.name, displayName: "sector-1-2",});NodesDeploymentsDevice
Section titled “NodesDeploymentsDevice”Source:
src/GCP/SasPortal/NodesDeploymentsDevice.ts
A Spectrum Access System (SAS) Portal CBSD under a node deployment.
SAS Portal devices have no labels field, so Alchemy stamps ownership
into displayName for list / nuke. Parent, FCC id, and serial
number are identity. Display name, grant allowlists, preloaded
config, and metadata update in place.
NodesDeploymentsDevice: Creating a Device
Section titled “NodesDeploymentsDevice: Creating a Device”const device = yield* GCP.SasPortal.NodesDeploymentsDevice("Cbsd", { parent: deployment.name, displayName: "sector-a", fccId: "TESTFCC", serialNumber: "SN1001",});NodesDeploymentsDevice: Updating a Device
Section titled “NodesDeploymentsDevice: Updating a Device”Change props on the same logical id; the engine keeps the physical id.
const device = yield* GCP.SasPortal.NodesDeploymentsDevice("Cbsd", { parent: deployment.name, displayName: "sector-a-2", fccId: "TESTFCC", serialNumber: "SN1001",});NodesDevice
Section titled “NodesDevice”Source:
src/GCP/SasPortal/NodesDevice.ts
A Spectrum Access System (SAS) Portal CBSD under a node.
SAS Portal devices have no labels field, so Alchemy stamps ownership
into displayName for list / nuke. Parent node, FCC id, and serial
number are identity. Display name, grant allowlists, preloaded
config, and metadata update in place.
NodesDevice: Creating a Device
Section titled “NodesDevice: Creating a Device”const device = yield* GCP.SasPortal.NodesDevice("Cbsd", { parent: node.name, displayName: "sector-a", fccId: "TESTFCC", serialNumber: "SN2001",});NodesDevice: Updating a Device
Section titled “NodesDevice: Updating a Device”Change props on the same logical id; the engine keeps the physical id.
const device = yield* GCP.SasPortal.NodesDevice("Cbsd", { parent: node.name, displayName: "sector-b", fccId: "TESTFCC", serialNumber: "SN2001",});NodesNode
Section titled “NodesNode”Source:
src/GCP/SasPortal/NodesNode.ts
A Spectrum Access System (SAS) Portal node nested under another node.
SAS Portal nodes have no labels field, so Alchemy stamps ownership
into displayName for list / nuke. Parent node is identity.
Display name and SAS user ids update in place.
NodesNode: Creating a Child Node
Section titled “NodesNode: Creating a Child Node”const child = yield* GCP.SasPortal.NodesNode("Sector", { parent: node.name, displayName: "sector-1",});NodesNode: Updating a Child Node
Section titled “NodesNode: Updating a Child Node”Change props on the same logical id; the engine keeps the physical id.
const child = yield* GCP.SasPortal.NodesNode("Sector", { parent: node.name, displayName: "sector-2",});NodesNodesDeployment
Section titled “NodesNodesDeployment”Source:
src/GCP/SasPortal/NodesNodesDeployment.ts
A Spectrum Access System (SAS) Portal deployment under a nested node.
SAS Portal deployments have no labels field, so Alchemy stamps
ownership into displayName for list / nuke. Parent is identity.
Display name and SAS user ids update in place. frns is output-only.
NodesNodesDeployment: Creating a Deployment
Section titled “NodesNodesDeployment: Creating a Deployment”const deployment = yield* GCP.SasPortal.NodesNodesDeployment("Site", { parent: child.name, displayName: "downtown", sasUserIds: ["operator-1"],});NodesNodesDeployment: Updating a Deployment
Section titled “NodesNodesDeployment: Updating a Deployment”Change props on the same logical id; the engine keeps the physical id.
const deployment = yield* GCP.SasPortal.NodesNodesDeployment("Site", { parent: child.name, displayName: "downtown-west", sasUserIds: ["operator-1"],});NodesNodesDevice
Section titled “NodesNodesDevice”Source:
src/GCP/SasPortal/NodesNodesDevice.ts
A Spectrum Access System (SAS) Portal CBSD under a nested node.
SAS Portal devices have no labels field, so Alchemy stamps ownership
into displayName for list / nuke. Parent, FCC id, and serial
number are identity. Display name, grant allowlists, preloaded
config, and metadata update in place.
NodesNodesDevice: Creating a Device
Section titled “NodesNodesDevice: Creating a Device”const device = yield* GCP.SasPortal.NodesNodesDevice("Cbsd", { parent: child.name, displayName: "sector-a", fccId: "TESTFCC", serialNumber: "SN1001",});NodesNodesDevice: Updating a Device
Section titled “NodesNodesDevice: Updating a Device”Change props on the same logical id; the engine keeps the physical id.
const device = yield* GCP.SasPortal.NodesNodesDevice("Cbsd", { parent: child.name, displayName: "sector-a-2", fccId: "TESTFCC", serialNumber: "SN1001",});NodesNodesNode
Section titled “NodesNodesNode”Source:
src/GCP/SasPortal/NodesNodesNode.ts
A Spectrum Access System (SAS) Portal node nested under another nested node.
SAS Portal nodes have no labels field, so Alchemy stamps ownership
into displayName for list / nuke. Parent is identity. Display
name and SAS user ids update in place.
NodesNodesNode: Creating a Child Node
Section titled “NodesNodesNode: Creating a Child Node”const child = yield* GCP.SasPortal.NodesNodesNode("Sector", { parent: child.name, displayName: "sector-1",});NodesNodesNode: Updating a Child Node
Section titled “NodesNodesNode: Updating a Child Node”Change props on the same logical id; the engine keeps the physical id.
const child = yield* GCP.SasPortal.NodesNodesNode("Sector", { parent: child.name, displayName: "sector-1-2",});SignedCustomersDeploymentsDevice
Section titled “SignedCustomersDeploymentsDevice”Source:
src/GCP/SasPortal/SignedCustomersDeploymentsDevice.ts
A CPI-signed Spectrum Access System (SAS) Portal CBSD under a customer deployment.
Signed create takes a CPI-signed JWT. After the device exists,
Alchemy stamps ownership into displayName for list / nuke and
syncs mutable fields with the ordinary device patch API.
SignedCustomersDeploymentsDevice: Creating a Signed Device
Section titled “SignedCustomersDeploymentsDevice: Creating a Signed Device”const device = yield* GCP.SasPortal.SignedCustomersDeploymentsDevice("Cbsd", { parent: deployment.name, encodedDevice: jwt, installerId: "cpi-1", displayName: "rooftop-1",});SignedCustomersDeploymentsDevice: Updating a Signed Device
Section titled “SignedCustomersDeploymentsDevice: Updating a Signed Device”Change props on the same logical id; the engine keeps the physical id.
const device = yield* GCP.SasPortal.SignedCustomersDeploymentsDevice("Cbsd", { parent: deployment.name, encodedDevice: jwt, installerId: "cpi-1", displayName: "rooftop-2",});SignedCustomersDevice
Section titled “SignedCustomersDevice”Source:
src/GCP/SasPortal/SignedCustomersDevice.ts
A CPI-signed Spectrum Access System (SAS) Portal CBSD under a customer.
Signed create takes a CPI-signed JWT. After the device exists,
Alchemy stamps ownership into displayName for list / nuke and
syncs mutable fields with the ordinary device patch API.
SignedCustomersDevice: Creating a Signed Device
Section titled “SignedCustomersDevice: Creating a Signed Device”const device = yield* GCP.SasPortal.SignedCustomersDevice("Cbsd", { parent: "customers/123", encodedDevice: jwt, installerId: "cpi-1", displayName: "rooftop-1",});SignedCustomersDevice: Updating a Signed Device
Section titled “SignedCustomersDevice: Updating a Signed Device”Change props on the same logical id; the engine keeps the physical id.
const device = yield* GCP.SasPortal.SignedCustomersDevice("Cbsd", { parent: "customers/123", encodedDevice: jwt, installerId: "cpi-1", displayName: "rooftop-2",});SignedCustomersNodesDevice
Section titled “SignedCustomersNodesDevice”Source:
src/GCP/SasPortal/SignedCustomersNodesDevice.ts
A CPI-signed Spectrum Access System (SAS) Portal CBSD under a customer node.
Signed create takes a CPI-signed JWT. After the device exists,
Alchemy stamps ownership into displayName for list / nuke and
syncs mutable fields with the ordinary device patch API.
SignedCustomersNodesDevice: Creating a Signed Device
Section titled “SignedCustomersNodesDevice: Creating a Signed Device”const device = yield* GCP.SasPortal.SignedCustomersNodesDevice("Cbsd", { parent: node.name, encodedDevice: jwt, installerId: "cpi-1", displayName: "rooftop-1",});SignedCustomersNodesDevice: Updating a Signed Device
Section titled “SignedCustomersNodesDevice: Updating a Signed Device”Change props on the same logical id; the engine keeps the physical id.
const device = yield* GCP.SasPortal.SignedCustomersNodesDevice("Cbsd", { parent: node.name, encodedDevice: jwt, installerId: "cpi-1", displayName: "rooftop-2",});SignedNodesDeploymentsDevice
Section titled “SignedNodesDeploymentsDevice”Source:
src/GCP/SasPortal/SignedNodesDeploymentsDevice.ts
A CPI-signed Spectrum Access System (SAS) Portal CBSD under a node deployment.
Signed create takes a CPI-signed JWT. After the device exists,
Alchemy stamps ownership into displayName for list / nuke and
syncs mutable fields with the ordinary device patch API.
SignedNodesDeploymentsDevice: Creating a Signed Device
Section titled “SignedNodesDeploymentsDevice: Creating a Signed Device”const device = yield* GCP.SasPortal.SignedNodesDeploymentsDevice("Cbsd", { parent: deployment.name, encodedDevice: jwt, installerId: "cpi-1", displayName: "rooftop-1",});SignedNodesDeploymentsDevice: Updating a Signed Device
Section titled “SignedNodesDeploymentsDevice: Updating a Signed Device”Change props on the same logical id; the engine keeps the physical id.
const device = yield* GCP.SasPortal.SignedNodesDeploymentsDevice("Cbsd", { parent: deployment.name, encodedDevice: jwt, installerId: "cpi-1", displayName: "rooftop-2",});SignedNodesDevice
Section titled “SignedNodesDevice”Source:
src/GCP/SasPortal/SignedNodesDevice.ts
A CPI-signed Spectrum Access System (SAS) Portal CBSD under a node.
Signed create takes a CPI-signed JWT. After the device exists,
Alchemy stamps ownership into displayName for list / nuke and
syncs mutable fields with the ordinary device patch API.
SignedNodesDevice: Creating a Signed Device
Section titled “SignedNodesDevice: Creating a Signed Device”const device = yield* GCP.SasPortal.SignedNodesDevice("Cbsd", { parent: node.name, encodedDevice: jwt, installerId: "cpi-1", displayName: "rooftop-1",});SignedNodesDevice: Updating a Signed Device
Section titled “SignedNodesDevice: Updating a Signed Device”Change props on the same logical id; the engine keeps the physical id.
const device = yield* GCP.SasPortal.SignedNodesDevice("Cbsd", { parent: node.name, encodedDevice: jwt, installerId: "cpi-1", displayName: "rooftop-2",});SignedNodesNodesDevice
Section titled “SignedNodesNodesDevice”Source:
src/GCP/SasPortal/SignedNodesNodesDevice.ts
A CPI-signed Spectrum Access System (SAS) Portal CBSD under a nested node.
Signed create takes a CPI-signed JWT. After the device exists,
Alchemy stamps ownership into displayName for list / nuke and
syncs mutable fields with the ordinary device patch API.
SignedNodesNodesDevice: Creating a Signed Device
Section titled “SignedNodesNodesDevice: Creating a Signed Device”const device = yield* GCP.SasPortal.SignedNodesNodesDevice("Cbsd", { parent: child.name, encodedDevice: jwt, installerId: "cpi-1", displayName: "rooftop-1",});SignedNodesNodesDevice: Updating a Signed Device
Section titled “SignedNodesNodesDevice: Updating a Signed Device”Change props on the same logical id; the engine keeps the physical id.
const device = yield* GCP.SasPortal.SignedNodesNodesDevice("Cbsd", { parent: child.name, encodedDevice: jwt, installerId: "cpi-1", displayName: "rooftop-2",});