xref: /aosp_15_r20/external/googleapis/google/maps/fleetengine/v1/header.proto (revision d5c09012810ac0c9f33fe448fb6da8260d444cc9)
1// Copyright 2023 Google LLC
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7//     http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15syntax = "proto3";
16
17package maps.fleetengine.v1;
18
19import "google/api/field_behavior.proto";
20
21option csharp_namespace = "Google.Maps.FleetEngine.V1";
22option go_package = "cloud.google.com/go/maps/fleetengine/apiv1/fleetenginepb;fleetenginepb";
23option java_multiple_files = true;
24option java_outer_classname = "Headers";
25option java_package = "google.maps.fleetengine.v1";
26option objc_class_prefix = "CFE";
27
28// A RequestHeader contains fields common to all Fleet Engine RPC requests.
29message RequestHeader {
30  // Possible types of SDK.
31  enum SdkType {
32    // The default value. This value is used if the `sdk_type` is omitted.
33    SDK_TYPE_UNSPECIFIED = 0;
34
35    // The calling SDK is Consumer.
36    CONSUMER = 1;
37
38    // The calling SDK is Driver.
39    DRIVER = 2;
40
41    // The calling SDK is JavaScript.
42    JAVASCRIPT = 3;
43  }
44
45  // The platform of the calling SDK.
46  enum Platform {
47    // The default value. This value is used if the platform is omitted.
48    PLATFORM_UNSPECIFIED = 0;
49
50    // The request is coming from Android.
51    ANDROID = 1;
52
53    // The request is coming from iOS.
54    IOS = 2;
55
56    // The request is coming from the web.
57    WEB = 3;
58  }
59
60  // The BCP-47 language code, such as en-US or sr-Latn. For more information,
61  // see http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. If none
62  // is specified, the response may be in any language, with a preference for
63  // English if such a name exists. Field value example: `en-US`.
64  string language_code = 1;
65
66  // Required. CLDR region code of the region where the request originates.
67  // Field value example: `US`.
68  string region_code = 2 [(google.api.field_behavior) = REQUIRED];
69
70  // Version of the calling SDK, if applicable.
71  // The version format is "major.minor.patch", example: `1.1.2`.
72  string sdk_version = 3;
73
74  // Version of the operating system on which the calling SDK is running.
75  // Field value examples: `4.4.1`, `12.1`.
76  string os_version = 4;
77
78  // Model of the device on which the calling SDK is running.
79  // Field value examples: `iPhone12,1`, `SM-G920F`.
80  string device_model = 5;
81
82  // The type of SDK sending the request.
83  SdkType sdk_type = 6;
84
85  // Version of the MapSDK which the calling SDK depends on, if applicable.
86  // The version format is "major.minor.patch", example: `5.2.1`.
87  string maps_sdk_version = 7;
88
89  // Version of the NavSDK which the calling SDK depends on, if applicable.
90  // The version format is "major.minor.patch", example: `2.1.0`.
91  string nav_sdk_version = 8;
92
93  // Platform of the calling SDK.
94  Platform platform = 9;
95
96  // Manufacturer of the Android device from the calling SDK, only applicable
97  // for the Android SDKs.
98  // Field value example: `Samsung`.
99  string manufacturer = 10;
100
101  // Android API level of the calling SDK, only applicable for the Android SDKs.
102  // Field value example: `23`.
103  int32 android_api_level = 11;
104
105  // Optional ID that can be provided for logging purposes in order to identify
106  // the request.
107  string trace_id = 12;
108}
109