<html><body>
<style>

body, h1, h2, h3, div, span, p, pre, a {
  margin: 0;
  padding: 0;
  border: 0;
  font-weight: inherit;
  font-style: inherit;
  font-size: 100%;
  font-family: inherit;
  vertical-align: baseline;
}

body {
  font-size: 13px;
  padding: 1em;
}

h1 {
  font-size: 26px;
  margin-bottom: 1em;
}

h2 {
  font-size: 24px;
  margin-bottom: 1em;
}

h3 {
  font-size: 20px;
  margin-bottom: 1em;
  margin-top: 1em;
}

pre, code {
  line-height: 1.5;
  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
}

pre {
  margin-top: 0.5em;
}

h1, h2, h3, p {
  font-family: Arial, sans serif;
}

h1, h2, h3 {
  border-bottom: solid #CCC 1px;
}

.toc_element {
  margin-top: 0.5em;
}

.firstline {
  margin-left: 2 em;
}

.method  {
  margin-top: 1em;
  border: solid 1px #CCC;
  padding: 1em;
  background: #EEE;
}

.details {
  font-weight: bold;
  font-size: 14px;
}

</style>

<h1><a href="sasportal_v1alpha1.html">SAS Portal API</a> . <a href="sasportal_v1alpha1.nodes.html">nodes</a> . <a href="sasportal_v1alpha1.nodes.devices.html">devices</a></h1>
<h2>Instance Methods</h2>
<p class="toc_element">
  <code><a href="#bulk">bulk(parent, body=None, x__xgafv=None)</a></code></p>
<p class="firstline">Creates a device under a node or customer. Returned devices are unordered.</p>
<p class="toc_element">
  <code><a href="#close">close()</a></code></p>
<p class="firstline">Close httplib2 connections.</p>
<p class="toc_element">
  <code><a href="#create">create(parent, body=None, x__xgafv=None)</a></code></p>
<p class="firstline">Creates a device under a node or customer.</p>
<p class="toc_element">
  <code><a href="#createSigned">createSigned(parent, body=None, x__xgafv=None)</a></code></p>
<p class="firstline">Creates a signed device under a node or customer.</p>
<p class="toc_element">
  <code><a href="#delete">delete(name, x__xgafv=None)</a></code></p>
<p class="firstline">Deletes a device.</p>
<p class="toc_element">
  <code><a href="#get">get(name, x__xgafv=None)</a></code></p>
<p class="firstline">Gets details about a device.</p>
<p class="toc_element">
  <code><a href="#list">list(parent, filter=None, pageSize=None, pageToken=None, x__xgafv=None)</a></code></p>
<p class="firstline">Lists devices under a node or customer.</p>
<p class="toc_element">
  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
<p class="firstline">Retrieves the next page of results.</p>
<p class="toc_element">
  <code><a href="#move">move(name, body=None, x__xgafv=None)</a></code></p>
<p class="firstline">Moves a device under another node or customer.</p>
<p class="toc_element">
  <code><a href="#patch">patch(name, body=None, updateMask=None, x__xgafv=None)</a></code></p>
<p class="firstline">Updates a device.</p>
<p class="toc_element">
  <code><a href="#signDevice">signDevice(name, body=None, x__xgafv=None)</a></code></p>
<p class="firstline">Signs a device.</p>
<p class="toc_element">
  <code><a href="#updateSigned">updateSigned(name, body=None, x__xgafv=None)</a></code></p>
<p class="firstline">Updates a signed device.</p>
<h3>Method Details</h3>
<div class="method">
    <code class="details" id="bulk">bulk(parent, body=None, x__xgafv=None)</code>
  <pre>Creates a device under a node or customer. Returned devices are unordered.

Args:
  parent: string, Required. The name of the parent resource. (required)
  body: object, The request body.
    The object takes the form of:

{ # Request for BulkCreateDevice method.
  &quot;csv&quot;: &quot;A String&quot;, # Required. A csv with each row representing a [device]. Each row must conform to the regulations described on CreateDeviceRequest&#x27;s device field.
}

  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # Response for BulkCreateDevice method.
  &quot;devices&quot;: [ # Required. The devices that were imported.
    {
      &quot;activeConfig&quot;: { # Information about the device configuration. # Output only. Current configuration of the device as registered to the SAS.
        &quot;airInterface&quot;: { # Information about the device&#x27;s air interface. # Information about this device&#x27;s air interface.
          &quot;radioTechnology&quot;: &quot;A String&quot;, # This field specifies the radio access technology that is used for the CBSD. Conditional
          &quot;supportedSpec&quot;: &quot;A String&quot;, # 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
        },
        &quot;callSign&quot;: &quot;A String&quot;, # The call sign of the device operator.
        &quot;category&quot;: &quot;A String&quot;, # FCC category of the device.
        &quot;installationParams&quot;: { # Information about the device installation parameters. # Installation parameters for the device.
          &quot;antennaAzimuth&quot;: 42, # 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.
          &quot;antennaBeamwidth&quot;: 42, # 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.
          &quot;antennaDowntilt&quot;: 42, # 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.
          &quot;antennaGain&quot;: 42, # Peak antenna gain in dBi. This parameter is an integer with a value between -127 and +128 (dBi) inclusive.
          &quot;antennaModel&quot;: &quot;A String&quot;, # If an external antenna is used, the antenna model is optionally provided in this field. The string has a maximum length of 128 octets.
          &quot;cpeCbsdIndication&quot;: True or False, # If present, this parameter specifies whether the CBSD is a CPE-CBSD or not.
          &quot;eirpCapability&quot;: 42, # 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.
          &quot;height&quot;: 3.14, # Device antenna height in meters. When the heightType parameter value is &quot;AGL&quot;, the antenna height should be given relative to ground level. When the heightType parameter value is &quot;AMSL&quot;, it is given with respect to WGS84 datum.
          &quot;heightType&quot;: &quot;A String&quot;, # Specifies how the height is measured.
          &quot;horizontalAccuracy&quot;: 3.14, # 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.
          &quot;indoorDeployment&quot;: True or False, # Whether the device antenna is indoor or not. True: indoor. False: outdoor.
          &quot;latitude&quot;: 3.14, # 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.
          &quot;longitude&quot;: 3.14, # 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.
          &quot;verticalAccuracy&quot;: 3.14, # 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.
        },
        &quot;isSigned&quot;: True or False, # Output-only. Whether the configuration has been signed by a CPI.
        &quot;measurementCapabilities&quot;: [ # Measurement reporting capabilities of the device.
          &quot;A String&quot;,
        ],
        &quot;model&quot;: { # Information about the model of the device. # Information about this device model.
          &quot;firmwareVersion&quot;: &quot;A String&quot;, # The firmware version of the device.
          &quot;hardwareVersion&quot;: &quot;A String&quot;, # The hardware version of the device.
          &quot;name&quot;: &quot;A String&quot;, # The name of the device model.
          &quot;softwareVersion&quot;: &quot;A String&quot;, # The software version of the device.
          &quot;vendor&quot;: &quot;A String&quot;, # The name of the device vendor.
        },
        &quot;state&quot;: &quot;A String&quot;, # State of the configuration.
        &quot;updateTime&quot;: &quot;A String&quot;, # Output-only. The last time the device configuration was edited.
        &quot;userId&quot;: &quot;A String&quot;, # The identifier of a device user.
      },
      &quot;deviceMetadata&quot;: { # Device data overridable by both SAS Portal and registration requests. # Device parameters that can be overridden by both SAS Portal and SAS registration requests.
      },
      &quot;displayName&quot;: &quot;A String&quot;, # Device display name.
      &quot;fccId&quot;: &quot;A String&quot;, # The FCC identifier of the device.
      &quot;grants&quot;: [ # Output only. Grants held by the device.
        { # 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.
          &quot;channelType&quot;: &quot;A String&quot;, # Type of channel used.
          &quot;expireTime&quot;: &quot;A String&quot;, # The expiration time of the grant.
          &quot;frequencyRange&quot;: { # Frequency range from `low_frequency` to `high_frequency`. # The transmission frequency range.
            &quot;highFrequencyMhz&quot;: 3.14, # The highest frequency of the frequency range in MHz.
            &quot;lowFrequencyMhz&quot;: 3.14, # The lowest frequency of the frequency range in MHz.
          },
          &quot;grantId&quot;: &quot;A String&quot;, # Grant Id.
          &quot;maxEirp&quot;: 3.14, # 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).
          &quot;moveList&quot;: [ # The DPA move lists on which this grant appears.
            { # An entry in a DPA&#x27;s move list.
              &quot;dpaId&quot;: &quot;A String&quot;, # The ID of the DPA.
              &quot;frequencyRange&quot;: { # Frequency range from `low_frequency` to `high_frequency`. # The frequency range that the move list affects.
                &quot;highFrequencyMhz&quot;: 3.14, # The highest frequency of the frequency range in MHz.
                &quot;lowFrequencyMhz&quot;: 3.14, # The lowest frequency of the frequency range in MHz.
              },
            },
          ],
          &quot;state&quot;: &quot;A String&quot;, # State of the grant.
          &quot;suspensionReason&quot;: [ # If the grant is suspended, the reason(s) for suspension.
            &quot;A String&quot;,
          ],
        },
      ],
      &quot;name&quot;: &quot;A String&quot;, # Output only. The resource path name.
      &quot;preloadedConfig&quot;: { # Information about the device configuration. # Configuration of the device, as specified via SAS Portal API.
        &quot;airInterface&quot;: { # Information about the device&#x27;s air interface. # Information about this device&#x27;s air interface.
          &quot;radioTechnology&quot;: &quot;A String&quot;, # This field specifies the radio access technology that is used for the CBSD. Conditional
          &quot;supportedSpec&quot;: &quot;A String&quot;, # 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
        },
        &quot;callSign&quot;: &quot;A String&quot;, # The call sign of the device operator.
        &quot;category&quot;: &quot;A String&quot;, # FCC category of the device.
        &quot;installationParams&quot;: { # Information about the device installation parameters. # Installation parameters for the device.
          &quot;antennaAzimuth&quot;: 42, # 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.
          &quot;antennaBeamwidth&quot;: 42, # 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.
          &quot;antennaDowntilt&quot;: 42, # 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.
          &quot;antennaGain&quot;: 42, # Peak antenna gain in dBi. This parameter is an integer with a value between -127 and +128 (dBi) inclusive.
          &quot;antennaModel&quot;: &quot;A String&quot;, # If an external antenna is used, the antenna model is optionally provided in this field. The string has a maximum length of 128 octets.
          &quot;cpeCbsdIndication&quot;: True or False, # If present, this parameter specifies whether the CBSD is a CPE-CBSD or not.
          &quot;eirpCapability&quot;: 42, # 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.
          &quot;height&quot;: 3.14, # Device antenna height in meters. When the heightType parameter value is &quot;AGL&quot;, the antenna height should be given relative to ground level. When the heightType parameter value is &quot;AMSL&quot;, it is given with respect to WGS84 datum.
          &quot;heightType&quot;: &quot;A String&quot;, # Specifies how the height is measured.
          &quot;horizontalAccuracy&quot;: 3.14, # 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.
          &quot;indoorDeployment&quot;: True or False, # Whether the device antenna is indoor or not. True: indoor. False: outdoor.
          &quot;latitude&quot;: 3.14, # 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.
          &quot;longitude&quot;: 3.14, # 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.
          &quot;verticalAccuracy&quot;: 3.14, # 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.
        },
        &quot;isSigned&quot;: True or False, # Output-only. Whether the configuration has been signed by a CPI.
        &quot;measurementCapabilities&quot;: [ # Measurement reporting capabilities of the device.
          &quot;A String&quot;,
        ],
        &quot;model&quot;: { # Information about the model of the device. # Information about this device model.
          &quot;firmwareVersion&quot;: &quot;A String&quot;, # The firmware version of the device.
          &quot;hardwareVersion&quot;: &quot;A String&quot;, # The hardware version of the device.
          &quot;name&quot;: &quot;A String&quot;, # The name of the device model.
          &quot;softwareVersion&quot;: &quot;A String&quot;, # The software version of the device.
          &quot;vendor&quot;: &quot;A String&quot;, # The name of the device vendor.
        },
        &quot;state&quot;: &quot;A String&quot;, # State of the configuration.
        &quot;updateTime&quot;: &quot;A String&quot;, # Output-only. The last time the device configuration was edited.
        &quot;userId&quot;: &quot;A String&quot;, # The identifier of a device user.
      },
      &quot;serialNumber&quot;: &quot;A String&quot;, # A serial number assigned to the device by the device manufacturer.
      &quot;state&quot;: &quot;A String&quot;, # Output only. Device state.
    },
  ],
}</pre>
</div>

<div class="method">
    <code class="details" id="close">close()</code>
  <pre>Close httplib2 connections.</pre>
</div>

<div class="method">
    <code class="details" id="create">create(parent, body=None, x__xgafv=None)</code>
  <pre>Creates a device under a node or customer.

Args:
  parent: string, Required. The name of the parent resource. (required)
  body: object, The request body.
    The object takes the form of:

{
  &quot;activeConfig&quot;: { # Information about the device configuration. # Output only. Current configuration of the device as registered to the SAS.
    &quot;airInterface&quot;: { # Information about the device&#x27;s air interface. # Information about this device&#x27;s air interface.
      &quot;radioTechnology&quot;: &quot;A String&quot;, # This field specifies the radio access technology that is used for the CBSD. Conditional
      &quot;supportedSpec&quot;: &quot;A String&quot;, # 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
    },
    &quot;callSign&quot;: &quot;A String&quot;, # The call sign of the device operator.
    &quot;category&quot;: &quot;A String&quot;, # FCC category of the device.
    &quot;installationParams&quot;: { # Information about the device installation parameters. # Installation parameters for the device.
      &quot;antennaAzimuth&quot;: 42, # 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.
      &quot;antennaBeamwidth&quot;: 42, # 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.
      &quot;antennaDowntilt&quot;: 42, # 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.
      &quot;antennaGain&quot;: 42, # Peak antenna gain in dBi. This parameter is an integer with a value between -127 and +128 (dBi) inclusive.
      &quot;antennaModel&quot;: &quot;A String&quot;, # If an external antenna is used, the antenna model is optionally provided in this field. The string has a maximum length of 128 octets.
      &quot;cpeCbsdIndication&quot;: True or False, # If present, this parameter specifies whether the CBSD is a CPE-CBSD or not.
      &quot;eirpCapability&quot;: 42, # 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.
      &quot;height&quot;: 3.14, # Device antenna height in meters. When the heightType parameter value is &quot;AGL&quot;, the antenna height should be given relative to ground level. When the heightType parameter value is &quot;AMSL&quot;, it is given with respect to WGS84 datum.
      &quot;heightType&quot;: &quot;A String&quot;, # Specifies how the height is measured.
      &quot;horizontalAccuracy&quot;: 3.14, # 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.
      &quot;indoorDeployment&quot;: True or False, # Whether the device antenna is indoor or not. True: indoor. False: outdoor.
      &quot;latitude&quot;: 3.14, # 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.
      &quot;longitude&quot;: 3.14, # 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.
      &quot;verticalAccuracy&quot;: 3.14, # 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.
    },
    &quot;isSigned&quot;: True or False, # Output-only. Whether the configuration has been signed by a CPI.
    &quot;measurementCapabilities&quot;: [ # Measurement reporting capabilities of the device.
      &quot;A String&quot;,
    ],
    &quot;model&quot;: { # Information about the model of the device. # Information about this device model.
      &quot;firmwareVersion&quot;: &quot;A String&quot;, # The firmware version of the device.
      &quot;hardwareVersion&quot;: &quot;A String&quot;, # The hardware version of the device.
      &quot;name&quot;: &quot;A String&quot;, # The name of the device model.
      &quot;softwareVersion&quot;: &quot;A String&quot;, # The software version of the device.
      &quot;vendor&quot;: &quot;A String&quot;, # The name of the device vendor.
    },
    &quot;state&quot;: &quot;A String&quot;, # State of the configuration.
    &quot;updateTime&quot;: &quot;A String&quot;, # Output-only. The last time the device configuration was edited.
    &quot;userId&quot;: &quot;A String&quot;, # The identifier of a device user.
  },
  &quot;deviceMetadata&quot;: { # Device data overridable by both SAS Portal and registration requests. # Device parameters that can be overridden by both SAS Portal and SAS registration requests.
  },
  &quot;displayName&quot;: &quot;A String&quot;, # Device display name.
  &quot;fccId&quot;: &quot;A String&quot;, # The FCC identifier of the device.
  &quot;grants&quot;: [ # Output only. Grants held by the device.
    { # 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.
      &quot;channelType&quot;: &quot;A String&quot;, # Type of channel used.
      &quot;expireTime&quot;: &quot;A String&quot;, # The expiration time of the grant.
      &quot;frequencyRange&quot;: { # Frequency range from `low_frequency` to `high_frequency`. # The transmission frequency range.
        &quot;highFrequencyMhz&quot;: 3.14, # The highest frequency of the frequency range in MHz.
        &quot;lowFrequencyMhz&quot;: 3.14, # The lowest frequency of the frequency range in MHz.
      },
      &quot;grantId&quot;: &quot;A String&quot;, # Grant Id.
      &quot;maxEirp&quot;: 3.14, # 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).
      &quot;moveList&quot;: [ # The DPA move lists on which this grant appears.
        { # An entry in a DPA&#x27;s move list.
          &quot;dpaId&quot;: &quot;A String&quot;, # The ID of the DPA.
          &quot;frequencyRange&quot;: { # Frequency range from `low_frequency` to `high_frequency`. # The frequency range that the move list affects.
            &quot;highFrequencyMhz&quot;: 3.14, # The highest frequency of the frequency range in MHz.
            &quot;lowFrequencyMhz&quot;: 3.14, # The lowest frequency of the frequency range in MHz.
          },
        },
      ],
      &quot;state&quot;: &quot;A String&quot;, # State of the grant.
      &quot;suspensionReason&quot;: [ # If the grant is suspended, the reason(s) for suspension.
        &quot;A String&quot;,
      ],
    },
  ],
  &quot;name&quot;: &quot;A String&quot;, # Output only. The resource path name.
  &quot;preloadedConfig&quot;: { # Information about the device configuration. # Configuration of the device, as specified via SAS Portal API.
    &quot;airInterface&quot;: { # Information about the device&#x27;s air interface. # Information about this device&#x27;s air interface.
      &quot;radioTechnology&quot;: &quot;A String&quot;, # This field specifies the radio access technology that is used for the CBSD. Conditional
      &quot;supportedSpec&quot;: &quot;A String&quot;, # 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
    },
    &quot;callSign&quot;: &quot;A String&quot;, # The call sign of the device operator.
    &quot;category&quot;: &quot;A String&quot;, # FCC category of the device.
    &quot;installationParams&quot;: { # Information about the device installation parameters. # Installation parameters for the device.
      &quot;antennaAzimuth&quot;: 42, # 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.
      &quot;antennaBeamwidth&quot;: 42, # 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.
      &quot;antennaDowntilt&quot;: 42, # 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.
      &quot;antennaGain&quot;: 42, # Peak antenna gain in dBi. This parameter is an integer with a value between -127 and +128 (dBi) inclusive.
      &quot;antennaModel&quot;: &quot;A String&quot;, # If an external antenna is used, the antenna model is optionally provided in this field. The string has a maximum length of 128 octets.
      &quot;cpeCbsdIndication&quot;: True or False, # If present, this parameter specifies whether the CBSD is a CPE-CBSD or not.
      &quot;eirpCapability&quot;: 42, # 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.
      &quot;height&quot;: 3.14, # Device antenna height in meters. When the heightType parameter value is &quot;AGL&quot;, the antenna height should be given relative to ground level. When the heightType parameter value is &quot;AMSL&quot;, it is given with respect to WGS84 datum.
      &quot;heightType&quot;: &quot;A String&quot;, # Specifies how the height is measured.
      &quot;horizontalAccuracy&quot;: 3.14, # 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.
      &quot;indoorDeployment&quot;: True or False, # Whether the device antenna is indoor or not. True: indoor. False: outdoor.
      &quot;latitude&quot;: 3.14, # 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.
      &quot;longitude&quot;: 3.14, # 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.
      &quot;verticalAccuracy&quot;: 3.14, # 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.
    },
    &quot;isSigned&quot;: True or False, # Output-only. Whether the configuration has been signed by a CPI.
    &quot;measurementCapabilities&quot;: [ # Measurement reporting capabilities of the device.
      &quot;A String&quot;,
    ],
    &quot;model&quot;: { # Information about the model of the device. # Information about this device model.
      &quot;firmwareVersion&quot;: &quot;A String&quot;, # The firmware version of the device.
      &quot;hardwareVersion&quot;: &quot;A String&quot;, # The hardware version of the device.
      &quot;name&quot;: &quot;A String&quot;, # The name of the device model.
      &quot;softwareVersion&quot;: &quot;A String&quot;, # The software version of the device.
      &quot;vendor&quot;: &quot;A String&quot;, # The name of the device vendor.
    },
    &quot;state&quot;: &quot;A String&quot;, # State of the configuration.
    &quot;updateTime&quot;: &quot;A String&quot;, # Output-only. The last time the device configuration was edited.
    &quot;userId&quot;: &quot;A String&quot;, # The identifier of a device user.
  },
  &quot;serialNumber&quot;: &quot;A String&quot;, # A serial number assigned to the device by the device manufacturer.
  &quot;state&quot;: &quot;A String&quot;, # Output only. Device state.
}

  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    {
  &quot;activeConfig&quot;: { # Information about the device configuration. # Output only. Current configuration of the device as registered to the SAS.
    &quot;airInterface&quot;: { # Information about the device&#x27;s air interface. # Information about this device&#x27;s air interface.
      &quot;radioTechnology&quot;: &quot;A String&quot;, # This field specifies the radio access technology that is used for the CBSD. Conditional
      &quot;supportedSpec&quot;: &quot;A String&quot;, # 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
    },
    &quot;callSign&quot;: &quot;A String&quot;, # The call sign of the device operator.
    &quot;category&quot;: &quot;A String&quot;, # FCC category of the device.
    &quot;installationParams&quot;: { # Information about the device installation parameters. # Installation parameters for the device.
      &quot;antennaAzimuth&quot;: 42, # 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.
      &quot;antennaBeamwidth&quot;: 42, # 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.
      &quot;antennaDowntilt&quot;: 42, # 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.
      &quot;antennaGain&quot;: 42, # Peak antenna gain in dBi. This parameter is an integer with a value between -127 and +128 (dBi) inclusive.
      &quot;antennaModel&quot;: &quot;A String&quot;, # If an external antenna is used, the antenna model is optionally provided in this field. The string has a maximum length of 128 octets.
      &quot;cpeCbsdIndication&quot;: True or False, # If present, this parameter specifies whether the CBSD is a CPE-CBSD or not.
      &quot;eirpCapability&quot;: 42, # 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.
      &quot;height&quot;: 3.14, # Device antenna height in meters. When the heightType parameter value is &quot;AGL&quot;, the antenna height should be given relative to ground level. When the heightType parameter value is &quot;AMSL&quot;, it is given with respect to WGS84 datum.
      &quot;heightType&quot;: &quot;A String&quot;, # Specifies how the height is measured.
      &quot;horizontalAccuracy&quot;: 3.14, # 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.
      &quot;indoorDeployment&quot;: True or False, # Whether the device antenna is indoor or not. True: indoor. False: outdoor.
      &quot;latitude&quot;: 3.14, # 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.
      &quot;longitude&quot;: 3.14, # 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.
      &quot;verticalAccuracy&quot;: 3.14, # 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.
    },
    &quot;isSigned&quot;: True or False, # Output-only. Whether the configuration has been signed by a CPI.
    &quot;measurementCapabilities&quot;: [ # Measurement reporting capabilities of the device.
      &quot;A String&quot;,
    ],
    &quot;model&quot;: { # Information about the model of the device. # Information about this device model.
      &quot;firmwareVersion&quot;: &quot;A String&quot;, # The firmware version of the device.
      &quot;hardwareVersion&quot;: &quot;A String&quot;, # The hardware version of the device.
      &quot;name&quot;: &quot;A String&quot;, # The name of the device model.
      &quot;softwareVersion&quot;: &quot;A String&quot;, # The software version of the device.
      &quot;vendor&quot;: &quot;A String&quot;, # The name of the device vendor.
    },
    &quot;state&quot;: &quot;A String&quot;, # State of the configuration.
    &quot;updateTime&quot;: &quot;A String&quot;, # Output-only. The last time the device configuration was edited.
    &quot;userId&quot;: &quot;A String&quot;, # The identifier of a device user.
  },
  &quot;deviceMetadata&quot;: { # Device data overridable by both SAS Portal and registration requests. # Device parameters that can be overridden by both SAS Portal and SAS registration requests.
  },
  &quot;displayName&quot;: &quot;A String&quot;, # Device display name.
  &quot;fccId&quot;: &quot;A String&quot;, # The FCC identifier of the device.
  &quot;grants&quot;: [ # Output only. Grants held by the device.
    { # 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.
      &quot;channelType&quot;: &quot;A String&quot;, # Type of channel used.
      &quot;expireTime&quot;: &quot;A String&quot;, # The expiration time of the grant.
      &quot;frequencyRange&quot;: { # Frequency range from `low_frequency` to `high_frequency`. # The transmission frequency range.
        &quot;highFrequencyMhz&quot;: 3.14, # The highest frequency of the frequency range in MHz.
        &quot;lowFrequencyMhz&quot;: 3.14, # The lowest frequency of the frequency range in MHz.
      },
      &quot;grantId&quot;: &quot;A String&quot;, # Grant Id.
      &quot;maxEirp&quot;: 3.14, # 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).
      &quot;moveList&quot;: [ # The DPA move lists on which this grant appears.
        { # An entry in a DPA&#x27;s move list.
          &quot;dpaId&quot;: &quot;A String&quot;, # The ID of the DPA.
          &quot;frequencyRange&quot;: { # Frequency range from `low_frequency` to `high_frequency`. # The frequency range that the move list affects.
            &quot;highFrequencyMhz&quot;: 3.14, # The highest frequency of the frequency range in MHz.
            &quot;lowFrequencyMhz&quot;: 3.14, # The lowest frequency of the frequency range in MHz.
          },
        },
      ],
      &quot;state&quot;: &quot;A String&quot;, # State of the grant.
      &quot;suspensionReason&quot;: [ # If the grant is suspended, the reason(s) for suspension.
        &quot;A String&quot;,
      ],
    },
  ],
  &quot;name&quot;: &quot;A String&quot;, # Output only. The resource path name.
  &quot;preloadedConfig&quot;: { # Information about the device configuration. # Configuration of the device, as specified via SAS Portal API.
    &quot;airInterface&quot;: { # Information about the device&#x27;s air interface. # Information about this device&#x27;s air interface.
      &quot;radioTechnology&quot;: &quot;A String&quot;, # This field specifies the radio access technology that is used for the CBSD. Conditional
      &quot;supportedSpec&quot;: &quot;A String&quot;, # 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
    },
    &quot;callSign&quot;: &quot;A String&quot;, # The call sign of the device operator.
    &quot;category&quot;: &quot;A String&quot;, # FCC category of the device.
    &quot;installationParams&quot;: { # Information about the device installation parameters. # Installation parameters for the device.
      &quot;antennaAzimuth&quot;: 42, # 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.
      &quot;antennaBeamwidth&quot;: 42, # 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.
      &quot;antennaDowntilt&quot;: 42, # 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.
      &quot;antennaGain&quot;: 42, # Peak antenna gain in dBi. This parameter is an integer with a value between -127 and +128 (dBi) inclusive.
      &quot;antennaModel&quot;: &quot;A String&quot;, # If an external antenna is used, the antenna model is optionally provided in this field. The string has a maximum length of 128 octets.
      &quot;cpeCbsdIndication&quot;: True or False, # If present, this parameter specifies whether the CBSD is a CPE-CBSD or not.
      &quot;eirpCapability&quot;: 42, # 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.
      &quot;height&quot;: 3.14, # Device antenna height in meters. When the heightType parameter value is &quot;AGL&quot;, the antenna height should be given relative to ground level. When the heightType parameter value is &quot;AMSL&quot;, it is given with respect to WGS84 datum.
      &quot;heightType&quot;: &quot;A String&quot;, # Specifies how the height is measured.
      &quot;horizontalAccuracy&quot;: 3.14, # 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.
      &quot;indoorDeployment&quot;: True or False, # Whether the device antenna is indoor or not. True: indoor. False: outdoor.
      &quot;latitude&quot;: 3.14, # 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.
      &quot;longitude&quot;: 3.14, # 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.
      &quot;verticalAccuracy&quot;: 3.14, # 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.
    },
    &quot;isSigned&quot;: True or False, # Output-only. Whether the configuration has been signed by a CPI.
    &quot;measurementCapabilities&quot;: [ # Measurement reporting capabilities of the device.
      &quot;A String&quot;,
    ],
    &quot;model&quot;: { # Information about the model of the device. # Information about this device model.
      &quot;firmwareVersion&quot;: &quot;A String&quot;, # The firmware version of the device.
      &quot;hardwareVersion&quot;: &quot;A String&quot;, # The hardware version of the device.
      &quot;name&quot;: &quot;A String&quot;, # The name of the device model.
      &quot;softwareVersion&quot;: &quot;A String&quot;, # The software version of the device.
      &quot;vendor&quot;: &quot;A String&quot;, # The name of the device vendor.
    },
    &quot;state&quot;: &quot;A String&quot;, # State of the configuration.
    &quot;updateTime&quot;: &quot;A String&quot;, # Output-only. The last time the device configuration was edited.
    &quot;userId&quot;: &quot;A String&quot;, # The identifier of a device user.
  },
  &quot;serialNumber&quot;: &quot;A String&quot;, # A serial number assigned to the device by the device manufacturer.
  &quot;state&quot;: &quot;A String&quot;, # Output only. Device state.
}</pre>
</div>

<div class="method">
    <code class="details" id="createSigned">createSigned(parent, body=None, x__xgafv=None)</code>
  <pre>Creates a signed device under a node or customer.

Args:
  parent: string, Required. The name of the parent resource. (required)
  body: object, The request body.
    The object takes the form of:

{ # Request for CreateSignedDevice method.
  &quot;encodedDevice&quot;: &quot;A String&quot;, # 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.
  &quot;installerId&quot;: &quot;A String&quot;, # Required. Unique installer id (cpiId) from the Certified Professional Installers database.
}

  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    {
  &quot;activeConfig&quot;: { # Information about the device configuration. # Output only. Current configuration of the device as registered to the SAS.
    &quot;airInterface&quot;: { # Information about the device&#x27;s air interface. # Information about this device&#x27;s air interface.
      &quot;radioTechnology&quot;: &quot;A String&quot;, # This field specifies the radio access technology that is used for the CBSD. Conditional
      &quot;supportedSpec&quot;: &quot;A String&quot;, # 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
    },
    &quot;callSign&quot;: &quot;A String&quot;, # The call sign of the device operator.
    &quot;category&quot;: &quot;A String&quot;, # FCC category of the device.
    &quot;installationParams&quot;: { # Information about the device installation parameters. # Installation parameters for the device.
      &quot;antennaAzimuth&quot;: 42, # 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.
      &quot;antennaBeamwidth&quot;: 42, # 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.
      &quot;antennaDowntilt&quot;: 42, # 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.
      &quot;antennaGain&quot;: 42, # Peak antenna gain in dBi. This parameter is an integer with a value between -127 and +128 (dBi) inclusive.
      &quot;antennaModel&quot;: &quot;A String&quot;, # If an external antenna is used, the antenna model is optionally provided in this field. The string has a maximum length of 128 octets.
      &quot;cpeCbsdIndication&quot;: True or False, # If present, this parameter specifies whether the CBSD is a CPE-CBSD or not.
      &quot;eirpCapability&quot;: 42, # 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.
      &quot;height&quot;: 3.14, # Device antenna height in meters. When the heightType parameter value is &quot;AGL&quot;, the antenna height should be given relative to ground level. When the heightType parameter value is &quot;AMSL&quot;, it is given with respect to WGS84 datum.
      &quot;heightType&quot;: &quot;A String&quot;, # Specifies how the height is measured.
      &quot;horizontalAccuracy&quot;: 3.14, # 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.
      &quot;indoorDeployment&quot;: True or False, # Whether the device antenna is indoor or not. True: indoor. False: outdoor.
      &quot;latitude&quot;: 3.14, # 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.
      &quot;longitude&quot;: 3.14, # 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.
      &quot;verticalAccuracy&quot;: 3.14, # 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.
    },
    &quot;isSigned&quot;: True or False, # Output-only. Whether the configuration has been signed by a CPI.
    &quot;measurementCapabilities&quot;: [ # Measurement reporting capabilities of the device.
      &quot;A String&quot;,
    ],
    &quot;model&quot;: { # Information about the model of the device. # Information about this device model.
      &quot;firmwareVersion&quot;: &quot;A String&quot;, # The firmware version of the device.
      &quot;hardwareVersion&quot;: &quot;A String&quot;, # The hardware version of the device.
      &quot;name&quot;: &quot;A String&quot;, # The name of the device model.
      &quot;softwareVersion&quot;: &quot;A String&quot;, # The software version of the device.
      &quot;vendor&quot;: &quot;A String&quot;, # The name of the device vendor.
    },
    &quot;state&quot;: &quot;A String&quot;, # State of the configuration.
    &quot;updateTime&quot;: &quot;A String&quot;, # Output-only. The last time the device configuration was edited.
    &quot;userId&quot;: &quot;A String&quot;, # The identifier of a device user.
  },
  &quot;deviceMetadata&quot;: { # Device data overridable by both SAS Portal and registration requests. # Device parameters that can be overridden by both SAS Portal and SAS registration requests.
  },
  &quot;displayName&quot;: &quot;A String&quot;, # Device display name.
  &quot;fccId&quot;: &quot;A String&quot;, # The FCC identifier of the device.
  &quot;grants&quot;: [ # Output only. Grants held by the device.
    { # 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.
      &quot;channelType&quot;: &quot;A String&quot;, # Type of channel used.
      &quot;expireTime&quot;: &quot;A String&quot;, # The expiration time of the grant.
      &quot;frequencyRange&quot;: { # Frequency range from `low_frequency` to `high_frequency`. # The transmission frequency range.
        &quot;highFrequencyMhz&quot;: 3.14, # The highest frequency of the frequency range in MHz.
        &quot;lowFrequencyMhz&quot;: 3.14, # The lowest frequency of the frequency range in MHz.
      },
      &quot;grantId&quot;: &quot;A String&quot;, # Grant Id.
      &quot;maxEirp&quot;: 3.14, # 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).
      &quot;moveList&quot;: [ # The DPA move lists on which this grant appears.
        { # An entry in a DPA&#x27;s move list.
          &quot;dpaId&quot;: &quot;A String&quot;, # The ID of the DPA.
          &quot;frequencyRange&quot;: { # Frequency range from `low_frequency` to `high_frequency`. # The frequency range that the move list affects.
            &quot;highFrequencyMhz&quot;: 3.14, # The highest frequency of the frequency range in MHz.
            &quot;lowFrequencyMhz&quot;: 3.14, # The lowest frequency of the frequency range in MHz.
          },
        },
      ],
      &quot;state&quot;: &quot;A String&quot;, # State of the grant.
      &quot;suspensionReason&quot;: [ # If the grant is suspended, the reason(s) for suspension.
        &quot;A String&quot;,
      ],
    },
  ],
  &quot;name&quot;: &quot;A String&quot;, # Output only. The resource path name.
  &quot;preloadedConfig&quot;: { # Information about the device configuration. # Configuration of the device, as specified via SAS Portal API.
    &quot;airInterface&quot;: { # Information about the device&#x27;s air interface. # Information about this device&#x27;s air interface.
      &quot;radioTechnology&quot;: &quot;A String&quot;, # This field specifies the radio access technology that is used for the CBSD. Conditional
      &quot;supportedSpec&quot;: &quot;A String&quot;, # 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
    },
    &quot;callSign&quot;: &quot;A String&quot;, # The call sign of the device operator.
    &quot;category&quot;: &quot;A String&quot;, # FCC category of the device.
    &quot;installationParams&quot;: { # Information about the device installation parameters. # Installation parameters for the device.
      &quot;antennaAzimuth&quot;: 42, # 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.
      &quot;antennaBeamwidth&quot;: 42, # 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.
      &quot;antennaDowntilt&quot;: 42, # 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.
      &quot;antennaGain&quot;: 42, # Peak antenna gain in dBi. This parameter is an integer with a value between -127 and +128 (dBi) inclusive.
      &quot;antennaModel&quot;: &quot;A String&quot;, # If an external antenna is used, the antenna model is optionally provided in this field. The string has a maximum length of 128 octets.
      &quot;cpeCbsdIndication&quot;: True or False, # If present, this parameter specifies whether the CBSD is a CPE-CBSD or not.
      &quot;eirpCapability&quot;: 42, # 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.
      &quot;height&quot;: 3.14, # Device antenna height in meters. When the heightType parameter value is &quot;AGL&quot;, the antenna height should be given relative to ground level. When the heightType parameter value is &quot;AMSL&quot;, it is given with respect to WGS84 datum.
      &quot;heightType&quot;: &quot;A String&quot;, # Specifies how the height is measured.
      &quot;horizontalAccuracy&quot;: 3.14, # 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.
      &quot;indoorDeployment&quot;: True or False, # Whether the device antenna is indoor or not. True: indoor. False: outdoor.
      &quot;latitude&quot;: 3.14, # 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.
      &quot;longitude&quot;: 3.14, # 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.
      &quot;verticalAccuracy&quot;: 3.14, # 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.
    },
    &quot;isSigned&quot;: True or False, # Output-only. Whether the configuration has been signed by a CPI.
    &quot;measurementCapabilities&quot;: [ # Measurement reporting capabilities of the device.
      &quot;A String&quot;,
    ],
    &quot;model&quot;: { # Information about the model of the device. # Information about this device model.
      &quot;firmwareVersion&quot;: &quot;A String&quot;, # The firmware version of the device.
      &quot;hardwareVersion&quot;: &quot;A String&quot;, # The hardware version of the device.
      &quot;name&quot;: &quot;A String&quot;, # The name of the device model.
      &quot;softwareVersion&quot;: &quot;A String&quot;, # The software version of the device.
      &quot;vendor&quot;: &quot;A String&quot;, # The name of the device vendor.
    },
    &quot;state&quot;: &quot;A String&quot;, # State of the configuration.
    &quot;updateTime&quot;: &quot;A String&quot;, # Output-only. The last time the device configuration was edited.
    &quot;userId&quot;: &quot;A String&quot;, # The identifier of a device user.
  },
  &quot;serialNumber&quot;: &quot;A String&quot;, # A serial number assigned to the device by the device manufacturer.
  &quot;state&quot;: &quot;A String&quot;, # Output only. Device state.
}</pre>
</div>

<div class="method">
    <code class="details" id="delete">delete(name, x__xgafv=None)</code>
  <pre>Deletes a device.

Args:
  name: string, Required. The name of the device. (required)
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON representation for `Empty` is empty JSON object `{}`.
}</pre>
</div>

<div class="method">
    <code class="details" id="get">get(name, x__xgafv=None)</code>
  <pre>Gets details about a device.

Args:
  name: string, Required. The name of the device. (required)
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    {
  &quot;activeConfig&quot;: { # Information about the device configuration. # Output only. Current configuration of the device as registered to the SAS.
    &quot;airInterface&quot;: { # Information about the device&#x27;s air interface. # Information about this device&#x27;s air interface.
      &quot;radioTechnology&quot;: &quot;A String&quot;, # This field specifies the radio access technology that is used for the CBSD. Conditional
      &quot;supportedSpec&quot;: &quot;A String&quot;, # 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
    },
    &quot;callSign&quot;: &quot;A String&quot;, # The call sign of the device operator.
    &quot;category&quot;: &quot;A String&quot;, # FCC category of the device.
    &quot;installationParams&quot;: { # Information about the device installation parameters. # Installation parameters for the device.
      &quot;antennaAzimuth&quot;: 42, # 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.
      &quot;antennaBeamwidth&quot;: 42, # 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.
      &quot;antennaDowntilt&quot;: 42, # 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.
      &quot;antennaGain&quot;: 42, # Peak antenna gain in dBi. This parameter is an integer with a value between -127 and +128 (dBi) inclusive.
      &quot;antennaModel&quot;: &quot;A String&quot;, # If an external antenna is used, the antenna model is optionally provided in this field. The string has a maximum length of 128 octets.
      &quot;cpeCbsdIndication&quot;: True or False, # If present, this parameter specifies whether the CBSD is a CPE-CBSD or not.
      &quot;eirpCapability&quot;: 42, # 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.
      &quot;height&quot;: 3.14, # Device antenna height in meters. When the heightType parameter value is &quot;AGL&quot;, the antenna height should be given relative to ground level. When the heightType parameter value is &quot;AMSL&quot;, it is given with respect to WGS84 datum.
      &quot;heightType&quot;: &quot;A String&quot;, # Specifies how the height is measured.
      &quot;horizontalAccuracy&quot;: 3.14, # 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.
      &quot;indoorDeployment&quot;: True or False, # Whether the device antenna is indoor or not. True: indoor. False: outdoor.
      &quot;latitude&quot;: 3.14, # 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.
      &quot;longitude&quot;: 3.14, # 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.
      &quot;verticalAccuracy&quot;: 3.14, # 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.
    },
    &quot;isSigned&quot;: True or False, # Output-only. Whether the configuration has been signed by a CPI.
    &quot;measurementCapabilities&quot;: [ # Measurement reporting capabilities of the device.
      &quot;A String&quot;,
    ],
    &quot;model&quot;: { # Information about the model of the device. # Information about this device model.
      &quot;firmwareVersion&quot;: &quot;A String&quot;, # The firmware version of the device.
      &quot;hardwareVersion&quot;: &quot;A String&quot;, # The hardware version of the device.
      &quot;name&quot;: &quot;A String&quot;, # The name of the device model.
      &quot;softwareVersion&quot;: &quot;A String&quot;, # The software version of the device.
      &quot;vendor&quot;: &quot;A String&quot;, # The name of the device vendor.
    },
    &quot;state&quot;: &quot;A String&quot;, # State of the configuration.
    &quot;updateTime&quot;: &quot;A String&quot;, # Output-only. The last time the device configuration was edited.
    &quot;userId&quot;: &quot;A String&quot;, # The identifier of a device user.
  },
  &quot;deviceMetadata&quot;: { # Device data overridable by both SAS Portal and registration requests. # Device parameters that can be overridden by both SAS Portal and SAS registration requests.
  },
  &quot;displayName&quot;: &quot;A String&quot;, # Device display name.
  &quot;fccId&quot;: &quot;A String&quot;, # The FCC identifier of the device.
  &quot;grants&quot;: [ # Output only. Grants held by the device.
    { # 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.
      &quot;channelType&quot;: &quot;A String&quot;, # Type of channel used.
      &quot;expireTime&quot;: &quot;A String&quot;, # The expiration time of the grant.
      &quot;frequencyRange&quot;: { # Frequency range from `low_frequency` to `high_frequency`. # The transmission frequency range.
        &quot;highFrequencyMhz&quot;: 3.14, # The highest frequency of the frequency range in MHz.
        &quot;lowFrequencyMhz&quot;: 3.14, # The lowest frequency of the frequency range in MHz.
      },
      &quot;grantId&quot;: &quot;A String&quot;, # Grant Id.
      &quot;maxEirp&quot;: 3.14, # 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).
      &quot;moveList&quot;: [ # The DPA move lists on which this grant appears.
        { # An entry in a DPA&#x27;s move list.
          &quot;dpaId&quot;: &quot;A String&quot;, # The ID of the DPA.
          &quot;frequencyRange&quot;: { # Frequency range from `low_frequency` to `high_frequency`. # The frequency range that the move list affects.
            &quot;highFrequencyMhz&quot;: 3.14, # The highest frequency of the frequency range in MHz.
            &quot;lowFrequencyMhz&quot;: 3.14, # The lowest frequency of the frequency range in MHz.
          },
        },
      ],
      &quot;state&quot;: &quot;A String&quot;, # State of the grant.
      &quot;suspensionReason&quot;: [ # If the grant is suspended, the reason(s) for suspension.
        &quot;A String&quot;,
      ],
    },
  ],
  &quot;name&quot;: &quot;A String&quot;, # Output only. The resource path name.
  &quot;preloadedConfig&quot;: { # Information about the device configuration. # Configuration of the device, as specified via SAS Portal API.
    &quot;airInterface&quot;: { # Information about the device&#x27;s air interface. # Information about this device&#x27;s air interface.
      &quot;radioTechnology&quot;: &quot;A String&quot;, # This field specifies the radio access technology that is used for the CBSD. Conditional
      &quot;supportedSpec&quot;: &quot;A String&quot;, # 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
    },
    &quot;callSign&quot;: &quot;A String&quot;, # The call sign of the device operator.
    &quot;category&quot;: &quot;A String&quot;, # FCC category of the device.
    &quot;installationParams&quot;: { # Information about the device installation parameters. # Installation parameters for the device.
      &quot;antennaAzimuth&quot;: 42, # 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.
      &quot;antennaBeamwidth&quot;: 42, # 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.
      &quot;antennaDowntilt&quot;: 42, # 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.
      &quot;antennaGain&quot;: 42, # Peak antenna gain in dBi. This parameter is an integer with a value between -127 and +128 (dBi) inclusive.
      &quot;antennaModel&quot;: &quot;A String&quot;, # If an external antenna is used, the antenna model is optionally provided in this field. The string has a maximum length of 128 octets.
      &quot;cpeCbsdIndication&quot;: True or False, # If present, this parameter specifies whether the CBSD is a CPE-CBSD or not.
      &quot;eirpCapability&quot;: 42, # 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.
      &quot;height&quot;: 3.14, # Device antenna height in meters. When the heightType parameter value is &quot;AGL&quot;, the antenna height should be given relative to ground level. When the heightType parameter value is &quot;AMSL&quot;, it is given with respect to WGS84 datum.
      &quot;heightType&quot;: &quot;A String&quot;, # Specifies how the height is measured.
      &quot;horizontalAccuracy&quot;: 3.14, # 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.
      &quot;indoorDeployment&quot;: True or False, # Whether the device antenna is indoor or not. True: indoor. False: outdoor.
      &quot;latitude&quot;: 3.14, # 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.
      &quot;longitude&quot;: 3.14, # 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.
      &quot;verticalAccuracy&quot;: 3.14, # 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.
    },
    &quot;isSigned&quot;: True or False, # Output-only. Whether the configuration has been signed by a CPI.
    &quot;measurementCapabilities&quot;: [ # Measurement reporting capabilities of the device.
      &quot;A String&quot;,
    ],
    &quot;model&quot;: { # Information about the model of the device. # Information about this device model.
      &quot;firmwareVersion&quot;: &quot;A String&quot;, # The firmware version of the device.
      &quot;hardwareVersion&quot;: &quot;A String&quot;, # The hardware version of the device.
      &quot;name&quot;: &quot;A String&quot;, # The name of the device model.
      &quot;softwareVersion&quot;: &quot;A String&quot;, # The software version of the device.
      &quot;vendor&quot;: &quot;A String&quot;, # The name of the device vendor.
    },
    &quot;state&quot;: &quot;A String&quot;, # State of the configuration.
    &quot;updateTime&quot;: &quot;A String&quot;, # Output-only. The last time the device configuration was edited.
    &quot;userId&quot;: &quot;A String&quot;, # The identifier of a device user.
  },
  &quot;serialNumber&quot;: &quot;A String&quot;, # A serial number assigned to the device by the device manufacturer.
  &quot;state&quot;: &quot;A String&quot;, # Output only. Device state.
}</pre>
</div>

<div class="method">
    <code class="details" id="list">list(parent, filter=None, pageSize=None, pageToken=None, x__xgafv=None)</code>
  <pre>Lists devices under a node or customer.

Args:
  parent: string, Required. The name of the parent resource. (required)
  filter: string, The filter expression. The filter should have one of the following formats: &quot;sn=123454&quot; or &quot;display_name=MyDevice&quot;. sn corresponds to serial_number of the device. The filter is case insensitive.
  pageSize: integer, 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].
  pageToken: string, A pagination token returned from a previous call to ListDevices that indicates where this listing should continue from.
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # Response for ListDevices method.
  &quot;devices&quot;: [ # The devices that match the request.
    {
      &quot;activeConfig&quot;: { # Information about the device configuration. # Output only. Current configuration of the device as registered to the SAS.
        &quot;airInterface&quot;: { # Information about the device&#x27;s air interface. # Information about this device&#x27;s air interface.
          &quot;radioTechnology&quot;: &quot;A String&quot;, # This field specifies the radio access technology that is used for the CBSD. Conditional
          &quot;supportedSpec&quot;: &quot;A String&quot;, # 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
        },
        &quot;callSign&quot;: &quot;A String&quot;, # The call sign of the device operator.
        &quot;category&quot;: &quot;A String&quot;, # FCC category of the device.
        &quot;installationParams&quot;: { # Information about the device installation parameters. # Installation parameters for the device.
          &quot;antennaAzimuth&quot;: 42, # 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.
          &quot;antennaBeamwidth&quot;: 42, # 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.
          &quot;antennaDowntilt&quot;: 42, # 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.
          &quot;antennaGain&quot;: 42, # Peak antenna gain in dBi. This parameter is an integer with a value between -127 and +128 (dBi) inclusive.
          &quot;antennaModel&quot;: &quot;A String&quot;, # If an external antenna is used, the antenna model is optionally provided in this field. The string has a maximum length of 128 octets.
          &quot;cpeCbsdIndication&quot;: True or False, # If present, this parameter specifies whether the CBSD is a CPE-CBSD or not.
          &quot;eirpCapability&quot;: 42, # 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.
          &quot;height&quot;: 3.14, # Device antenna height in meters. When the heightType parameter value is &quot;AGL&quot;, the antenna height should be given relative to ground level. When the heightType parameter value is &quot;AMSL&quot;, it is given with respect to WGS84 datum.
          &quot;heightType&quot;: &quot;A String&quot;, # Specifies how the height is measured.
          &quot;horizontalAccuracy&quot;: 3.14, # 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.
          &quot;indoorDeployment&quot;: True or False, # Whether the device antenna is indoor or not. True: indoor. False: outdoor.
          &quot;latitude&quot;: 3.14, # 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.
          &quot;longitude&quot;: 3.14, # 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.
          &quot;verticalAccuracy&quot;: 3.14, # 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.
        },
        &quot;isSigned&quot;: True or False, # Output-only. Whether the configuration has been signed by a CPI.
        &quot;measurementCapabilities&quot;: [ # Measurement reporting capabilities of the device.
          &quot;A String&quot;,
        ],
        &quot;model&quot;: { # Information about the model of the device. # Information about this device model.
          &quot;firmwareVersion&quot;: &quot;A String&quot;, # The firmware version of the device.
          &quot;hardwareVersion&quot;: &quot;A String&quot;, # The hardware version of the device.
          &quot;name&quot;: &quot;A String&quot;, # The name of the device model.
          &quot;softwareVersion&quot;: &quot;A String&quot;, # The software version of the device.
          &quot;vendor&quot;: &quot;A String&quot;, # The name of the device vendor.
        },
        &quot;state&quot;: &quot;A String&quot;, # State of the configuration.
        &quot;updateTime&quot;: &quot;A String&quot;, # Output-only. The last time the device configuration was edited.
        &quot;userId&quot;: &quot;A String&quot;, # The identifier of a device user.
      },
      &quot;deviceMetadata&quot;: { # Device data overridable by both SAS Portal and registration requests. # Device parameters that can be overridden by both SAS Portal and SAS registration requests.
      },
      &quot;displayName&quot;: &quot;A String&quot;, # Device display name.
      &quot;fccId&quot;: &quot;A String&quot;, # The FCC identifier of the device.
      &quot;grants&quot;: [ # Output only. Grants held by the device.
        { # 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.
          &quot;channelType&quot;: &quot;A String&quot;, # Type of channel used.
          &quot;expireTime&quot;: &quot;A String&quot;, # The expiration time of the grant.
          &quot;frequencyRange&quot;: { # Frequency range from `low_frequency` to `high_frequency`. # The transmission frequency range.
            &quot;highFrequencyMhz&quot;: 3.14, # The highest frequency of the frequency range in MHz.
            &quot;lowFrequencyMhz&quot;: 3.14, # The lowest frequency of the frequency range in MHz.
          },
          &quot;grantId&quot;: &quot;A String&quot;, # Grant Id.
          &quot;maxEirp&quot;: 3.14, # 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).
          &quot;moveList&quot;: [ # The DPA move lists on which this grant appears.
            { # An entry in a DPA&#x27;s move list.
              &quot;dpaId&quot;: &quot;A String&quot;, # The ID of the DPA.
              &quot;frequencyRange&quot;: { # Frequency range from `low_frequency` to `high_frequency`. # The frequency range that the move list affects.
                &quot;highFrequencyMhz&quot;: 3.14, # The highest frequency of the frequency range in MHz.
                &quot;lowFrequencyMhz&quot;: 3.14, # The lowest frequency of the frequency range in MHz.
              },
            },
          ],
          &quot;state&quot;: &quot;A String&quot;, # State of the grant.
          &quot;suspensionReason&quot;: [ # If the grant is suspended, the reason(s) for suspension.
            &quot;A String&quot;,
          ],
        },
      ],
      &quot;name&quot;: &quot;A String&quot;, # Output only. The resource path name.
      &quot;preloadedConfig&quot;: { # Information about the device configuration. # Configuration of the device, as specified via SAS Portal API.
        &quot;airInterface&quot;: { # Information about the device&#x27;s air interface. # Information about this device&#x27;s air interface.
          &quot;radioTechnology&quot;: &quot;A String&quot;, # This field specifies the radio access technology that is used for the CBSD. Conditional
          &quot;supportedSpec&quot;: &quot;A String&quot;, # 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
        },
        &quot;callSign&quot;: &quot;A String&quot;, # The call sign of the device operator.
        &quot;category&quot;: &quot;A String&quot;, # FCC category of the device.
        &quot;installationParams&quot;: { # Information about the device installation parameters. # Installation parameters for the device.
          &quot;antennaAzimuth&quot;: 42, # 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.
          &quot;antennaBeamwidth&quot;: 42, # 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.
          &quot;antennaDowntilt&quot;: 42, # 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.
          &quot;antennaGain&quot;: 42, # Peak antenna gain in dBi. This parameter is an integer with a value between -127 and +128 (dBi) inclusive.
          &quot;antennaModel&quot;: &quot;A String&quot;, # If an external antenna is used, the antenna model is optionally provided in this field. The string has a maximum length of 128 octets.
          &quot;cpeCbsdIndication&quot;: True or False, # If present, this parameter specifies whether the CBSD is a CPE-CBSD or not.
          &quot;eirpCapability&quot;: 42, # 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.
          &quot;height&quot;: 3.14, # Device antenna height in meters. When the heightType parameter value is &quot;AGL&quot;, the antenna height should be given relative to ground level. When the heightType parameter value is &quot;AMSL&quot;, it is given with respect to WGS84 datum.
          &quot;heightType&quot;: &quot;A String&quot;, # Specifies how the height is measured.
          &quot;horizontalAccuracy&quot;: 3.14, # 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.
          &quot;indoorDeployment&quot;: True or False, # Whether the device antenna is indoor or not. True: indoor. False: outdoor.
          &quot;latitude&quot;: 3.14, # 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.
          &quot;longitude&quot;: 3.14, # 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.
          &quot;verticalAccuracy&quot;: 3.14, # 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.
        },
        &quot;isSigned&quot;: True or False, # Output-only. Whether the configuration has been signed by a CPI.
        &quot;measurementCapabilities&quot;: [ # Measurement reporting capabilities of the device.
          &quot;A String&quot;,
        ],
        &quot;model&quot;: { # Information about the model of the device. # Information about this device model.
          &quot;firmwareVersion&quot;: &quot;A String&quot;, # The firmware version of the device.
          &quot;hardwareVersion&quot;: &quot;A String&quot;, # The hardware version of the device.
          &quot;name&quot;: &quot;A String&quot;, # The name of the device model.
          &quot;softwareVersion&quot;: &quot;A String&quot;, # The software version of the device.
          &quot;vendor&quot;: &quot;A String&quot;, # The name of the device vendor.
        },
        &quot;state&quot;: &quot;A String&quot;, # State of the configuration.
        &quot;updateTime&quot;: &quot;A String&quot;, # Output-only. The last time the device configuration was edited.
        &quot;userId&quot;: &quot;A String&quot;, # The identifier of a device user.
      },
      &quot;serialNumber&quot;: &quot;A String&quot;, # A serial number assigned to the device by the device manufacturer.
      &quot;state&quot;: &quot;A String&quot;, # Output only. Device state.
    },
  ],
  &quot;nextPageToken&quot;: &quot;A String&quot;, # 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.
}</pre>
</div>

<div class="method">
    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
  <pre>Retrieves the next page of results.

Args:
  previous_request: The request for the previous page. (required)
  previous_response: The response from the request for the previous page. (required)

Returns:
  A request object that you can call &#x27;execute()&#x27; on to request the next
  page. Returns None if there are no more items in the collection.
    </pre>
</div>

<div class="method">
    <code class="details" id="move">move(name, body=None, x__xgafv=None)</code>
  <pre>Moves a device under another node or customer.

Args:
  name: string, Required. The name of the device to move. (required)
  body: object, The request body.
    The object takes the form of:

{ # Request for MoveDevice method.
  &quot;destination&quot;: &quot;A String&quot;, # Required. The name of the new parent resource (Node or Customer) to reparent the device under.
}

  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # This resource represents a long-running operation that is the result of a network API call.
  &quot;done&quot;: True or False, # If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.
  &quot;error&quot;: { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # The error result of the operation in case of failure or cancellation.
    &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
    &quot;details&quot;: [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
      {
        &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
      },
    ],
    &quot;message&quot;: &quot;A String&quot;, # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
  },
  &quot;metadata&quot;: { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
    &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
  },
  &quot;name&quot;: &quot;A String&quot;, # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.
  &quot;response&quot;: { # The normal response of the operation in case of success. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
    &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
  },
}</pre>
</div>

<div class="method">
    <code class="details" id="patch">patch(name, body=None, updateMask=None, x__xgafv=None)</code>
  <pre>Updates a device.

Args:
  name: string, Output only. The resource path name. (required)
  body: object, The request body.
    The object takes the form of:

{
  &quot;activeConfig&quot;: { # Information about the device configuration. # Output only. Current configuration of the device as registered to the SAS.
    &quot;airInterface&quot;: { # Information about the device&#x27;s air interface. # Information about this device&#x27;s air interface.
      &quot;radioTechnology&quot;: &quot;A String&quot;, # This field specifies the radio access technology that is used for the CBSD. Conditional
      &quot;supportedSpec&quot;: &quot;A String&quot;, # 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
    },
    &quot;callSign&quot;: &quot;A String&quot;, # The call sign of the device operator.
    &quot;category&quot;: &quot;A String&quot;, # FCC category of the device.
    &quot;installationParams&quot;: { # Information about the device installation parameters. # Installation parameters for the device.
      &quot;antennaAzimuth&quot;: 42, # 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.
      &quot;antennaBeamwidth&quot;: 42, # 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.
      &quot;antennaDowntilt&quot;: 42, # 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.
      &quot;antennaGain&quot;: 42, # Peak antenna gain in dBi. This parameter is an integer with a value between -127 and +128 (dBi) inclusive.
      &quot;antennaModel&quot;: &quot;A String&quot;, # If an external antenna is used, the antenna model is optionally provided in this field. The string has a maximum length of 128 octets.
      &quot;cpeCbsdIndication&quot;: True or False, # If present, this parameter specifies whether the CBSD is a CPE-CBSD or not.
      &quot;eirpCapability&quot;: 42, # 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.
      &quot;height&quot;: 3.14, # Device antenna height in meters. When the heightType parameter value is &quot;AGL&quot;, the antenna height should be given relative to ground level. When the heightType parameter value is &quot;AMSL&quot;, it is given with respect to WGS84 datum.
      &quot;heightType&quot;: &quot;A String&quot;, # Specifies how the height is measured.
      &quot;horizontalAccuracy&quot;: 3.14, # 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.
      &quot;indoorDeployment&quot;: True or False, # Whether the device antenna is indoor or not. True: indoor. False: outdoor.
      &quot;latitude&quot;: 3.14, # 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.
      &quot;longitude&quot;: 3.14, # 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.
      &quot;verticalAccuracy&quot;: 3.14, # 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.
    },
    &quot;isSigned&quot;: True or False, # Output-only. Whether the configuration has been signed by a CPI.
    &quot;measurementCapabilities&quot;: [ # Measurement reporting capabilities of the device.
      &quot;A String&quot;,
    ],
    &quot;model&quot;: { # Information about the model of the device. # Information about this device model.
      &quot;firmwareVersion&quot;: &quot;A String&quot;, # The firmware version of the device.
      &quot;hardwareVersion&quot;: &quot;A String&quot;, # The hardware version of the device.
      &quot;name&quot;: &quot;A String&quot;, # The name of the device model.
      &quot;softwareVersion&quot;: &quot;A String&quot;, # The software version of the device.
      &quot;vendor&quot;: &quot;A String&quot;, # The name of the device vendor.
    },
    &quot;state&quot;: &quot;A String&quot;, # State of the configuration.
    &quot;updateTime&quot;: &quot;A String&quot;, # Output-only. The last time the device configuration was edited.
    &quot;userId&quot;: &quot;A String&quot;, # The identifier of a device user.
  },
  &quot;deviceMetadata&quot;: { # Device data overridable by both SAS Portal and registration requests. # Device parameters that can be overridden by both SAS Portal and SAS registration requests.
  },
  &quot;displayName&quot;: &quot;A String&quot;, # Device display name.
  &quot;fccId&quot;: &quot;A String&quot;, # The FCC identifier of the device.
  &quot;grants&quot;: [ # Output only. Grants held by the device.
    { # 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.
      &quot;channelType&quot;: &quot;A String&quot;, # Type of channel used.
      &quot;expireTime&quot;: &quot;A String&quot;, # The expiration time of the grant.
      &quot;frequencyRange&quot;: { # Frequency range from `low_frequency` to `high_frequency`. # The transmission frequency range.
        &quot;highFrequencyMhz&quot;: 3.14, # The highest frequency of the frequency range in MHz.
        &quot;lowFrequencyMhz&quot;: 3.14, # The lowest frequency of the frequency range in MHz.
      },
      &quot;grantId&quot;: &quot;A String&quot;, # Grant Id.
      &quot;maxEirp&quot;: 3.14, # 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).
      &quot;moveList&quot;: [ # The DPA move lists on which this grant appears.
        { # An entry in a DPA&#x27;s move list.
          &quot;dpaId&quot;: &quot;A String&quot;, # The ID of the DPA.
          &quot;frequencyRange&quot;: { # Frequency range from `low_frequency` to `high_frequency`. # The frequency range that the move list affects.
            &quot;highFrequencyMhz&quot;: 3.14, # The highest frequency of the frequency range in MHz.
            &quot;lowFrequencyMhz&quot;: 3.14, # The lowest frequency of the frequency range in MHz.
          },
        },
      ],
      &quot;state&quot;: &quot;A String&quot;, # State of the grant.
      &quot;suspensionReason&quot;: [ # If the grant is suspended, the reason(s) for suspension.
        &quot;A String&quot;,
      ],
    },
  ],
  &quot;name&quot;: &quot;A String&quot;, # Output only. The resource path name.
  &quot;preloadedConfig&quot;: { # Information about the device configuration. # Configuration of the device, as specified via SAS Portal API.
    &quot;airInterface&quot;: { # Information about the device&#x27;s air interface. # Information about this device&#x27;s air interface.
      &quot;radioTechnology&quot;: &quot;A String&quot;, # This field specifies the radio access technology that is used for the CBSD. Conditional
      &quot;supportedSpec&quot;: &quot;A String&quot;, # 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
    },
    &quot;callSign&quot;: &quot;A String&quot;, # The call sign of the device operator.
    &quot;category&quot;: &quot;A String&quot;, # FCC category of the device.
    &quot;installationParams&quot;: { # Information about the device installation parameters. # Installation parameters for the device.
      &quot;antennaAzimuth&quot;: 42, # 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.
      &quot;antennaBeamwidth&quot;: 42, # 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.
      &quot;antennaDowntilt&quot;: 42, # 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.
      &quot;antennaGain&quot;: 42, # Peak antenna gain in dBi. This parameter is an integer with a value between -127 and +128 (dBi) inclusive.
      &quot;antennaModel&quot;: &quot;A String&quot;, # If an external antenna is used, the antenna model is optionally provided in this field. The string has a maximum length of 128 octets.
      &quot;cpeCbsdIndication&quot;: True or False, # If present, this parameter specifies whether the CBSD is a CPE-CBSD or not.
      &quot;eirpCapability&quot;: 42, # 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.
      &quot;height&quot;: 3.14, # Device antenna height in meters. When the heightType parameter value is &quot;AGL&quot;, the antenna height should be given relative to ground level. When the heightType parameter value is &quot;AMSL&quot;, it is given with respect to WGS84 datum.
      &quot;heightType&quot;: &quot;A String&quot;, # Specifies how the height is measured.
      &quot;horizontalAccuracy&quot;: 3.14, # 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.
      &quot;indoorDeployment&quot;: True or False, # Whether the device antenna is indoor or not. True: indoor. False: outdoor.
      &quot;latitude&quot;: 3.14, # 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.
      &quot;longitude&quot;: 3.14, # 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.
      &quot;verticalAccuracy&quot;: 3.14, # 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.
    },
    &quot;isSigned&quot;: True or False, # Output-only. Whether the configuration has been signed by a CPI.
    &quot;measurementCapabilities&quot;: [ # Measurement reporting capabilities of the device.
      &quot;A String&quot;,
    ],
    &quot;model&quot;: { # Information about the model of the device. # Information about this device model.
      &quot;firmwareVersion&quot;: &quot;A String&quot;, # The firmware version of the device.
      &quot;hardwareVersion&quot;: &quot;A String&quot;, # The hardware version of the device.
      &quot;name&quot;: &quot;A String&quot;, # The name of the device model.
      &quot;softwareVersion&quot;: &quot;A String&quot;, # The software version of the device.
      &quot;vendor&quot;: &quot;A String&quot;, # The name of the device vendor.
    },
    &quot;state&quot;: &quot;A String&quot;, # State of the configuration.
    &quot;updateTime&quot;: &quot;A String&quot;, # Output-only. The last time the device configuration was edited.
    &quot;userId&quot;: &quot;A String&quot;, # The identifier of a device user.
  },
  &quot;serialNumber&quot;: &quot;A String&quot;, # A serial number assigned to the device by the device manufacturer.
  &quot;state&quot;: &quot;A String&quot;, # Output only. Device state.
}

  updateMask: string, Fields to be updated.
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    {
  &quot;activeConfig&quot;: { # Information about the device configuration. # Output only. Current configuration of the device as registered to the SAS.
    &quot;airInterface&quot;: { # Information about the device&#x27;s air interface. # Information about this device&#x27;s air interface.
      &quot;radioTechnology&quot;: &quot;A String&quot;, # This field specifies the radio access technology that is used for the CBSD. Conditional
      &quot;supportedSpec&quot;: &quot;A String&quot;, # 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
    },
    &quot;callSign&quot;: &quot;A String&quot;, # The call sign of the device operator.
    &quot;category&quot;: &quot;A String&quot;, # FCC category of the device.
    &quot;installationParams&quot;: { # Information about the device installation parameters. # Installation parameters for the device.
      &quot;antennaAzimuth&quot;: 42, # 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.
      &quot;antennaBeamwidth&quot;: 42, # 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.
      &quot;antennaDowntilt&quot;: 42, # 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.
      &quot;antennaGain&quot;: 42, # Peak antenna gain in dBi. This parameter is an integer with a value between -127 and +128 (dBi) inclusive.
      &quot;antennaModel&quot;: &quot;A String&quot;, # If an external antenna is used, the antenna model is optionally provided in this field. The string has a maximum length of 128 octets.
      &quot;cpeCbsdIndication&quot;: True or False, # If present, this parameter specifies whether the CBSD is a CPE-CBSD or not.
      &quot;eirpCapability&quot;: 42, # 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.
      &quot;height&quot;: 3.14, # Device antenna height in meters. When the heightType parameter value is &quot;AGL&quot;, the antenna height should be given relative to ground level. When the heightType parameter value is &quot;AMSL&quot;, it is given with respect to WGS84 datum.
      &quot;heightType&quot;: &quot;A String&quot;, # Specifies how the height is measured.
      &quot;horizontalAccuracy&quot;: 3.14, # 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.
      &quot;indoorDeployment&quot;: True or False, # Whether the device antenna is indoor or not. True: indoor. False: outdoor.
      &quot;latitude&quot;: 3.14, # 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.
      &quot;longitude&quot;: 3.14, # 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.
      &quot;verticalAccuracy&quot;: 3.14, # 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.
    },
    &quot;isSigned&quot;: True or False, # Output-only. Whether the configuration has been signed by a CPI.
    &quot;measurementCapabilities&quot;: [ # Measurement reporting capabilities of the device.
      &quot;A String&quot;,
    ],
    &quot;model&quot;: { # Information about the model of the device. # Information about this device model.
      &quot;firmwareVersion&quot;: &quot;A String&quot;, # The firmware version of the device.
      &quot;hardwareVersion&quot;: &quot;A String&quot;, # The hardware version of the device.
      &quot;name&quot;: &quot;A String&quot;, # The name of the device model.
      &quot;softwareVersion&quot;: &quot;A String&quot;, # The software version of the device.
      &quot;vendor&quot;: &quot;A String&quot;, # The name of the device vendor.
    },
    &quot;state&quot;: &quot;A String&quot;, # State of the configuration.
    &quot;updateTime&quot;: &quot;A String&quot;, # Output-only. The last time the device configuration was edited.
    &quot;userId&quot;: &quot;A String&quot;, # The identifier of a device user.
  },
  &quot;deviceMetadata&quot;: { # Device data overridable by both SAS Portal and registration requests. # Device parameters that can be overridden by both SAS Portal and SAS registration requests.
  },
  &quot;displayName&quot;: &quot;A String&quot;, # Device display name.
  &quot;fccId&quot;: &quot;A String&quot;, # The FCC identifier of the device.
  &quot;grants&quot;: [ # Output only. Grants held by the device.
    { # 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.
      &quot;channelType&quot;: &quot;A String&quot;, # Type of channel used.
      &quot;expireTime&quot;: &quot;A String&quot;, # The expiration time of the grant.
      &quot;frequencyRange&quot;: { # Frequency range from `low_frequency` to `high_frequency`. # The transmission frequency range.
        &quot;highFrequencyMhz&quot;: 3.14, # The highest frequency of the frequency range in MHz.
        &quot;lowFrequencyMhz&quot;: 3.14, # The lowest frequency of the frequency range in MHz.
      },
      &quot;grantId&quot;: &quot;A String&quot;, # Grant Id.
      &quot;maxEirp&quot;: 3.14, # 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).
      &quot;moveList&quot;: [ # The DPA move lists on which this grant appears.
        { # An entry in a DPA&#x27;s move list.
          &quot;dpaId&quot;: &quot;A String&quot;, # The ID of the DPA.
          &quot;frequencyRange&quot;: { # Frequency range from `low_frequency` to `high_frequency`. # The frequency range that the move list affects.
            &quot;highFrequencyMhz&quot;: 3.14, # The highest frequency of the frequency range in MHz.
            &quot;lowFrequencyMhz&quot;: 3.14, # The lowest frequency of the frequency range in MHz.
          },
        },
      ],
      &quot;state&quot;: &quot;A String&quot;, # State of the grant.
      &quot;suspensionReason&quot;: [ # If the grant is suspended, the reason(s) for suspension.
        &quot;A String&quot;,
      ],
    },
  ],
  &quot;name&quot;: &quot;A String&quot;, # Output only. The resource path name.
  &quot;preloadedConfig&quot;: { # Information about the device configuration. # Configuration of the device, as specified via SAS Portal API.
    &quot;airInterface&quot;: { # Information about the device&#x27;s air interface. # Information about this device&#x27;s air interface.
      &quot;radioTechnology&quot;: &quot;A String&quot;, # This field specifies the radio access technology that is used for the CBSD. Conditional
      &quot;supportedSpec&quot;: &quot;A String&quot;, # 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
    },
    &quot;callSign&quot;: &quot;A String&quot;, # The call sign of the device operator.
    &quot;category&quot;: &quot;A String&quot;, # FCC category of the device.
    &quot;installationParams&quot;: { # Information about the device installation parameters. # Installation parameters for the device.
      &quot;antennaAzimuth&quot;: 42, # 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.
      &quot;antennaBeamwidth&quot;: 42, # 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.
      &quot;antennaDowntilt&quot;: 42, # 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.
      &quot;antennaGain&quot;: 42, # Peak antenna gain in dBi. This parameter is an integer with a value between -127 and +128 (dBi) inclusive.
      &quot;antennaModel&quot;: &quot;A String&quot;, # If an external antenna is used, the antenna model is optionally provided in this field. The string has a maximum length of 128 octets.
      &quot;cpeCbsdIndication&quot;: True or False, # If present, this parameter specifies whether the CBSD is a CPE-CBSD or not.
      &quot;eirpCapability&quot;: 42, # 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.
      &quot;height&quot;: 3.14, # Device antenna height in meters. When the heightType parameter value is &quot;AGL&quot;, the antenna height should be given relative to ground level. When the heightType parameter value is &quot;AMSL&quot;, it is given with respect to WGS84 datum.
      &quot;heightType&quot;: &quot;A String&quot;, # Specifies how the height is measured.
      &quot;horizontalAccuracy&quot;: 3.14, # 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.
      &quot;indoorDeployment&quot;: True or False, # Whether the device antenna is indoor or not. True: indoor. False: outdoor.
      &quot;latitude&quot;: 3.14, # 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.
      &quot;longitude&quot;: 3.14, # 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.
      &quot;verticalAccuracy&quot;: 3.14, # 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.
    },
    &quot;isSigned&quot;: True or False, # Output-only. Whether the configuration has been signed by a CPI.
    &quot;measurementCapabilities&quot;: [ # Measurement reporting capabilities of the device.
      &quot;A String&quot;,
    ],
    &quot;model&quot;: { # Information about the model of the device. # Information about this device model.
      &quot;firmwareVersion&quot;: &quot;A String&quot;, # The firmware version of the device.
      &quot;hardwareVersion&quot;: &quot;A String&quot;, # The hardware version of the device.
      &quot;name&quot;: &quot;A String&quot;, # The name of the device model.
      &quot;softwareVersion&quot;: &quot;A String&quot;, # The software version of the device.
      &quot;vendor&quot;: &quot;A String&quot;, # The name of the device vendor.
    },
    &quot;state&quot;: &quot;A String&quot;, # State of the configuration.
    &quot;updateTime&quot;: &quot;A String&quot;, # Output-only. The last time the device configuration was edited.
    &quot;userId&quot;: &quot;A String&quot;, # The identifier of a device user.
  },
  &quot;serialNumber&quot;: &quot;A String&quot;, # A serial number assigned to the device by the device manufacturer.
  &quot;state&quot;: &quot;A String&quot;, # Output only. Device state.
}</pre>
</div>

<div class="method">
    <code class="details" id="signDevice">signDevice(name, body=None, x__xgafv=None)</code>
  <pre>Signs a device.

Args:
  name: string, Output only. The resource path name. (required)
  body: object, The request body.
    The object takes the form of:

{ # Request for SignDevice method.
  &quot;device&quot;: { # Required. The device to sign. The device fields name, fcc_id and serial_number must be set. The user_id field must be set.
    &quot;activeConfig&quot;: { # Information about the device configuration. # Output only. Current configuration of the device as registered to the SAS.
      &quot;airInterface&quot;: { # Information about the device&#x27;s air interface. # Information about this device&#x27;s air interface.
        &quot;radioTechnology&quot;: &quot;A String&quot;, # This field specifies the radio access technology that is used for the CBSD. Conditional
        &quot;supportedSpec&quot;: &quot;A String&quot;, # 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
      },
      &quot;callSign&quot;: &quot;A String&quot;, # The call sign of the device operator.
      &quot;category&quot;: &quot;A String&quot;, # FCC category of the device.
      &quot;installationParams&quot;: { # Information about the device installation parameters. # Installation parameters for the device.
        &quot;antennaAzimuth&quot;: 42, # 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.
        &quot;antennaBeamwidth&quot;: 42, # 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.
        &quot;antennaDowntilt&quot;: 42, # 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.
        &quot;antennaGain&quot;: 42, # Peak antenna gain in dBi. This parameter is an integer with a value between -127 and +128 (dBi) inclusive.
        &quot;antennaModel&quot;: &quot;A String&quot;, # If an external antenna is used, the antenna model is optionally provided in this field. The string has a maximum length of 128 octets.
        &quot;cpeCbsdIndication&quot;: True or False, # If present, this parameter specifies whether the CBSD is a CPE-CBSD or not.
        &quot;eirpCapability&quot;: 42, # 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.
        &quot;height&quot;: 3.14, # Device antenna height in meters. When the heightType parameter value is &quot;AGL&quot;, the antenna height should be given relative to ground level. When the heightType parameter value is &quot;AMSL&quot;, it is given with respect to WGS84 datum.
        &quot;heightType&quot;: &quot;A String&quot;, # Specifies how the height is measured.
        &quot;horizontalAccuracy&quot;: 3.14, # 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.
        &quot;indoorDeployment&quot;: True or False, # Whether the device antenna is indoor or not. True: indoor. False: outdoor.
        &quot;latitude&quot;: 3.14, # 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.
        &quot;longitude&quot;: 3.14, # 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.
        &quot;verticalAccuracy&quot;: 3.14, # 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.
      },
      &quot;isSigned&quot;: True or False, # Output-only. Whether the configuration has been signed by a CPI.
      &quot;measurementCapabilities&quot;: [ # Measurement reporting capabilities of the device.
        &quot;A String&quot;,
      ],
      &quot;model&quot;: { # Information about the model of the device. # Information about this device model.
        &quot;firmwareVersion&quot;: &quot;A String&quot;, # The firmware version of the device.
        &quot;hardwareVersion&quot;: &quot;A String&quot;, # The hardware version of the device.
        &quot;name&quot;: &quot;A String&quot;, # The name of the device model.
        &quot;softwareVersion&quot;: &quot;A String&quot;, # The software version of the device.
        &quot;vendor&quot;: &quot;A String&quot;, # The name of the device vendor.
      },
      &quot;state&quot;: &quot;A String&quot;, # State of the configuration.
      &quot;updateTime&quot;: &quot;A String&quot;, # Output-only. The last time the device configuration was edited.
      &quot;userId&quot;: &quot;A String&quot;, # The identifier of a device user.
    },
    &quot;deviceMetadata&quot;: { # Device data overridable by both SAS Portal and registration requests. # Device parameters that can be overridden by both SAS Portal and SAS registration requests.
    },
    &quot;displayName&quot;: &quot;A String&quot;, # Device display name.
    &quot;fccId&quot;: &quot;A String&quot;, # The FCC identifier of the device.
    &quot;grants&quot;: [ # Output only. Grants held by the device.
      { # 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.
        &quot;channelType&quot;: &quot;A String&quot;, # Type of channel used.
        &quot;expireTime&quot;: &quot;A String&quot;, # The expiration time of the grant.
        &quot;frequencyRange&quot;: { # Frequency range from `low_frequency` to `high_frequency`. # The transmission frequency range.
          &quot;highFrequencyMhz&quot;: 3.14, # The highest frequency of the frequency range in MHz.
          &quot;lowFrequencyMhz&quot;: 3.14, # The lowest frequency of the frequency range in MHz.
        },
        &quot;grantId&quot;: &quot;A String&quot;, # Grant Id.
        &quot;maxEirp&quot;: 3.14, # 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).
        &quot;moveList&quot;: [ # The DPA move lists on which this grant appears.
          { # An entry in a DPA&#x27;s move list.
            &quot;dpaId&quot;: &quot;A String&quot;, # The ID of the DPA.
            &quot;frequencyRange&quot;: { # Frequency range from `low_frequency` to `high_frequency`. # The frequency range that the move list affects.
              &quot;highFrequencyMhz&quot;: 3.14, # The highest frequency of the frequency range in MHz.
              &quot;lowFrequencyMhz&quot;: 3.14, # The lowest frequency of the frequency range in MHz.
            },
          },
        ],
        &quot;state&quot;: &quot;A String&quot;, # State of the grant.
        &quot;suspensionReason&quot;: [ # If the grant is suspended, the reason(s) for suspension.
          &quot;A String&quot;,
        ],
      },
    ],
    &quot;name&quot;: &quot;A String&quot;, # Output only. The resource path name.
    &quot;preloadedConfig&quot;: { # Information about the device configuration. # Configuration of the device, as specified via SAS Portal API.
      &quot;airInterface&quot;: { # Information about the device&#x27;s air interface. # Information about this device&#x27;s air interface.
        &quot;radioTechnology&quot;: &quot;A String&quot;, # This field specifies the radio access technology that is used for the CBSD. Conditional
        &quot;supportedSpec&quot;: &quot;A String&quot;, # 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
      },
      &quot;callSign&quot;: &quot;A String&quot;, # The call sign of the device operator.
      &quot;category&quot;: &quot;A String&quot;, # FCC category of the device.
      &quot;installationParams&quot;: { # Information about the device installation parameters. # Installation parameters for the device.
        &quot;antennaAzimuth&quot;: 42, # 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.
        &quot;antennaBeamwidth&quot;: 42, # 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.
        &quot;antennaDowntilt&quot;: 42, # 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.
        &quot;antennaGain&quot;: 42, # Peak antenna gain in dBi. This parameter is an integer with a value between -127 and +128 (dBi) inclusive.
        &quot;antennaModel&quot;: &quot;A String&quot;, # If an external antenna is used, the antenna model is optionally provided in this field. The string has a maximum length of 128 octets.
        &quot;cpeCbsdIndication&quot;: True or False, # If present, this parameter specifies whether the CBSD is a CPE-CBSD or not.
        &quot;eirpCapability&quot;: 42, # 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.
        &quot;height&quot;: 3.14, # Device antenna height in meters. When the heightType parameter value is &quot;AGL&quot;, the antenna height should be given relative to ground level. When the heightType parameter value is &quot;AMSL&quot;, it is given with respect to WGS84 datum.
        &quot;heightType&quot;: &quot;A String&quot;, # Specifies how the height is measured.
        &quot;horizontalAccuracy&quot;: 3.14, # 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.
        &quot;indoorDeployment&quot;: True or False, # Whether the device antenna is indoor or not. True: indoor. False: outdoor.
        &quot;latitude&quot;: 3.14, # 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.
        &quot;longitude&quot;: 3.14, # 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.
        &quot;verticalAccuracy&quot;: 3.14, # 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.
      },
      &quot;isSigned&quot;: True or False, # Output-only. Whether the configuration has been signed by a CPI.
      &quot;measurementCapabilities&quot;: [ # Measurement reporting capabilities of the device.
        &quot;A String&quot;,
      ],
      &quot;model&quot;: { # Information about the model of the device. # Information about this device model.
        &quot;firmwareVersion&quot;: &quot;A String&quot;, # The firmware version of the device.
        &quot;hardwareVersion&quot;: &quot;A String&quot;, # The hardware version of the device.
        &quot;name&quot;: &quot;A String&quot;, # The name of the device model.
        &quot;softwareVersion&quot;: &quot;A String&quot;, # The software version of the device.
        &quot;vendor&quot;: &quot;A String&quot;, # The name of the device vendor.
      },
      &quot;state&quot;: &quot;A String&quot;, # State of the configuration.
      &quot;updateTime&quot;: &quot;A String&quot;, # Output-only. The last time the device configuration was edited.
      &quot;userId&quot;: &quot;A String&quot;, # The identifier of a device user.
    },
    &quot;serialNumber&quot;: &quot;A String&quot;, # A serial number assigned to the device by the device manufacturer.
    &quot;state&quot;: &quot;A String&quot;, # Output only. Device state.
  },
}

  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON representation for `Empty` is empty JSON object `{}`.
}</pre>
</div>

<div class="method">
    <code class="details" id="updateSigned">updateSigned(name, body=None, x__xgafv=None)</code>
  <pre>Updates a signed device.

Args:
  name: string, Required. The name of the device to update. (required)
  body: object, The request body.
    The object takes the form of:

{ # Request for UpdateSignedDevice method.
  &quot;encodedDevice&quot;: &quot;A String&quot;, # 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.
  &quot;installerId&quot;: &quot;A String&quot;, # Required. Unique installer ID (CPI ID) from the Certified Professional Installers database.
}

  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    {
  &quot;activeConfig&quot;: { # Information about the device configuration. # Output only. Current configuration of the device as registered to the SAS.
    &quot;airInterface&quot;: { # Information about the device&#x27;s air interface. # Information about this device&#x27;s air interface.
      &quot;radioTechnology&quot;: &quot;A String&quot;, # This field specifies the radio access technology that is used for the CBSD. Conditional
      &quot;supportedSpec&quot;: &quot;A String&quot;, # 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
    },
    &quot;callSign&quot;: &quot;A String&quot;, # The call sign of the device operator.
    &quot;category&quot;: &quot;A String&quot;, # FCC category of the device.
    &quot;installationParams&quot;: { # Information about the device installation parameters. # Installation parameters for the device.
      &quot;antennaAzimuth&quot;: 42, # 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.
      &quot;antennaBeamwidth&quot;: 42, # 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.
      &quot;antennaDowntilt&quot;: 42, # 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.
      &quot;antennaGain&quot;: 42, # Peak antenna gain in dBi. This parameter is an integer with a value between -127 and +128 (dBi) inclusive.
      &quot;antennaModel&quot;: &quot;A String&quot;, # If an external antenna is used, the antenna model is optionally provided in this field. The string has a maximum length of 128 octets.
      &quot;cpeCbsdIndication&quot;: True or False, # If present, this parameter specifies whether the CBSD is a CPE-CBSD or not.
      &quot;eirpCapability&quot;: 42, # 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.
      &quot;height&quot;: 3.14, # Device antenna height in meters. When the heightType parameter value is &quot;AGL&quot;, the antenna height should be given relative to ground level. When the heightType parameter value is &quot;AMSL&quot;, it is given with respect to WGS84 datum.
      &quot;heightType&quot;: &quot;A String&quot;, # Specifies how the height is measured.
      &quot;horizontalAccuracy&quot;: 3.14, # 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.
      &quot;indoorDeployment&quot;: True or False, # Whether the device antenna is indoor or not. True: indoor. False: outdoor.
      &quot;latitude&quot;: 3.14, # 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.
      &quot;longitude&quot;: 3.14, # 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.
      &quot;verticalAccuracy&quot;: 3.14, # 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.
    },
    &quot;isSigned&quot;: True or False, # Output-only. Whether the configuration has been signed by a CPI.
    &quot;measurementCapabilities&quot;: [ # Measurement reporting capabilities of the device.
      &quot;A String&quot;,
    ],
    &quot;model&quot;: { # Information about the model of the device. # Information about this device model.
      &quot;firmwareVersion&quot;: &quot;A String&quot;, # The firmware version of the device.
      &quot;hardwareVersion&quot;: &quot;A String&quot;, # The hardware version of the device.
      &quot;name&quot;: &quot;A String&quot;, # The name of the device model.
      &quot;softwareVersion&quot;: &quot;A String&quot;, # The software version of the device.
      &quot;vendor&quot;: &quot;A String&quot;, # The name of the device vendor.
    },
    &quot;state&quot;: &quot;A String&quot;, # State of the configuration.
    &quot;updateTime&quot;: &quot;A String&quot;, # Output-only. The last time the device configuration was edited.
    &quot;userId&quot;: &quot;A String&quot;, # The identifier of a device user.
  },
  &quot;deviceMetadata&quot;: { # Device data overridable by both SAS Portal and registration requests. # Device parameters that can be overridden by both SAS Portal and SAS registration requests.
  },
  &quot;displayName&quot;: &quot;A String&quot;, # Device display name.
  &quot;fccId&quot;: &quot;A String&quot;, # The FCC identifier of the device.
  &quot;grants&quot;: [ # Output only. Grants held by the device.
    { # 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.
      &quot;channelType&quot;: &quot;A String&quot;, # Type of channel used.
      &quot;expireTime&quot;: &quot;A String&quot;, # The expiration time of the grant.
      &quot;frequencyRange&quot;: { # Frequency range from `low_frequency` to `high_frequency`. # The transmission frequency range.
        &quot;highFrequencyMhz&quot;: 3.14, # The highest frequency of the frequency range in MHz.
        &quot;lowFrequencyMhz&quot;: 3.14, # The lowest frequency of the frequency range in MHz.
      },
      &quot;grantId&quot;: &quot;A String&quot;, # Grant Id.
      &quot;maxEirp&quot;: 3.14, # 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).
      &quot;moveList&quot;: [ # The DPA move lists on which this grant appears.
        { # An entry in a DPA&#x27;s move list.
          &quot;dpaId&quot;: &quot;A String&quot;, # The ID of the DPA.
          &quot;frequencyRange&quot;: { # Frequency range from `low_frequency` to `high_frequency`. # The frequency range that the move list affects.
            &quot;highFrequencyMhz&quot;: 3.14, # The highest frequency of the frequency range in MHz.
            &quot;lowFrequencyMhz&quot;: 3.14, # The lowest frequency of the frequency range in MHz.
          },
        },
      ],
      &quot;state&quot;: &quot;A String&quot;, # State of the grant.
      &quot;suspensionReason&quot;: [ # If the grant is suspended, the reason(s) for suspension.
        &quot;A String&quot;,
      ],
    },
  ],
  &quot;name&quot;: &quot;A String&quot;, # Output only. The resource path name.
  &quot;preloadedConfig&quot;: { # Information about the device configuration. # Configuration of the device, as specified via SAS Portal API.
    &quot;airInterface&quot;: { # Information about the device&#x27;s air interface. # Information about this device&#x27;s air interface.
      &quot;radioTechnology&quot;: &quot;A String&quot;, # This field specifies the radio access technology that is used for the CBSD. Conditional
      &quot;supportedSpec&quot;: &quot;A String&quot;, # 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
    },
    &quot;callSign&quot;: &quot;A String&quot;, # The call sign of the device operator.
    &quot;category&quot;: &quot;A String&quot;, # FCC category of the device.
    &quot;installationParams&quot;: { # Information about the device installation parameters. # Installation parameters for the device.
      &quot;antennaAzimuth&quot;: 42, # 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.
      &quot;antennaBeamwidth&quot;: 42, # 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.
      &quot;antennaDowntilt&quot;: 42, # 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.
      &quot;antennaGain&quot;: 42, # Peak antenna gain in dBi. This parameter is an integer with a value between -127 and +128 (dBi) inclusive.
      &quot;antennaModel&quot;: &quot;A String&quot;, # If an external antenna is used, the antenna model is optionally provided in this field. The string has a maximum length of 128 octets.
      &quot;cpeCbsdIndication&quot;: True or False, # If present, this parameter specifies whether the CBSD is a CPE-CBSD or not.
      &quot;eirpCapability&quot;: 42, # 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.
      &quot;height&quot;: 3.14, # Device antenna height in meters. When the heightType parameter value is &quot;AGL&quot;, the antenna height should be given relative to ground level. When the heightType parameter value is &quot;AMSL&quot;, it is given with respect to WGS84 datum.
      &quot;heightType&quot;: &quot;A String&quot;, # Specifies how the height is measured.
      &quot;horizontalAccuracy&quot;: 3.14, # 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.
      &quot;indoorDeployment&quot;: True or False, # Whether the device antenna is indoor or not. True: indoor. False: outdoor.
      &quot;latitude&quot;: 3.14, # 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.
      &quot;longitude&quot;: 3.14, # 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.
      &quot;verticalAccuracy&quot;: 3.14, # 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.
    },
    &quot;isSigned&quot;: True or False, # Output-only. Whether the configuration has been signed by a CPI.
    &quot;measurementCapabilities&quot;: [ # Measurement reporting capabilities of the device.
      &quot;A String&quot;,
    ],
    &quot;model&quot;: { # Information about the model of the device. # Information about this device model.
      &quot;firmwareVersion&quot;: &quot;A String&quot;, # The firmware version of the device.
      &quot;hardwareVersion&quot;: &quot;A String&quot;, # The hardware version of the device.
      &quot;name&quot;: &quot;A String&quot;, # The name of the device model.
      &quot;softwareVersion&quot;: &quot;A String&quot;, # The software version of the device.
      &quot;vendor&quot;: &quot;A String&quot;, # The name of the device vendor.
    },
    &quot;state&quot;: &quot;A String&quot;, # State of the configuration.
    &quot;updateTime&quot;: &quot;A String&quot;, # Output-only. The last time the device configuration was edited.
    &quot;userId&quot;: &quot;A String&quot;, # The identifier of a device user.
  },
  &quot;serialNumber&quot;: &quot;A String&quot;, # A serial number assigned to the device by the device manufacturer.
  &quot;state&quot;: &quot;A String&quot;, # Output only. Device state.
}</pre>
</div>

</body></html>