diff options
Diffstat (limited to 'third_party/googleapis/google/home/graph/v1/homegraph.proto')
| -rw-r--r-- | third_party/googleapis/google/home/graph/v1/homegraph.proto | 395 |
1 files changed, 0 insertions, 395 deletions
diff --git a/third_party/googleapis/google/home/graph/v1/homegraph.proto b/third_party/googleapis/google/home/graph/v1/homegraph.proto deleted file mode 100644 index a2c206b..0000000 --- a/third_party/googleapis/google/home/graph/v1/homegraph.proto +++ /dev/null @@ -1,395 +0,0 @@ -// Copyright 2020 Google LLC -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -syntax = "proto3"; - -package google.home.graph.v1; - -import "google/api/annotations.proto"; -import "google/api/client.proto"; -import "google/api/field_behavior.proto"; -import "google/api/resource.proto"; -import "google/home/graph/v1/device.proto"; -import "google/protobuf/empty.proto"; -import "google/protobuf/struct.proto"; - -option go_package = "google.golang.org/genproto/googleapis/home/graph/v1;graph"; -option java_outer_classname = "HomeGraphApiServiceProto"; -option java_package = "com.google.home.graph.v1"; -option php_namespace = "Google\\Home\\Graph\\V1"; -option (google.api.resource_definition) = { - type: "homegraph.googleapis.com/AgentUserPath" - pattern: "agentUsers/{agent_user_path}" -}; - -// Google Home Graph API service. The Home Graph service provides support for -// accessing first-party and third-party devices stored in Google's Home Graph. -// The Home Graph database provides contextual data about the relationships -// between devices and the home. -// -// For more details, see the [Home Graph developer -// guide](https://developers.google.com/assistant/smarthome/concepts/homegraph). -service HomeGraphApiService { - option (google.api.default_host) = "homegraph.googleapis.com"; - - // Requests Google to send an `action.devices.SYNC` - // [intent](https://developers.google.com/assistant/smarthome/reference/intent/sync) - // to your smart home Action to update device metadata for the given user. - // - // - // The third-party user's identity is passed via the `agent_user_id` - // (see - // [RequestSyncDevicesRequest][google.home.graph.v1.RequestSyncDevicesRequest]). - // This request must be authorized using service account credentials from your - // Actions console project. - rpc RequestSyncDevices(RequestSyncDevicesRequest) - returns (RequestSyncDevicesResponse) { - option (google.api.http) = { - post: "/v1/devices:requestSync" - body: "*" - }; - option (google.api.method_signature) = "agent_user_id"; - } - - // Reports device state and optionally sends device notifications. - // Called by your smart home Action when the state of a third-party device - // changes or you need to send a notification about the device. - // See [Implement Report - // State](https://developers.google.com/assistant/smarthome/develop/report-state) - // for more information. - // - // This method updates the device state according to its declared - // [traits](https://developers.google.com/assistant/smarthome/concepts/devices-traits). - // Publishing a new state value outside of these traits will result in an - // `INVALID_ARGUMENT` error response. - // - // The third-party user's identity is passed in via the `agent_user_id` - // (see - // [ReportStateAndNotificationRequest][google.home.graph.v1.ReportStateAndNotificationRequest]). - // This request must be authorized using service account credentials from your - // Actions console project. - rpc ReportStateAndNotification(ReportStateAndNotificationRequest) - returns (ReportStateAndNotificationResponse) { - option (google.api.http) = { - post: "/v1/devices:reportStateAndNotification" - body: "*" - }; - option (google.api.method_signature) = - "request_id,event_id,agent_user_id,payload"; - } - - // Unlinks the given third-party user from your smart home Action. - // All data related to this user will be deleted. - // - // For more details on how users link their accounts, see - // [fulfillment and - // authentication](https://developers.google.com/assistant/smarthome/concepts/fulfillment-authentication). - // - // The third-party user's identity is passed in via the `agent_user_id` - // (see - // [DeleteAgentUserRequest][google.home.graph.v1.DeleteAgentUserRequest]). - // This request must be authorized using service account credentials from your - // Actions console project. - rpc DeleteAgentUser(DeleteAgentUserRequest) returns (google.protobuf.Empty) { - option (google.api.http) = { - delete: "/v1/{agent_user_id=agentUsers/**}" - }; - option (google.api.method_signature) = "request_id,agent_user_id"; - } - - // Gets the current states in Home Graph for the given set of the third-party - // user's devices. - // - // The third-party user's identity is passed in via the `agent_user_id` - // (see [QueryRequest][google.home.graph.v1.QueryRequest]). - // This request must be authorized using service account credentials from your - // Actions console project. - rpc Query(QueryRequest) returns (QueryResponse) { - option (google.api.http) = { - post: "/v1/devices:query" - body: "*" - }; - option (google.api.method_signature) = "request_id,agent_user_id,inputs"; - } - - // Gets all the devices associated with the given third-party user. - // - // The third-party user's identity is passed in via the `agent_user_id` - // (see [SyncRequest][google.home.graph.v1.SyncRequest]). - // This request must be authorized using service account credentials from your - // Actions console project. - rpc Sync(SyncRequest) returns (SyncResponse) { - option (google.api.http) = { - post: "/v1/devices:sync" - body: "*" - }; - option (google.api.method_signature) = "request_id,agent_user_id"; - } -} - -// Request type for the -// [`RequestSyncDevices`](#google.home.graph.v1.HomeGraphApiService.RequestSyncDevices) -// call. -message RequestSyncDevicesRequest { - // Required. Third-party user ID. - string agent_user_id = 1 [(google.api.field_behavior) = REQUIRED]; - - // Optional. If set, the request will be added to a queue and a response will - // be returned immediately. This enables concurrent requests for the given - // `agent_user_id`, but the caller will not receive any error responses. - bool async = 2 [(google.api.field_behavior) = OPTIONAL]; -} - -// Response type for the -// [`RequestSyncDevices`](#google.home.graph.v1.HomeGraphApiService.RequestSyncDevices) -// call. -// -// Intentionally empty upon success. An HTTP response code is returned -// with more details upon failure. -message RequestSyncDevicesResponse {} - -// Request type for the -// [`ReportStateAndNotification`](#google.home.graph.v1.HomeGraphApiService.ReportStateAndNotification) -// call. It may include states, notifications, or both. States and notifications -// are defined per `device_id` (for example, "123" and "456" in the following -// example). -// # Example -// -// ```json -// { -// "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", -// "agentUserId": "1234", -// "payload": { -// "devices": { -// "states": { -// "123": { -// "on": true -// }, -// "456": { -// "on": true, -// "brightness": 10 -// } -// }, -// } -// } -// } -// ``` -message ReportStateAndNotificationRequest { - // Request ID used for debugging. - string request_id = 1; - - // Unique identifier per event (for example, a doorbell press). - string event_id = 4; - - // Required. Third-party user ID. - string agent_user_id = 2 [(google.api.field_behavior) = REQUIRED]; - - // Deprecated. - // (-- Token to maintain state in the follow up notification response. See the - // notifications guide at - // https://developers.google.com/assistant/smarthome/develop/notifications for - // details on implementing follow up notifications --) - string follow_up_token = 5 [deprecated = true]; - - // Required. State of devices to update and notification metadata for devices. - StateAndNotificationPayload payload = 3 - [(google.api.field_behavior) = REQUIRED]; -} - -// Response type for the -// [`ReportStateAndNotification`](#google.home.graph.v1.HomeGraphApiService.ReportStateAndNotification) -// call. -message ReportStateAndNotificationResponse { - // Request ID copied from - // [ReportStateAndNotificationRequest][google.home.graph.v1.ReportStateAndNotificationRequest]. - string request_id = 1; -} - -// Payload containing the state and notification information for devices. -message StateAndNotificationPayload { - // The devices for updating state and sending notifications. - ReportStateAndNotificationDevice devices = 1; -} - -// The states and notifications specific to a device. -message ReportStateAndNotificationDevice { - // States of devices to update. See the **Device STATES** section - // of the individual trait [reference - // guides](https://developers.google.com/assistant/smarthome/traits). - google.protobuf.Struct states = 1; - - // Notifications metadata for devices. See the **Device NOTIFICATIONS** - // section of the individual trait [reference - // guides](https://developers.google.com/assistant/smarthome/traits). - google.protobuf.Struct notifications = 2; -} - -// Request type for the -// [`DeleteAgentUser`](#google.home.graph.v1.HomeGraphApiService.DeleteAgentUser) -// call. -message DeleteAgentUserRequest { - // Request ID used for debugging. - string request_id = 1; - - // Required. Third-party user ID. - string agent_user_id = 2 [ - (google.api.field_behavior) = REQUIRED, - (google.api.resource_reference) = { - type: "homegraph.googleapis.com/AgentUserPath" - } - ]; -} - -// Request type for the -// [`Query`](#google.home.graph.v1.HomeGraphApiService.Query) call. -message QueryRequest { - // Request ID used for debugging. - string request_id = 1; - - // Required. Third-party user ID. - string agent_user_id = 2 [(google.api.field_behavior) = REQUIRED]; - - // Required. Inputs containing third-party device IDs for which to - // get the device states. - repeated QueryRequestInput inputs = 3 - [(google.api.field_behavior) = REQUIRED]; -} - -// Device ID inputs to [QueryRequest][google.home.graph.v1.QueryRequest]. -message QueryRequestInput { - // Payload containing third-party device IDs. - QueryRequestPayload payload = 1; -} - -// Payload containing device IDs. -message QueryRequestPayload { - // Third-party device IDs for which to get the device states. - repeated AgentDeviceId devices = 1; -} - -// Third-party device ID for one device. -message AgentDeviceId { - // Third-party device ID. - string id = 1; -} - -// Response type for the -// [`Query`](#google.home.graph.v1.HomeGraphApiService.Query) call. -// This should follow the same format as the Google smart home -// `action.devices.QUERY` -// [response](https://developers.google.com/assistant/smarthome/reference/intent/query). -// # Example -// -// ```json -// { -// "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", -// "payload": { -// "devices": { -// "123": { -// "on": true, -// "online": true -// }, -// "456": { -// "on": true, -// "online": true, -// "brightness": 80, -// "color": { -// "name": "cerulean", -// "spectrumRGB": 31655 -// } -// } -// } -// } -// } -// ``` -message QueryResponse { - // Request ID used for debugging. Copied from the request. - string request_id = 1; - - // Device states for the devices given in the request. - QueryResponsePayload payload = 2; -} - -// Payload containing device states information. -message QueryResponsePayload { - // States of the devices. Map of third-party device ID to struct of device - // states. - map<string, google.protobuf.Struct> devices = 1; -} - -// Request type for the [`Sync`](#google.home.graph.v1.HomeGraphApiService.Sync) -// call. -message SyncRequest { - // Request ID used for debugging. - string request_id = 1; - - // Required. Third-party user ID. - string agent_user_id = 2 [(google.api.field_behavior) = REQUIRED]; -} - -// Response type for the -// [`Sync`](#google.home.graph.v1.HomeGraphApiService.Sync) call. -// This should follow the same format as the Google smart home -// `action.devices.SYNC` -// [response](https://developers.google.com/assistant/smarthome/reference/intent/sync). -// # Example -// -// ```json -// { -// "requestId": "ff36a3cc-ec34-11e6-b1a0-64510650abcf", -// "payload": { -// "agentUserId": "1836.15267389", -// "devices": [{ -// "id": "123", -// "type": "action.devices.types.OUTLET", -// "traits": [ -// "action.devices.traits.OnOff" -// ], -// "name": { -// "defaultNames": ["My Outlet 1234"], -// "name": "Night light", -// "nicknames": ["wall plug"] -// }, -// "willReportState": false, -// "deviceInfo": { -// "manufacturer": "lights-out-inc", -// "model": "hs1234", -// "hwVersion": "3.2", -// "swVersion": "11.4" -// }, -// "customData": { -// "fooValue": 74, -// "barValue": true, -// "bazValue": "foo" -// } -// }] -// } -// } -// ``` -message SyncResponse { - // Request ID used for debugging. Copied from the request. - string request_id = 1; - - // Devices associated with the third-party user. - SyncResponsePayload payload = 2; -} - -// Payload containing device information. -message SyncResponsePayload { - // Third-party user ID - string agent_user_id = 1; - - // Devices associated with the third-party user. - repeated Device devices = 2; -} |
