Package spectrum.sas.portal.v1alpha1

Index

Customers

Service managing SAS customers.

DeleteCustomer

rpc DeleteCustomer(DeleteCustomerRequest) returns (Empty)

Deletes a customer.

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/userinfo.email
GetCustomer

rpc GetCustomer(GetCustomerRequest) returns (Customer)

Returns a requested customer.

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/userinfo.email
ListCustomers

rpc ListCustomers(ListCustomersRequest) returns (ListCustomersResponse)

Returns a list of requested customers.

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/userinfo.email
UpdateCustomer

rpc UpdateCustomer(UpdateCustomerRequest) returns (Customer)

Updates an existing customer.

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/userinfo.email

DeviceManager

Service managing Citizens Broadband Radio Service Devices.

CreateDevice

rpc CreateDevice(CreateDeviceRequest) returns (Device)

Creates a device under a node or customer.

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/userinfo.email
CreateNode

rpc CreateNode(CreateNodeRequest) returns (Node)

Creates a new node.

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/userinfo.email
CreateSignedDevice

rpc CreateSignedDevice(CreateSignedDeviceRequest) returns (Device)

Creates a signed device under a node or customer.

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/userinfo.email
DeleteDevice

rpc DeleteDevice(DeleteDeviceRequest) returns (Empty)

Deletes a device.

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/userinfo.email
DeleteNode

rpc DeleteNode(DeleteNodeRequest) returns (Empty)

Deletes a node.

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/userinfo.email
GenerateSecret

rpc GenerateSecret(GenerateSecretRequest) returns (GenerateSecretResponse)

Generates a secret to be used with the ValidateInstaller method.

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/userinfo.email
GetDevice

rpc GetDevice(GetDeviceRequest) returns (Device)

Gets details about a device.

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/userinfo.email
GetNode

rpc GetNode(GetNodeRequest) returns (Node)

Returns a requested node.

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/userinfo.email
ListDevices

rpc ListDevices(ListDevicesRequest) returns (ListDevicesResponse)

Lists devices under a node or customer.

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/userinfo.email
ListNodes

rpc ListNodes(ListNodesRequest) returns (ListNodesResponse)

Lists nodes.

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/userinfo.email
MoveDevice

rpc MoveDevice(MoveDeviceRequest) returns (Operation)

Moves a device under another node or customer.

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/userinfo.email
MoveNode

rpc MoveNode(MoveNodeRequest) returns (Operation)

Moves a node under another node or customer.

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/userinfo.email
SignDevice

rpc SignDevice(SignDeviceRequest) returns (Empty)

Signs a device.

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/userinfo.email
UpdateDevice

rpc UpdateDevice(UpdateDeviceRequest) returns (Device)

Updates a device.

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/userinfo.email
UpdateNode

rpc UpdateNode(UpdateNodeRequest) returns (Node)

Updates an existing node.

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/userinfo.email
UpdateSignedDevice

rpc UpdateSignedDevice(UpdateSignedDeviceRequest) returns (Device)

Updates a signed device.

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/userinfo.email
ValidateInstaller

rpc ValidateInstaller(ValidateInstallerRequest) returns (ValidateInstallerResponse)

Validates the identity of a Certified Professional Installer (CPI).

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/userinfo.email

PolicyService

Access Control Service to Spectrum Resource Manager.

GetPolicy

rpc GetPolicy(GetPolicyRequest) returns (Policy)

Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/userinfo.email
SetPolicy

rpc SetPolicy(SetPolicyRequest) returns (Policy)

Sets the access control policy on the specified resource. Replaces any existing policy.

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/userinfo.email
TestPermissions

rpc TestPermissions(TestPermissionsRequest) returns (TestPermissionsResponse)

Returns permissions that a caller has on the specified resource.

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/userinfo.email

Assignment

Associates members with a role.

Fields
role

string

Required. Role that is assigned to members.

members[]

string

The identities the role is assigned to. It can have the following values:

  • {user_email}: An email address that represents a specific Google account. For example: alice@gmail.com.

  • {group_email}: An email address that represents a Google group. For example, viewers@gmail.com.

ChannelType

Enums
CHANNEL_TYPE_UNSPECIFIED
CHANNEL_TYPE_GAA
CHANNEL_TYPE_PAL

CreateDeviceRequest

Request for CreateDevice method.

Fields
parent

string

Required. The name of the parent resource.

device

Device

The device registration details. The name must be empty. It is generated by the server. The device fields fcc_id and serial_number must be set. The user_id must be set.

CreateNodeRequest

Request for CreateNode.

Fields
parent

string

Required. The parent resource name where the node is to be created.

node

Node

The node details. The name field must be empty. It is generated by the server. The node display_name field must be set.

CreateSignedDeviceRequest

Request for CreateSignedDevice method.

Fields
parent

string

Required. The name of the parent resource.

encoded_device

bytes

Required. JSON Web Token signed using a CPI private key. Payload must be the JSON encoding of the [Device]. The user_id must be set.

installer_id

string

Required. Unique installer id (cpiId) from the Certified Professional Installers database.

Customer

Entity representing a SAS customer.

Fields
name

string

Output only. Resource name of the customer.

display_name

string

Required. Name of the organization that the customer entity represents.

sas_user_ids[]

string

User IDs used by the devices belonging to this customer.

Fields
name

string

Required. The name of the customer.

DeleteDeviceRequest

Request for DeleteDevice method.

Fields
name

string

Required. The name of the device.

DeleteNodeRequest

Request for DeleteNode.

Fields
name

string

Required. The name of the node.

Device

Fields
name

string

Output only. The resource path name.

fcc_id

string

The FCC identifier of the device.

serial_number

string

A serial number assigned to the device by the device manufacturer.

preloaded_config

DeviceConfig

Configuration of the device, as specified via SAS Portal API.

active_config

DeviceConfig

Output only. Current configuration of the device as registered to the SAS.

state

State

Output only. Device state.

grants[]

DeviceGrant

Output only. Grants held by the device.

display_name

string

Device display name.

State

State of the device.

Enums
DEVICE_STATE_UNSPECIFIED Unspecified state.
RESERVED Device created in the SAS Portal, however, not yet registered with SAS.
REGISTERED Device registered with SAS.
DEREGISTERED Device de-registered with SAS.

DeviceAirInterface

Information about the device's air interface.

Fields
radio_technology

RadioTechnology

This field specifies the radio access technology that is used for the CBSD.

Conditional

supported_spec

string

This field is related to the radioTechnology field and provides the air interface specification that the CBSD is compliant with at the time of registration.

Optional

RadioTechnology

The approved types of radio access technology.

Enums
RADIO_TECHNOLOGY_UNSPECIFIED
E_UTRA
CAMBIUM_NETWORKS
FOUR_G_BBW_SAA_1
NR
DOODLE_CBRS
CW
REDLINE
TARANA_WIRELESS

DeviceCategory

FCC category of the device, as defined by Part 96.

Enums
DEVICE_CATEGORY_UNSPECIFIED Unspecified device category.
DEVICE_CATEGORY_A Category A.
DEVICE_CATEGORY_B Category B.

DeviceConfig

Information about the device configuration.

Fields
category

DeviceCategory

FCC category of the device.

model

DeviceModel

Information about this device model.

air_interface

DeviceAirInterface

Information about this device's air interface.

installation_params

InstallationParams

Installation parameters for the device.

measurement_capabilities[]

MeasurementCapability

Measurement reporting capabilities of the device.

user_id

StringValue

Output only. The identifier of a device user.

call_sign

string

The call sign of the device operator.

state

State

State of the configuration.

is_signed

BoolValue

Output-only. Whether the configuration has been signed by a CPI.

update_time

Timestamp

Output-only. The last time the device configuration was edited.

State

State of the device config. Only configs in state [DEVICE_CONFIG_STATE_FINAL] [spectrum.sas.portal.v1alpha1.Devices.DeviceConfig.State.FINAL] can be used during CBSD Registration.

Enums
DEVICE_CONFIG_STATE_UNSPECIFIED
DRAFT
FINAL

DeviceGrant

Device grant. It is an authorization provided by the Spectrum Access System to a device to transmit using specified operating parameters after a successful heartbeat by the device.

Fields
max_eirp

DoubleValue

Maximum Equivalent Isotropically Radiated Power (EIRP) permitted by the grant. The maximum EIRP is in units of dBm/MHz. The value of maxEirp represents the average (RMS) EIRP that would be measured by the procedure defined in FCC part 96.41(e)(3).

frequency_range

FrequencyRange

The transmission frequency range.

state

GrantState

State of the grant.

channel_type

ChannelType

Type of channel used.

move_list[]

DpaMoveList

The DPA move lists on which this grant appears.

expire_time

Timestamp

The expiration time of the grant.

DeviceModel

Information about the model of the device.

Fields
vendor

string

The name of the device vendor.

name

string

The name of the device model.

software_version

string

The software version of the device.

hardware_version

string

The hardware version of the device.

firmware_version

string

The firmware version of the device.

DpaMoveList

An entry in a DPA's move list.

Fields
dpa_id

StringValue

The ID of the DPA.

frequency_range

FrequencyRange

The frequency range that the move list affects.

FrequencyRange

Frequency range from low_frequency to high_frequency.

Fields
low_frequency_mhz

DoubleValue

The lowest frequency of the frequency range in MHz.

high_frequency_mhz

DoubleValue

The highest frequency of the frequency range in MHz.

GenerateSecretRequest

Request for GenerateSecret method] spectrum.sas.portal.v1alpha1.DeviceManager.GenerateSecret.

GenerateSecretResponse

Response for GenerateSecret method.

Fields
secret

string

The secret generated by the string and used by [ValidateInstaller] method.

GetCustomerRequest

Request for GetCustomer method.

Fields
name

string

Required. The name of the customer.

GetDeviceRequest

Request for GetDevice method.

Fields
name

string

Required. The name of the device.

GetNodeRequest

Request for GetNode method.

Fields
name

string

Required. The name of the node.

GetPolicyRequest

Request message for GetPolicy method.

Fields
resource

string

Required. The resource for which the policy is being requested.

GrantState

The state of the grant.

Enums
GRANT_STATE_UNSPECIFIED
GRANT_STATE_GRANTED The grant has been granted but the device is not heartbeating on it.
GRANT_STATE_TERMINATED The grant has been terminated by the SAS.
GRANT_STATE_SUSPENDED The grant has been suspended by the SAS.
GRANT_STATE_AUTHORIZED The device is currently transmitting.
GRANT_STATE_EXPIRED The grant has expired.

HeightType

Specifies how the height is measured.

Enums
HEIGHT_TYPE_UNSPECIFIED Unspecified height type.
HEIGHT_TYPE_AGL AGL height is measured relative to the ground level.
HEIGHT_TYPE_AMSL AMSL height is measured relative to the mean sea level.

InstallationParams

Information about the device installation parameters.

Fields
latitude

DoubleValue

Latitude of the device antenna location in degrees relative to the WGS 84 datum. The allowed range is from -90.000000 to +90.000000. Positive values represent latitudes north of the equator; negative values south of the equator.

longitude

DoubleValue

Longitude of the device antenna location. in degrees relative to the WGS 84 datum. The allowed range is from -180.000000 to +180.000000. Positive values represent longitudes east of the prime meridian; negative values west of the prime meridian.

height

DoubleValue

Device antenna height in meters. When the heightType parameter value is "AGL", the antenna height should be given relative to ground level. When the heightType parameter value is "AMSL", it is given with respect to WGS84 datum.

height_type

HeightType

Specifies how the height is measured.

horizontal_accuracy

DoubleValue

A positive number in meters to indicate accuracy of the device antenna horizontal location. This optional parameter should only be present if its value is less than the FCC requirement of 50 meters.

vertical_accuracy

DoubleValue

A positive number in meters to indicate accuracy of the device antenna vertical location. This optional parameter should only be present if its value is less than the FCC requirement of 3 meters.

indoor_deployment

BoolValue

Whether the device antenna is indoor or not. True: indoor. False: outdoor.

antenna_azimuth

Int32Value

Boresight direction of the horizontal plane of the antenna in degrees with respect to true north. The value of this parameter is an integer with a value between 0 and 359 inclusive. A value of 0 degrees means true north; a value of 90 degrees means east. This parameter is optional for Category A devices and conditional for Category B devices.

antenna_downtilt

Int32Value

Antenna downtilt in degrees and is an integer with a value between -90 and +90 inclusive; a negative value means the antenna is tilted up (above horizontal). This parameter is optional for Category A devices and conditional for Category B devices.

antenna_gain

Int32Value

Peak antenna gain in dBi. This parameter is an integer with a value between -127 and +128 (dBi) inclusive.

eirp_capability

Int32Value

This parameter is the maximum device EIRP in units of dBm/10MHz and is an integer with a value between -127 and +47 (dBm/10 MHz) inclusive. If not included, SAS interprets it as maximum allowable EIRP in units of dBm/10MHz for device category.

antenna_beamwidth

Int32Value

3-dB antenna beamwidth of the antenna in the horizontal-plane in degrees. This parameter is an unsigned integer having a value between 0 and 360 (degrees) inclusive; it is optional for Category A devices and conditional for Category B devices.

antenna_model

string

If an external antenna is used, the antenna model is optionally provided in this field. The string has a maximum length of 128 octets.

ListCustomersRequest

Request for ListCustomers method.

Fields
page_size

int32

The maximum number of customers to return in the response.

page_token

string

A pagination token returned from a previous call to ListCustomers method that indicates where this listing should continue from.

ListCustomersResponse

Response for ListCustomers method.

Fields
customers[]

Customer

The list of customers that match the request.

next_page_token

string

A pagination token returned from a previous call to ListCustomers method that indicates from where listing should continue. If the field is missing or empty, it means there are no more customers.

ListDevicesRequest

Request for ListDevices method.

Fields
parent

string

Required. The name of the parent resource.

page_size

int32

The maximum number of devices to return in the response.

page_token

string

A pagination token returned from a previous call to ListDevices that indicates where this listing should continue from.

filter

string

The filter expression. The filter should have one of the following formats: "sn=123454" or "display_name=MyDevice". sn corresponds to serial_number of the device. The filter is case insensitive.

ListDevicesResponse

Response for ListDevices method.

Fields
devices[]

Device

The devices that match the request.

next_page_token

string

A pagination token returned from a previous call to ListDevices method that indicates from where listing should continue. If the field is missing or empty, it means there is no more devices.

ListNodesRequest

Request for ListNodes method.

Fields
parent

string

Required. The parent resource name, for example, "nodes/1".

page_size

int32

The maximum number of nodes to return in the response.

page_token

string

A pagination token returned from a previous call to ListNodes method that indicates where this listing should continue from.

ListNodesResponse

Response for ListNodes method.

Fields
nodes[]

Node

The nodes that match the request.

next_page_token

string

A pagination token returned from a previous call to ListNodes method that indicates from where listing should continue. If the field is missing or empty, it means there is no more nodes.

MeasurementCapability

Device measurement capability. The values are defined by [WINNF-SSC-0002] [https://winnf.memberclicks.net/assets/CBRS/WINNF-SSC-0002.pdf].

Enums
MEASUREMENT_CAPABILITY_UNSPECIFIED
MEASUREMENT_CAPABILITY_RECEIVED_POWER_WITH_GRANT
MEASUREMENT_CAPABILITY_RECEIVED_POWER_WITHOUT_GRANT

MoveDeviceRequest

Request for MoveDevice method.

Fields
name

string

Required. The name of the device to move.

destination

string

Required. The name of the new parent resource (Node or Customer) to reparent the device under.

MoveNodeRequest

Request for MoveNode method.

Fields
name

string

Required. The name of the node to move.

destination

string

Required. The name of the new parent resource node or Customer) to reparent the node under.

Node

The Node.

Fields
name

string

Output only. Resource name.

display_name

string

The node's display name.

sas_user_ids[]

string

User ids used by the devices belonging to this node.

Policy

Defines an access control policy to the resources.

Fields
assignments[]

Assignment

etag

bytes

The [etag] is used for optimistic concurrency control as a way to help prevent simultaneous updates of a policy from overwriting each other. It is strongly suggested that systems make use of the [etag] in the read-modify-write cycle to perform policy updates in order to avoid race conditions: An [etag] is returned in the response to [GetPolicy], and systems are expected to put that etag in the request to [SetPolicy] to ensure that their change will be applied to the same version of the policy.

If no [etag] is provided in the call to [SetPolicy], then the existing policy is overwritten blindly.

SetPolicyRequest

Request message for SetPolicy method.

Fields
resource

string

Required. The resource for which the policy is being specified. This policy replaces any existing policy.

policy

Policy

Required. The policy to be applied to the resource.

SignDeviceRequest

Request for SignDevice method.

Fields
device

Device

Required. The device to sign. The device fields name, fcc_id, and serial_number must be set.

TestPermissionsRequest

Request message for TestPermissions method.

Fields
resource

string

Required. The resource for which the permissions are being requested.

permissions[]

string

The set of permissions to check for the resource.

TestPermissionsResponse

Response message for TestPermissions method.

Fields
permissions[]

string

A set of permissions that the caller is allowed.

UpdateCustomerRequest

Request for UpdateCustomer.

Fields
customer

Customer

Required. The new values for the customer message. The customer must have [name field] and [spectrum.sas.portal.v1alpha1.Customer.name] [display_name field]spectrum.sas.portal.v1alpha1.Customer.display_name set.

update_mask

FieldMask

Fields to be updated.

UpdateDeviceRequest

Request for UpdateDevice method.

Fields
device

Device

Required. The device to update. The device fields name, fcc_id and serial_number must be set. The user_id must be set.

update_mask

FieldMask

Fields to be updated.

UpdateNodeRequest

Request for UpdateNode method.

Fields
node

Node

Required. The new values for the node The name field and display_name field must be set.

update_mask

FieldMask

Fields to be updated.

UpdateSignedDeviceRequest

Request for UpdateSignedDevice method.

Fields
name

string

Required. The name of the device to update.

encoded_device

bytes

Required. The JSON Web Token signed using a CPI private key. Payload must be the JSON encoding of the device. The user_id must be set.

installer_id

string

Required. Unique installer ID (CPI ID) from the Certified Professional Installers database.

ValidateInstallerRequest

Request for ValidateInstaller method.

Fields
installer_id

string

Required. Unique installer id (cpiId) from the Certified Professional Installers database.

secret

string

Required. Secret returned by the GenerateSecret method.

encoded_secret

string

Required. JSON Web Token signed using a CPI private key. Payload must include a "secret" claim whose value is the secret.

ValidateInstallerResponse

Response for ValidateInstaller method.