<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.customers.html">customers</a> . <a href="sasportal_v1alpha1.customers.nodes.html">nodes</a> . <a href="sasportal_v1alpha1.customers.nodes.devices.html">devices</a></h1>
<h2>Instance Methods</h2>
<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="#list">list(parent, pageToken=None, filter=None, pageSize=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>
<h3>Method Details</h3>
<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;name&quot;: &quot;A String&quot;, # Output only. The resource path name.
  &quot;fccId&quot;: &quot;A String&quot;, # The FCC identifier of the device.
  &quot;displayName&quot;: &quot;A String&quot;, # Device display name.
  &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;state&quot;: &quot;A String&quot;, # Output only. Device state.
  &quot;preloadedConfig&quot;: { # Information about the device configuration. # Configuration of the device, as specified via SAS Portal API.
    &quot;category&quot;: &quot;A String&quot;, # FCC category of the device.
    &quot;userId&quot;: &quot;A String&quot;, # The identifier of a device user.
    &quot;updateTime&quot;: &quot;A String&quot;, # Output-only. The last time the device configuration was edited.
    &quot;model&quot;: { # Information about the model of the device. # Information about this 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;hardwareVersion&quot;: &quot;A String&quot;, # The hardware version of the device.
      &quot;firmwareVersion&quot;: &quot;A String&quot;, # The firmware version of the device.
      &quot;name&quot;: &quot;A String&quot;, # The name of the device model.
    },
    &quot;state&quot;: &quot;A String&quot;, # State of the configuration.
    &quot;callSign&quot;: &quot;A String&quot;, # The call sign of the device operator.
    &quot;measurementCapabilities&quot;: [ # Measurement reporting capabilities of the device.
      &quot;A String&quot;,
    ],
    &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;isSigned&quot;: True or False, # Output-only. Whether the configuration has been signed by a CPI.
    &quot;installationParams&quot;: { # Information about the device installation parameters. # Installation parameters for the device.
      &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;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;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;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;antennaGain&quot;: 42, # Peak antenna gain in dBi. This parameter is an integer with a value between -127 and +128 (dBi) inclusive.
      &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;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;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;heightType&quot;: &quot;A String&quot;, # Specifies how the height is measured.
      &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;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;cpeCbsdIndication&quot;: True or False, # If present, this parameter specifies whether the CBSD is a CPE-CBSD or not.
    },
  },
  &quot;activeConfig&quot;: { # Information about the device configuration. # Output only. Current configuration of the device as registered to the SAS.
    &quot;category&quot;: &quot;A String&quot;, # FCC category of the device.
    &quot;userId&quot;: &quot;A String&quot;, # The identifier of a device user.
    &quot;updateTime&quot;: &quot;A String&quot;, # Output-only. The last time the device configuration was edited.
    &quot;model&quot;: { # Information about the model of the device. # Information about this 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;hardwareVersion&quot;: &quot;A String&quot;, # The hardware version of the device.
      &quot;firmwareVersion&quot;: &quot;A String&quot;, # The firmware version of the device.
      &quot;name&quot;: &quot;A String&quot;, # The name of the device model.
    },
    &quot;state&quot;: &quot;A String&quot;, # State of the configuration.
    &quot;callSign&quot;: &quot;A String&quot;, # The call sign of the device operator.
    &quot;measurementCapabilities&quot;: [ # Measurement reporting capabilities of the device.
      &quot;A String&quot;,
    ],
    &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;isSigned&quot;: True or False, # Output-only. Whether the configuration has been signed by a CPI.
    &quot;installationParams&quot;: { # Information about the device installation parameters. # Installation parameters for the device.
      &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;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;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;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;antennaGain&quot;: 42, # Peak antenna gain in dBi. This parameter is an integer with a value between -127 and +128 (dBi) inclusive.
      &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;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;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;heightType&quot;: &quot;A String&quot;, # Specifies how the height is measured.
      &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;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;cpeCbsdIndication&quot;: True or False, # If present, this parameter specifies whether the CBSD is a CPE-CBSD or not.
    },
  },
  &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;state&quot;: &quot;A String&quot;, # State of the grant.
      &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;lowFrequencyMhz&quot;: 3.14, # The lowest frequency of the frequency range in MHz.
        &quot;highFrequencyMhz&quot;: 3.14, # The highest frequency of the frequency range in MHz.
      },
      &quot;grantId&quot;: &quot;A String&quot;, # Grant Id.
      &quot;suspensionReason&quot;: [ # If the grant is suspended, the reason(s) for suspension.
        &quot;A String&quot;,
      ],
      &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;channelType&quot;: &quot;A String&quot;, # Type of channel used.
      &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;lowFrequencyMhz&quot;: 3.14, # The lowest frequency of the frequency range in MHz.
            &quot;highFrequencyMhz&quot;: 3.14, # The highest frequency of the frequency range in MHz.
          },
        },
      ],
    },
  ],
  &quot;serialNumber&quot;: &quot;A String&quot;, # A serial number assigned to the device by the device manufacturer.
}

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

Returns:
  An object of the form:

    {
    &quot;name&quot;: &quot;A String&quot;, # Output only. The resource path name.
    &quot;fccId&quot;: &quot;A String&quot;, # The FCC identifier of the device.
    &quot;displayName&quot;: &quot;A String&quot;, # Device display name.
    &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;state&quot;: &quot;A String&quot;, # Output only. Device state.
    &quot;preloadedConfig&quot;: { # Information about the device configuration. # Configuration of the device, as specified via SAS Portal API.
      &quot;category&quot;: &quot;A String&quot;, # FCC category of the device.
      &quot;userId&quot;: &quot;A String&quot;, # The identifier of a device user.
      &quot;updateTime&quot;: &quot;A String&quot;, # Output-only. The last time the device configuration was edited.
      &quot;model&quot;: { # Information about the model of the device. # Information about this 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;hardwareVersion&quot;: &quot;A String&quot;, # The hardware version of the device.
        &quot;firmwareVersion&quot;: &quot;A String&quot;, # The firmware version of the device.
        &quot;name&quot;: &quot;A String&quot;, # The name of the device model.
      },
      &quot;state&quot;: &quot;A String&quot;, # State of the configuration.
      &quot;callSign&quot;: &quot;A String&quot;, # The call sign of the device operator.
      &quot;measurementCapabilities&quot;: [ # Measurement reporting capabilities of the device.
        &quot;A String&quot;,
      ],
      &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;isSigned&quot;: True or False, # Output-only. Whether the configuration has been signed by a CPI.
      &quot;installationParams&quot;: { # Information about the device installation parameters. # Installation parameters for the device.
        &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;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;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;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;antennaGain&quot;: 42, # Peak antenna gain in dBi. This parameter is an integer with a value between -127 and +128 (dBi) inclusive.
        &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;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;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;heightType&quot;: &quot;A String&quot;, # Specifies how the height is measured.
        &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;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;cpeCbsdIndication&quot;: True or False, # If present, this parameter specifies whether the CBSD is a CPE-CBSD or not.
      },
    },
    &quot;activeConfig&quot;: { # Information about the device configuration. # Output only. Current configuration of the device as registered to the SAS.
      &quot;category&quot;: &quot;A String&quot;, # FCC category of the device.
      &quot;userId&quot;: &quot;A String&quot;, # The identifier of a device user.
      &quot;updateTime&quot;: &quot;A String&quot;, # Output-only. The last time the device configuration was edited.
      &quot;model&quot;: { # Information about the model of the device. # Information about this 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;hardwareVersion&quot;: &quot;A String&quot;, # The hardware version of the device.
        &quot;firmwareVersion&quot;: &quot;A String&quot;, # The firmware version of the device.
        &quot;name&quot;: &quot;A String&quot;, # The name of the device model.
      },
      &quot;state&quot;: &quot;A String&quot;, # State of the configuration.
      &quot;callSign&quot;: &quot;A String&quot;, # The call sign of the device operator.
      &quot;measurementCapabilities&quot;: [ # Measurement reporting capabilities of the device.
        &quot;A String&quot;,
      ],
      &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;isSigned&quot;: True or False, # Output-only. Whether the configuration has been signed by a CPI.
      &quot;installationParams&quot;: { # Information about the device installation parameters. # Installation parameters for the device.
        &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;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;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;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;antennaGain&quot;: 42, # Peak antenna gain in dBi. This parameter is an integer with a value between -127 and +128 (dBi) inclusive.
        &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;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;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;heightType&quot;: &quot;A String&quot;, # Specifies how the height is measured.
        &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;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;cpeCbsdIndication&quot;: True or False, # If present, this parameter specifies whether the CBSD is a CPE-CBSD or not.
      },
    },
    &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;state&quot;: &quot;A String&quot;, # State of the grant.
        &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;lowFrequencyMhz&quot;: 3.14, # The lowest frequency of the frequency range in MHz.
          &quot;highFrequencyMhz&quot;: 3.14, # The highest frequency of the frequency range in MHz.
        },
        &quot;grantId&quot;: &quot;A String&quot;, # Grant Id.
        &quot;suspensionReason&quot;: [ # If the grant is suspended, the reason(s) for suspension.
          &quot;A String&quot;,
        ],
        &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;channelType&quot;: &quot;A String&quot;, # Type of channel used.
        &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;lowFrequencyMhz&quot;: 3.14, # The lowest frequency of the frequency range in MHz.
              &quot;highFrequencyMhz&quot;: 3.14, # The highest frequency of the frequency range in MHz.
            },
          },
        ],
      },
    ],
    &quot;serialNumber&quot;: &quot;A String&quot;, # A serial number assigned to the device by the device manufacturer.
  }</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;installerId&quot;: &quot;A String&quot;, # Required. Unique installer id (cpiId) from the Certified Professional Installers database.
    &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.
  }

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

Returns:
  An object of the form:

    {
    &quot;name&quot;: &quot;A String&quot;, # Output only. The resource path name.
    &quot;fccId&quot;: &quot;A String&quot;, # The FCC identifier of the device.
    &quot;displayName&quot;: &quot;A String&quot;, # Device display name.
    &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;state&quot;: &quot;A String&quot;, # Output only. Device state.
    &quot;preloadedConfig&quot;: { # Information about the device configuration. # Configuration of the device, as specified via SAS Portal API.
      &quot;category&quot;: &quot;A String&quot;, # FCC category of the device.
      &quot;userId&quot;: &quot;A String&quot;, # The identifier of a device user.
      &quot;updateTime&quot;: &quot;A String&quot;, # Output-only. The last time the device configuration was edited.
      &quot;model&quot;: { # Information about the model of the device. # Information about this 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;hardwareVersion&quot;: &quot;A String&quot;, # The hardware version of the device.
        &quot;firmwareVersion&quot;: &quot;A String&quot;, # The firmware version of the device.
        &quot;name&quot;: &quot;A String&quot;, # The name of the device model.
      },
      &quot;state&quot;: &quot;A String&quot;, # State of the configuration.
      &quot;callSign&quot;: &quot;A String&quot;, # The call sign of the device operator.
      &quot;measurementCapabilities&quot;: [ # Measurement reporting capabilities of the device.
        &quot;A String&quot;,
      ],
      &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;isSigned&quot;: True or False, # Output-only. Whether the configuration has been signed by a CPI.
      &quot;installationParams&quot;: { # Information about the device installation parameters. # Installation parameters for the device.
        &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;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;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;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;antennaGain&quot;: 42, # Peak antenna gain in dBi. This parameter is an integer with a value between -127 and +128 (dBi) inclusive.
        &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;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;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;heightType&quot;: &quot;A String&quot;, # Specifies how the height is measured.
        &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;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;cpeCbsdIndication&quot;: True or False, # If present, this parameter specifies whether the CBSD is a CPE-CBSD or not.
      },
    },
    &quot;activeConfig&quot;: { # Information about the device configuration. # Output only. Current configuration of the device as registered to the SAS.
      &quot;category&quot;: &quot;A String&quot;, # FCC category of the device.
      &quot;userId&quot;: &quot;A String&quot;, # The identifier of a device user.
      &quot;updateTime&quot;: &quot;A String&quot;, # Output-only. The last time the device configuration was edited.
      &quot;model&quot;: { # Information about the model of the device. # Information about this 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;hardwareVersion&quot;: &quot;A String&quot;, # The hardware version of the device.
        &quot;firmwareVersion&quot;: &quot;A String&quot;, # The firmware version of the device.
        &quot;name&quot;: &quot;A String&quot;, # The name of the device model.
      },
      &quot;state&quot;: &quot;A String&quot;, # State of the configuration.
      &quot;callSign&quot;: &quot;A String&quot;, # The call sign of the device operator.
      &quot;measurementCapabilities&quot;: [ # Measurement reporting capabilities of the device.
        &quot;A String&quot;,
      ],
      &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;isSigned&quot;: True or False, # Output-only. Whether the configuration has been signed by a CPI.
      &quot;installationParams&quot;: { # Information about the device installation parameters. # Installation parameters for the device.
        &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;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;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;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;antennaGain&quot;: 42, # Peak antenna gain in dBi. This parameter is an integer with a value between -127 and +128 (dBi) inclusive.
        &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;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;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;heightType&quot;: &quot;A String&quot;, # Specifies how the height is measured.
        &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;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;cpeCbsdIndication&quot;: True or False, # If present, this parameter specifies whether the CBSD is a CPE-CBSD or not.
      },
    },
    &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;state&quot;: &quot;A String&quot;, # State of the grant.
        &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;lowFrequencyMhz&quot;: 3.14, # The lowest frequency of the frequency range in MHz.
          &quot;highFrequencyMhz&quot;: 3.14, # The highest frequency of the frequency range in MHz.
        },
        &quot;grantId&quot;: &quot;A String&quot;, # Grant Id.
        &quot;suspensionReason&quot;: [ # If the grant is suspended, the reason(s) for suspension.
          &quot;A String&quot;,
        ],
        &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;channelType&quot;: &quot;A String&quot;, # Type of channel used.
        &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;lowFrequencyMhz&quot;: 3.14, # The lowest frequency of the frequency range in MHz.
              &quot;highFrequencyMhz&quot;: 3.14, # The highest frequency of the frequency range in MHz.
            },
          },
        ],
      },
    ],
    &quot;serialNumber&quot;: &quot;A String&quot;, # A serial number assigned to the device by the device manufacturer.
  }</pre>
</div>

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

Args:
  parent: string, Required. The name of the parent resource. (required)
  pageToken: string, A pagination token returned from a previous call to ListDevices that indicates where this listing should continue from.
  filter: string, The filter expression. The filter should have one of the following formats: &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].
  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;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.
    &quot;devices&quot;: [ # The devices that match the request.
      {
        &quot;name&quot;: &quot;A String&quot;, # Output only. The resource path name.
        &quot;fccId&quot;: &quot;A String&quot;, # The FCC identifier of the device.
        &quot;displayName&quot;: &quot;A String&quot;, # Device display name.
        &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;state&quot;: &quot;A String&quot;, # Output only. Device state.
        &quot;preloadedConfig&quot;: { # Information about the device configuration. # Configuration of the device, as specified via SAS Portal API.
          &quot;category&quot;: &quot;A String&quot;, # FCC category of the device.
          &quot;userId&quot;: &quot;A String&quot;, # The identifier of a device user.
          &quot;updateTime&quot;: &quot;A String&quot;, # Output-only. The last time the device configuration was edited.
          &quot;model&quot;: { # Information about the model of the device. # Information about this 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;hardwareVersion&quot;: &quot;A String&quot;, # The hardware version of the device.
            &quot;firmwareVersion&quot;: &quot;A String&quot;, # The firmware version of the device.
            &quot;name&quot;: &quot;A String&quot;, # The name of the device model.
          },
          &quot;state&quot;: &quot;A String&quot;, # State of the configuration.
          &quot;callSign&quot;: &quot;A String&quot;, # The call sign of the device operator.
          &quot;measurementCapabilities&quot;: [ # Measurement reporting capabilities of the device.
            &quot;A String&quot;,
          ],
          &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;isSigned&quot;: True or False, # Output-only. Whether the configuration has been signed by a CPI.
          &quot;installationParams&quot;: { # Information about the device installation parameters. # Installation parameters for the device.
            &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;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;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;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;antennaGain&quot;: 42, # Peak antenna gain in dBi. This parameter is an integer with a value between -127 and +128 (dBi) inclusive.
            &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;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;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;heightType&quot;: &quot;A String&quot;, # Specifies how the height is measured.
            &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;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;cpeCbsdIndication&quot;: True or False, # If present, this parameter specifies whether the CBSD is a CPE-CBSD or not.
          },
        },
        &quot;activeConfig&quot;: { # Information about the device configuration. # Output only. Current configuration of the device as registered to the SAS.
          &quot;category&quot;: &quot;A String&quot;, # FCC category of the device.
          &quot;userId&quot;: &quot;A String&quot;, # The identifier of a device user.
          &quot;updateTime&quot;: &quot;A String&quot;, # Output-only. The last time the device configuration was edited.
          &quot;model&quot;: { # Information about the model of the device. # Information about this 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;hardwareVersion&quot;: &quot;A String&quot;, # The hardware version of the device.
            &quot;firmwareVersion&quot;: &quot;A String&quot;, # The firmware version of the device.
            &quot;name&quot;: &quot;A String&quot;, # The name of the device model.
          },
          &quot;state&quot;: &quot;A String&quot;, # State of the configuration.
          &quot;callSign&quot;: &quot;A String&quot;, # The call sign of the device operator.
          &quot;measurementCapabilities&quot;: [ # Measurement reporting capabilities of the device.
            &quot;A String&quot;,
          ],
          &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;isSigned&quot;: True or False, # Output-only. Whether the configuration has been signed by a CPI.
          &quot;installationParams&quot;: { # Information about the device installation parameters. # Installation parameters for the device.
            &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;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;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;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;antennaGain&quot;: 42, # Peak antenna gain in dBi. This parameter is an integer with a value between -127 and +128 (dBi) inclusive.
            &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;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;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;heightType&quot;: &quot;A String&quot;, # Specifies how the height is measured.
            &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;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;cpeCbsdIndication&quot;: True or False, # If present, this parameter specifies whether the CBSD is a CPE-CBSD or not.
          },
        },
        &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;state&quot;: &quot;A String&quot;, # State of the grant.
            &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;lowFrequencyMhz&quot;: 3.14, # The lowest frequency of the frequency range in MHz.
              &quot;highFrequencyMhz&quot;: 3.14, # The highest frequency of the frequency range in MHz.
            },
            &quot;grantId&quot;: &quot;A String&quot;, # Grant Id.
            &quot;suspensionReason&quot;: [ # If the grant is suspended, the reason(s) for suspension.
              &quot;A String&quot;,
            ],
            &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;channelType&quot;: &quot;A String&quot;, # Type of channel used.
            &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;lowFrequencyMhz&quot;: 3.14, # The lowest frequency of the frequency range in MHz.
                  &quot;highFrequencyMhz&quot;: 3.14, # The highest frequency of the frequency range in MHz.
                },
              },
            ],
          },
        ],
        &quot;serialNumber&quot;: &quot;A String&quot;, # A serial number assigned to the device by the device manufacturer.
      },
    ],
  }</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>

</body></html>