Understanding the devices.edgelq.com service APIv1alpha2, in proto package ntt.devices.v1alpha2.

Service devices.edgelq.com in version v1alpha2, proto package ntt.devices.v1alpha2

Here is the list of resources supported in Devices service APIv1alpha2:

CustomizedImage Resource

CustomizedImage Resource

Name patterns:

  • projects/{project}/regions/{region}/customizedImages/{customized_image}

Parent resources:

This section covers the methods and messages to interact with CustomizedImage resource.

CustomizedImage Methods

Here is the list of CustomizedImage resource methods:

GetCustomizedImage Method

GetCustomizedImage

rpc GetCustomizedImage(GetCustomizedImageRequest) returns (CustomizedImage)

with the following messages:

Required Permissions:

  • services/devices.edgelq.com/permissions/customizedImages.get

The equivalent REST API is:

GET /v1alpha2/{name=projects/*/regions/*/customizedImages/*} 

BatchGetCustomizedImages Method

BatchGetCustomizedImages

rpc BatchGetCustomizedImages(BatchGetCustomizedImagesRequest) returns (BatchGetCustomizedImagesResponse)

with the following messages:

Required Permissions:

  • services/devices.edgelq.com/permissions/customizedImages.batchGet

The equivalent REST API is:

GET /v1alpha2/customizedImages:batchGet 

ListCustomizedImages Method

ListCustomizedImages

rpc ListCustomizedImages(ListCustomizedImagesRequest) returns (ListCustomizedImagesResponse)

with the following messages:

Required Permissions:

  • services/devices.edgelq.com/permissions/customizedImages.list

The equivalent REST API is:

GET /v1alpha2/{parent=projects/*/regions/*}/customizedImages 

WatchCustomizedImage Method

WatchCustomizedImage

rpc WatchCustomizedImage(WatchCustomizedImageRequest) returns (WatchCustomizedImageResponse)

with the following messages:

Required Permissions:

  • services/devices.edgelq.com/permissions/customizedImages.watch

The equivalent REST API is:

POST /v1alpha2/{name=projects/*/regions/*/customizedImages/*}:watch 

WatchCustomizedImages Method

WatchCustomizedImages

rpc WatchCustomizedImages(WatchCustomizedImagesRequest) returns (WatchCustomizedImagesResponse)

with the following messages:

Required Permissions:

  • services/devices.edgelq.com/permissions/customizedImages.watch

The equivalent REST API is:

POST /v1alpha2/{parent=projects/*/regions/*}/customizedImages:watch 

CreateCustomizedImage Method

CreateCustomizedImage

rpc CreateCustomizedImage(CreateCustomizedImageRequest) returns (CustomizedImage)

with the following messages:

Required Permissions:

  • services/devices.edgelq.com/permissions/customizedImages.create

The equivalent REST API is:

POST /v1alpha2/{parent=projects/*/regions/*}/customizedImages (BODY: customized_image)

UpdateCustomizedImage Method

UpdateCustomizedImage

rpc UpdateCustomizedImage(UpdateCustomizedImageRequest) returns (CustomizedImage)

with the following messages:

Required Permissions:

  • services/devices.edgelq.com/permissions/customizedImages.update

The equivalent REST API is:

PUT /v1alpha2/{customized_image.name=projects/*/regions/*/customizedImages/*} (BODY: customized_image)

DeleteCustomizedImage Method

DeleteCustomizedImage

rpc DeleteCustomizedImage(DeleteCustomizedImageRequest) returns (Empty)

with the following messages:

Required Permissions:

  • services/devices.edgelq.com/permissions/customizedImages.delete

The equivalent REST API is:

DELETE /v1alpha2/{name=projects/*/regions/*/customizedImages/*} 

RequestUrl Method

RequestUrl

rpc RequestUrl(RequestUrlRequest) returns (RequestUrlResponse)

with the following messages:

Required Permissions:

  • services/devices.edgelq.com/permissions/customizedImages.requestUrl

The equivalent REST API is:

POST /v1alpha2/{name=projects/*/regions/*/customizedImages/*}:requestUrl 

CustomizedImage Messages

Here is the list of CustomizedImage resource messages:

CustomizedImage Message

Name Type Description
name string (name of CustomizedImage) Name of CustomizedImage When creating a new instance, this field is optional and if not provided, it will be generated automatically. Last ID segment must conform to the following regex: [a-z][a-z0-9\-]{0,28}[a-z0-9]
metadata Meta Metadata of CustomizedImage
spec CustomizedImage.Spec
status CustomizedImage.Status

CustomizedImage.Spec Message

Name Type Description
version string
device_type string
provisioning_policy string
install_ai_accelerator bool
password string
encryption bool
encryption_password string
disk_mapping string
network_agent string
ntp string
http_proxy string
https_proxy string
no_proxy string

CustomizedImage.Status Message

Name Type Description
state CustomizedImage.Status.State State of the image.
log string Error log when state is ERROR.
file string TODO hide this from client

GetCustomizedImageRequest Message

A request message of the GetCustomizedImage method.

Name Type Description
name string (name of CustomizedImage) Name of ntt.devices.v1alpha2.CustomizedImage
field_mask .google.protobuf.FieldMask A list of extra fields to be obtained for each response item on top of fields defined by request field view
view View View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask

BatchGetCustomizedImagesRequest Message

A request message of the BatchGetCustomizedImages method.

Name Type Description
names repeated string (name of CustomizedImage) Names of CustomizedImages
field_mask .google.protobuf.FieldMask A list of extra fields to be obtained for each response item on top of fields defined by request field view
view View View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask

BatchGetCustomizedImagesResponse Message

A response message of the BatchGetCustomizedImages method.

Name Type Description
customized_images repeated CustomizedImage found CustomizedImages
missing repeated string (name of CustomizedImage) list of not found CustomizedImages

ListCustomizedImagesRequest Message

A request message of the ListCustomizedImages method.

Name Type Description
parent string (parent name of CustomizedImage) Parent name of ntt.devices.v1alpha2.CustomizedImage
page_size int32 Requested page size. Server may return fewer CustomizedImages than requested. If unspecified, server will pick an appropriate default.
page_token string (cursor of CustomizedImage) A token identifying a page of results the server should return. Typically, this is the value of ListCustomizedImagesResponse.next_page_token.
order_by string (orderBy of CustomizedImage) Order By - https://cloud.google.com/apis/design/design_patterns#list_pagination list of field path with order directive, either ‘asc’ or ‘desc’. If direction is not provided, ‘asc’ is assumed. e.g. “state.nested_field asc, state.something.else desc, theme”
filter string (filter of CustomizedImage) Filter - filter results by field criteria. Simplified SQL-like syntax with following operators: <=, >=, =, !=, <, >, LIKE, CONTAINS (aliases CONTAIN, HAS, HAVE), IN, IS [NOT] NULL
field_mask .google.protobuf.FieldMask A list of extra fields to be obtained for each response item on top of fields defined by request field view
view View View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask
include_paging_info bool Indicates if list response should contain total count and offset (fields current_offset and total_results_count).

ListCustomizedImagesResponse Message

A response message of the ListCustomizedImages method.

Name Type Description
customized_images repeated CustomizedImage The list of CustomizedImages
prev_page_token string (cursor of CustomizedImage) A token to retrieve previous page of results. Pass this value in the ListCustomizedImagesRequest.page_token.
next_page_token string (cursor of CustomizedImage) A token to retrieve next page of results. Pass this value in the ListCustomizedImagesRequest.page_token.
current_offset int32 Current offset from the first page or 0 if no page tokens were given, paging info was not requested or there was an error while trying to get it). Page index can be computed from offset and limit provided in a request.
total_results_count int32 Number of total CustomizedImages across all pages or 0, if there are no items, paging info was not requested or there was an error while trying to get it.

WatchCustomizedImageRequest Message

A request message of the WatchCustomizedImage method.

Name Type Description
name string (name of CustomizedImage) Name of ntt.devices.v1alpha2.CustomizedImage
field_mask .google.protobuf.FieldMask A list of extra fields to be obtained for each response item on top of fields defined by request field view
view View View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask

WatchCustomizedImageResponse Message

A response message of the WatchCustomizedImage method.

Name Type Description
change CustomizedImageChange

WatchCustomizedImagesRequest Message

A request message of the WatchCustomizedImages method.

Name Type Description
type WatchType Type of a watch. Identifies how server stream data to a client, which fields in a request are allowed and which fields in response are relevant.
parent string (parent name of CustomizedImage) Parent name of ntt.devices.v1alpha2.CustomizedImage
page_size int32 Requested page size. Server may return fewer CustomizedImages than requested. If unspecified, server will pick an appropriate default. Can be populated only for stateful watch type.
page_token string (cursor of CustomizedImage) A token identifying a page of results the server should return. Can be populated only for stateful watch type.
order_by string (orderBy of CustomizedImage) Order By - https://cloud.google.com/apis/design/design_patterns#list_pagination Can be populated only for stateful watch type.
resume_token string A token identifying watch resume point from previous session. Can be populated only for stateless watch type.
starting_time .google.protobuf.Timestamp Point in the time from which we want to start getting updates. This field can be populated only for stateless watch type and if resume token is not known yet. If specified, initial snapshot will NOT be provided. It is assumed client can obtain it using separate means. Watch responses will contain resume tokens which should be used to resume broken connection.
filter string (filter of CustomizedImage) Filter - filter results by field criteria. Simplified SQL-like syntax with following operators: <=, >=, =, !=, <, >, LIKE, CONTAINS (aliases CONTAIN, HAS, HAVE), IN, IS [NOT] NULL
field_mask .google.protobuf.FieldMask A list of extra fields to be obtained for each response item on top of fields defined by request field view Changes to CustomizedImage that don’t affect any of masked fields won’t be sent back.
view View View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask Changes to CustomizedImage that don’t affect any of masked fields won’t be sent back.
max_chunk_size int32 Maximum amount of changes in each response message. Query result response is divided on the server side into chunks with size of a specified amount to limit memory footprint of each message. Responses will hold information whether more elements will continue for the actual change. If unspecified, server will pick an appropriate default.

WatchCustomizedImagesResponse Message

A response message of the WatchCustomizedImages method.

Name Type Description
customized_image_changes repeated CustomizedImageChange Changes of CustomizedImages
is_current bool If request specified max_chunk_size (or this limit was enforced if stateless watch has been chosen), then responses with “full changeset” will be divided into chunks. Client should keep receiving messages and, once is_current has value true, combine this recent message with all previous ones where is_current is false. If this is the first is_current in a whole watch stream, then it means that client should have, at this moment, contain snapshot of the current situation (or more accurately, snapshot of situation at the moment of request). All CustomizedImages will be of type Added/Current (depending on watch_type specified in the request). Further responses will be incremental - however messages may still be chunked and is_current logic still applies. is_current is always true for stateful watch if max_chunk_size was left to 0.
page_token_change WatchCustomizedImagesResponse.PageTokenChange When present, PageTokens used for page navigation should be updated. Present only if is_current is true (last chunk).
resume_token string Token that can be used if current connection drops and client needs to reconnect. Populated only for stateless watch type. Present only if is_current is true (last chunk).
snapshot_size int64 Server may occasionally send information how many resources should client have in its state so far (response message without any changes, but with snapshot_size field specified). If client has different value than the one sent by the server, then it should be treated by a client as an error and should reconnect. If value is smaller then 0, then client should ignore this field as unpopulated. This field should be checked only for stateless watch. In stateful those kind of errors are handled by the server side. Will be never sent together with is_current, is_soft_reset and is_hard_reset flags.
is_soft_reset bool In case of internal issue server may send response message with this flag. It indicates that client should drop all changes from recent responses where is_current is false only! If last message had is_current set to true, client should do nothing and process normally. Resume token received before is still valid. This field should be checked only for stateless watch. In stateful those kind of errors are handled by the server side. Will never be sent along with is_current, is_hard_reset or snapshot_size.
is_hard_reset bool In case of internal issue server may send response message with this flag. After receiving, client should clear whole state (drop all changes received so far) as server will send new snapshot (CustomizedImages will contains changes of type Current only). Any resume tokens should be discarded as well. This field should be checked only for stateless watch. In stateful those kind of errors are handled by the server side. Will never be sent along with is_current, is_soft_reset or snapshot_size.

WatchCustomizedImagesResponse.PageTokenChange Message

Name Type Description
prev_page_token string (cursor of CustomizedImage) New token to retrieve previous page of results.
next_page_token string (cursor of CustomizedImage) New token to retrieve next page of results.

CreateCustomizedImageRequest Message

A request message of the CreateCustomizedImage method.

Name Type Description
parent string (parent name of CustomizedImage) Parent name of ntt.devices.v1alpha2.CustomizedImage
customized_image CustomizedImage CustomizedImage resource body
response_mask CreateCustomizedImageRequest.ResponseMask Optional masking applied to response object to reduce message response size.

CreateCustomizedImageRequest.ResponseMask Message

ResponseMask allows client to reduce response message size.

Name Type Description
skip_entire_response_body bool If this flag has value true, then response will contain just empty resource without any fields populated.
body_mask .google.protobuf.FieldMask If this field is populated, then resource in response will contain only specific fields.

UpdateCustomizedImageRequest Message

A request message of the UpdateCustomizedImage method.

Name Type Description
customized_image CustomizedImage CustomizedImage resource body
update_mask .google.protobuf.FieldMask FieldMask applied to request - change will be applied only for fields in the mask
cas UpdateCustomizedImageRequest.CAS Conditional update applied to request if update should be executed only for specific resource state. If this field is populated, then server will fetch existing resource, compare with the one stored in the cas field (after applying field mask) and proceed with update only and only if they match. Otherwise RPC error Aborted will be returned.
allow_missing bool If set to true, and the resource is not found, a new resource will be created. In this situation, ‘field_mask’ is ignored. https://google.aip.dev/134#create-or-update
response_mask UpdateCustomizedImageRequest.ResponseMask reduce message response size.

UpdateCustomizedImageRequest.CAS Message

CAS - Compare and Swap. This object is used if user wants to make update conditional based upon previous resource version.

Name Type Description
conditional_state CustomizedImage Conditional desired state of a resource before update.
field_mask .google.protobuf.FieldMask Field paths from conditional state of resource server should check and compare.

UpdateCustomizedImageRequest.ResponseMask Message

ResponseMask allows client to reduce response message size.

Name Type Description
skip_entire_response_body bool If this flag has value true, then response will contain just empty resource without any fields populated. Field body_mask is ignored if set.
updated_fields_only bool Include all fields that were actually updated during processing. Note this may be larger than update mask if some fields were computed additionally. Name is added as well.
body_mask .google.protobuf.FieldMask If this field is populated, then resource in response will contain only specific fields. If skip_entire_response_body is true, this field is ignored.

DeleteCustomizedImageRequest Message

A request message of the DeleteCustomizedImage method.

Name Type Description
name string (name of CustomizedImage) Name of ntt.devices.v1alpha2.CustomizedImage

RequestUrlRequest Message

Request message for method [RequestUrl][ntt.devices.v1alpha2.RequestUrl]

Name Type Description
name string (name of CustomizedImage) name of ntt.devices.v1alpha2.CustomizedImage

RequestUrlResponse Message

Response message for method [RequestUrl][ntt.devices.v1alpha2.RequestUrl]

Name Type Description
url string
headers repeated string

CustomizedImage Enumerations

Here is the list of CustomizedImage resource enumerations:

CustomizedImage.Status.State Enumeration

Name Description
STATE_UNSPECIFIED Initial state
IN_PROGRESS Backend is processing the customization request.
ERROR There was an error processing the customization request. Check the parameters and try again.
READY The customized image is ready to download.

Device Resource

Device Resource

Name patterns:

  • projects/{project}/regions/{region}/devices/{device}

Parent resources:

This section covers the methods and messages to interact with Device resource.

Device Methods

Here is the list of Device resource methods:

ListenForConnections Method

ListenForConnections

rpc ListenForConnections(ListenForConnectionsRequest) returns (ListenForConnectionsResponse)

with the following messages:

Required Permissions:

  • services/devices.edgelq.com/permissions/devices.listenForConnections

The equivalent REST API is:

POST /v1alpha2/{register_listener.device=projects/*/regions/*/devices/*}:listenForConnections 

OpenConnectionChannelSocket Method

OpenConnectionChannelSocket

rpc OpenConnectionChannelSocket(OpenConnectionChannelSocketRequest) returns (OpenConnectionChannelSocketResponse)

with the following messages:

Required Permissions:

  • services/devices.edgelq.com/permissions/devices.openConnectionChannelSocket

The equivalent REST API is:

POST /v1alpha2/{register_socket.device=projects/*/regions/*/devices/*}:openConnectionChannelSocket 

ConnectToDevice Method

ConnectToDevice

rpc ConnectToDevice(ConnectToDeviceRequest) returns (ConnectToDeviceResponse)

with the following messages:

Required Permissions:

  • services/devices.edgelq.com/permissions/devices.connectToDevice

The equivalent REST API is:

POST /v1alpha2/{open_request.device=projects/*/regions/*/devices/*}:connectToDevice 

GetDevice Method

GetDevice

rpc GetDevice(GetDeviceRequest) returns (Device)

with the following messages:

Required Permissions:

  • services/devices.edgelq.com/permissions/devices.get

The equivalent REST API is:

GET /v1alpha2/{name=projects/*/regions/*/devices/*} 

BatchGetDevices Method

BatchGetDevices

rpc BatchGetDevices(BatchGetDevicesRequest) returns (BatchGetDevicesResponse)

with the following messages:

Required Permissions:

  • services/devices.edgelq.com/permissions/devices.batchGet

The equivalent REST API is:

GET /v1alpha2/devices:batchGet 

ListDevices Method

ListDevices

rpc ListDevices(ListDevicesRequest) returns (ListDevicesResponse)

with the following messages:

Required Permissions:

  • services/devices.edgelq.com/permissions/devices.list

The equivalent REST API is:

GET /v1alpha2/{parent=projects/*/regions/*}/devices 

WatchDevice Method

WatchDevice

rpc WatchDevice(WatchDeviceRequest) returns (WatchDeviceResponse)

with the following messages:

Required Permissions:

  • services/devices.edgelq.com/permissions/devices.watch

The equivalent REST API is:

POST /v1alpha2/{name=projects/*/regions/*/devices/*}:watch 

WatchDevices Method

WatchDevices

rpc WatchDevices(WatchDevicesRequest) returns (WatchDevicesResponse)

with the following messages:

Required Permissions:

  • services/devices.edgelq.com/permissions/devices.watch

The equivalent REST API is:

POST /v1alpha2/{parent=projects/*/regions/*}/devices:watch 

CreateDevice Method

CreateDevice

rpc CreateDevice(CreateDeviceRequest) returns (Device)

with the following messages:

Required Permissions:

  • services/devices.edgelq.com/permissions/devices.create

The equivalent REST API is:

POST /v1alpha2/{parent=projects/*/regions/*}/devices (BODY: device)

UpdateDevice Method

UpdateDevice

rpc UpdateDevice(UpdateDeviceRequest) returns (Device)

with the following messages:

Required Permissions:

  • services/devices.edgelq.com/permissions/devices.update

The equivalent REST API is:

PUT /v1alpha2/{device.name=projects/*/regions/*/devices/*} (BODY: device)

DeleteDevice Method

DeleteDevice

rpc DeleteDevice(DeleteDeviceRequest) returns (Empty)

with the following messages:

Required Permissions:

  • services/devices.edgelq.com/permissions/devices.delete

The equivalent REST API is:

DELETE /v1alpha2/{name=projects/*/regions/*/devices/*} 

ProvisionServiceAccountToDevice Method

ProvisionServiceAccountToDevice

rpc ProvisionServiceAccountToDevice(ProvisionServiceAccountToDeviceRequest) returns (ProvisionServiceAccountToDeviceResponse)

with the following messages:

Required Permissions:

  • services/devices.edgelq.com/permissions/devices.provisionServiceAccountToDevice

The equivalent REST API is:

POST /v1alpha2/{name=projects/*/regions/*/devices/*}:provisionServiceAccountToDevice 

RemoveServiceAccountFromDevice Method

RemoveServiceAccountFromDevice

rpc RemoveServiceAccountFromDevice(RemoveServiceAccountFromDeviceRequest) returns (RemoveServiceAccountFromDeviceResponse)

with the following messages:

Required Permissions:

  • services/devices.edgelq.com/permissions/devices.removeServiceAccountFromDevice

The equivalent REST API is:

POST /v1alpha2/{name=projects/*/regions/*/devices/*}:removeServiceAccountFromDevice 

ListPublicDevices Method

ListPublicDevices

rpc ListPublicDevices(ListPublicDevicesRequest) returns (ListPublicDevicesResponse)

with the following messages:

Required Permissions:

  • services/devices.edgelq.com/permissions/devices.listPublicDevices

The equivalent REST API is:

GET /v1alpha2/{parent=projects/*/regions/*}/devices:listPublicDevices 

Device Messages

Here is the list of Device resource messages:

Device Message

Name Type Description
name string (name of Device) Name of Device When creating a new instance, this field is optional and if not provided, it will be generated automatically. Last ID segment must conform to the following regex: [a-z][a-z0-9-]{0,28}[a-z0-9]
metadata Meta Metadata of Device
spec Device.Spec Spec holds the expected state of the Device, meaning configurations.
status Device.Status Status of the Device reported from the actual device.
public_listing_spec Device.PublicListingSpec
display_name string Display name for the device

Device.Spec Message

Name Type Description
service_account string (reference to ServiceAccount) The associated service account to the Device. The agents in the device uses a key from this service account when they issue any requests to our endpoints for authoroization and authentication. ProvisionServiceAccountToDevice creates a new service account and a key for the Device and asign the account to this fileld. If you change the value of this field, the existing device would lose the access to the resources in our services, that means you can revoke the permissions from the device. You can manually set an empty value to do so, or call RemoveServiceAccountFromDevice.
os_version string The expected OS version in string (e.g. 1.0.2). The device will automatically download the OS image and upgrade itself with it. You can stack the OS upgrade progress in the Condition named OSReady in Status.Conditions.
netplan_config Device.Spec.NetplanConfig
netplan_api_config_mode Device.Spec.NetworkConfigMode
os_image_url string The URL is dynamically constructed once the device is created or updated. The URL will be based on the device hardware information URL format: base_url/dedicated_path/iso_version/architecture/os_type
ssh_config Device.Spec.SSHConfig
attestation_config Device.Spec.AttestationConfig
disable_device_discovery bool Disables the daemon on the device for device auto discovery on the network. When it’s enabled, avahi-daemon is launched on the device which listens at UDP 5353. This daemon is useful to locate the device that acquires an IP address with DHCP.
logging_config Device.Spec.LoggingConfig
proxy_config Device.Spec.ProxyConfig
location Device.Spec.Location

Device.Status Message

Name Type Description
addresses repeated Device.Status.Address List of network addresses.
conditions repeated Device.Status.Condition List of conditions of the Device.
network_config_state Device.Status.NetworkConfigState
proxy_config_status Device.Status.ProxyConfigStatus
device_info Device.Status.DeviceInfo Device detailed information
attestation_status repeated PCR
normalized_address Device.Status.NormalizedAddress Normalized Address.

Device.PublicListingSpec Message

Name Type Description
enabled bool
field_mask .google.protobuf.FieldMask

Device.Spec.NetworkingConfig Message

Name Type Description
version int32
renderer string
ethernets map<string, Device.Spec.NetworkingConfig.EthOpts>
wifis map<string, Device.Spec.NetworkingConfig.WifiOpts>
bridges map<string, Device.Spec.NetworkingConfig.BridgesOpts>
bonds map<string, Device.Spec.NetworkingConfig.BondsOpts>
tunnels map<string, Device.Spec.NetworkingConfig.TunnelsOpts>
vlans map<string, Device.Spec.NetworkingConfig.VlansOpts>
modems map<string, Device.Spec.NetworkingConfig.ModemOpts>

Device.Spec.NetplanConfig Message

Name Type Description
network Device.Spec.NetworkingConfig

Device.Spec.SSHConfig Message

SSHConfig defines the ssh configuration for the Device.

Name Type Description
disable_ssh_server bool
disable_ssh_password bool
ssh_authorized repeated Device.Spec.SSHConfig.AuthKey
ip_allow_list repeated string
ip_deny_list repeated string
reject_period .google.protobuf.Duration
disable_ssh_authkey bool

Device.Spec.AttestationConfig Message

Name Type Description
attestation_expected bool If true, the droplet will try to attest itself.
attestation_domain string (reference to AttestationDomain) Attestation domain for device attestation.
insecure_use_tpm_simulator_seed int32 Insecure, use for dev only. If non-zero, droplet will use an in-memory TPM simulator instead of an actual, physical one, using the provided seed as initialization seed. OK, this is not actually insecure, since server-side should verify trustworthiness of the key anyways (the entire point of verification protocol after all), but it’s better to mark it this way for people who don’t read the documentation. This field is designed to be used for development purposes, as it allows for running the attestation protocol on devices which don’t have a TMP chip. To make it work, ensure that attestation domain policies are configured for development as well (depends on which aspect we’re testing; at the very least insecure_skip_manufacturer_ekcert_verification should be probably set to true).

Device.Spec.LoggingConfig Message

Name Type Description
priority int32 Log priority as understood by systemd (0 - emergency, 1 - alert, 2 - critical, 3 - error, 4 - warning, 5 - notice, 6 - informational, 7 - debug). Journal logs with this priority and higher will be uploaded to the server.
units repeated string List of systemd unit names to monitor for logs, e.g. NetworkManager.service, docker.service. Leave empty to export all journald logs.
enable_journal_export bool Whether the journald log exporter is enabled.

Device.Spec.ProxyConfig Message

Name Type Description
http_proxy string
https_proxy string
no_proxy string
proxy_interfaces repeated string By default proxy is applicable for all interfaces configuring proxy_interfaces allows to restrict proxy setting to be used only with specific interfaces At present this is only used for Control Plane (for eg LTE fallback)

Device.Spec.Location Message

Device location of the device.

Name Type Description
address string
placement string

Device.Spec.NetworkingConfig.CommonOpts Message

Name Type Description
none none none

Device.Spec.NetworkingConfig.EthOpts Message

Name Type Description
match Device.Spec.NetworkingConfig.EthOpts.Match
set_name string
wakeonlan bool
renderer string
dhcp4 bool
dhcp6 bool
ipv6_privacy bool
link_local repeated string
critical bool
dhcp_identifier string
dhcp4_overrides Device.Spec.NetworkingConfig.CommonOpts.DHCPOverrides
dhcp6_overrides Device.Spec.NetworkingConfig.CommonOpts.DHCPOverrides
accept_ra bool
addresses repeated string
nameservers Device.Spec.NetworkingConfig.CommonOpts.Nameservers
macaddress string
mtu int32
optional bool
optional_addresses repeated string
routes repeated Device.Spec.NetworkingConfig.CommonOpts.Routes
routing_policy Device.Spec.NetworkingConfig.CommonOpts.RoutingPolicy
auth Device.Spec.NetworkingConfig.CommonOpts.Auth
gateway4 string Deprecated
gateway6 string Deprecated

Device.Spec.NetworkingConfig.WifiOpts Message

Name Type Description
match Device.Spec.NetworkingConfig.WifiOpts.Match
set_name string
wakeonlan bool
access_points map<string, Device.Spec.NetworkingConfig.WifiOpts.AccessPoint>
wakeonwlan repeated string This enables WakeOnWLan on supported devices. Not all drivers support all options. May be any combination of any, disconnect, magic_pkt, gtk_rekey_failure, eap_identity_req, four_way_handshake, rfkill_release or tcp (NetworkManager only). Or the exclusive default flag (the default).
regulatory_domain string This can be used to define the radio’s regulatory domain, to make use of additional WiFi channels outside the “world domain”. Takes an ISO / IEC 3166 country code (like GB) or 00 to reset to the “world domain”
renderer string
dhcp4 bool
dhcp6 bool
ipv6_privacy bool
link_local repeated string
critical bool
dhcp_identifier string
dhcp4_overrides Device.Spec.NetworkingConfig.CommonOpts.DHCPOverrides
dhcp6_overrides Device.Spec.NetworkingConfig.CommonOpts.DHCPOverrides
accept_ra bool
addresses repeated string
nameservers Device.Spec.NetworkingConfig.CommonOpts.Nameservers
macaddress string
mtu int32
optional bool
optional_addresses repeated string
routes repeated Device.Spec.NetworkingConfig.CommonOpts.Routes
routing_policy Device.Spec.NetworkingConfig.CommonOpts.RoutingPolicy
auth Device.Spec.NetworkingConfig.CommonOpts.Auth
gateway4 string Deprecated
gateway6 string Deprecated

Device.Spec.NetworkingConfig.BridgesOpts Message

Name Type Description
interfaces repeated string
parameters Device.Spec.NetworkingConfig.BridgesOpts.Parameters
renderer string
dhcp4 bool
dhcp6 bool
ipv6_privacy bool
link_local repeated string
critical bool
dhcp_identifier string
dhcp4_overrides Device.Spec.NetworkingConfig.CommonOpts.DHCPOverrides
dhcp6_overrides Device.Spec.NetworkingConfig.CommonOpts.DHCPOverrides
accept_ra bool
addresses repeated string
nameservers Device.Spec.NetworkingConfig.CommonOpts.Nameservers
macaddress string
mtu int32
optional bool
optional_addresses repeated string
routes repeated Device.Spec.NetworkingConfig.CommonOpts.Routes
routing_policy Device.Spec.NetworkingConfig.CommonOpts.RoutingPolicy
auth Device.Spec.NetworkingConfig.CommonOpts.Auth
gateway4 string Deprecated
gateway6 string Deprecated

Device.Spec.NetworkingConfig.BondsOpts Message

Name Type Description
interfaces repeated string
parameters Device.Spec.NetworkingConfig.BondsOpts.Parameters
renderer string
dhcp4 bool
dhcp6 bool
ipv6_privacy bool
link_local repeated string
critical bool
dhcp_identifier string
dhcp4_overrides Device.Spec.NetworkingConfig.CommonOpts.DHCPOverrides
dhcp6_overrides Device.Spec.NetworkingConfig.CommonOpts.DHCPOverrides
accept_ra bool
addresses repeated string
nameservers Device.Spec.NetworkingConfig.CommonOpts.Nameservers
macaddress string
mtu int32
optional bool
optional_addresses repeated string
routes repeated Device.Spec.NetworkingConfig.CommonOpts.Routes
routing_policy Device.Spec.NetworkingConfig.CommonOpts.RoutingPolicy
auth Device.Spec.NetworkingConfig.CommonOpts.Auth
gateway4 string Deprecated
gateway6 string Deprecated

Device.Spec.NetworkingConfig.TunnelsOpts Message

Name Type Description
mode string
local string
remote string
key int32
renderer string
dhcp4 bool
dhcp6 bool
ipv6_privacy bool
link_local repeated string
critical bool
dhcp_identifier string
dhcp4_overrides Device.Spec.NetworkingConfig.CommonOpts.DHCPOverrides
dhcp6_overrides Device.Spec.NetworkingConfig.CommonOpts.DHCPOverrides
accept_ra bool
addresses repeated string
nameservers Device.Spec.NetworkingConfig.CommonOpts.Nameservers
macaddress string
mtu int32
optional bool
optional_addresses repeated string
routes repeated Device.Spec.NetworkingConfig.CommonOpts.Routes
routing_policy Device.Spec.NetworkingConfig.CommonOpts.RoutingPolicy
auth Device.Spec.NetworkingConfig.CommonOpts.Auth
gateway4 string Deprecated
gateway6 string Deprecated

Device.Spec.NetworkingConfig.VlansOpts Message

Name Type Description
id int32
link string
renderer string
dhcp4 bool
dhcp6 bool
ipv6_privacy bool
link_local repeated string
critical bool
dhcp_identifier string
dhcp4_overrides Device.Spec.NetworkingConfig.CommonOpts.DHCPOverrides
dhcp6_overrides Device.Spec.NetworkingConfig.CommonOpts.DHCPOverrides
accept_ra bool
addresses repeated string
nameservers Device.Spec.NetworkingConfig.CommonOpts.Nameservers
macaddress string
mtu int32
optional bool
optional_addresses repeated string
routes repeated Device.Spec.NetworkingConfig.CommonOpts.Routes
routing_policy Device.Spec.NetworkingConfig.CommonOpts.RoutingPolicy
auth Device.Spec.NetworkingConfig.CommonOpts.Auth
gateway4 string Deprecated
gateway6 string Deprecated

Device.Spec.NetworkingConfig.ModemOpts Message

Name Type Description
apn string
username string
password string
number string
network_id string
device_id string
pin string
sim_id string
sim_operator_id string
auto_config bool
renderer string
dhcp4 bool
dhcp6 bool
ipv6_privacy bool
link_local repeated string
critical bool
dhcp_identifier string
dhcp4_overrides Device.Spec.NetworkingConfig.CommonOpts.DHCPOverrides
dhcp6_overrides Device.Spec.NetworkingConfig.CommonOpts.DHCPOverrides
accept_ra bool
addresses repeated string
nameservers Device.Spec.NetworkingConfig.CommonOpts.Nameservers
macaddress string
mtu int32
optional bool
optional_addresses repeated string
routes repeated Device.Spec.NetworkingConfig.CommonOpts.Routes
routing_policy Device.Spec.NetworkingConfig.CommonOpts.RoutingPolicy
auth Device.Spec.NetworkingConfig.CommonOpts.Auth
gateway4 string Deprecated
gateway6 string Deprecated

Device.Spec.NetworkingConfig.CommonOpts.DHCPOverrides Message

Name Type Description
use_dns bool
use_ntp bool
send_hostname bool
use_hostname bool
use_mtu bool
hostname string
use_routes bool
route_metric int32

Device.Spec.NetworkingConfig.CommonOpts.Nameservers Message

Name Type Description
search repeated string
addresses repeated string

Device.Spec.NetworkingConfig.CommonOpts.Routes Message

Name Type Description
from string
to string
via string
on_link bool
metric int32
type string
scope string
table int32

Device.Spec.NetworkingConfig.CommonOpts.RoutingPolicy Message

Name Type Description
from string
to string
table int32
priority int32
mark int32
type_of_service int32

Device.Spec.NetworkingConfig.CommonOpts.Auth Message

Name Type Description
key_management string
password string
method string
identity string
anonymous_identity string
ca_certificate string
client_certificate string
client_key string
client_key_password string
phase2_auth string

Device.Spec.NetworkingConfig.EthOpts.Match Message

Name Type Description
name string
macaddress string
driver string

Device.Spec.NetworkingConfig.WifiOpts.Match Message

Name Type Description
name string
macaddress string
driver string

Device.Spec.NetworkingConfig.WifiOpts.AccessPoint Message

Name Type Description
password string Setting password here is equivalent to using auth with key-management: psk
mode string
bssid string
band string
channel string
hidden string
auth Device.Spec.NetworkingConfig.CommonOpts.Auth

Device.Spec.NetworkingConfig.BridgesOpts.Parameters Message

Name Type Description
ageing_time int32
priority int32
port_priority int32
forward_delay int32
hello_time int32
max_age int32
path_cost int32
stp bool

Device.Spec.NetworkingConfig.BondsOpts.Parameters Message

Name Type Description
mode string
lacp_rate int32
mii_monitor_interval int32
min_links int32
transmit_hash_policy int32
ad_select int32
all_slaves_active int32
arp_ip_targets bool
arp_validate string
arp_all_targets string
up_delay string
fail_over_mac_policy string
gratuitous_arp int32
packets_per_slave string
primary_reselect_policy string
resend_igmp string
learn_packet_interval string
primary string

Device.Spec.NetworkingConfig.TunnelsOpts.Key Message

Name Type Description
input int32
output int32

Device.Spec.SSHConfig.AuthKey Message

Name Type Description
ssha_key string
cert_authority bool
command string
environment string
from string
no_agent_forwarding bool
no_port_forwarding bool
no_pty bool
no_user_rc bool
no_x11_forwarding bool
permitopen string
principals string
tunnel string
restrict bool

Device.Status.Address Message

Interface addresses of the Device.

Name Type Description
address string IPv4 or IPv6 address such as 203.0.113.5 (no suffix for subnet)
type string Always InternalIP

Device.Status.Condition Message

Condition holds status of each sub component or module of the device.

Name Type Description
message string The message describes the status.
reason string The reason for the status.
status string The status name.
type string Type name of the status.
last_heart_beat_time .google.protobuf.Timestamp When the status has been updated last time.
last_transition_time .google.protobuf.Timestamp When the status has tuned into the current value.

Device.Status.NetworkConfigState Message

Name Type Description
active_network_config_source Device.Status.NetworkConfigState.NetworkConfigSource
desired_network_config_source Device.Status.NetworkConfigState.NetworkConfigSource
desired_network_config_error string
default_config Device.Spec.NetplanConfig
active_config Device.Spec.NetplanConfig
desired_config Device.Spec.NetplanConfig

Device.Status.ProxyConfigStatus Message

Name Type Description
active_config_source Device.Status.ProxyConfigStatus.ProxyConfigSource
desired_config_source Device.Status.ProxyConfigStatus.ProxyConfigSource
proxy_config_error string
default_config Device.Spec.ProxyConfig
active_config Device.Spec.ProxyConfig
api_config Device.Spec.ProxyConfig

Device.Status.DeviceInfo Message

Device Information

Name Type Description
architecture string The architecture of the CPU (and the software compilied for) (e.g. arm64)
operating_system string Base OS name (e.g. Linux)
kernel_version string OS kernel version
os_image string OS base Image name
container_runtime_version string Not used
os_version string Liquid OS version currently used.
driver string Container driver name (e.g. /var/lib/droplet/compose)
hardware_information Device.Status.DeviceInfo.HardwareInformation
network_interfaces map<string, Device.Status.DeviceInfo.NetworkInterface>
control_plane_interface_info Device.Status.DeviceInfo.ControlPlaneInterfaceInfo

Device.Status.NormalizedAddress Message

Name Type Description
postal_code string Postal code
country_code string Country code example US, JP
continent string Continent, e.g. North America, Asia
continent_id string
country string Country name example United States, Japan
country_id string
admin_area1 string Probe Location Administrative Area level 1 name, e.g. California (state), Chiba (prefecture)
admin_area1_id string
admin_area2 string Probe Location Administrative Area level 2 name, e.g. Santa Clara (county), Tateyama (town)
admin_area2_id string
admin_area3 string Probe Location Administrative Area level 3 name, e.g. Sunnyvale (city)
admin_area3_id string
admin_area4 string Probe Location Administrative Area level 4 name, e.g. Sunnyvale (city)
admin_area4_id string
address string Original address.
coordinates .google.type.LatLng coordinates
accuracy double location accuracy in meters

Device.Status.DeviceInfo.HardwareInformation Message

Name Type Description
os Device.Status.DeviceInfo.HardwareInformation.OS
bios Device.Status.DeviceInfo.HardwareInformation.BIOS
system Device.Status.DeviceInfo.HardwareInformation.System
cpu Device.Status.DeviceInfo.HardwareInformation.CPU
block Device.Status.DeviceInfo.HardwareInformation.Block
network Device.Status.DeviceInfo.HardwareInformation.Network
gpu Device.Status.DeviceInfo.HardwareInformation.GPU
memory_info Device.Status.DeviceInfo.HardwareInformation.MemoryInfo
hailo_info Device.Status.DeviceInfo.HardwareInformation.HailoInfo
nvidia_info Device.Status.DeviceInfo.HardwareInformation.NvidiaInfo
modem_status repeated Device.Status.DeviceInfo.HardwareInformation.ModemStatus

Device.Status.DeviceInfo.NetworkInterface Message

Network Interface

Name Type Description
interface_name string
ip_address_v4 repeated string
external_ip_address_v4 repeated string
ip_address_v6 repeated string
external_ip_address_v6 repeated string
as_info Device.Status.DeviceInfo.NetworkInterface.ASInfo Asinfo describes the ISP (ASN) details for the interface This is resolved automatically from the external_ip_address.
carrier Device.Status.DeviceInfo.NetworkInterface.Carrier Carrier.

Device.Status.DeviceInfo.ControlPlaneInterfaceInfo Message

Name Type Description
active_control_plane_interface string
usesProxy bool
is_fallback bool is_fallback would be true if droplet could not connect using the best default route and explicitly uses this interface to connect to api endpoint

Device.Status.DeviceInfo.HardwareInformation.Capability Message

Name Type Description
name string
description string

Device.Status.DeviceInfo.HardwareInformation.OS Message

Name Type Description
operating_system string
kernel_version string
os_image string
container_runtime_version string

Device.Status.DeviceInfo.HardwareInformation.BIOS Message

TODO: Add capabilities and size

Name Type Description
vendor string
bios_version string
release_date string

Device.Status.DeviceInfo.HardwareInformation.System Message

Name Type Description
manufacturer string
product_name string
version string
serial_number string
configuration Device.Status.DeviceInfo.HardwareInformation.System.Configuration

Device.Status.DeviceInfo.HardwareInformation.CPU Message

Name Type Description
processors repeated Device.Status.DeviceInfo.HardwareInformation.CPU.Processor

Device.Status.DeviceInfo.HardwareInformation.Block Message

Name Type Description
disks repeated Device.Status.DeviceInfo.HardwareInformation.Block.Disk

Device.Status.DeviceInfo.HardwareInformation.Network Message

Name Type Description
nics repeated Device.Status.DeviceInfo.HardwareInformation.Network.NIC

Device.Status.DeviceInfo.HardwareInformation.GPU Message

Name Type Description
graphic_cards repeated Device.Status.DeviceInfo.HardwareInformation.GPU.GraphicCard

Device.Status.DeviceInfo.HardwareInformation.PCIDevice Message

Revisit: May be just device ??

Name Type Description
address string
vendor string
product string
name string
subvendor string

Device.Status.DeviceInfo.HardwareInformation.MemoryInfo Message

Name Type Description
memory repeated Device.Status.DeviceInfo.HardwareInformation.MemoryInfo.Memory

Device.Status.DeviceInfo.HardwareInformation.HailoInfo Message

Name Type Description
status string
cli_version string
modules repeated Device.Status.DeviceInfo.HardwareInformation.HailoInfo.HailoModuleInfo

Device.Status.DeviceInfo.HardwareInformation.NvidiaInfo Message

Name Type Description
status string
driver_version string
cuda_version string
gpus repeated Device.Status.DeviceInfo.HardwareInformation.NvidiaInfo.GpuInfo

Device.Status.DeviceInfo.HardwareInformation.ModemStatus Message

Name Type Description
modem Device.Status.DeviceInfo.HardwareInformation.ModemStatus.Modem

Device.Status.DeviceInfo.HardwareInformation.System.Configuration Message

Name Type Description
chassis string
uuid string
sku_number string
family string

Device.Status.DeviceInfo.HardwareInformation.CPU.Processor Message

Name Type Description
vendor string
model string
capabilities repeated Device.Status.DeviceInfo.HardwareInformation.Capability
num_threads uint32s
num_cores uint32s
num_enabled_cores uint32s
name string
serial string
frequency_mhz int64
max_frequency_mhz int64
cache_info repeated Device.Status.DeviceInfo.HardwareInformation.CPU.Processor.Cache
driver string
latency int64
clock int64

Device.Status.DeviceInfo.HardwareInformation.CPU.Processor.Cache Message

Name Type Description
type string
size_bytes int64

Device.Status.DeviceInfo.HardwareInformation.Block.Disk Message

Name Type Description
name string
size_bytes int64
drive_type string
vendor string
model string
serial_number string
wwn string
partitions repeated Device.Status.DeviceInfo.HardwareInformation.Block.Disk.Partition

Device.Status.DeviceInfo.HardwareInformation.Block.Disk.Partition Message

Name Type Description
name string
size_bytes int64
mount_point string
type string

Device.Status.DeviceInfo.HardwareInformation.Network.NIC Message

Name Type Description
name string
mac_address string
virtual bool
description string
product_name string
vendor string
subvendor string
setting map<string, string>

Device.Status.DeviceInfo.HardwareInformation.GPU.GraphicCard Message

Name Type Description
index int64
device Device.Status.DeviceInfo.HardwareInformation.PCIDevice

Device.Status.DeviceInfo.HardwareInformation.MemoryInfo.Memory Message

Name Type Description
description string
size_bytes int64
memory_banks repeated Device.Status.DeviceInfo.HardwareInformation.MemoryInfo.Memory.MemoryBank

Device.Status.DeviceInfo.HardwareInformation.MemoryInfo.Memory.MemoryBank Message

Name Type Description
description string
product string
vendor string
serial string
slot string
size_bytes int64
frequency_hz int64
width_bits int32

Device.Status.DeviceInfo.HardwareInformation.HailoInfo.HailoModuleInfo Message

Name Type Description
dev_id string
control_proto_version string
firmware_version string
logger_version string
board_name string
serial_number string
part_number string
product_name string
neural_network_core_clock_rate string

Device.Status.DeviceInfo.HardwareInformation.NvidiaInfo.GpuInfo Message

Name Type Description
id string
product_name string

Device.Status.DeviceInfo.HardwareInformation.ModemStatus.RegistrationSettings Message

Name Type Description
drx_cycle string
mico_mode string

Device.Status.DeviceInfo.HardwareInformation.ModemStatus.FiveGNr Message

Name Type Description
registration_settings Device.Status.DeviceInfo.HardwareInformation.ModemStatus.RegistrationSettings

Device.Status.DeviceInfo.HardwareInformation.ModemStatus.Settings Message

Name Type Description
apn string
ip_type string
password string
user string

Device.Status.DeviceInfo.HardwareInformation.ModemStatus.InitialBearer Message

Name Type Description
dbus_path string
settings Device.Status.DeviceInfo.HardwareInformation.ModemStatus.Settings

Device.Status.DeviceInfo.HardwareInformation.ModemStatus.Eps Message

Name Type Description
initial_bearer Device.Status.DeviceInfo.HardwareInformation.ModemStatus.InitialBearer
ue_mode_operation string

Device.Status.DeviceInfo.HardwareInformation.ModemStatus.ThreeGpp Message

Name Type Description
fiveg_nr Device.Status.DeviceInfo.HardwareInformation.ModemStatus.FiveGNr
enabled_locks repeated string
eps Device.Status.DeviceInfo.HardwareInformation.ModemStatus.Eps
imei string
operator_code string
operator_name string
packet_service_state string
pco string
registration_state string

Device.Status.DeviceInfo.HardwareInformation.ModemStatus.Cdma Message

Name Type Description
activation_state string
cdma1x_registration_state string
esn string
evdo_registration_state string
meid string
nid string
sid string

Device.Status.DeviceInfo.HardwareInformation.ModemStatus.SignalQuality Message

Name Type Description
recent string
value string

Device.Status.DeviceInfo.HardwareInformation.ModemStatus.Generic Message

Name Type Description
access_technologies repeated string
bearers repeated string
carrier_configuration string
carrier_configuration_revision string
current_bands repeated string
current_capabilities repeated string
current_modes string
device string
device_identifier string
drivers repeated string
equipment_identifier string
hardware_revision string
manufacturer string
model string
own_numbers repeated string
plugin string
ports repeated string
power_state string
primary_port string
primary_sim_slot string
revision string
signal_quality Device.Status.DeviceInfo.HardwareInformation.ModemStatus.SignalQuality
sim string
sim_slots repeated string
state string
state_failed_reason string
supported_bands repeated string
supported_capabilities repeated string
supported_ip_families repeated string
supported_modes repeated string
unlock_required string
unlock_retries repeated string

Device.Status.DeviceInfo.HardwareInformation.ModemStatus.Signal5g Message

Name Type Description
error_rate string
rsrp string
rsrq string
snr string

Device.Status.DeviceInfo.HardwareInformation.ModemStatus.SignalCdma1x Message

Name Type Description
ecio string
error_rate string
rssi string

Device.Status.DeviceInfo.HardwareInformation.ModemStatus.SignalEvdo Message

Name Type Description
ecio string
error_rate string
io string
rssi string
sinr string

Device.Status.DeviceInfo.HardwareInformation.ModemStatus.SignalGsm Message

Name Type Description
error_rate string
rssi string

Device.Status.DeviceInfo.HardwareInformation.ModemStatus.SignalLte Message

Name Type Description
error_rate string
rsrp string
rsrq string
rssi string
snr string

Device.Status.DeviceInfo.HardwareInformation.ModemStatus.SignalRefresh Message

Name Type Description
rate string

Device.Status.DeviceInfo.HardwareInformation.ModemStatus.SignalThreshold Message

Name Type Description
error_rate string
rssi string

Device.Status.DeviceInfo.HardwareInformation.ModemStatus.SignalUmts Message

Name Type Description
ecio string
error_rate string
rscp string
rssi string

Device.Status.DeviceInfo.HardwareInformation.ModemStatus.Signal Message

Name Type Description
five_g Device.Status.DeviceInfo.HardwareInformation.ModemStatus.Signal5g
cdma1x Device.Status.DeviceInfo.HardwareInformation.ModemStatus.SignalCdma1x
evdo Device.Status.DeviceInfo.HardwareInformation.ModemStatus.SignalEvdo
gsm Device.Status.DeviceInfo.HardwareInformation.ModemStatus.SignalGsm
lte_signal Device.Status.DeviceInfo.HardwareInformation.ModemStatus.SignalLte
refresh Device.Status.DeviceInfo.HardwareInformation.ModemStatus.SignalRefresh
threshold Device.Status.DeviceInfo.HardwareInformation.ModemStatus.SignalThreshold
umts Device.Status.DeviceInfo.HardwareInformation.ModemStatus.SignalUmts

Device.Status.DeviceInfo.HardwareInformation.ModemStatus.SimStatus Message

Name Type Description
dbus_path string
active string
eid string
emergency_numbers repeated string
esim_status string
gid1 string
gid2 string
iccid string
imsi string
operator_code string
operator_name string
removability string
sim_type string

Device.Status.DeviceInfo.HardwareInformation.ModemStatus.Modem Message

Name Type Description
three_g_pp Device.Status.DeviceInfo.HardwareInformation.ModemStatus.ThreeGpp
cdma Device.Status.DeviceInfo.HardwareInformation.ModemStatus.Cdma
dbus_path string
generic Device.Status.DeviceInfo.HardwareInformation.ModemStatus.Generic
signal Device.Status.DeviceInfo.HardwareInformation.ModemStatus.Signal
sim_status map<string, Device.Status.DeviceInfo.HardwareInformation.ModemStatus.SimStatus>

Device.Status.DeviceInfo.NetworkInterface.ASInfo Message

Name Type Description
asn string AS Number string example AS7018
name string AS Owner name example AT&T Services, Inc.
domain string Domain name example att.com
routes repeated string Routes exported from this ASN example 12.128.0.0/9
asn_type string ASN Owner type example isp(AT&T) / hosting(google)/ business (Amazon)

Device.Status.DeviceInfo.NetworkInterface.Carrier Message

Name Type Description
name string Mobile network carrier name example AT&T
mobile_country_code string Mobile country code example 214
mobile_network_code string Mobile network code example 7
location_area_code string Mobile location area code example 2862

ListenForConnectionsRequest Message

Request message for method [ListenForConnections][ntt.devices.v1alpha2.ListenForConnections] Registers a new session listener (agent) to the endpoint. This method is used by agents on the device and not meant for use of users.

Name Type Description
register_listener ListenForConnectionsRequest.RegisterListener This is a hello message from the agent with its name.
channel_open_error ListenForConnectionsRequest.ChannelOpenError When the agent failed to open a requested channel, this message will be sent from the agent to the endpoint.
keep_alive ListenForConnectionsRequest.KeepAlive KeepAlive.

ListenForConnectionsRequest.RegisterListener Message

Name Type Description
device string (name of Device) The self-declared device name, used for authentication/authorization.

ListenForConnectionsRequest.ChannelOpenError Message

Name Type Description
channel string ID of the channel failed to open.
message string Error message.

ListenForConnectionsRequest.KeepAlive Message

Name Type Description
none none none

ListenForConnectionsResponse Message

Response message for method [ListenForConnections][ntt.devices.v1alpha2.ListenForConnections] Responses from the endpoint to session agents.

Name Type Description
channel_requested ListenForConnectionsResponse.ChannelRequested Notifies a new channel has been requested by a client.
keep_alive ListenForConnectionsResponse.KeepAlive Keepalive

ListenForConnectionsResponse.ChannelRequested Message

Name Type Description
channel string Channel ID
service BrokerServiceType Device service;
arg string Initial argument (optional)

ListenForConnectionsResponse.KeepAlive Message

Name Type Description
none none none

OpenConnectionChannelSocketRequest Message

Request message for method [OpenConnectionChannelSocket][ntt.devices.v1alpha2.OpenConnectionChannelSocket] Opens a new socket for a session by agent at an endpoint. This session is usually initiated by the agent who received a ChannelRequested message on a ListenForConnection session. The session is used for data plane to transfer data for a channel between the endpoint and the agent.

Name Type Description
register_socket OpenConnectionChannelSocketRequest.RegisterSocket Registers a new socket on the endpoint.
data bytes Data from the agent to the endpoint (client).
error bytes Error from the agent to the endpoint (client).
ack Ack Ack from the agent to the endpoint (client)

OpenConnectionChannelSocketRequest.RegisterSocket Message

Name Type Description
device string (name of Device) Device name, to be authenticated/authorized.
channel string Channel ID, requested by the endpoint in the ChannelRequested message.

OpenConnectionChannelSocketResponse Message

Response message for method [OpenConnectionChannelSocket][ntt.devices.v1alpha2.OpenConnectionChannelSocket]

Name Type Description
data bytes Data from the endpoint (client) to the agent.
ack Ack Ack from the client to the endpoint (device)

ConnectToDeviceRequest Message

Request message for method [ConnectToDevice][ntt.devices.v1alpha2.ConnectToDevice] ConnectToDevice connects a local service provided by a Device.

Name Type Description
open_request ConnectToDeviceRequest.OpenRequest The initiation message to open a channel to a device.
data bytes Any data sent to the device through the endpoint.
ack Ack Ack from the user to the endpoint (device)
keep_alive ConnectToDeviceRequest.KeepAlive

ConnectToDeviceRequest.OpenRequest Message

Name Type Description
device string (name of Device) Device name to connect.
service BrokerServiceType Device service
arg string Initial argument (optional)

ConnectToDeviceRequest.KeepAlive Message

Name Type Description
none none none

ConnectToDeviceResponse Message

Response message for method [ConnectToDevice][ntt.devices.v1alpha2.ConnectToDevice]

Name Type Description
open_response ConnectToDeviceResponse.OpenResponse Notification from the agent (endpoint) to the channel has been opened.
data bytes Any data from the device (endpoint) to the client.
error bytes Any error from the device (endpoint) to the client.
ack Ack Ack from the device to the endpoint (client)

ConnectToDeviceResponse.OpenResponse Message

Name Type Description
none none none

GetDeviceRequest Message

A request message of the GetDevice method.

Name Type Description
name string (name of Device) Name of ntt.devices.v1alpha2.Device
field_mask .google.protobuf.FieldMask A list of extra fields to be obtained for each response item on top of fields defined by request field view
view View View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask

BatchGetDevicesRequest Message

A request message of the BatchGetDevices method.

Name Type Description
names repeated string (name of Device) Names of Devices
field_mask .google.protobuf.FieldMask A list of extra fields to be obtained for each response item on top of fields defined by request field view
view View View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask

BatchGetDevicesResponse Message

A response message of the BatchGetDevices method.

Name Type Description
devices repeated Device found Devices
missing repeated string (name of Device) list of not found Devices

ListDevicesRequest Message

A request message of the ListDevices method.

Name Type Description
parent string (parent name of Device) Parent name of ntt.devices.v1alpha2.Device
page_size int32 Requested page size. Server may return fewer Devices than requested. If unspecified, server will pick an appropriate default.
page_token string (cursor of Device) A token identifying a page of results the server should return. Typically, this is the value of ListDevicesResponse.next_page_token.
order_by string (orderBy of Device) Order By - https://cloud.google.com/apis/design/design_patterns#list_pagination list of field path with order directive, either ‘asc’ or ‘desc’. If direction is not provided, ‘asc’ is assumed. e.g. “state.nested_field asc, state.something.else desc, theme”
filter string (filter of Device) Filter - filter results by field criteria. Simplified SQL-like syntax with following operators: <=, >=, =, !=, <, >, LIKE, CONTAINS (aliases CONTAIN, HAS, HAVE), IN, IS [NOT] NULL
field_mask .google.protobuf.FieldMask A list of extra fields to be obtained for each response item on top of fields defined by request field view
view View View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask
include_paging_info bool Indicates if list response should contain total count and offset (fields current_offset and total_results_count).

ListDevicesResponse Message

A response message of the ListDevices method.

Name Type Description
devices repeated Device The list of Devices
prev_page_token string (cursor of Device) A token to retrieve previous page of results. Pass this value in the ListDevicesRequest.page_token.
next_page_token string (cursor of Device) A token to retrieve next page of results. Pass this value in the ListDevicesRequest.page_token.
current_offset int32 Current offset from the first page or 0 if no page tokens were given, paging info was not requested or there was an error while trying to get it). Page index can be computed from offset and limit provided in a request.
total_results_count int32 Number of total Devices across all pages or 0, if there are no items, paging info was not requested or there was an error while trying to get it.

WatchDeviceRequest Message

A request message of the WatchDevice method.

Name Type Description
name string (name of Device) Name of ntt.devices.v1alpha2.Device
field_mask .google.protobuf.FieldMask A list of extra fields to be obtained for each response item on top of fields defined by request field view
view View View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask

WatchDeviceResponse Message

A response message of the WatchDevice method.

Name Type Description
change DeviceChange

WatchDevicesRequest Message

A request message of the WatchDevices method.

Name Type Description
type WatchType Type of a watch. Identifies how server stream data to a client, which fields in a request are allowed and which fields in response are relevant.
parent string (parent name of Device) Parent name of ntt.devices.v1alpha2.Device
page_size int32 Requested page size. Server may return fewer Devices than requested. If unspecified, server will pick an appropriate default. Can be populated only for stateful watch type.
page_token string (cursor of Device) A token identifying a page of results the server should return. Can be populated only for stateful watch type.
order_by string (orderBy of Device) Order By - https://cloud.google.com/apis/design/design_patterns#list_pagination Can be populated only for stateful watch type.
resume_token string A token identifying watch resume point from previous session. Can be populated only for stateless watch type.
starting_time .google.protobuf.Timestamp Point in the time from which we want to start getting updates. This field can be populated only for stateless watch type and if resume token is not known yet. If specified, initial snapshot will NOT be provided. It is assumed client can obtain it using separate means. Watch responses will contain resume tokens which should be used to resume broken connection.
filter string (filter of Device) Filter - filter results by field criteria. Simplified SQL-like syntax with following operators: <=, >=, =, !=, <, >, LIKE, CONTAINS (aliases CONTAIN, HAS, HAVE), IN, IS [NOT] NULL
field_mask .google.protobuf.FieldMask A list of extra fields to be obtained for each response item on top of fields defined by request field view Changes to Device that don’t affect any of masked fields won’t be sent back.
view View View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask Changes to Device that don’t affect any of masked fields won’t be sent back.
max_chunk_size int32 Maximum amount of changes in each response message. Query result response is divided on the server side into chunks with size of a specified amount to limit memory footprint of each message. Responses will hold information whether more elements will continue for the actual change. If unspecified, server will pick an appropriate default.

WatchDevicesResponse Message

A response message of the WatchDevices method.

Name Type Description
device_changes repeated DeviceChange Changes of Devices
is_current bool If request specified max_chunk_size (or this limit was enforced if stateless watch has been chosen), then responses with “full changeset” will be divided into chunks. Client should keep receiving messages and, once is_current has value true, combine this recent message with all previous ones where is_current is false. If this is the first is_current in a whole watch stream, then it means that client should have, at this moment, contain snapshot of the current situation (or more accurately, snapshot of situation at the moment of request). All Devices will be of type Added/Current (depending on watch_type specified in the request). Further responses will be incremental - however messages may still be chunked and is_current logic still applies. is_current is always true for stateful watch if max_chunk_size was left to 0.
page_token_change WatchDevicesResponse.PageTokenChange When present, PageTokens used for page navigation should be updated. Present only if is_current is true (last chunk).
resume_token string Token that can be used if current connection drops and client needs to reconnect. Populated only for stateless watch type. Present only if is_current is true (last chunk).
snapshot_size int64 Server may occasionally send information how many resources should client have in its state so far (response message without any changes, but with snapshot_size field specified). If client has different value than the one sent by the server, then it should be treated by a client as an error and should reconnect. If value is smaller then 0, then client should ignore this field as unpopulated. This field should be checked only for stateless watch. In stateful those kind of errors are handled by the server side. Will be never sent together with is_current, is_soft_reset and is_hard_reset flags.
is_soft_reset bool In case of internal issue server may send response message with this flag. It indicates that client should drop all changes from recent responses where is_current is false only! If last message had is_current set to true, client should do nothing and process normally. Resume token received before is still valid. This field should be checked only for stateless watch. In stateful those kind of errors are handled by the server side. Will never be sent along with is_current, is_hard_reset or snapshot_size.
is_hard_reset bool In case of internal issue server may send response message with this flag. After receiving, client should clear whole state (drop all changes received so far) as server will send new snapshot (Devices will contains changes of type Current only). Any resume tokens should be discarded as well. This field should be checked only for stateless watch. In stateful those kind of errors are handled by the server side. Will never be sent along with is_current, is_soft_reset or snapshot_size.

WatchDevicesResponse.PageTokenChange Message

Name Type Description
prev_page_token string (cursor of Device) New token to retrieve previous page of results.
next_page_token string (cursor of Device) New token to retrieve next page of results.

CreateDeviceRequest Message

A request message of the CreateDevice method.

Name Type Description
parent string (parent name of Device) Parent name of ntt.devices.v1alpha2.Device
device Device Device resource body
response_mask CreateDeviceRequest.ResponseMask Optional masking applied to response object to reduce message response size.

CreateDeviceRequest.ResponseMask Message

ResponseMask allows client to reduce response message size.

Name Type Description
skip_entire_response_body bool If this flag has value true, then response will contain just empty resource without any fields populated.
body_mask .google.protobuf.FieldMask If this field is populated, then resource in response will contain only specific fields.

UpdateDeviceRequest Message

A request message of the UpdateDevice method.

Name Type Description
device Device Device resource body
update_mask .google.protobuf.FieldMask FieldMask applied to request - change will be applied only for fields in the mask
cas UpdateDeviceRequest.CAS Conditional update applied to request if update should be executed only for specific resource state. If this field is populated, then server will fetch existing resource, compare with the one stored in the cas field (after applying field mask) and proceed with update only and only if they match. Otherwise RPC error Aborted will be returned.
allow_missing bool If set to true, and the resource is not found, a new resource will be created. In this situation, ‘field_mask’ is ignored. https://google.aip.dev/134#create-or-update
response_mask UpdateDeviceRequest.ResponseMask reduce message response size.

UpdateDeviceRequest.CAS Message

CAS - Compare and Swap. This object is used if user wants to make update conditional based upon previous resource version.

Name Type Description
conditional_state Device Conditional desired state of a resource before update.
field_mask .google.protobuf.FieldMask Field paths from conditional state of resource server should check and compare.

UpdateDeviceRequest.ResponseMask Message

ResponseMask allows client to reduce response message size.

Name Type Description
skip_entire_response_body bool If this flag has value true, then response will contain just empty resource without any fields populated. Field body_mask is ignored if set.
updated_fields_only bool Include all fields that were actually updated during processing. Note this may be larger than update mask if some fields were computed additionally. Name is added as well.
body_mask .google.protobuf.FieldMask If this field is populated, then resource in response will contain only specific fields. If skip_entire_response_body is true, this field is ignored.

DeleteDeviceRequest Message

A request message of the DeleteDevice method.

Name Type Description
name string (name of Device) Name of ntt.devices.v1alpha2.Device

ProvisionServiceAccountToDeviceRequest Message

Request message for method [ProvisionServiceAccountToDevice][ntt.devices.v1alpha2.ProvisionServiceAccountToDevice]

Name Type Description
name string (name of Device) Name of Device to provision service account. This method automatically generates a service account and a key for the device and assign the key to .Spec.ServiceAccount
external_pubkey string external public key to use for service account for this device. If not present, a keypair will be generated by the server.

ProvisionServiceAccountToDeviceResponse Message

Response message for method [ProvisionServiceAccountToDevice][ntt.devices.v1alpha2.ProvisionServiceAccountToDevice]

Name Type Description
service_account ServiceAccount The service account generated by the endpoint. Save the private key included.

RemoveServiceAccountFromDeviceRequest Message

Request message for method [RemoveServiceAccountFromDevice][ntt.devices.v1alpha2.RemoveServiceAccountFromDevice]

Name Type Description
name string (name of Device) Name of the Device to remove its service account The service account and the key will be automatically deleted as well when they have been generated automatically by ProvisionServiceAccountToDevice action. Otherwise, the service account will be kept intact. The device will lost the access to the resources in the project.

RemoveServiceAccountFromDeviceResponse Message

Response message for method [RemoveServiceAccountFromDevice][ntt.devices.v1alpha2.RemoveServiceAccountFromDevice]

Name Type Description
none none none

ListPublicDevicesRequest Message

Request message for method [ListPublicDevices][ntt.devices.v1alpha2.ListPublicDevices]

Name Type Description
parent string (parent name of Device) Name of Device parent
page_size int32 Requested page size. Server may return fewer Devices than requested. If unspecified, server will pick an appropriate default.
page_token string (cursor of Device) A token identifying a page of results the server should return. Typically, this is the value of [ListDevicesResponse.next_page_token][ntt.devices.v1alpha2.ListDevicesResponse.next_page_token]
order_by string (orderBy of Device) Order By - https://cloud.google.com/apis/design/design_patterns#list_pagination list of field path with order directive, either ‘asc’ or ‘desc’. If direction is not provided, ‘asc’ is assumed. e.g. “state.nested_field asc, state.something.else desc, theme”
filter string (filter of Device) Filter - filter results by field criteria. Simplified SQL-like syntax with following operators: <=, >=, =, !=, <, >, LIKE, CONTAINS (aliases CONTAIN, HAS, HAVE), IN, IS [NOT] NULL
field_mask .google.protobuf.FieldMask A list of extra fields to be requested on top of those defined by request field View.
view View View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask

ListPublicDevicesResponse Message

Response message for method [ListPublicDevices][ntt.devices.v1alpha2.ListPublicDevices]

Name Type Description
devices repeated Device The list of Devices
prev_page_token string (cursor of Device) A token to retrieve previous page of results. Pass this value in the [ListDevicesRequest.page_token][ntt.devices.v1alpha2.ListDevicesRequest.page_token]
next_page_token string (cursor of Device) A token to retrieve next page of results. Pass this value in the [ListDevicesRequest.page_token][ntt.devices.v1alpha2.ListDevicesRequest.page_token]

Device Enumerations

Here is the list of Device resource enumerations:

Device.Spec.NetworkConfigMode Enumeration

MERGE or REPLACE the api netplan_config with the baked in config in the device

Name Description
MERGE
REPLACE

Device.Status.NetworkConfigState.NetworkConfigSource Enumeration

Name Description
UNKNOWN
DEFAULT_CONFIG
API_CONFIG
MERGED_DEFAULT_AND_API_CONFIG
PREVIOUS_MERGED_DEFAULT_AND_API_CONFIG
PREVIOUS_API_CONFIG

Device.Status.ProxyConfigStatus.ProxyConfigSource Enumeration

Name Description
NO_CONFIG
DEFAULT_CONFIG
API_CONFIG

DeviceType Resource

DeviceType Resource

Name patterns:

  • deviceTypes/{device_type}

This section covers the methods and messages to interact with DeviceType resource.

DeviceType Methods

Here is the list of DeviceType resource methods:

GetDeviceType Method

GetDeviceType

rpc GetDeviceType(GetDeviceTypeRequest) returns (DeviceType)

with the following messages:

Required Permissions:

  • services/devices.edgelq.com/permissions/deviceTypes.get

The equivalent REST API is:

GET /v1alpha2/{name=deviceTypes/*} 

BatchGetDeviceTypes Method

BatchGetDeviceTypes

rpc BatchGetDeviceTypes(BatchGetDeviceTypesRequest) returns (BatchGetDeviceTypesResponse)

with the following messages:

Required Permissions:

  • services/devices.edgelq.com/permissions/deviceTypes.batchGet

The equivalent REST API is:

GET /v1alpha2/deviceTypes:batchGet 

ListDeviceTypes Method

ListDeviceTypes

rpc ListDeviceTypes(ListDeviceTypesRequest) returns (ListDeviceTypesResponse)

with the following messages:

Required Permissions:

  • services/devices.edgelq.com/permissions/deviceTypes.list

The equivalent REST API is:

GET /v1alpha2/deviceTypes 

WatchDeviceType Method

WatchDeviceType

rpc WatchDeviceType(WatchDeviceTypeRequest) returns (WatchDeviceTypeResponse)

with the following messages:

Required Permissions:

  • services/devices.edgelq.com/permissions/deviceTypes.watch

The equivalent REST API is:

POST /v1alpha2/{name=deviceTypes/*}:watch 

WatchDeviceTypes Method

WatchDeviceTypes

rpc WatchDeviceTypes(WatchDeviceTypesRequest) returns (WatchDeviceTypesResponse)

with the following messages:

Required Permissions:

  • services/devices.edgelq.com/permissions/deviceTypes.watch

The equivalent REST API is:

POST /v1alpha2/deviceTypes:watch 

CreateDeviceType Method

CreateDeviceType

rpc CreateDeviceType(CreateDeviceTypeRequest) returns (DeviceType)

with the following messages:

Required Permissions:

  • services/devices.edgelq.com/permissions/deviceTypes.create

The equivalent REST API is:

POST /v1alpha2/deviceTypes (BODY: device_type)

UpdateDeviceType Method

UpdateDeviceType

rpc UpdateDeviceType(UpdateDeviceTypeRequest) returns (DeviceType)

with the following messages:

Required Permissions:

  • services/devices.edgelq.com/permissions/deviceTypes.update

The equivalent REST API is:

PUT /v1alpha2/{device_type.name=deviceTypes/*} (BODY: device_type)

DeleteDeviceType Method

DeleteDeviceType

rpc DeleteDeviceType(DeleteDeviceTypeRequest) returns (Empty)

with the following messages:

Required Permissions:

  • services/devices.edgelq.com/permissions/deviceTypes.delete

The equivalent REST API is:

DELETE /v1alpha2/{name=deviceTypes/*} 

DeviceType Messages

Here is the list of DeviceType resource messages:

DeviceType Message

Name Type Description
name string (name of DeviceType) Name of DeviceType When creating a new instance, this field is optional and if not provided, it will be generated automatically. Last ID segment must conform to the following regex: [a-z][a-z0-9\-]{0,28}[a-z0-9]
metadata Meta
display_name string Display name of Device Type
hardware DeviceType.Hardware
architecture DeviceType.Architecture
description string Description of the Device Type

GetDeviceTypeRequest Message

A request message of the GetDeviceType method.

Name Type Description
name string (name of DeviceType) Name of ntt.devices.v1alpha2.DeviceType
field_mask .google.protobuf.FieldMask A list of extra fields to be obtained for each response item on top of fields defined by request field view
view View View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask

BatchGetDeviceTypesRequest Message

A request message of the BatchGetDeviceTypes method.

Name Type Description
names repeated string (name of DeviceType) Names of DeviceTypes
field_mask .google.protobuf.FieldMask A list of extra fields to be obtained for each response item on top of fields defined by request field view
view View View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask

BatchGetDeviceTypesResponse Message

A response message of the BatchGetDeviceTypes method.

Name Type Description
device_types repeated DeviceType found DeviceTypes
missing repeated string (name of DeviceType) list of not found DeviceTypes

ListDeviceTypesRequest Message

A request message of the ListDeviceTypes method.

Name Type Description
page_size int32 Requested page size. Server may return fewer DeviceTypes than requested. If unspecified, server will pick an appropriate default.
page_token string (cursor of DeviceType) A token identifying a page of results the server should return. Typically, this is the value of ListDeviceTypesResponse.next_page_token.
order_by string (orderBy of DeviceType) Order By - https://cloud.google.com/apis/design/design_patterns#list_pagination list of field path with order directive, either ‘asc’ or ‘desc’. If direction is not provided, ‘asc’ is assumed. e.g. “state.nested_field asc, state.something.else desc, theme”
filter string (filter of DeviceType) Filter - filter results by field criteria. Simplified SQL-like syntax with following operators: <=, >=, =, !=, <, >, LIKE, CONTAINS (aliases CONTAIN, HAS, HAVE), IN, IS [NOT] NULL
field_mask .google.protobuf.FieldMask A list of extra fields to be obtained for each response item on top of fields defined by request field view
view View View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask
include_paging_info bool Indicates if list response should contain total count and offset (fields current_offset and total_results_count).

ListDeviceTypesResponse Message

A response message of the ListDeviceTypes method.

Name Type Description
device_types repeated DeviceType The list of DeviceTypes
prev_page_token string (cursor of DeviceType) A token to retrieve previous page of results. Pass this value in the ListDeviceTypesRequest.page_token.
next_page_token string (cursor of DeviceType) A token to retrieve next page of results. Pass this value in the ListDeviceTypesRequest.page_token.
current_offset int32 Current offset from the first page or 0 if no page tokens were given, paging info was not requested or there was an error while trying to get it). Page index can be computed from offset and limit provided in a request.
total_results_count int32 Number of total DeviceTypes across all pages or 0, if there are no items, paging info was not requested or there was an error while trying to get it.

WatchDeviceTypeRequest Message

A request message of the WatchDeviceType method.

Name Type Description
name string (name of DeviceType) Name of ntt.devices.v1alpha2.DeviceType
field_mask .google.protobuf.FieldMask A list of extra fields to be obtained for each response item on top of fields defined by request field view
view View View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask

WatchDeviceTypeResponse Message

A response message of the WatchDeviceType method.

Name Type Description
change DeviceTypeChange

WatchDeviceTypesRequest Message

A request message of the WatchDeviceTypes method.

Name Type Description
type WatchType Type of a watch. Identifies how server stream data to a client, which fields in a request are allowed and which fields in response are relevant.
page_size int32 Requested page size. Server may return fewer DeviceTypes than requested. If unspecified, server will pick an appropriate default. Can be populated only for stateful watch type.
page_token string (cursor of DeviceType) A token identifying a page of results the server should return. Can be populated only for stateful watch type.
order_by string (orderBy of DeviceType) Order By - https://cloud.google.com/apis/design/design_patterns#list_pagination Can be populated only for stateful watch type.
resume_token string A token identifying watch resume point from previous session. Can be populated only for stateless watch type.
starting_time .google.protobuf.Timestamp Point in the time from which we want to start getting updates. This field can be populated only for stateless watch type and if resume token is not known yet. If specified, initial snapshot will NOT be provided. It is assumed client can obtain it using separate means. Watch responses will contain resume tokens which should be used to resume broken connection.
filter string (filter of DeviceType) Filter - filter results by field criteria. Simplified SQL-like syntax with following operators: <=, >=, =, !=, <, >, LIKE, CONTAINS (aliases CONTAIN, HAS, HAVE), IN, IS [NOT] NULL
field_mask .google.protobuf.FieldMask A list of extra fields to be obtained for each response item on top of fields defined by request field view Changes to DeviceType that don’t affect any of masked fields won’t be sent back.
view View View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask Changes to DeviceType that don’t affect any of masked fields won’t be sent back.
max_chunk_size int32 Maximum amount of changes in each response message. Query result response is divided on the server side into chunks with size of a specified amount to limit memory footprint of each message. Responses will hold information whether more elements will continue for the actual change. If unspecified, server will pick an appropriate default.

WatchDeviceTypesResponse Message

A response message of the WatchDeviceTypes method.

Name Type Description
device_type_changes repeated DeviceTypeChange Changes of DeviceTypes
is_current bool If request specified max_chunk_size (or this limit was enforced if stateless watch has been chosen), then responses with “full changeset” will be divided into chunks. Client should keep receiving messages and, once is_current has value true, combine this recent message with all previous ones where is_current is false. If this is the first is_current in a whole watch stream, then it means that client should have, at this moment, contain snapshot of the current situation (or more accurately, snapshot of situation at the moment of request). All DeviceTypes will be of type Added/Current (depending on watch_type specified in the request). Further responses will be incremental - however messages may still be chunked and is_current logic still applies. is_current is always true for stateful watch if max_chunk_size was left to 0.
page_token_change WatchDeviceTypesResponse.PageTokenChange When present, PageTokens used for page navigation should be updated. Present only if is_current is true (last chunk).
resume_token string Token that can be used if current connection drops and client needs to reconnect. Populated only for stateless watch type. Present only if is_current is true (last chunk).
snapshot_size int64 Server may occasionally send information how many resources should client have in its state so far (response message without any changes, but with snapshot_size field specified). If client has different value than the one sent by the server, then it should be treated by a client as an error and should reconnect. If value is smaller then 0, then client should ignore this field as unpopulated. This field should be checked only for stateless watch. In stateful those kind of errors are handled by the server side. Will be never sent together with is_current, is_soft_reset and is_hard_reset flags.
is_soft_reset bool In case of internal issue server may send response message with this flag. It indicates that client should drop all changes from recent responses where is_current is false only! If last message had is_current set to true, client should do nothing and process normally. Resume token received before is still valid. This field should be checked only for stateless watch. In stateful those kind of errors are handled by the server side. Will never be sent along with is_current, is_hard_reset or snapshot_size.
is_hard_reset bool In case of internal issue server may send response message with this flag. After receiving, client should clear whole state (drop all changes received so far) as server will send new snapshot (DeviceTypes will contains changes of type Current only). Any resume tokens should be discarded as well. This field should be checked only for stateless watch. In stateful those kind of errors are handled by the server side. Will never be sent along with is_current, is_soft_reset or snapshot_size.

WatchDeviceTypesResponse.PageTokenChange Message

Name Type Description
prev_page_token string (cursor of DeviceType) New token to retrieve previous page of results.
next_page_token string (cursor of DeviceType) New token to retrieve next page of results.

CreateDeviceTypeRequest Message

A request message of the CreateDeviceType method.

Name Type Description
device_type DeviceType DeviceType resource body
response_mask CreateDeviceTypeRequest.ResponseMask Optional masking applied to response object to reduce message response size.

CreateDeviceTypeRequest.ResponseMask Message

ResponseMask allows client to reduce response message size.

Name Type Description
skip_entire_response_body bool If this flag has value true, then response will contain just empty resource without any fields populated.
body_mask .google.protobuf.FieldMask If this field is populated, then resource in response will contain only specific fields.

UpdateDeviceTypeRequest Message

A request message of the UpdateDeviceType method.

Name Type Description
device_type DeviceType DeviceType resource body
update_mask .google.protobuf.FieldMask FieldMask applied to request - change will be applied only for fields in the mask
cas UpdateDeviceTypeRequest.CAS Conditional update applied to request if update should be executed only for specific resource state. If this field is populated, then server will fetch existing resource, compare with the one stored in the cas field (after applying field mask) and proceed with update only and only if they match. Otherwise RPC error Aborted will be returned.
allow_missing bool If set to true, and the resource is not found, a new resource will be created. In this situation, ‘field_mask’ is ignored. https://google.aip.dev/134#create-or-update
response_mask UpdateDeviceTypeRequest.ResponseMask reduce message response size.

UpdateDeviceTypeRequest.CAS Message

CAS - Compare and Swap. This object is used if user wants to make update conditional based upon previous resource version.

Name Type Description
conditional_state DeviceType Conditional desired state of a resource before update.
field_mask .google.protobuf.FieldMask Field paths from conditional state of resource server should check and compare.

UpdateDeviceTypeRequest.ResponseMask Message

ResponseMask allows client to reduce response message size.

Name Type Description
skip_entire_response_body bool If this flag has value true, then response will contain just empty resource without any fields populated. Field body_mask is ignored if set.
updated_fields_only bool Include all fields that were actually updated during processing. Note this may be larger than update mask if some fields were computed additionally. Name is added as well.
body_mask .google.protobuf.FieldMask If this field is populated, then resource in response will contain only specific fields. If skip_entire_response_body is true, this field is ignored.

DeleteDeviceTypeRequest Message

A request message of the DeleteDeviceType method.

Name Type Description
name string (name of DeviceType) Name of ntt.devices.v1alpha2.DeviceType

DeviceType Enumerations

Here is the list of DeviceType resource enumerations:

DeviceType.Hardware Enumeration

Hardware (e.g. Generic, Raspberry Pi)

Name Description
HARDWARE_UNSPECIFIED
GENERIC
RASPBERRYPI

DeviceType.Architecture Enumeration

Architecture name (e.g. amd64)

Name Description
ARCHITECTURE_UNSPECIFIED
AMD64
ARM64

OsImageProfile Resource

OsImageProfile Resource

Name patterns:

  • projects/{project}/regions/{region}/osImageProfiles/{os_image_profile}

Parent resources:

This section covers the methods and messages to interact with OsImageProfile resource.

OsImageProfile Methods

Here is the list of OsImageProfile resource methods:

GetOsImageProfile Method

GetOsImageProfile

rpc GetOsImageProfile(GetOsImageProfileRequest) returns (OsImageProfile)

with the following messages:

Required Permissions:

  • services/devices.edgelq.com/permissions/osImageProfiles.get

The equivalent REST API is:

GET /v1alpha2/{name=projects/*/regions/*/osImageProfiles/*} 

BatchGetOsImageProfiles Method

BatchGetOsImageProfiles

rpc BatchGetOsImageProfiles(BatchGetOsImageProfilesRequest) returns (BatchGetOsImageProfilesResponse)

with the following messages:

Required Permissions:

  • services/devices.edgelq.com/permissions/osImageProfiles.batchGet

The equivalent REST API is:

GET /v1alpha2/osImageProfiles:batchGet 

ListOsImageProfiles Method

ListOsImageProfiles

rpc ListOsImageProfiles(ListOsImageProfilesRequest) returns (ListOsImageProfilesResponse)

with the following messages:

Required Permissions:

  • services/devices.edgelq.com/permissions/osImageProfiles.list

The equivalent REST API is:

GET /v1alpha2/{parent=projects/*/regions/*}/osImageProfiles 

WatchOsImageProfile Method

WatchOsImageProfile

rpc WatchOsImageProfile(WatchOsImageProfileRequest) returns (WatchOsImageProfileResponse)

with the following messages:

Required Permissions:

  • services/devices.edgelq.com/permissions/osImageProfiles.watch

The equivalent REST API is:

POST /v1alpha2/{name=projects/*/regions/*/osImageProfiles/*}:watch 

WatchOsImageProfiles Method

WatchOsImageProfiles

rpc WatchOsImageProfiles(WatchOsImageProfilesRequest) returns (WatchOsImageProfilesResponse)

with the following messages:

Required Permissions:

  • services/devices.edgelq.com/permissions/osImageProfiles.watch

The equivalent REST API is:

POST /v1alpha2/{parent=projects/*/regions/*}/osImageProfiles:watch 

CreateOsImageProfile Method

CreateOsImageProfile

rpc CreateOsImageProfile(CreateOsImageProfileRequest) returns (OsImageProfile)

with the following messages:

Required Permissions:

  • services/devices.edgelq.com/permissions/osImageProfiles.create

The equivalent REST API is:

POST /v1alpha2/{parent=projects/*/regions/*}/osImageProfiles (BODY: os_image_profile)

UpdateOsImageProfile Method

UpdateOsImageProfile

rpc UpdateOsImageProfile(UpdateOsImageProfileRequest) returns (OsImageProfile)

with the following messages:

Required Permissions:

  • services/devices.edgelq.com/permissions/osImageProfiles.update

The equivalent REST API is:

PUT /v1alpha2/{os_image_profile.name=projects/*/regions/*/osImageProfiles/*} (BODY: os_image_profile)

DeleteOsImageProfile Method

DeleteOsImageProfile

rpc DeleteOsImageProfile(DeleteOsImageProfileRequest) returns (Empty)

with the following messages:

Required Permissions:

  • services/devices.edgelq.com/permissions/osImageProfiles.delete

The equivalent REST API is:

DELETE /v1alpha2/{name=projects/*/regions/*/osImageProfiles/*} 

OsImageProfile Messages

Here is the list of OsImageProfile resource messages:

OsImageProfile Message

Name Type Description
name string (name of OsImageProfile) Name of OsImageProfile When creating a new instance, this field is optional and if not provided, it will be generated automatically. Last ID segment must conform to the following regex: [a-z][a-z0-9\-]{0,28}[a-z0-9]
metadata Meta
display_name string Display name of the profile
device_type string (reference to DeviceType) Device type for the profile
install_ai_accelerator bool Install runtimes and drivers for Hailo-8 and NVIDIA CUDA.
encryption bool Enable disk encryption
disk_mapping string Disk Mapping YAML configuration.
network_agent string Network Agent YAML configuration.
ntp string NTP Server settings.
http_proxy string HTTP PROXY address
https_proxy string HTTPS PROXY address
no_proxy string NO Proxy addresses (comma separated).

GetOsImageProfileRequest Message

A request message of the GetOsImageProfile method.

Name Type Description
name string (name of OsImageProfile) Name of ntt.devices.v1alpha2.OsImageProfile
field_mask .google.protobuf.FieldMask A list of extra fields to be obtained for each response item on top of fields defined by request field view
view View View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask

BatchGetOsImageProfilesRequest Message

A request message of the BatchGetOsImageProfiles method.

Name Type Description
names repeated string (name of OsImageProfile) Names of OsImageProfiles
field_mask .google.protobuf.FieldMask A list of extra fields to be obtained for each response item on top of fields defined by request field view
view View View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask

BatchGetOsImageProfilesResponse Message

A response message of the BatchGetOsImageProfiles method.

Name Type Description
os_image_profiles repeated OsImageProfile found OsImageProfiles
missing repeated string (name of OsImageProfile) list of not found OsImageProfiles

ListOsImageProfilesRequest Message

A request message of the ListOsImageProfiles method.

Name Type Description
parent string (parent name of OsImageProfile) Parent name of ntt.devices.v1alpha2.OsImageProfile
page_size int32 Requested page size. Server may return fewer OsImageProfiles than requested. If unspecified, server will pick an appropriate default.
page_token string (cursor of OsImageProfile) A token identifying a page of results the server should return. Typically, this is the value of ListOsImageProfilesResponse.next_page_token.
order_by string (orderBy of OsImageProfile) Order By - https://cloud.google.com/apis/design/design_patterns#list_pagination list of field path with order directive, either ‘asc’ or ‘desc’. If direction is not provided, ‘asc’ is assumed. e.g. “state.nested_field asc, state.something.else desc, theme”
filter string (filter of OsImageProfile) Filter - filter results by field criteria. Simplified SQL-like syntax with following operators: <=, >=, =, !=, <, >, LIKE, CONTAINS (aliases CONTAIN, HAS, HAVE), IN, IS [NOT] NULL
field_mask .google.protobuf.FieldMask A list of extra fields to be obtained for each response item on top of fields defined by request field view
view View View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask
include_paging_info bool Indicates if list response should contain total count and offset (fields current_offset and total_results_count).

ListOsImageProfilesResponse Message

A response message of the ListOsImageProfiles method.

Name Type Description
os_image_profiles repeated OsImageProfile The list of OsImageProfiles
prev_page_token string (cursor of OsImageProfile) A token to retrieve previous page of results. Pass this value in the ListOsImageProfilesRequest.page_token.
next_page_token string (cursor of OsImageProfile) A token to retrieve next page of results. Pass this value in the ListOsImageProfilesRequest.page_token.
current_offset int32 Current offset from the first page or 0 if no page tokens were given, paging info was not requested or there was an error while trying to get it). Page index can be computed from offset and limit provided in a request.
total_results_count int32 Number of total OsImageProfiles across all pages or 0, if there are no items, paging info was not requested or there was an error while trying to get it.

WatchOsImageProfileRequest Message

A request message of the WatchOsImageProfile method.

Name Type Description
name string (name of OsImageProfile) Name of ntt.devices.v1alpha2.OsImageProfile
field_mask .google.protobuf.FieldMask A list of extra fields to be obtained for each response item on top of fields defined by request field view
view View View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask

WatchOsImageProfileResponse Message

A response message of the WatchOsImageProfile method.

Name Type Description
change OsImageProfileChange

WatchOsImageProfilesRequest Message

A request message of the WatchOsImageProfiles method.

Name Type Description
type WatchType Type of a watch. Identifies how server stream data to a client, which fields in a request are allowed and which fields in response are relevant.
parent string (parent name of OsImageProfile) Parent name of ntt.devices.v1alpha2.OsImageProfile
page_size int32 Requested page size. Server may return fewer OsImageProfiles than requested. If unspecified, server will pick an appropriate default. Can be populated only for stateful watch type.
page_token string (cursor of OsImageProfile) A token identifying a page of results the server should return. Can be populated only for stateful watch type.
order_by string (orderBy of OsImageProfile) Order By - https://cloud.google.com/apis/design/design_patterns#list_pagination Can be populated only for stateful watch type.
resume_token string A token identifying watch resume point from previous session. Can be populated only for stateless watch type.
starting_time .google.protobuf.Timestamp Point in the time from which we want to start getting updates. This field can be populated only for stateless watch type and if resume token is not known yet. If specified, initial snapshot will NOT be provided. It is assumed client can obtain it using separate means. Watch responses will contain resume tokens which should be used to resume broken connection.
filter string (filter of OsImageProfile) Filter - filter results by field criteria. Simplified SQL-like syntax with following operators: <=, >=, =, !=, <, >, LIKE, CONTAINS (aliases CONTAIN, HAS, HAVE), IN, IS [NOT] NULL
field_mask .google.protobuf.FieldMask A list of extra fields to be obtained for each response item on top of fields defined by request field view Changes to OsImageProfile that don’t affect any of masked fields won’t be sent back.
view View View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask Changes to OsImageProfile that don’t affect any of masked fields won’t be sent back.
max_chunk_size int32 Maximum amount of changes in each response message. Query result response is divided on the server side into chunks with size of a specified amount to limit memory footprint of each message. Responses will hold information whether more elements will continue for the actual change. If unspecified, server will pick an appropriate default.

WatchOsImageProfilesResponse Message

A response message of the WatchOsImageProfiles method.

Name Type Description
os_image_profile_changes repeated OsImageProfileChange Changes of OsImageProfiles
is_current bool If request specified max_chunk_size (or this limit was enforced if stateless watch has been chosen), then responses with “full changeset” will be divided into chunks. Client should keep receiving messages and, once is_current has value true, combine this recent message with all previous ones where is_current is false. If this is the first is_current in a whole watch stream, then it means that client should have, at this moment, contain snapshot of the current situation (or more accurately, snapshot of situation at the moment of request). All OsImageProfiles will be of type Added/Current (depending on watch_type specified in the request). Further responses will be incremental - however messages may still be chunked and is_current logic still applies. is_current is always true for stateful watch if max_chunk_size was left to 0.
page_token_change WatchOsImageProfilesResponse.PageTokenChange When present, PageTokens used for page navigation should be updated. Present only if is_current is true (last chunk).
resume_token string Token that can be used if current connection drops and client needs to reconnect. Populated only for stateless watch type. Present only if is_current is true (last chunk).
snapshot_size int64 Server may occasionally send information how many resources should client have in its state so far (response message without any changes, but with snapshot_size field specified). If client has different value than the one sent by the server, then it should be treated by a client as an error and should reconnect. If value is smaller then 0, then client should ignore this field as unpopulated. This field should be checked only for stateless watch. In stateful those kind of errors are handled by the server side. Will be never sent together with is_current, is_soft_reset and is_hard_reset flags.
is_soft_reset bool In case of internal issue server may send response message with this flag. It indicates that client should drop all changes from recent responses where is_current is false only! If last message had is_current set to true, client should do nothing and process normally. Resume token received before is still valid. This field should be checked only for stateless watch. In stateful those kind of errors are handled by the server side. Will never be sent along with is_current, is_hard_reset or snapshot_size.
is_hard_reset bool In case of internal issue server may send response message with this flag. After receiving, client should clear whole state (drop all changes received so far) as server will send new snapshot (OsImageProfiles will contains changes of type Current only). Any resume tokens should be discarded as well. This field should be checked only for stateless watch. In stateful those kind of errors are handled by the server side. Will never be sent along with is_current, is_soft_reset or snapshot_size.

WatchOsImageProfilesResponse.PageTokenChange Message

Name Type Description
prev_page_token string (cursor of OsImageProfile) New token to retrieve previous page of results.
next_page_token string (cursor of OsImageProfile) New token to retrieve next page of results.

CreateOsImageProfileRequest Message

A request message of the CreateOsImageProfile method.

Name Type Description
parent string (parent name of OsImageProfile) Parent name of ntt.devices.v1alpha2.OsImageProfile
os_image_profile OsImageProfile OsImageProfile resource body
response_mask CreateOsImageProfileRequest.ResponseMask Optional masking applied to response object to reduce message response size.

CreateOsImageProfileRequest.ResponseMask Message

ResponseMask allows client to reduce response message size.

Name Type Description
skip_entire_response_body bool If this flag has value true, then response will contain just empty resource without any fields populated.
body_mask .google.protobuf.FieldMask If this field is populated, then resource in response will contain only specific fields.

UpdateOsImageProfileRequest Message

A request message of the UpdateOsImageProfile method.

Name Type Description
os_image_profile OsImageProfile OsImageProfile resource body
update_mask .google.protobuf.FieldMask FieldMask applied to request - change will be applied only for fields in the mask
cas UpdateOsImageProfileRequest.CAS Conditional update applied to request if update should be executed only for specific resource state. If this field is populated, then server will fetch existing resource, compare with the one stored in the cas field (after applying field mask) and proceed with update only and only if they match. Otherwise RPC error Aborted will be returned.
allow_missing bool If set to true, and the resource is not found, a new resource will be created. In this situation, ‘field_mask’ is ignored. https://google.aip.dev/134#create-or-update
response_mask UpdateOsImageProfileRequest.ResponseMask reduce message response size.

UpdateOsImageProfileRequest.CAS Message

CAS - Compare and Swap. This object is used if user wants to make update conditional based upon previous resource version.

Name Type Description
conditional_state OsImageProfile Conditional desired state of a resource before update.
field_mask .google.protobuf.FieldMask Field paths from conditional state of resource server should check and compare.

UpdateOsImageProfileRequest.ResponseMask Message

ResponseMask allows client to reduce response message size.

Name Type Description
skip_entire_response_body bool If this flag has value true, then response will contain just empty resource without any fields populated. Field body_mask is ignored if set.
updated_fields_only bool Include all fields that were actually updated during processing. Note this may be larger than update mask if some fields were computed additionally. Name is added as well.
body_mask .google.protobuf.FieldMask If this field is populated, then resource in response will contain only specific fields. If skip_entire_response_body is true, this field is ignored.

DeleteOsImageProfileRequest Message

A request message of the DeleteOsImageProfile method.

Name Type Description
name string (name of OsImageProfile) Name of ntt.devices.v1alpha2.OsImageProfile

OsVersion Resource

OsVersion Resource

Name patterns:

  • osVersions/{os_version}

This section covers the methods and messages to interact with OsVersion resource.

OsVersion Methods

Here is the list of OsVersion resource methods:

GetOsVersion Method

GetOsVersion

rpc GetOsVersion(GetOsVersionRequest) returns (OsVersion)

with the following messages:

Required Permissions:

  • services/devices.edgelq.com/permissions/osVersions.get

The equivalent REST API is:

GET /v1alpha2/{name=osVersions/*} 

BatchGetOsVersions Method

BatchGetOsVersions

rpc BatchGetOsVersions(BatchGetOsVersionsRequest) returns (BatchGetOsVersionsResponse)

with the following messages:

Required Permissions:

  • services/devices.edgelq.com/permissions/osVersions.batchGet

The equivalent REST API is:

GET /v1alpha2/osVersions:batchGet 

ListOsVersions Method

ListOsVersions

rpc ListOsVersions(ListOsVersionsRequest) returns (ListOsVersionsResponse)

with the following messages:

Required Permissions:

  • services/devices.edgelq.com/permissions/osVersions.list

The equivalent REST API is:

GET /v1alpha2/osVersions 

WatchOsVersion Method

WatchOsVersion

rpc WatchOsVersion(WatchOsVersionRequest) returns (WatchOsVersionResponse)

with the following messages:

Required Permissions:

  • services/devices.edgelq.com/permissions/osVersions.watch

The equivalent REST API is:

POST /v1alpha2/{name=osVersions/*}:watch 

WatchOsVersions Method

WatchOsVersions

rpc WatchOsVersions(WatchOsVersionsRequest) returns (WatchOsVersionsResponse)

with the following messages:

Required Permissions:

  • services/devices.edgelq.com/permissions/osVersions.watch

The equivalent REST API is:

POST /v1alpha2/osVersions:watch 

CreateOsVersion Method

CreateOsVersion

rpc CreateOsVersion(CreateOsVersionRequest) returns (OsVersion)

with the following messages:

Required Permissions:

  • services/devices.edgelq.com/permissions/osVersions.create

The equivalent REST API is:

POST /v1alpha2/osVersions (BODY: os_version)

UpdateOsVersion Method

UpdateOsVersion

rpc UpdateOsVersion(UpdateOsVersionRequest) returns (OsVersion)

with the following messages:

Required Permissions:

  • services/devices.edgelq.com/permissions/osVersions.update

The equivalent REST API is:

PUT /v1alpha2/{os_version.name=osVersions/*} (BODY: os_version)

DeleteOsVersion Method

DeleteOsVersion

rpc DeleteOsVersion(DeleteOsVersionRequest) returns (Empty)

with the following messages:

Required Permissions:

  • services/devices.edgelq.com/permissions/osVersions.delete

The equivalent REST API is:

DELETE /v1alpha2/{name=osVersions/*} 

OsVersion Messages

Here is the list of OsVersion resource messages:

OsVersion Message

Name Type Description
name string (name of OsVersion) Name of OsVersion When creating a new instance, this field is optional and if not provided, it will be generated automatically. Last ID segment must conform to the following regex: [a-z][a-z0-9\-]{0,28}[a-z0-9]
metadata Meta
version string The version name.
device_type string (reference to DeviceType) Supported device type.
minimum_previous_version string The minum previous OS version that is required to upgrade devices to the OS version.
channel OsVersion.Channel

GetOsVersionRequest Message

A request message of the GetOsVersion method.

Name Type Description
name string (name of OsVersion) Name of ntt.devices.v1alpha2.OsVersion
field_mask .google.protobuf.FieldMask A list of extra fields to be obtained for each response item on top of fields defined by request field view
view View View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask

BatchGetOsVersionsRequest Message

A request message of the BatchGetOsVersions method.

Name Type Description
names repeated string (name of OsVersion) Names of OsVersions
field_mask .google.protobuf.FieldMask A list of extra fields to be obtained for each response item on top of fields defined by request field view
view View View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask

BatchGetOsVersionsResponse Message

A response message of the BatchGetOsVersions method.

Name Type Description
os_versions repeated OsVersion found OsVersions
missing repeated string (name of OsVersion) list of not found OsVersions

ListOsVersionsRequest Message

A request message of the ListOsVersions method.

Name Type Description
page_size int32 Requested page size. Server may return fewer OsVersions than requested. If unspecified, server will pick an appropriate default.
page_token string (cursor of OsVersion) A token identifying a page of results the server should return. Typically, this is the value of ListOsVersionsResponse.next_page_token.
order_by string (orderBy of OsVersion) Order By - https://cloud.google.com/apis/design/design_patterns#list_pagination list of field path with order directive, either ‘asc’ or ‘desc’. If direction is not provided, ‘asc’ is assumed. e.g. “state.nested_field asc, state.something.else desc, theme”
filter string (filter of OsVersion) Filter - filter results by field criteria. Simplified SQL-like syntax with following operators: <=, >=, =, !=, <, >, LIKE, CONTAINS (aliases CONTAIN, HAS, HAVE), IN, IS [NOT] NULL
field_mask .google.protobuf.FieldMask A list of extra fields to be obtained for each response item on top of fields defined by request field view
view View View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask
include_paging_info bool Indicates if list response should contain total count and offset (fields current_offset and total_results_count).

ListOsVersionsResponse Message

A response message of the ListOsVersions method.

Name Type Description
os_versions repeated OsVersion The list of OsVersions
prev_page_token string (cursor of OsVersion) A token to retrieve previous page of results. Pass this value in the ListOsVersionsRequest.page_token.
next_page_token string (cursor of OsVersion) A token to retrieve next page of results. Pass this value in the ListOsVersionsRequest.page_token.
current_offset int32 Current offset from the first page or 0 if no page tokens were given, paging info was not requested or there was an error while trying to get it). Page index can be computed from offset and limit provided in a request.
total_results_count int32 Number of total OsVersions across all pages or 0, if there are no items, paging info was not requested or there was an error while trying to get it.

WatchOsVersionRequest Message

A request message of the WatchOsVersion method.

Name Type Description
name string (name of OsVersion) Name of ntt.devices.v1alpha2.OsVersion
field_mask .google.protobuf.FieldMask A list of extra fields to be obtained for each response item on top of fields defined by request field view
view View View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask

WatchOsVersionResponse Message

A response message of the WatchOsVersion method.

Name Type Description
change OsVersionChange

WatchOsVersionsRequest Message

A request message of the WatchOsVersions method.

Name Type Description
type WatchType Type of a watch. Identifies how server stream data to a client, which fields in a request are allowed and which fields in response are relevant.
page_size int32 Requested page size. Server may return fewer OsVersions than requested. If unspecified, server will pick an appropriate default. Can be populated only for stateful watch type.
page_token string (cursor of OsVersion) A token identifying a page of results the server should return. Can be populated only for stateful watch type.
order_by string (orderBy of OsVersion) Order By - https://cloud.google.com/apis/design/design_patterns#list_pagination Can be populated only for stateful watch type.
resume_token string A token identifying watch resume point from previous session. Can be populated only for stateless watch type.
starting_time .google.protobuf.Timestamp Point in the time from which we want to start getting updates. This field can be populated only for stateless watch type and if resume token is not known yet. If specified, initial snapshot will NOT be provided. It is assumed client can obtain it using separate means. Watch responses will contain resume tokens which should be used to resume broken connection.
filter string (filter of OsVersion) Filter - filter results by field criteria. Simplified SQL-like syntax with following operators: <=, >=, =, !=, <, >, LIKE, CONTAINS (aliases CONTAIN, HAS, HAVE), IN, IS [NOT] NULL
field_mask .google.protobuf.FieldMask A list of extra fields to be obtained for each response item on top of fields defined by request field view Changes to OsVersion that don’t affect any of masked fields won’t be sent back.
view View View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask Changes to OsVersion that don’t affect any of masked fields won’t be sent back.
max_chunk_size int32 Maximum amount of changes in each response message. Query result response is divided on the server side into chunks with size of a specified amount to limit memory footprint of each message. Responses will hold information whether more elements will continue for the actual change. If unspecified, server will pick an appropriate default.

WatchOsVersionsResponse Message

A response message of the WatchOsVersions method.

Name Type Description
os_version_changes repeated OsVersionChange Changes of OsVersions
is_current bool If request specified max_chunk_size (or this limit was enforced if stateless watch has been chosen), then responses with “full changeset” will be divided into chunks. Client should keep receiving messages and, once is_current has value true, combine this recent message with all previous ones where is_current is false. If this is the first is_current in a whole watch stream, then it means that client should have, at this moment, contain snapshot of the current situation (or more accurately, snapshot of situation at the moment of request). All OsVersions will be of type Added/Current (depending on watch_type specified in the request). Further responses will be incremental - however messages may still be chunked and is_current logic still applies. is_current is always true for stateful watch if max_chunk_size was left to 0.
page_token_change WatchOsVersionsResponse.PageTokenChange When present, PageTokens used for page navigation should be updated. Present only if is_current is true (last chunk).
resume_token string Token that can be used if current connection drops and client needs to reconnect. Populated only for stateless watch type. Present only if is_current is true (last chunk).
snapshot_size int64 Server may occasionally send information how many resources should client have in its state so far (response message without any changes, but with snapshot_size field specified). If client has different value than the one sent by the server, then it should be treated by a client as an error and should reconnect. If value is smaller then 0, then client should ignore this field as unpopulated. This field should be checked only for stateless watch. In stateful those kind of errors are handled by the server side. Will be never sent together with is_current, is_soft_reset and is_hard_reset flags.
is_soft_reset bool In case of internal issue server may send response message with this flag. It indicates that client should drop all changes from recent responses where is_current is false only! If last message had is_current set to true, client should do nothing and process normally. Resume token received before is still valid. This field should be checked only for stateless watch. In stateful those kind of errors are handled by the server side. Will never be sent along with is_current, is_hard_reset or snapshot_size.
is_hard_reset bool In case of internal issue server may send response message with this flag. After receiving, client should clear whole state (drop all changes received so far) as server will send new snapshot (OsVersions will contains changes of type Current only). Any resume tokens should be discarded as well. This field should be checked only for stateless watch. In stateful those kind of errors are handled by the server side. Will never be sent along with is_current, is_soft_reset or snapshot_size.

WatchOsVersionsResponse.PageTokenChange Message

Name Type Description
prev_page_token string (cursor of OsVersion) New token to retrieve previous page of results.
next_page_token string (cursor of OsVersion) New token to retrieve next page of results.

CreateOsVersionRequest Message

A request message of the CreateOsVersion method.

Name Type Description
os_version OsVersion OsVersion resource body
response_mask CreateOsVersionRequest.ResponseMask Optional masking applied to response object to reduce message response size.

CreateOsVersionRequest.ResponseMask Message

ResponseMask allows client to reduce response message size.

Name Type Description
skip_entire_response_body bool If this flag has value true, then response will contain just empty resource without any fields populated.
body_mask .google.protobuf.FieldMask If this field is populated, then resource in response will contain only specific fields.

UpdateOsVersionRequest Message

A request message of the UpdateOsVersion method.

Name Type Description
os_version OsVersion OsVersion resource body
update_mask .google.protobuf.FieldMask FieldMask applied to request - change will be applied only for fields in the mask
cas UpdateOsVersionRequest.CAS Conditional update applied to request if update should be executed only for specific resource state. If this field is populated, then server will fetch existing resource, compare with the one stored in the cas field (after applying field mask) and proceed with update only and only if they match. Otherwise RPC error Aborted will be returned.
allow_missing bool If set to true, and the resource is not found, a new resource will be created. In this situation, ‘field_mask’ is ignored. https://google.aip.dev/134#create-or-update
response_mask UpdateOsVersionRequest.ResponseMask reduce message response size.

UpdateOsVersionRequest.CAS Message

CAS - Compare and Swap. This object is used if user wants to make update conditional based upon previous resource version.

Name Type Description
conditional_state OsVersion Conditional desired state of a resource before update.
field_mask .google.protobuf.FieldMask Field paths from conditional state of resource server should check and compare.

UpdateOsVersionRequest.ResponseMask Message

ResponseMask allows client to reduce response message size.

Name Type Description
skip_entire_response_body bool If this flag has value true, then response will contain just empty resource without any fields populated. Field body_mask is ignored if set.
updated_fields_only bool Include all fields that were actually updated during processing. Note this may be larger than update mask if some fields were computed additionally. Name is added as well.
body_mask .google.protobuf.FieldMask If this field is populated, then resource in response will contain only specific fields. If skip_entire_response_body is true, this field is ignored.

DeleteOsVersionRequest Message

A request message of the DeleteOsVersion method.

Name Type Description
name string (name of OsVersion) Name of ntt.devices.v1alpha2.OsVersion

OsVersion Enumerations

Here is the list of OsVersion resource enumerations:

OsVersion.Channel Enumeration

Name Description
CHANNEL_UNSPECIFIED
NORMAL
BETA

Project Resource

Project Resource

Name patterns:

  • projects/{project}

This section covers the methods and messages to interact with Project resource.

Project Methods

Here is the list of Project resource methods:

GetProject Method

GetProject

rpc GetProject(GetProjectRequest) returns (Project)

with the following messages:

Required Permissions:

  • services/devices.edgelq.com/permissions/projects.get

The equivalent REST API is:

GET /v1alpha2/{name=projects/*} 

BatchGetProjects Method

BatchGetProjects

rpc BatchGetProjects(BatchGetProjectsRequest) returns (BatchGetProjectsResponse)

with the following messages:

Required Permissions:

  • services/devices.edgelq.com/permissions/projects.batchGet

The equivalent REST API is:

GET /v1alpha2/projects:batchGet 

ListProjects Method

ListProjects

rpc ListProjects(ListProjectsRequest) returns (ListProjectsResponse)

with the following messages:

Required Permissions:

  • services/devices.edgelq.com/permissions/projects.list

The equivalent REST API is:

GET /v1alpha2/projects 

WatchProject Method

WatchProject

rpc WatchProject(WatchProjectRequest) returns (WatchProjectResponse)

with the following messages:

Required Permissions:

  • services/devices.edgelq.com/permissions/projects.watch

The equivalent REST API is:

POST /v1alpha2/{name=projects/*}:watch 

WatchProjects Method

WatchProjects

rpc WatchProjects(WatchProjectsRequest) returns (WatchProjectsResponse)

with the following messages:

Required Permissions:

  • services/devices.edgelq.com/permissions/projects.watch

The equivalent REST API is:

POST /v1alpha2/projects:watch 

CreateProject Method

CreateProject

rpc CreateProject(CreateProjectRequest) returns (Project)

with the following messages:

Required Permissions:

  • services/devices.edgelq.com/permissions/projects.create

The equivalent REST API is:

POST /v1alpha2/projects (BODY: project)

UpdateProject Method

UpdateProject

rpc UpdateProject(UpdateProjectRequest) returns (Project)

with the following messages:

Required Permissions:

  • services/devices.edgelq.com/permissions/projects.update

The equivalent REST API is:

PUT /v1alpha2/{project.name=projects/*} (BODY: project)

DeleteProject Method

DeleteProject

rpc DeleteProject(DeleteProjectRequest) returns (Empty)

with the following messages:

Required Permissions:

  • services/devices.edgelq.com/permissions/projects.delete

The equivalent REST API is:

DELETE /v1alpha2/{name=projects/*} 

Project Messages

Here is the list of Project resource messages:

Project Message

Name Type Description
name string (name of Project) Name of Project When creating a new instance, this field is optional and if not provided, it will be generated automatically. Last ID segment must conform to the following regex: [a-z][a-z0-9-]{0,28}[a-z0-9]
metadata Meta Metadata
multi_region_policy MultiRegionPolicy Multi region policy

GetProjectRequest Message

A request message of the GetProject method.

Name Type Description
name string (name of Project) Name of ntt.devices.v1alpha2.Project
field_mask .google.protobuf.FieldMask A list of extra fields to be obtained for each response item on top of fields defined by request field view
view View View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask

BatchGetProjectsRequest Message

A request message of the BatchGetProjects method.

Name Type Description
names repeated string (name of Project) Names of Projects
field_mask .google.protobuf.FieldMask A list of extra fields to be obtained for each response item on top of fields defined by request field view
view View View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask

BatchGetProjectsResponse Message

A response message of the BatchGetProjects method.

Name Type Description
projects repeated Project found Projects
missing repeated string (name of Project) list of not found Projects

ListProjectsRequest Message

A request message of the ListProjects method.

Name Type Description
page_size int32 Requested page size. Server may return fewer Projects than requested. If unspecified, server will pick an appropriate default.
page_token string (cursor of Project) A token identifying a page of results the server should return. Typically, this is the value of ListProjectsResponse.next_page_token.
order_by string (orderBy of Project) Order By - https://cloud.google.com/apis/design/design_patterns#list_pagination list of field path with order directive, either ‘asc’ or ‘desc’. If direction is not provided, ‘asc’ is assumed. e.g. “state.nested_field asc, state.something.else desc, theme”
filter string (filter of Project) Filter - filter results by field criteria. Simplified SQL-like syntax with following operators: <=, >=, =, !=, <, >, LIKE, CONTAINS (aliases CONTAIN, HAS, HAVE), IN, IS [NOT] NULL
field_mask .google.protobuf.FieldMask A list of extra fields to be obtained for each response item on top of fields defined by request field view
view View View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask
include_paging_info bool Indicates if list response should contain total count and offset (fields current_offset and total_results_count).

ListProjectsResponse Message

A response message of the ListProjects method.

Name Type Description
projects repeated Project The list of Projects
prev_page_token string (cursor of Project) A token to retrieve previous page of results. Pass this value in the ListProjectsRequest.page_token.
next_page_token string (cursor of Project) A token to retrieve next page of results. Pass this value in the ListProjectsRequest.page_token.
current_offset int32 Current offset from the first page or 0 if no page tokens were given, paging info was not requested or there was an error while trying to get it). Page index can be computed from offset and limit provided in a request.
total_results_count int32 Number of total Projects across all pages or 0, if there are no items, paging info was not requested or there was an error while trying to get it.

WatchProjectRequest Message

A request message of the WatchProject method.

Name Type Description
name string (name of Project) Name of ntt.devices.v1alpha2.Project
field_mask .google.protobuf.FieldMask A list of extra fields to be obtained for each response item on top of fields defined by request field view
view View View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask

WatchProjectResponse Message

A response message of the WatchProject method.

Name Type Description
change ProjectChange

WatchProjectsRequest Message

A request message of the WatchProjects method.

Name Type Description
type WatchType Type of a watch. Identifies how server stream data to a client, which fields in a request are allowed and which fields in response are relevant.
page_size int32 Requested page size. Server may return fewer Projects than requested. If unspecified, server will pick an appropriate default. Can be populated only for stateful watch type.
page_token string (cursor of Project) A token identifying a page of results the server should return. Can be populated only for stateful watch type.
order_by string (orderBy of Project) Order By - https://cloud.google.com/apis/design/design_patterns#list_pagination Can be populated only for stateful watch type.
resume_token string A token identifying watch resume point from previous session. Can be populated only for stateless watch type.
starting_time .google.protobuf.Timestamp Point in the time from which we want to start getting updates. This field can be populated only for stateless watch type and if resume token is not known yet. If specified, initial snapshot will NOT be provided. It is assumed client can obtain it using separate means. Watch responses will contain resume tokens which should be used to resume broken connection.
filter string (filter of Project) Filter - filter results by field criteria. Simplified SQL-like syntax with following operators: <=, >=, =, !=, <, >, LIKE, CONTAINS (aliases CONTAIN, HAS, HAVE), IN, IS [NOT] NULL
field_mask .google.protobuf.FieldMask A list of extra fields to be obtained for each response item on top of fields defined by request field view Changes to Project that don’t affect any of masked fields won’t be sent back.
view View View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask Changes to Project that don’t affect any of masked fields won’t be sent back.
max_chunk_size int32 Maximum amount of changes in each response message. Query result response is divided on the server side into chunks with size of a specified amount to limit memory footprint of each message. Responses will hold information whether more elements will continue for the actual change. If unspecified, server will pick an appropriate default.

WatchProjectsResponse Message

A response message of the WatchProjects method.

Name Type Description
project_changes repeated ProjectChange Changes of Projects
is_current bool If request specified max_chunk_size (or this limit was enforced if stateless watch has been chosen), then responses with “full changeset” will be divided into chunks. Client should keep receiving messages and, once is_current has value true, combine this recent message with all previous ones where is_current is false. If this is the first is_current in a whole watch stream, then it means that client should have, at this moment, contain snapshot of the current situation (or more accurately, snapshot of situation at the moment of request). All Projects will be of type Added/Current (depending on watch_type specified in the request). Further responses will be incremental - however messages may still be chunked and is_current logic still applies. is_current is always true for stateful watch if max_chunk_size was left to 0.
page_token_change WatchProjectsResponse.PageTokenChange When present, PageTokens used for page navigation should be updated. Present only if is_current is true (last chunk).
resume_token string Token that can be used if current connection drops and client needs to reconnect. Populated only for stateless watch type. Present only if is_current is true (last chunk).
snapshot_size int64 Server may occasionally send information how many resources should client have in its state so far (response message without any changes, but with snapshot_size field specified). If client has different value than the one sent by the server, then it should be treated by a client as an error and should reconnect. If value is smaller then 0, then client should ignore this field as unpopulated. This field should be checked only for stateless watch. In stateful those kind of errors are handled by the server side. Will be never sent together with is_current, is_soft_reset and is_hard_reset flags.
is_soft_reset bool In case of internal issue server may send response message with this flag. It indicates that client should drop all changes from recent responses where is_current is false only! If last message had is_current set to true, client should do nothing and process normally. Resume token received before is still valid. This field should be checked only for stateless watch. In stateful those kind of errors are handled by the server side. Will never be sent along with is_current, is_hard_reset or snapshot_size.
is_hard_reset bool In case of internal issue server may send response message with this flag. After receiving, client should clear whole state (drop all changes received so far) as server will send new snapshot (Projects will contains changes of type Current only). Any resume tokens should be discarded as well. This field should be checked only for stateless watch. In stateful those kind of errors are handled by the server side. Will never be sent along with is_current, is_soft_reset or snapshot_size.

WatchProjectsResponse.PageTokenChange Message

Name Type Description
prev_page_token string (cursor of Project) New token to retrieve previous page of results.
next_page_token string (cursor of Project) New token to retrieve next page of results.

CreateProjectRequest Message

A request message of the CreateProject method.

Name Type Description
project Project Project resource body
response_mask CreateProjectRequest.ResponseMask Optional masking applied to response object to reduce message response size.

CreateProjectRequest.ResponseMask Message

ResponseMask allows client to reduce response message size.

Name Type Description
skip_entire_response_body bool If this flag has value true, then response will contain just empty resource without any fields populated.
body_mask .google.protobuf.FieldMask If this field is populated, then resource in response will contain only specific fields.

UpdateProjectRequest Message

A request message of the UpdateProject method.

Name Type Description
project Project Project resource body
update_mask .google.protobuf.FieldMask FieldMask applied to request - change will be applied only for fields in the mask
cas UpdateProjectRequest.CAS Conditional update applied to request if update should be executed only for specific resource state. If this field is populated, then server will fetch existing resource, compare with the one stored in the cas field (after applying field mask) and proceed with update only and only if they match. Otherwise RPC error Aborted will be returned.
allow_missing bool If set to true, and the resource is not found, a new resource will be created. In this situation, ‘field_mask’ is ignored. https://google.aip.dev/134#create-or-update
response_mask UpdateProjectRequest.ResponseMask reduce message response size.

UpdateProjectRequest.CAS Message

CAS - Compare and Swap. This object is used if user wants to make update conditional based upon previous resource version.

Name Type Description
conditional_state Project Conditional desired state of a resource before update.
field_mask .google.protobuf.FieldMask Field paths from conditional state of resource server should check and compare.

UpdateProjectRequest.ResponseMask Message

ResponseMask allows client to reduce response message size.

Name Type Description
skip_entire_response_body bool If this flag has value true, then response will contain just empty resource without any fields populated. Field body_mask is ignored if set.
updated_fields_only bool Include all fields that were actually updated during processing. Note this may be larger than update mask if some fields were computed additionally. Name is added as well.
body_mask .google.protobuf.FieldMask If this field is populated, then resource in response will contain only specific fields. If skip_entire_response_body is true, this field is ignored.

DeleteProjectRequest Message

A request message of the DeleteProject method.

Name Type Description
name string (name of Project) Name of ntt.devices.v1alpha2.Project

ProvisioningApprovalRequest Resource

ProvisioningApprovalRequest Resource

Name patterns:

  • projects/{project}/regions/{region}/provisioningPolicies/{provisioning_policy}/provisioningApprovalRequests/{provisioning_approval_request}

Parent resources:

This section covers the methods and messages to interact with ProvisioningApprovalRequest resource.

ProvisioningApprovalRequest Methods

Here is the list of ProvisioningApprovalRequest resource methods:

GetProvisioningApprovalRequest Method

GetProvisioningApprovalRequest

rpc GetProvisioningApprovalRequest(GetProvisioningApprovalRequestRequest) returns (ProvisioningApprovalRequest)

with the following messages:

Required Permissions:

  • services/devices.edgelq.com/permissions/provisioningApprovalRequests.get

The equivalent REST API is:

GET /v1alpha2/{name=projects/*/regions/*/provisioningPolicies/*/provisioningApprovalRequests/*} 

BatchGetProvisioningApprovalRequests Method

BatchGetProvisioningApprovalRequests

rpc BatchGetProvisioningApprovalRequests(BatchGetProvisioningApprovalRequestsRequest) returns (BatchGetProvisioningApprovalRequestsResponse)

with the following messages:

Required Permissions:

  • services/devices.edgelq.com/permissions/provisioningApprovalRequests.batchGet

The equivalent REST API is:

GET /v1alpha2/provisioningApprovalRequests:batchGet 

ListProvisioningApprovalRequests Method

ListProvisioningApprovalRequests

rpc ListProvisioningApprovalRequests(ListProvisioningApprovalRequestsRequest) returns (ListProvisioningApprovalRequestsResponse)

with the following messages:

Required Permissions:

  • services/devices.edgelq.com/permissions/provisioningApprovalRequests.list

The equivalent REST API is:

GET /v1alpha2/{parent=projects/*/regions/*/provisioningPolicies/*}/provisioningApprovalRequests 

WatchProvisioningApprovalRequest Method

WatchProvisioningApprovalRequest

rpc WatchProvisioningApprovalRequest(WatchProvisioningApprovalRequestRequest) returns (WatchProvisioningApprovalRequestResponse)

with the following messages:

Required Permissions:

  • services/devices.edgelq.com/permissions/provisioningApprovalRequests.watch

The equivalent REST API is:

POST /v1alpha2/{name=projects/*/regions/*/provisioningPolicies/*/provisioningApprovalRequests/*}:watch 

WatchProvisioningApprovalRequests Method

WatchProvisioningApprovalRequests

rpc WatchProvisioningApprovalRequests(WatchProvisioningApprovalRequestsRequest) returns (WatchProvisioningApprovalRequestsResponse)

with the following messages:

Required Permissions:

  • services/devices.edgelq.com/permissions/provisioningApprovalRequests.watch

The equivalent REST API is:

POST /v1alpha2/{parent=projects/*/regions/*/provisioningPolicies/*}/provisioningApprovalRequests:watch 

CreateProvisioningApprovalRequest Method

CreateProvisioningApprovalRequest

rpc CreateProvisioningApprovalRequest(CreateProvisioningApprovalRequestRequest) returns (ProvisioningApprovalRequest)

with the following messages:

Required Permissions:

  • services/devices.edgelq.com/permissions/provisioningApprovalRequests.create

The equivalent REST API is:

POST /v1alpha2/{parent=projects/*/regions/*/provisioningPolicies/*}/provisioningApprovalRequests (BODY: provisioning_approval_request)

UpdateProvisioningApprovalRequest Method

UpdateProvisioningApprovalRequest

rpc UpdateProvisioningApprovalRequest(UpdateProvisioningApprovalRequestRequest) returns (ProvisioningApprovalRequest)

with the following messages:

Required Permissions:

  • services/devices.edgelq.com/permissions/provisioningApprovalRequests.update

The equivalent REST API is:

PUT /v1alpha2/{provisioning_approval_request.name=projects/*/regions/*/provisioningPolicies/*/provisioningApprovalRequests/*} (BODY: provisioning_approval_request)

DeleteProvisioningApprovalRequest Method

DeleteProvisioningApprovalRequest

rpc DeleteProvisioningApprovalRequest(DeleteProvisioningApprovalRequestRequest) returns (Empty)

with the following messages:

Required Permissions:

  • services/devices.edgelq.com/permissions/provisioningApprovalRequests.delete

The equivalent REST API is:

DELETE /v1alpha2/{name=projects/*/regions/*/provisioningPolicies/*/provisioningApprovalRequests/*} 

ProvisionDeviceForApprovedRequest Method

ProvisionDeviceForApprovedRequest

rpc ProvisionDeviceForApprovedRequest(ProvisionDeviceForApprovedRequestRequest) returns (ProvisionDeviceForApprovedRequestResponse)

with the following messages:

Required Permissions:

  • services/devices.edgelq.com/permissions/provisioningApprovalRequests.provisionDeviceForApprovedRequest

The equivalent REST API is:

POST /v1alpha2/{name=projects/*/regions/*/provisioningPolicies/*/provisioningApprovalRequests/*}:provisionDeviceForApprovedRequest 

ProvisioningApprovalRequest Messages

Here is the list of ProvisioningApprovalRequest resource messages:

ProvisioningApprovalRequest Message

Name Type Description
name string (name of ProvisioningApprovalRequest) Name of ProvisioningApprovalRequest When creating a new instance, this field is optional and if not provided, it will be generated automatically. Last ID segment must conform to the following regex: [a-z][a-z0-9-]{0,28}[a-z0-9]
spec ProvisioningApprovalRequest.Spec
status ProvisioningApprovalRequest.Status
metadata Meta

ProvisioningApprovalRequest.Spec Message

Name Type Description
conclusion ProvisioningApprovalRequest.Spec.Conclusion The verdicit for the approval, approved or revoked.
service_account string (reference to ServiceAccount) System managed, this service account will be used by the Device resource once it’s approved. A device finds its pending request using this field.

ProvisioningApprovalRequest.Status Message

Name Type Description
none none none

GetProvisioningApprovalRequestRequest Message

A request message of the GetProvisioningApprovalRequest method.

Name Type Description
name string (name of ProvisioningApprovalRequest) Name of ntt.devices.v1alpha2.ProvisioningApprovalRequest
field_mask .google.protobuf.FieldMask A list of extra fields to be obtained for each response item on top of fields defined by request field view
view View View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask

BatchGetProvisioningApprovalRequestsRequest Message

A request message of the BatchGetProvisioningApprovalRequests method.

Name Type Description
names repeated string (name of ProvisioningApprovalRequest) Names of ProvisioningApprovalRequests
field_mask .google.protobuf.FieldMask A list of extra fields to be obtained for each response item on top of fields defined by request field view
view View View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask

BatchGetProvisioningApprovalRequestsResponse Message

A response message of the BatchGetProvisioningApprovalRequests method.

Name Type Description
provisioning_approval_requests repeated ProvisioningApprovalRequest found ProvisioningApprovalRequests
missing repeated string (name of ProvisioningApprovalRequest) list of not found ProvisioningApprovalRequests

ListProvisioningApprovalRequestsRequest Message

A request message of the ListProvisioningApprovalRequests method.

Name Type Description
parent string (parent name of ProvisioningApprovalRequest) Parent name of ntt.devices.v1alpha2.ProvisioningApprovalRequest
page_size int32 Requested page size. Server may return fewer ProvisioningApprovalRequests than requested. If unspecified, server will pick an appropriate default.
page_token string (cursor of ProvisioningApprovalRequest) A token identifying a page of results the server should return. Typically, this is the value of ListProvisioningApprovalRequestsResponse.next_page_token.
order_by string (orderBy of ProvisioningApprovalRequest) Order By - https://cloud.google.com/apis/design/design_patterns#list_pagination list of field path with order directive, either ‘asc’ or ‘desc’. If direction is not provided, ‘asc’ is assumed. e.g. “state.nested_field asc, state.something.else desc, theme”
filter string (filter of ProvisioningApprovalRequest) Filter - filter results by field criteria. Simplified SQL-like syntax with following operators: <=, >=, =, !=, <, >, LIKE, CONTAINS (aliases CONTAIN, HAS, HAVE), IN, IS [NOT] NULL
field_mask .google.protobuf.FieldMask A list of extra fields to be obtained for each response item on top of fields defined by request field view
view View View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask
include_paging_info bool Indicates if list response should contain total count and offset (fields current_offset and total_results_count).

ListProvisioningApprovalRequestsResponse Message

A response message of the ListProvisioningApprovalRequests method.

Name Type Description
provisioning_approval_requests repeated ProvisioningApprovalRequest The list of ProvisioningApprovalRequests
prev_page_token string (cursor of ProvisioningApprovalRequest) A token to retrieve previous page of results. Pass this value in the ListProvisioningApprovalRequestsRequest.page_token.
next_page_token string (cursor of ProvisioningApprovalRequest) A token to retrieve next page of results. Pass this value in the ListProvisioningApprovalRequestsRequest.page_token.
current_offset int32 Current offset from the first page or 0 if no page tokens were given, paging info was not requested or there was an error while trying to get it). Page index can be computed from offset and limit provided in a request.
total_results_count int32 Number of total ProvisioningApprovalRequests across all pages or 0, if there are no items, paging info was not requested or there was an error while trying to get it.

WatchProvisioningApprovalRequestRequest Message

A request message of the WatchProvisioningApprovalRequest method.

Name Type Description
name string (name of ProvisioningApprovalRequest) Name of ntt.devices.v1alpha2.ProvisioningApprovalRequest
field_mask .google.protobuf.FieldMask A list of extra fields to be obtained for each response item on top of fields defined by request field view
view View View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask

WatchProvisioningApprovalRequestResponse Message

A response message of the WatchProvisioningApprovalRequest method.

Name Type Description
change ProvisioningApprovalRequestChange

WatchProvisioningApprovalRequestsRequest Message

A request message of the WatchProvisioningApprovalRequests method.

Name Type Description
type WatchType Type of a watch. Identifies how server stream data to a client, which fields in a request are allowed and which fields in response are relevant.
parent string (parent name of ProvisioningApprovalRequest) Parent name of ntt.devices.v1alpha2.ProvisioningApprovalRequest
page_size int32 Requested page size. Server may return fewer ProvisioningApprovalRequests than requested. If unspecified, server will pick an appropriate default. Can be populated only for stateful watch type.
page_token string (cursor of ProvisioningApprovalRequest) A token identifying a page of results the server should return. Can be populated only for stateful watch type.
order_by string (orderBy of ProvisioningApprovalRequest) Order By - https://cloud.google.com/apis/design/design_patterns#list_pagination Can be populated only for stateful watch type.
resume_token string A token identifying watch resume point from previous session. Can be populated only for stateless watch type.
starting_time .google.protobuf.Timestamp Point in the time from which we want to start getting updates. This field can be populated only for stateless watch type and if resume token is not known yet. If specified, initial snapshot will NOT be provided. It is assumed client can obtain it using separate means. Watch responses will contain resume tokens which should be used to resume broken connection.
filter string (filter of ProvisioningApprovalRequest) Filter - filter results by field criteria. Simplified SQL-like syntax with following operators: <=, >=, =, !=, <, >, LIKE, CONTAINS (aliases CONTAIN, HAS, HAVE), IN, IS [NOT] NULL
field_mask .google.protobuf.FieldMask A list of extra fields to be obtained for each response item on top of fields defined by request field view Changes to ProvisioningApprovalRequest that don’t affect any of masked fields won’t be sent back.
view View View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask Changes to ProvisioningApprovalRequest that don’t affect any of masked fields won’t be sent back.
max_chunk_size int32 Maximum amount of changes in each response message. Query result response is divided on the server side into chunks with size of a specified amount to limit memory footprint of each message. Responses will hold information whether more elements will continue for the actual change. If unspecified, server will pick an appropriate default.

WatchProvisioningApprovalRequestsResponse Message

A response message of the WatchProvisioningApprovalRequests method.

Name Type Description
provisioning_approval_request_changes repeated ProvisioningApprovalRequestChange Changes of ProvisioningApprovalRequests
is_current bool If request specified max_chunk_size (or this limit was enforced if stateless watch has been chosen), then responses with “full changeset” will be divided into chunks. Client should keep receiving messages and, once is_current has value true, combine this recent message with all previous ones where is_current is false. If this is the first is_current in a whole watch stream, then it means that client should have, at this moment, contain snapshot of the current situation (or more accurately, snapshot of situation at the moment of request). All ProvisioningApprovalRequests will be of type Added/Current (depending on watch_type specified in the request). Further responses will be incremental - however messages may still be chunked and is_current logic still applies. is_current is always true for stateful watch if max_chunk_size was left to 0.
page_token_change WatchProvisioningApprovalRequestsResponse.PageTokenChange When present, PageTokens used for page navigation should be updated. Present only if is_current is true (last chunk).
resume_token string Token that can be used if current connection drops and client needs to reconnect. Populated only for stateless watch type. Present only if is_current is true (last chunk).
snapshot_size int64 Server may occasionally send information how many resources should client have in its state so far (response message without any changes, but with snapshot_size field specified). If client has different value than the one sent by the server, then it should be treated by a client as an error and should reconnect. If value is smaller then 0, then client should ignore this field as unpopulated. This field should be checked only for stateless watch. In stateful those kind of errors are handled by the server side. Will be never sent together with is_current, is_soft_reset and is_hard_reset flags.
is_soft_reset bool In case of internal issue server may send response message with this flag. It indicates that client should drop all changes from recent responses where is_current is false only! If last message had is_current set to true, client should do nothing and process normally. Resume token received before is still valid. This field should be checked only for stateless watch. In stateful those kind of errors are handled by the server side. Will never be sent along with is_current, is_hard_reset or snapshot_size.
is_hard_reset bool In case of internal issue server may send response message with this flag. After receiving, client should clear whole state (drop all changes received so far) as server will send new snapshot (ProvisioningApprovalRequests will contains changes of type Current only). Any resume tokens should be discarded as well. This field should be checked only for stateless watch. In stateful those kind of errors are handled by the server side. Will never be sent along with is_current, is_soft_reset or snapshot_size.

WatchProvisioningApprovalRequestsResponse.PageTokenChange Message

Name Type Description
prev_page_token string (cursor of ProvisioningApprovalRequest) New token to retrieve previous page of results.
next_page_token string (cursor of ProvisioningApprovalRequest) New token to retrieve next page of results.

CreateProvisioningApprovalRequestRequest Message

A request message of the CreateProvisioningApprovalRequest method.

Name Type Description
parent string (parent name of ProvisioningApprovalRequest) Parent name of ntt.devices.v1alpha2.ProvisioningApprovalRequest
provisioning_approval_request ProvisioningApprovalRequest ProvisioningApprovalRequest resource body
response_mask CreateProvisioningApprovalRequestRequest.ResponseMask Optional masking applied to response object to reduce message response size.

CreateProvisioningApprovalRequestRequest.ResponseMask Message

ResponseMask allows client to reduce response message size.

Name Type Description
skip_entire_response_body bool If this flag has value true, then response will contain just empty resource without any fields populated.
body_mask .google.protobuf.FieldMask If this field is populated, then resource in response will contain only specific fields.

UpdateProvisioningApprovalRequestRequest Message

A request message of the UpdateProvisioningApprovalRequest method.

Name Type Description
provisioning_approval_request ProvisioningApprovalRequest ProvisioningApprovalRequest resource body
update_mask .google.protobuf.FieldMask FieldMask applied to request - change will be applied only for fields in the mask
cas UpdateProvisioningApprovalRequestRequest.CAS Conditional update applied to request if update should be executed only for specific resource state. If this field is populated, then server will fetch existing resource, compare with the one stored in the cas field (after applying field mask) and proceed with update only and only if they match. Otherwise RPC error Aborted will be returned.
allow_missing bool If set to true, and the resource is not found, a new resource will be created. In this situation, ‘field_mask’ is ignored. https://google.aip.dev/134#create-or-update
response_mask UpdateProvisioningApprovalRequestRequest.ResponseMask reduce message response size.

UpdateProvisioningApprovalRequestRequest.CAS Message

CAS - Compare and Swap. This object is used if user wants to make update conditional based upon previous resource version.

Name Type Description
conditional_state ProvisioningApprovalRequest Conditional desired state of a resource before update.
field_mask .google.protobuf.FieldMask Field paths from conditional state of resource server should check and compare.

UpdateProvisioningApprovalRequestRequest.ResponseMask Message

ResponseMask allows client to reduce response message size.

Name Type Description
skip_entire_response_body bool If this flag has value true, then response will contain just empty resource without any fields populated. Field body_mask is ignored if set.
updated_fields_only bool Include all fields that were actually updated during processing. Note this may be larger than update mask if some fields were computed additionally. Name is added as well.
body_mask .google.protobuf.FieldMask If this field is populated, then resource in response will contain only specific fields. If skip_entire_response_body is true, this field is ignored.

DeleteProvisioningApprovalRequestRequest Message

A request message of the DeleteProvisioningApprovalRequest method.

Name Type Description
name string (name of ProvisioningApprovalRequest) Name of ntt.devices.v1alpha2.ProvisioningApprovalRequest

ProvisionDeviceForApprovedRequestRequest Message

Request message for method [ProvisionDeviceForApprovedRequest][ntt.devices.v1alpha2.ProvisionDeviceForApprovedRequest]

Name Type Description
name string (name of ProvisioningApprovalRequest) name of ntt.devices.v1alpha2.ProvisioningApprovalRequest
device_status Device.Status

ProvisionDeviceForApprovedRequestResponse Message

Response message for method [ProvisionDeviceForApprovedRequest][ntt.devices.v1alpha2.ProvisionDeviceForApprovedRequest]

Name Type Description
device Device

ProvisioningApprovalRequest Enumerations

Here is the list of ProvisioningApprovalRequest resource enumerations:

ProvisioningApprovalRequest.Spec.Conclusion Enumeration

Name Description
CONCLUSION_NOT_SPECIFIED
APPROVED
REVOKED

ProvisioningPolicy Resource

ProvisioningPolicy Resource

Name patterns:

  • projects/{project}/regions/{region}/provisioningPolicies/{provisioning_policy}

Parent resources:

This section covers the methods and messages to interact with ProvisioningPolicy resource.

ProvisioningPolicy Methods

Here is the list of ProvisioningPolicy resource methods:

GetProvisioningPolicy Method

GetProvisioningPolicy

rpc GetProvisioningPolicy(GetProvisioningPolicyRequest) returns (ProvisioningPolicy)

with the following messages:

Required Permissions:

  • services/devices.edgelq.com/permissions/provisioningPolicies.get

The equivalent REST API is:

GET /v1alpha2/{name=projects/*/regions/*/provisioningPolicies/*} 

BatchGetProvisioningPolicies Method

BatchGetProvisioningPolicies

rpc BatchGetProvisioningPolicies(BatchGetProvisioningPoliciesRequest) returns (BatchGetProvisioningPoliciesResponse)

with the following messages:

Required Permissions:

  • services/devices.edgelq.com/permissions/provisioningPolicies.batchGet

The equivalent REST API is:

GET /v1alpha2/provisioningPolicies:batchGet 

ListProvisioningPolicies Method

ListProvisioningPolicies

rpc ListProvisioningPolicies(ListProvisioningPoliciesRequest) returns (ListProvisioningPoliciesResponse)

with the following messages:

Required Permissions:

  • services/devices.edgelq.com/permissions/provisioningPolicies.list

The equivalent REST API is:

GET /v1alpha2/{parent=projects/*/regions/*}/provisioningPolicies 

WatchProvisioningPolicy Method

WatchProvisioningPolicy

rpc WatchProvisioningPolicy(WatchProvisioningPolicyRequest) returns (WatchProvisioningPolicyResponse)

with the following messages:

Required Permissions:

  • services/devices.edgelq.com/permissions/provisioningPolicies.watch

The equivalent REST API is:

POST /v1alpha2/{name=projects/*/regions/*/provisioningPolicies/*}:watch 

WatchProvisioningPolicies Method

WatchProvisioningPolicies

rpc WatchProvisioningPolicies(WatchProvisioningPoliciesRequest) returns (WatchProvisioningPoliciesResponse)

with the following messages:

Required Permissions:

  • services/devices.edgelq.com/permissions/provisioningPolicies.watch

The equivalent REST API is:

POST /v1alpha2/{parent=projects/*/regions/*}/provisioningPolicies:watch 

CreateProvisioningPolicy Method

CreateProvisioningPolicy

rpc CreateProvisioningPolicy(CreateProvisioningPolicyRequest) returns (ProvisioningPolicy)

with the following messages:

Required Permissions:

  • services/devices.edgelq.com/permissions/provisioningPolicies.create

The equivalent REST API is:

POST /v1alpha2/{parent=projects/*/regions/*}/provisioningPolicies (BODY: provisioning_policy)

UpdateProvisioningPolicy Method

UpdateProvisioningPolicy

rpc UpdateProvisioningPolicy(UpdateProvisioningPolicyRequest) returns (ProvisioningPolicy)

with the following messages:

Required Permissions:

  • services/devices.edgelq.com/permissions/provisioningPolicies.update

The equivalent REST API is:

PUT /v1alpha2/{provisioning_policy.name=projects/*/regions/*/provisioningPolicies/*} (BODY: provisioning_policy)

DeleteProvisioningPolicy Method

DeleteProvisioningPolicy

rpc DeleteProvisioningPolicy(DeleteProvisioningPolicyRequest) returns (Empty)

with the following messages:

Required Permissions:

  • services/devices.edgelq.com/permissions/provisioningPolicies.delete

The equivalent REST API is:

DELETE /v1alpha2/{name=projects/*/regions/*/provisioningPolicies/*} 

ProvisionServiceAccountToProvisioningPolicy Method

ProvisionServiceAccountToProvisioningPolicy

rpc ProvisionServiceAccountToProvisioningPolicy(ProvisionServiceAccountToProvisioningPolicyRequest) returns (ProvisionServiceAccountToProvisioningPolicyResponse)

with the following messages:

Required Permissions:

  • services/devices.edgelq.com/permissions/provisioningPolicies.provisionServiceAccountToProvisioningPolicy

The equivalent REST API is:

POST /v1alpha2/{name=projects/*/regions/*/provisioningPolicies/*}:provisionServiceAccountToProvisioningPolicy 

RemoveServiceAccountFromProvisioningPolicy Method

RemoveServiceAccountFromProvisioningPolicy

rpc RemoveServiceAccountFromProvisioningPolicy(RemoveServiceAccountFromProvisioningPolicyRequest) returns (RemoveServiceAccountFromProvisioningPolicyResponse)

with the following messages:

Required Permissions:

  • services/devices.edgelq.com/permissions/provisioningPolicies.removeServiceAccountFromProvisioningPolicy

The equivalent REST API is:

POST /v1alpha2/{name=projects/*/regions/*/provisioningPolicies/*}:removeServiceAccountFromProvisioningPolicy 

ProvisionDeviceViaPolicy Method

ProvisionDeviceViaPolicy

rpc ProvisionDeviceViaPolicy(ProvisionDeviceViaPolicyRequest) returns (ProvisionDeviceViaPolicyResponse)

with the following messages:

Required Permissions:

  • services/devices.edgelq.com/permissions/provisioningPolicies.provisionDeviceViaPolicy

The equivalent REST API is:

POST /v1alpha2/{name=projects/*/regions/*/provisioningPolicies/*}:provisionDeviceViaPolicy 

RequestProvisioningApproval Method

RequestProvisioningApproval

rpc RequestProvisioningApproval(RequestProvisioningApprovalRequest) returns (RequestProvisioningApprovalResponse)

with the following messages:

Required Permissions:

  • services/devices.edgelq.com/permissions/provisioningPolicies.requestProvisioningApproval

The equivalent REST API is:

POST /v1alpha2/{name=projects/*/regions/*/provisioningPolicies/*}:requestProvisioningApproval 

ProvisioningPolicy Messages

Here is the list of ProvisioningPolicy resource messages:

ProvisioningPolicy Message

Name Type Description
name string (name of ProvisioningPolicy) Name of ProvisioningPolicy When creating a new instance, this field is optional and if not provided, it will be generated automatically. Last ID segment must conform to the following regex: [a-z][a-z0-9-]{0,28}[a-z0-9]
display_name string Display Name
spec ProvisioningPolicy.Spec
status ProvisioningPolicy.Status
metadata Meta

ProvisioningPolicy.Spec Message

Name Type Description
mode ProvisioningPolicy.Mode Provisioning mode.
service_account string (reference to ServiceAccount) The service account associated with the policy. Devices have to have a key of this service account to conduct self-provisioning.
device_name_format string Template for device name.
labels map<string, string> Deprecated: Use template instead. labels that provisioned Device resources will have.
template ProvisioningPolicy.Spec.Template Template for Devices to be generated. Used only on Device resource creation, changing the value won’t affect existing Device resources.
identity_field_paths repeated string Device hardware identity paths (fields) to use for matching pre-existing device resources when provisioning.
role string (reference to Role) Role that the newly created service account should be bound to. If not specified, will use the default value of “roles/devices-device-agent”.
condition string (reference to Condition) Condition for the role binding for the default role. If not specified, will use the default value of “device-isolation”.

ProvisioningPolicy.Status Message

Name Type Description
none none none

ProvisioningPolicy.Spec.Template Message

Name Type Description
metadata Meta
spec Device.Spec service_account will be ignored.
public_listing_spec Device.PublicListingSpec

GetProvisioningPolicyRequest Message

A request message of the GetProvisioningPolicy method.

Name Type Description
name string (name of ProvisioningPolicy) Name of ntt.devices.v1alpha2.ProvisioningPolicy
field_mask .google.protobuf.FieldMask A list of extra fields to be obtained for each response item on top of fields defined by request field view
view View View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask

BatchGetProvisioningPoliciesRequest Message

A request message of the BatchGetProvisioningPolicies method.

Name Type Description
names repeated string (name of ProvisioningPolicy) Names of ProvisioningPolicies
field_mask .google.protobuf.FieldMask A list of extra fields to be obtained for each response item on top of fields defined by request field view
view View View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask

BatchGetProvisioningPoliciesResponse Message

A response message of the BatchGetProvisioningPolicies method.

Name Type Description
provisioning_policies repeated ProvisioningPolicy found ProvisioningPolicies
missing repeated string (name of ProvisioningPolicy) list of not found ProvisioningPolicies

ListProvisioningPoliciesRequest Message

A request message of the ListProvisioningPolicies method.

Name Type Description
parent string (parent name of ProvisioningPolicy) Parent name of ntt.devices.v1alpha2.ProvisioningPolicy
page_size int32 Requested page size. Server may return fewer ProvisioningPolicies than requested. If unspecified, server will pick an appropriate default.
page_token string (cursor of ProvisioningPolicy) A token identifying a page of results the server should return. Typically, this is the value of ListProvisioningPoliciesResponse.next_page_token.
order_by string (orderBy of ProvisioningPolicy) Order By - https://cloud.google.com/apis/design/design_patterns#list_pagination list of field path with order directive, either ‘asc’ or ‘desc’. If direction is not provided, ‘asc’ is assumed. e.g. “state.nested_field asc, state.something.else desc, theme”
filter string (filter of ProvisioningPolicy) Filter - filter results by field criteria. Simplified SQL-like syntax with following operators: <=, >=, =, !=, <, >, LIKE, CONTAINS (aliases CONTAIN, HAS, HAVE), IN, IS [NOT] NULL
field_mask .google.protobuf.FieldMask A list of extra fields to be obtained for each response item on top of fields defined by request field view
view View View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask
include_paging_info bool Indicates if list response should contain total count and offset (fields current_offset and total_results_count).

ListProvisioningPoliciesResponse Message

A response message of the ListProvisioningPolicies method.

Name Type Description
provisioning_policies repeated ProvisioningPolicy The list of ProvisioningPolicies
prev_page_token string (cursor of ProvisioningPolicy) A token to retrieve previous page of results. Pass this value in the ListProvisioningPoliciesRequest.page_token.
next_page_token string (cursor of ProvisioningPolicy) A token to retrieve next page of results. Pass this value in the ListProvisioningPoliciesRequest.page_token.
current_offset int32 Current offset from the first page or 0 if no page tokens were given, paging info was not requested or there was an error while trying to get it). Page index can be computed from offset and limit provided in a request.
total_results_count int32 Number of total ProvisioningPolicies across all pages or 0, if there are no items, paging info was not requested or there was an error while trying to get it.

WatchProvisioningPolicyRequest Message

A request message of the WatchProvisioningPolicy method.

Name Type Description
name string (name of ProvisioningPolicy) Name of ntt.devices.v1alpha2.ProvisioningPolicy
field_mask .google.protobuf.FieldMask A list of extra fields to be obtained for each response item on top of fields defined by request field view
view View View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask

WatchProvisioningPolicyResponse Message

A response message of the WatchProvisioningPolicy method.

Name Type Description
change ProvisioningPolicyChange

WatchProvisioningPoliciesRequest Message

A request message of the WatchProvisioningPolicies method.

Name Type Description
type WatchType Type of a watch. Identifies how server stream data to a client, which fields in a request are allowed and which fields in response are relevant.
parent string (parent name of ProvisioningPolicy) Parent name of ntt.devices.v1alpha2.ProvisioningPolicy
page_size int32 Requested page size. Server may return fewer ProvisioningPolicies than requested. If unspecified, server will pick an appropriate default. Can be populated only for stateful watch type.
page_token string (cursor of ProvisioningPolicy) A token identifying a page of results the server should return. Can be populated only for stateful watch type.
order_by string (orderBy of ProvisioningPolicy) Order By - https://cloud.google.com/apis/design/design_patterns#list_pagination Can be populated only for stateful watch type.
resume_token string A token identifying watch resume point from previous session. Can be populated only for stateless watch type.
starting_time .google.protobuf.Timestamp Point in the time from which we want to start getting updates. This field can be populated only for stateless watch type and if resume token is not known yet. If specified, initial snapshot will NOT be provided. It is assumed client can obtain it using separate means. Watch responses will contain resume tokens which should be used to resume broken connection.
filter string (filter of ProvisioningPolicy) Filter - filter results by field criteria. Simplified SQL-like syntax with following operators: <=, >=, =, !=, <, >, LIKE, CONTAINS (aliases CONTAIN, HAS, HAVE), IN, IS [NOT] NULL
field_mask .google.protobuf.FieldMask A list of extra fields to be obtained for each response item on top of fields defined by request field view Changes to ProvisioningPolicy that don’t affect any of masked fields won’t be sent back.
view View View defines list of standard response fields present in response items. Additional fields can be amended by request field field_mask Changes to ProvisioningPolicy that don’t affect any of masked fields won’t be sent back.
max_chunk_size int32 Maximum amount of changes in each response message. Query result response is divided on the server side into chunks with size of a specified amount to limit memory footprint of each message. Responses will hold information whether more elements will continue for the actual change. If unspecified, server will pick an appropriate default.

WatchProvisioningPoliciesResponse Message

A response message of the WatchProvisioningPolicies method.

Name Type Description
provisioning_policy_changes repeated ProvisioningPolicyChange Changes of ProvisioningPolicies
is_current bool If request specified max_chunk_size (or this limit was enforced if stateless watch has been chosen), then responses with “full changeset” will be divided into chunks. Client should keep receiving messages and, once is_current has value true, combine this recent message with all previous ones where is_current is false. If this is the first is_current in a whole watch stream, then it means that client should have, at this moment, contain snapshot of the current situation (or more accurately, snapshot of situation at the moment of request). All ProvisioningPolicies will be of type Added/Current (depending on watch_type specified in the request). Further responses will be incremental - however messages may still be chunked and is_current logic still applies. is_current is always true for stateful watch if max_chunk_size was left to 0.
page_token_change WatchProvisioningPoliciesResponse.PageTokenChange When present, PageTokens used for page navigation should be updated. Present only if is_current is true (last chunk).
resume_token string Token that can be used if current connection drops and client needs to reconnect. Populated only for stateless watch type. Present only if is_current is true (last chunk).
snapshot_size int64 Server may occasionally send information how many resources should client have in its state so far (response message without any changes, but with snapshot_size field specified). If client has different value than the one sent by the server, then it should be treated by a client as an error and should reconnect. If value is smaller then 0, then client should ignore this field as unpopulated. This field should be checked only for stateless watch. In stateful those kind of errors are handled by the server side. Will be never sent together with is_current, is_soft_reset and is_hard_reset flags.
is_soft_reset bool In case of internal issue server may send response message with this flag. It indicates that client should drop all changes from recent responses where is_current is false only! If last message had is_current set to true, client should do nothing and process normally. Resume token received before is still valid. This field should be checked only for stateless watch. In stateful those kind of errors are handled by the server side. Will never be sent along with is_current, is_hard_reset or snapshot_size.
is_hard_reset bool In case of internal issue server may send response message with this flag. After receiving, client should clear whole state (drop all changes received so far) as server will send new snapshot (ProvisioningPolicies will contains changes of type Current only). Any resume tokens should be discarded as well. This field should be checked only for stateless watch. In stateful those kind of errors are handled by the server side. Will never be sent along with is_current, is_soft_reset or snapshot_size.

WatchProvisioningPoliciesResponse.PageTokenChange Message

Name Type Description
prev_page_token string (cursor of ProvisioningPolicy) New token to retrieve previous page of results.
next_page_token string (cursor of ProvisioningPolicy) New token to retrieve next page of results.

CreateProvisioningPolicyRequest Message

A request message of the CreateProvisioningPolicy method.

Name Type Description
parent string (parent name of ProvisioningPolicy) Parent name of ntt.devices.v1alpha2.ProvisioningPolicy
provisioning_policy ProvisioningPolicy ProvisioningPolicy resource body
response_mask CreateProvisioningPolicyRequest.ResponseMask Optional masking applied to response object to reduce message response size.

CreateProvisioningPolicyRequest.ResponseMask Message

ResponseMask allows client to reduce response message size.

Name Type Description
skip_entire_response_body bool If this flag has value true, then response will contain just empty resource without any fields populated.
body_mask .google.protobuf.FieldMask If this field is populated, then resource in response will contain only specific fields.

UpdateProvisioningPolicyRequest Message

A request message of the UpdateProvisioningPolicy method.

Name Type Description
provisioning_policy ProvisioningPolicy ProvisioningPolicy resource body
update_mask .google.protobuf.FieldMask FieldMask applied to request - change will be applied only for fields in the mask
cas UpdateProvisioningPolicyRequest.CAS Conditional update applied to request if update should be executed only for specific resource state. If this field is populated, then server will fetch existing resource, compare with the one stored in the cas field (after applying field mask) and proceed with update only and only if they match. Otherwise RPC error Aborted will be returned.
allow_missing bool If set to true, and the resource is not found, a new resource will be created. In this situation, ‘field_mask’ is ignored. https://google.aip.dev/134#create-or-update
response_mask UpdateProvisioningPolicyRequest.ResponseMask reduce message response size.

UpdateProvisioningPolicyRequest.CAS Message

CAS - Compare and Swap. This object is used if user wants to make update conditional based upon previous resource version.

Name Type Description
conditional_state ProvisioningPolicy Conditional desired state of a resource before update.
field_mask .google.protobuf.FieldMask Field paths from conditional state of resource server should check and compare.

UpdateProvisioningPolicyRequest.ResponseMask Message

ResponseMask allows client to reduce response message size.

Name Type Description
skip_entire_response_body bool If this flag has value true, then response will contain just empty resource without any fields populated. Field body_mask is ignored if set.
updated_fields_only bool Include all fields that were actually updated during processing. Note this may be larger than update mask if some fields were computed additionally. Name is added as well.
body_mask .google.protobuf.FieldMask If this field is populated, then resource in response will contain only specific fields. If skip_entire_response_body is true, this field is ignored.

DeleteProvisioningPolicyRequest Message

A request message of the DeleteProvisioningPolicy method.

Name Type Description
name string (name of ProvisioningPolicy) Name of ntt.devices.v1alpha2.ProvisioningPolicy

ProvisionServiceAccountToProvisioningPolicyRequest Message

Request message for method [ProvisionServiceAccountToProvisioningPolicy][ntt.devices.v1alpha2.ProvisionServiceAccountToProvisioningPolicy]

Name Type Description
name string (name of ProvisioningPolicy) Name of ntt.devices.v1alpha2.ProvisioningPolicy

ProvisionServiceAccountToProvisioningPolicyResponse Message

Response message for method [ProvisionServiceAccountToProvisioningPolicy][ntt.devices.v1alpha2.ProvisionServiceAccountToProvisioningPolicy]

Name Type Description
service_account ServiceAccount

RemoveServiceAccountFromProvisioningPolicyRequest Message

Request message for method [RemoveServiceAccountFromProvisioningPolicy][ntt.devices.v1alpha2.RemoveServiceAccountFromProvisioningPolicy]

Name Type Description
name string (name of ProvisioningPolicy) Name of ntt.devices.v1alpha2.ProvisioningPolicy

RemoveServiceAccountFromProvisioningPolicyResponse Message

Response message for method [RemoveServiceAccountFromProvisioningPolicy][ntt.devices.v1alpha2.RemoveServiceAccountFromProvisioningPolicy]

Name Type Description
removed bool

ProvisionDeviceViaPolicyRequest Message

Request message for method [ProvisionDeviceViaPolicy][ntt.devices.v1alpha2.ProvisionDeviceViaPolicy]

Name Type Description
name string (name of ProvisioningPolicy) Name of ntt.devices.v1alpha2.ProvisioningPolicy
device_status Device.Status
external_pubkey string external public key to use for service account for this device. If not present, a keypair will be generated by the server.

ProvisionDeviceViaPolicyResponse Message

Response message for method [ProvisionDeviceViaPolicy][ntt.devices.v1alpha2.ProvisionDeviceViaPolicy]

Name Type Description
device Device
service_account ServiceAccount

RequestProvisioningApprovalRequest Message

Request message for method [RequestProvisioningApproval][ntt.devices.v1alpha2.RequestProvisioningApproval]

Name Type Description
name string (name of ProvisioningPolicy) Name of ntt.devices.v1alpha2.ProvisioningPolicy
external_pubkey string external public key to use for service account for this device. If not present, a keypair will be generated by the server.

RequestProvisioningApprovalResponse Message

Response message for method [RequestProvisioningApproval][ntt.devices.v1alpha2.RequestProvisioningApproval]

Name Type Description
request ProvisioningApprovalRequest
service_account ServiceAccount

ProvisioningPolicy Enumerations

Here is the list of ProvisioningPolicy resource enumerations:

ProvisioningPolicy.Mode Enumeration

Name Description
MODE_UNSPECIFIED Mode is not defined, devices will do nothing when the policy is configured in this mode.
UNATTENDED Devices will create Device resources automatically without any human interaction.
MANUAL_APPROVAL Devices will create ProvisioningApprovalRequests so that users can approve.

Devices Service Shared Methods and Messages

Devices Service Shared Messages

Here is the list of Devices service shared messages:

Ack Message

Ack message that contains how much data should have been processed

Name Type Description
processed uint64

CustomizedImageChange Message

CustomizedImageChange is used by Watch notifications Responses to describe change of single CustomizedImage One of Added, Modified, Removed

Name Type Description
added CustomizedImageChange.Added Added is returned when watched document is added, either created or enters Query view
modified CustomizedImageChange.Modified Modified is returned when watched document is modified
current CustomizedImageChange.Current Current is returned in stateless watch when document enters query view or is modified within.
removed CustomizedImageChange.Removed Removed is returned when CustomizedImage is deleted or leaves Query view

CustomizedImageChange.Added Message

CustomizedImage has been added to query view

Name Type Description
customized_image CustomizedImage
view_index int32 Integer describing index of added CustomizedImage in resulting query view.

CustomizedImageChange.Current Message

CustomizedImage has been added or modified in a query view. Version used for stateless watching

Name Type Description
customized_image CustomizedImage

CustomizedImageChange.Modified Message

CustomizedImage changed some of it’s fields - contains either full document or masked change

Name Type Description
name string (name of CustomizedImage) Name of modified CustomizedImage
customized_image CustomizedImage New version of CustomizedImage or masked difference, depending on mask_changes instrumentation of issued [WatchCustomizedImageRequest] or [WatchCustomizedImagesRequest]
field_mask .google.protobuf.FieldMask Used when mask_changes is set, contains field paths of modified properties.
previous_view_index int32 Previous view index specifies previous position of modified CustomizedImage. When modification doesn’t affect sorted order, value will remain identical to [view_index].
view_index int32 Integer specifying CustomizedImage new index in resulting query view.

CustomizedImageChange.Removed Message

Removed is returned when CustomizedImage is deleted or leaves Query view

Name Type Description
name string (name of CustomizedImage)
view_index int32 Integer specifying removed CustomizedImage index. Not populated in stateless watch type.

DeviceChange Message

DeviceChange is used by Watch notifications Responses to describe change of single Device One of Added, Modified, Removed

Name Type Description
added DeviceChange.Added Added is returned when watched document is added, either created or enters Query view
modified DeviceChange.Modified Modified is returned when watched document is modified
current DeviceChange.Current Current is returned in stateless watch when document enters query view or is modified within.
removed DeviceChange.Removed Removed is returned when Device is deleted or leaves Query view

DeviceChange.Added Message

Device has been added to query view

Name Type Description
device Device
view_index int32 Integer describing index of added Device in resulting query view.

DeviceChange.Current Message

Device has been added or modified in a query view. Version used for stateless watching

Name Type Description
device Device

DeviceChange.Modified Message

Device changed some of it’s fields - contains either full document or masked change

Name Type Description
name string (name of Device) Name of modified Device
device Device New version of Device or masked difference, depending on mask_changes instrumentation of issued [WatchDeviceRequest] or [WatchDevicesRequest]
field_mask .google.protobuf.FieldMask Used when mask_changes is set, contains field paths of modified properties.
previous_view_index int32 Previous view index specifies previous position of modified Device. When modification doesn’t affect sorted order, value will remain identical to [view_index].
view_index int32 Integer specifying Device new index in resulting query view.

DeviceChange.Removed Message

Removed is returned when Device is deleted or leaves Query view

Name Type Description
name string (name of Device)
view_index int32 Integer specifying removed Device index. Not populated in stateless watch type.

DeviceTypeChange Message

DeviceTypeChange is used by Watch notifications Responses to describe change of single DeviceType One of Added, Modified, Removed

Name Type Description
added DeviceTypeChange.Added Added is returned when watched document is added, either created or enters Query view
modified DeviceTypeChange.Modified Modified is returned when watched document is modified
current DeviceTypeChange.Current Current is returned in stateless watch when document enters query view or is modified within.
removed DeviceTypeChange.Removed Removed is returned when DeviceType is deleted or leaves Query view

DeviceTypeChange.Added Message

DeviceType has been added to query view

Name Type Description
device_type DeviceType
view_index int32 Integer describing index of added DeviceType in resulting query view.

DeviceTypeChange.Current Message

DeviceType has been added or modified in a query view. Version used for stateless watching

Name Type Description
device_type DeviceType

DeviceTypeChange.Modified Message

DeviceType changed some of it’s fields - contains either full document or masked change

Name Type Description
name string (name of DeviceType) Name of modified DeviceType
device_type DeviceType New version of DeviceType or masked difference, depending on mask_changes instrumentation of issued [WatchDeviceTypeRequest] or [WatchDeviceTypesRequest]
field_mask .google.protobuf.FieldMask Used when mask_changes is set, contains field paths of modified properties.
previous_view_index int32 Previous view index specifies previous position of modified DeviceType. When modification doesn’t affect sorted order, value will remain identical to [view_index].
view_index int32 Integer specifying DeviceType new index in resulting query view.

DeviceTypeChange.Removed Message

Removed is returned when DeviceType is deleted or leaves Query view

Name Type Description
name string (name of DeviceType)
view_index int32 Integer specifying removed DeviceType index. Not populated in stateless watch type.

LogsService Message

Name Type Description
none none none

LogsService.ToClient Message

Messages sent only to a client

Name Type Description
data bytes Logs data

LogsService.ToDevice Message

Messages sent only to a device

Name Type Description
follow bool Live follow the logs service
lines uint32s Number of lines to get from the logs service
source string Source of the logs service (e.g. docker container ID)

OsImageProfileChange Message

OsImageProfileChange is used by Watch notifications Responses to describe change of single OsImageProfile One of Added, Modified, Removed

Name Type Description
added OsImageProfileChange.Added Added is returned when watched document is added, either created or enters Query view
modified OsImageProfileChange.Modified Modified is returned when watched document is modified
current OsImageProfileChange.Current Current is returned in stateless watch when document enters query view or is modified within.
removed OsImageProfileChange.Removed Removed is returned when OsImageProfile is deleted or leaves Query view

OsImageProfileChange.Added Message

OsImageProfile has been added to query view

Name Type Description
os_image_profile OsImageProfile
view_index int32 Integer describing index of added OsImageProfile in resulting query view.

OsImageProfileChange.Current Message

OsImageProfile has been added or modified in a query view. Version used for stateless watching

Name Type Description
os_image_profile OsImageProfile

OsImageProfileChange.Modified Message

OsImageProfile changed some of it’s fields - contains either full document or masked change

Name Type Description
name string (name of OsImageProfile) Name of modified OsImageProfile
os_image_profile OsImageProfile New version of OsImageProfile or masked difference, depending on mask_changes instrumentation of issued [WatchOsImageProfileRequest] or [WatchOsImageProfilesRequest]
field_mask .google.protobuf.FieldMask Used when mask_changes is set, contains field paths of modified properties.
previous_view_index int32 Previous view index specifies previous position of modified OsImageProfile. When modification doesn’t affect sorted order, value will remain identical to [view_index].
view_index int32 Integer specifying OsImageProfile new index in resulting query view.

OsImageProfileChange.Removed Message

Removed is returned when OsImageProfile is deleted or leaves Query view

Name Type Description
name string (name of OsImageProfile)
view_index int32 Integer specifying removed OsImageProfile index. Not populated in stateless watch type.

OsVersionChange Message

OsVersionChange is used by Watch notifications Responses to describe change of single OsVersion One of Added, Modified, Removed

Name Type Description
added OsVersionChange.Added Added is returned when watched document is added, either created or enters Query view
modified OsVersionChange.Modified Modified is returned when watched document is modified
current OsVersionChange.Current Current is returned in stateless watch when document enters query view or is modified within.
removed OsVersionChange.Removed Removed is returned when OsVersion is deleted or leaves Query view

OsVersionChange.Added Message

OsVersion has been added to query view

Name Type Description
os_version OsVersion
view_index int32 Integer describing index of added OsVersion in resulting query view.

OsVersionChange.Current Message

OsVersion has been added or modified in a query view. Version used for stateless watching

Name Type Description
os_version OsVersion

OsVersionChange.Modified Message

OsVersion changed some of it’s fields - contains either full document or masked change

Name Type Description
name string (name of OsVersion) Name of modified OsVersion
os_version OsVersion New version of OsVersion or masked difference, depending on mask_changes instrumentation of issued [WatchOsVersionRequest] or [WatchOsVersionsRequest]
field_mask .google.protobuf.FieldMask Used when mask_changes is set, contains field paths of modified properties.
previous_view_index int32 Previous view index specifies previous position of modified OsVersion. When modification doesn’t affect sorted order, value will remain identical to [view_index].
view_index int32 Integer specifying OsVersion new index in resulting query view.

OsVersionChange.Removed Message

Removed is returned when OsVersion is deleted or leaves Query view

Name Type Description
name string (name of OsVersion)
view_index int32 Integer specifying removed OsVersion index. Not populated in stateless watch type.

PodManagementService Message

Name Type Description
command PodManagementService.PodState Pod state command
pod string Pod to execute the command on
service string Service (container) name to execute the command on (empty = acts on the entire pod)

ProjectChange Message

ProjectChange is used by Watch notifications Responses to describe change of single Project One of Added, Modified, Removed

Name Type Description
added ProjectChange.Added Added is returned when watched document is added, either created or enters Query view
modified ProjectChange.Modified Modified is returned when watched document is modified
current ProjectChange.Current Current is returned in stateless watch when document enters query view or is modified within.
removed ProjectChange.Removed Removed is returned when Project is deleted or leaves Query view

ProjectChange.Added Message

Project has been added to query view

Name Type Description
project Project
view_index int32 Integer describing index of added Project in resulting query view.

ProjectChange.Current Message

Project has been added or modified in a query view. Version used for stateless watching

Name Type Description
project Project

ProjectChange.Modified Message

Project changed some of it’s fields - contains either full document or masked change

Name Type Description
name string (name of Project) Name of modified Project
project Project New version of Project or masked difference, depending on mask_changes instrumentation of issued [WatchProjectRequest] or [WatchProjectsRequest]
field_mask .google.protobuf.FieldMask Used when mask_changes is set, contains field paths of modified properties.
previous_view_index int32 Previous view index specifies previous position of modified Project. When modification doesn’t affect sorted order, value will remain identical to [view_index].
view_index int32 Integer specifying Project new index in resulting query view.

ProjectChange.Removed Message

Removed is returned when Project is deleted or leaves Query view

Name Type Description
name string (name of Project)
view_index int32 Integer specifying removed Project index. Not populated in stateless watch type.

ProvisioningApprovalRequestChange Message

ProvisioningApprovalRequestChange is used by Watch notifications Responses to describe change of single ProvisioningApprovalRequest One of Added, Modified, Removed

Name Type Description
added ProvisioningApprovalRequestChange.Added Added is returned when watched document is added, either created or enters Query view
modified ProvisioningApprovalRequestChange.Modified Modified is returned when watched document is modified
current ProvisioningApprovalRequestChange.Current Current is returned in stateless watch when document enters query view or is modified within.
removed ProvisioningApprovalRequestChange.Removed Removed is returned when ProvisioningApprovalRequest is deleted or leaves Query view

ProvisioningApprovalRequestChange.Added Message

ProvisioningApprovalRequest has been added to query view

Name Type Description
provisioning_approval_request ProvisioningApprovalRequest
view_index int32 Integer describing index of added ProvisioningApprovalRequest in resulting query view.

ProvisioningApprovalRequestChange.Current Message

ProvisioningApprovalRequest has been added or modified in a query view. Version used for stateless watching

Name Type Description
provisioning_approval_request ProvisioningApprovalRequest

ProvisioningApprovalRequestChange.Modified Message

ProvisioningApprovalRequest changed some of it’s fields - contains either full document or masked change

Name Type Description
name string (name of ProvisioningApprovalRequest) Name of modified ProvisioningApprovalRequest
provisioning_approval_request ProvisioningApprovalRequest New version of ProvisioningApprovalRequest or masked difference, depending on mask_changes instrumentation of issued [WatchProvisioningApprovalRequestRequest] or [WatchProvisioningApprovalRequestsRequest]
field_mask .google.protobuf.FieldMask Used when mask_changes is set, contains field paths of modified properties.
previous_view_index int32 Previous view index specifies previous position of modified ProvisioningApprovalRequest. When modification doesn’t affect sorted order, value will remain identical to [view_index].
view_index int32 Integer specifying ProvisioningApprovalRequest new index in resulting query view.

ProvisioningApprovalRequestChange.Removed Message

Removed is returned when ProvisioningApprovalRequest is deleted or leaves Query view

Name Type Description
name string (name of ProvisioningApprovalRequest)
view_index int32 Integer specifying removed ProvisioningApprovalRequest index. Not populated in stateless watch type.

ProvisioningPolicyChange Message

ProvisioningPolicyChange is used by Watch notifications Responses to describe change of single ProvisioningPolicy One of Added, Modified, Removed

Name Type Description
added ProvisioningPolicyChange.Added Added is returned when watched document is added, either created or enters Query view
modified ProvisioningPolicyChange.Modified Modified is returned when watched document is modified
current ProvisioningPolicyChange.Current Current is returned in stateless watch when document enters query view or is modified within.
removed ProvisioningPolicyChange.Removed Removed is returned when ProvisioningPolicy is deleted or leaves Query view

ProvisioningPolicyChange.Added Message

ProvisioningPolicy has been added to query view

Name Type Description
provisioning_policy ProvisioningPolicy
view_index int32 Integer describing index of added ProvisioningPolicy in resulting query view.

ProvisioningPolicyChange.Current Message

ProvisioningPolicy has been added or modified in a query view. Version used for stateless watching

Name Type Description
provisioning_policy ProvisioningPolicy

ProvisioningPolicyChange.Modified Message

ProvisioningPolicy changed some of it’s fields - contains either full document or masked change

Name Type Description
name string (name of ProvisioningPolicy) Name of modified ProvisioningPolicy
provisioning_policy ProvisioningPolicy New version of ProvisioningPolicy or masked difference, depending on mask_changes instrumentation of issued [WatchProvisioningPolicyRequest] or [WatchProvisioningPoliciesRequest]
field_mask .google.protobuf.FieldMask Used when mask_changes is set, contains field paths of modified properties.
previous_view_index int32 Previous view index specifies previous position of modified ProvisioningPolicy. When modification doesn’t affect sorted order, value will remain identical to [view_index].
view_index int32 Integer specifying ProvisioningPolicy new index in resulting query view.

ProvisioningPolicyChange.Removed Message

Removed is returned when ProvisioningPolicy is deleted or leaves Query view

Name Type Description
name string (name of ProvisioningPolicy)
view_index int32 Integer specifying removed ProvisioningPolicy index. Not populated in stateless watch type.

SCPService Message

Name Type Description
dir SCPService.CreateDirectory Request to create a directory
file SCPService.CreateFile Request to create a file
eot bool Request to end SCP transfer
config SCPService.Configure Request SCP configuration

SCPService.Configure Message

Name Type Description
recursive bool
direction SCPService.Configure.Direction
path string

SCPService.CreateDirectory Message

Name Type Description
path string
mode uint32s

SCPService.CreateFile Message

Name Type Description
init SCPService.CreateFile.Initialize Request file initialization
data bytes Request file data
eof bool Request to end file transfer

SCPService.CreateFile.Initialize Message

Name Type Description
path string
mode uint32s
size uint64

SSHService Message

Services on the device that the client connects to

Name Type Description
none none none

SSHService.ClientIn Message

Name Type Description
data bytes

SSHService.ClientOut Message

Name Type Description
data bytes
ssh_hello SSHService.Hello
ssh_resize_terminal SSHService.TerminalSize

SSHService.Hello Message

Name Type Description
user string
command repeated string
env map<string, string> Environment (optional)

SSHService.TerminalSize Message

Name Type Description
width uint32s
height uint32s

SystemStateService Message

Name Type Description
none none none

Devices Service Shared Enumerations

Here is the list of Devices service shared enumerations:

BrokerServiceType Enumeration

Broker dedicated messages

Name Description
BROKER_SERVICE_UNSPECIFIED Service type not specified
BROKER_SERVICE_SSH_LEGACY SSH service
BROKER_SERVICE_SSH
BROKER_SERVICE_TCP_FORWARD_PORT TCP port forward service
BROKER_SERVICE_REBOOT Reboot service
BROKER_SERVICE_SHUTDOWN Shutdown service
BROKER_SERVICE_SCP SCP service
BROKER_SERVICE_SCP_LEGACY
BROKER_SYS_LOGS System Logs service
BROKER_APP_LOGS Application (Container) Logs service
BROKER_POD_MANAGEMENT Pod State Management service

PodManagementService.PodState Enumeration

Commands for pod state management

Name Description
UNSPECIFIED Unspecified pod state
START Start the pod
STOP Stop the pod
RESTART Restart the pod

SCPService.Configure.Direction Enumeration

Name Description
DOWNLOAD
UPLOAD

SystemStateService.SystemState Enumeration

Commands for system state management

Name Description
UNSPECIFIED Unspecified system state
SHUTDOWN Shutdown the system
REBOOT Reboot the system