| Index: chrome/browser/policy/proto/device_management_backend.proto
|
| diff --git a/chrome/browser/policy/proto/device_management_backend.proto b/chrome/browser/policy/proto/device_management_backend.proto
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..6b0cc8d34b243d1e847d86a06f6560d99ed43dfd
|
| --- /dev/null
|
| +++ b/chrome/browser/policy/proto/device_management_backend.proto
|
| @@ -0,0 +1,165 @@
|
| +// Copyright (c) 2010 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +syntax = "proto2";
|
| +
|
| +option optimize_for = LITE_RUNTIME;
|
| +
|
| +package enterprise_management;
|
| +
|
| +// Generic value container.
|
| +message GenericValue {
|
| + enum ValueType {
|
| + VALUE_TYPE_BOOL = 1;
|
| + VALUE_TYPE_INT64 = 2;
|
| + VALUE_TYPE_STRING = 3;
|
| + VALUE_TYPE_DOUBLE = 4;
|
| + VALUE_TYPE_BYTES = 5;
|
| + VALUE_TYPE_BOOL_ARRAY = 6;
|
| + VALUE_TYPE_INT64_ARRAY_ = 7;
|
| + VALUE_TYPE_STRING_ARRAY = 8;
|
| + VALUE_TYPE_DOUBLE_ARRAY = 9;
|
| + }
|
| +
|
| + optional ValueType value_type = 1 [default = VALUE_TYPE_STRING];
|
| +
|
| + // basic value types
|
| + optional bool bool_value = 2;
|
| + optional int64 int64_value = 3;
|
| + optional string string_value = 4;
|
| + optional double double_value = 5;
|
| + optional bytes bytes_value = 6;
|
| + repeated bool bool_array = 7;
|
| + repeated int64 int64_array = 8;
|
| + repeated string string_array = 9;
|
| + repeated double double_array = 10;
|
| +}
|
| +
|
| +// Generic name value pair container.
|
| +message GenericNamedValue {
|
| + required string name = 1;
|
| + optional GenericValue value = 2;
|
| +}
|
| +
|
| +// A setting is a set of generic name value pairs.
|
| +message GenericSetting {
|
| + repeated GenericNamedValue named_value = 1;
|
| +}
|
| +
|
| +// Identify a single device policy setting key/value pair.
|
| +message DevicePolicySetting {
|
| + // key of the policy setting
|
| + required string policy_key = 1;
|
| + // value of the setting
|
| + optional GenericSetting policy_value = 2;
|
| + // watermark for setting value.
|
| + optional string watermark = 3;
|
| +}
|
| +
|
| +// Request from device to server to register device.
|
| +message DeviceRegisterRequest {
|
| + // reregister device without erasing server state.
|
| + // it can be used to refresh dmtoken etc.
|
| + optional bool reregister = 1;
|
| +}
|
| +
|
| +// Response from server to device register request.
|
| +message DeviceRegisterResponse {
|
| + // device mangement toke for this registration.
|
| + required string device_management_token = 1;
|
| +}
|
| +
|
| +// Request from device to server to unregister device.
|
| +message DeviceUnregisterRequest {
|
| +}
|
| +
|
| +// Response from server to device unregister request.
|
| +message DeviceUnregisterResponse {
|
| +}
|
| +
|
| +// Request for a setting or with optional watermark on client side.
|
| +message DevicePolicySettingRequest {
|
| + // setting key
|
| + required string key = 1;
|
| + // watermark last read from server if available.
|
| + optional string watermark = 2;
|
| +}
|
| +
|
| +// Request from device to server to read device policies.
|
| +message DevicePolicyRequest {
|
| + // identify request scope: CrOS settings or other type of settings.
|
| + optional string policy_scope = 1;
|
| + // identify key to the settings: proxy etc.
|
| + repeated DevicePolicySettingRequest setting_request = 2;
|
| +}
|
| +
|
| +// Response from server to agent for reading policies.
|
| +message DevicePolicyResponse {
|
| + // the result of the settings.
|
| + repeated DevicePolicySetting setting = 1;
|
| +}
|
| +
|
| +// Request from the DMAgent on the device to the DMServer.
|
| +// This is container for all requests from client.
|
| +//
|
| +// Authorization:
|
| +// 1. If request is register_request, client must pass in GoogleLogin auth
|
| +// cookie in Authorization header:
|
| +// Authorization: GoogleLogin auth=<auth cookie>
|
| +// The response will contain an unique DMToken for future requests.
|
| +// Depending on domain policy, the request may need admin approval before
|
| +// DMToken is issued.
|
| +// 2. For other requests, client must pass in DMToken in Authorization header:
|
| +// Authorization: GoogleDMToken token=<google dm token>
|
| +//
|
| +// Http Query parameters:
|
| +// Query parameters contain the following information in each request:
|
| +// request: register/unregister/policy etc.
|
| +// devicetype: CrOS/Android/Iphone etc.
|
| +// apptype: CrOS/AndroidDM etc.
|
| +// deviceid: unique id that identify the device.
|
| +// agent: identify agent on device.
|
| +message DeviceManagementRequest {
|
| + // Register request.
|
| + optional DeviceRegisterRequest register_request = 1;
|
| +
|
| + // Unregister request.
|
| + optional DeviceUnregisterRequest unregister_request = 2;
|
| +
|
| + // Data request.
|
| + optional DevicePolicyRequest policy_request = 3;
|
| +}
|
| +
|
| +// Response from server to device.
|
| +message DeviceManagementResponse {
|
| + // Error code to client.
|
| + enum ErrorCode {
|
| + SUCCESS = 0;
|
| + // Returned for register request when device management is not supported
|
| + // for the domain.
|
| + DEVICE_MANAGEMENT_NOT_SUPPORTED = 1;
|
| + // Returned when the device is not found.
|
| + DEVICE_NOT_FOUND = 2;
|
| + // Returned when passed in device management token doesn't match the token
|
| + // on server side.
|
| + DEVICE_MANAGEMENT_TOKEN_INVALID = 3;
|
| + // Returned when device registration is pending approval (if required).
|
| + ACTIVATION_PENDING = 4;
|
| + }
|
| +
|
| + // Error code for this request.
|
| + required ErrorCode error = 1;
|
| +
|
| + // Error message.
|
| + optional string error_message = 2;
|
| +
|
| + // Register response
|
| + optional DeviceRegisterResponse register_response = 3;
|
| +
|
| + // Unregister response
|
| + optional DeviceUnregisterResponse unregister_response = 4;
|
| +
|
| + // Policy response.
|
| + optional DevicePolicyResponse policy_response = 5;
|
| +}
|
|
|