Package spectrum.sas.portal.v1alpha1

Index

Customers

Service managing SAS customers.

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.

CreateDeployment

rpc CreateDeployment(CreateDeploymentRequest) returns (Deployment)

Creates a new deployment.

Authorization Scopes

Requires the following OAuth scope:

  • https://www.googleapis.com/auth/userinfo.email
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
DeleteDeployment

rpc DeleteDeployment(DeleteDeploymentRequest) returns (Empty)

Deletes a deployment.

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.

Authorization Scopes

Requires the following OAuth scope:

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

rpc GetDeployment(GetDeploymentRequest) returns (Deployment)

Returns a requested deployment.

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
ListDeployments

rpc ListDeployments(ListDeploymentsRequest) returns (ListDeploymentsResponse)

Lists deployments.

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
MoveDeployment

rpc MoveDeployment(MoveDeploymentRequest) returns (Operation)

Moves a deployment under another node or customer.

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
UpdateDeployment

rpc UpdateDeployment(UpdateDeploymentRequest) returns (Deployment)

Updates an existing deployment.

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.

BillingMode

Billing mode of a CBSD

Enums
BILLING_MODE_UNSPECIFIED Billing mode has not been specified.
MOBILE Price is based on category of CBSD: Category A, Category B registered with SAS.
FIXED_WIRELESS Price is based on type of CBSD: Base station or CPE.

ChannelType

Enums
CHANNEL_TYPE_UNSPECIFIED
CHANNEL_TYPE_GAA
CHANNEL_TYPE_PAL

CreateDeploymentRequest

Request for CreateDeployment.

Fields
parent

string

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

deployment

Deployment

Required. The deployment details. The name must be empty. It is generated by the server. The deployment display_name must be set.

CreateDeviceRequest

Request for CreateDevice.

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 field 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 must be empty. It is generated by the server. The node display_name must be set.

CreateSignedDeviceRequest

Request for CreateSignedDevice.

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 field must be set.

installer_id

string

Required. Unique installer id (CPI ID) 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.

DeleteDeploymentRequest

Request for DeleteDeployment.

Fields
name

string

Required. The name of the deployment.

DeleteDeviceRequest

Request for DeleteDevice.

Fields
name

string

Required. The name of the device.

DeleteNodeRequest

Request for DeleteNode.

Fields
name

string

Required. The name of the node.

Deployment

The Deployment.

Fields
name

string

Output only. Resource name.

display_name

string

The deployment's display name.

sas_user_ids[]

string

User ID used by the devices belonging to this deployment. Each deployment should be associated with one unique user ID.

default_billing_mode

BillingMode

Default billing mode for the deployment and devices under it.

allowed_billing_modes[]

BillingMode

The allowed billing modes under this deployment.

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.

device_metadata

DeviceMetadata

Device parameters that can be overridden by both SAS Portal and SAS registration requests.

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

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

supported_spec

string

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

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

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 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.

suspension_reason[]

string

If the grant is suspended, the reason(s) for suspension.

grant_id

string

Grant Id.

DeviceMetadata

Device data overridable by both SAS Portal and registration requests.

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.

GenerateSecretResponse

Response for GenerateSecret.

Fields
secret

string

The secret generated by the string and used by ValidateInstaller.

GetCustomerRequest

Request for GetCustomer .

Fields
name

string

Required. The name of the customer.

GetDeploymentRequest

Request for GetDeployment.

Fields
name

string

Required. The name of the deployment.

GetDeviceRequest

Request for GetDevice.

Fields
name

string

Required. The name of the device.

GetNodeRequest

Request for GetNode.

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.

cpe_cbsd_indication

BoolValue

If present, this parameter specifies whether the CBSD is a CPE-CBSD or not.

ListCustomersRequest

Request for ListCustomers.

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 that indicates where this listing should continue from.

ListCustomersResponse

Response for ListCustomers.

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 that indicates from where listing should continue. If the field is missing or empty, it means there are no more customers.

ListDeploymentsRequest

Request for ListDeployments.

Fields
parent

string

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

page_size

int32

The maximum number of deployments to return in the response.

page_token

string

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

filter

string

The filter expression. The filter should have the following format: "DIRECT_CHILDREN" or format: "direct_children". The filter is case insensitive. If empty, then no deployments are filtered.

ListDeploymentsResponse

Response for ListDeployments.

Fields
deployments[]

Deployment

The deployments that match the request.

next_page_token

string

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

ListDevicesRequest

Request for ListDevices.

Fields
parent

string

Required. The name of the parent resource.

page_size

int32

The maximum number of devices to return in the response. If empty or zero, all devices will be listed. Must be in the range [0, 1000].

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.

Fields
devices[]

Device

The devices that match the request.

next_page_token

string

A pagination token returned from a previous call to ListDevices 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.

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 that indicates where this listing should continue from.

filter

string

The filter expression. The filter should have the following format: "DIRECT_CHILDREN" or format: "direct_children". The filter is case insensitive. If empty, then no nodes are filtered.

ListNodesResponse

Response for ListNodes.

Fields
nodes[]

Node

The nodes that match the request.

next_page_token

string

A pagination token returned from a previous call to ListNodes 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.

Enums
MEASUREMENT_CAPABILITY_UNSPECIFIED
MEASUREMENT_CAPABILITY_RECEIVED_POWER_WITH_GRANT
MEASUREMENT_CAPABILITY_RECEIVED_POWER_WITHOUT_GRANT

MoveDeploymentRequest

Request for MoveDeployment.

Fields
name

string

Required. The name of the deployment to move.

destination

string

Required. The name of the new parent resource node or customer to reparent the deployment under.

MoveDeviceRequest

Request for MoveDevice.

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.

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

List of assignments

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 GetPolicy, 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.

Fields
device

Device

Required. The device to sign. The device fields name, fcc_id and serial_number must be set. The user_id field 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. The customer must have name and display_name set.

update_mask

FieldMask

Fields to be updated.

UpdateDeploymentRequest

Request for UpdateDeployment.

Fields
deployment

Deployment

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

update_mask

FieldMask

Fields to be updated.

UpdateDeviceRequest

Request for UpdateDevice.

Fields
device

Device

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

update_mask

FieldMask

Fields to be updated.

UpdateNodeRequest

Request for UpdateNode.

Fields
node

Node

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

update_mask

FieldMask

Fields to be updated.

UpdateSignedDeviceRequest

Request for UpdateSignedDevice.

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 field must be set.

installer_id

string

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

ValidateInstallerRequest

Request for ValidateInstaller.

Fields
installer_id

string

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

secret

string

Required. Secret returned by the GenerateSecret.

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.