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 google.cloud.channel.v1;
18
19import "google/api/field_behavior.proto";
20import "google/protobuf/any.proto";
21
22option go_package = "cloud.google.com/go/channel/apiv1/channelpb;channelpb";
23option java_multiple_files = true;
24option java_outer_classname = "CommonProto";
25option java_package = "com.google.cloud.channel.v1";
26
27// Required Edu Attributes
28message EduData {
29  // Enum to specify the institute type.
30  enum InstituteType {
31    // Not used.
32    INSTITUTE_TYPE_UNSPECIFIED = 0;
33
34    // Elementary/Secondary Schools & Districts
35    K12 = 1;
36
37    // Higher Education Universities & Colleges
38    UNIVERSITY = 2;
39  }
40
41  // Number of students and staff the institute has.
42  enum InstituteSize {
43    // Not used.
44    INSTITUTE_SIZE_UNSPECIFIED = 0;
45
46    // 1 - 100
47    SIZE_1_100 = 1;
48
49    // 101 - 500
50    SIZE_101_500 = 2;
51
52    // 501 - 1,000
53    SIZE_501_1000 = 3;
54
55    // 1,001 - 2,000
56    SIZE_1001_2000 = 4;
57
58    // 2,001 - 5,000
59    SIZE_2001_5000 = 5;
60
61    // 5,001 - 10,000
62    SIZE_5001_10000 = 6;
63
64    // 10,001 +
65    SIZE_10001_OR_MORE = 7;
66  }
67
68  // Designated institute type of customer.
69  InstituteType institute_type = 1;
70
71  // Size of the institute.
72  InstituteSize institute_size = 2;
73
74  // Web address for the edu customer's institution.
75  string website = 3;
76}
77
78// Cloud Identity information for the Cloud Channel Customer.
79message CloudIdentityInfo {
80  // CustomerType of the customer
81  enum CustomerType {
82    // Not used.
83    CUSTOMER_TYPE_UNSPECIFIED = 0;
84
85    // Domain-owning customer which needs domain verification to use services.
86    DOMAIN = 1;
87
88    // Team customer which needs email verification to use services.
89    TEAM = 2;
90  }
91
92  // CustomerType indicates verification type needed for using services.
93  CustomerType customer_type = 1;
94
95  // Output only. The primary domain name.
96  string primary_domain = 9 [(google.api.field_behavior) = OUTPUT_ONLY];
97
98  // Output only. Whether the domain is verified.
99  // This field is not returned for a Customer's cloud_identity_info resource.
100  // Partners can use the domains.get() method of the Workspace SDK's
101  // Directory API, or listen to the PRIMARY_DOMAIN_VERIFIED Pub/Sub event in
102  // to track domain verification of their resolve Workspace customers.
103  bool is_domain_verified = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
104
105  // The alternate email.
106  string alternate_email = 6;
107
108  // Phone number associated with the Cloud Identity.
109  string phone_number = 7;
110
111  // Language code.
112  string language_code = 8;
113
114  // Output only. URI of Customer's Admin console dashboard.
115  string admin_console_uri = 10 [(google.api.field_behavior) = OUTPUT_ONLY];
116
117  // Edu information about the customer.
118  EduData edu_data = 22;
119}
120
121// Data type and value of a parameter.
122message Value {
123  // The kind of value.
124  oneof kind {
125    // Represents an int64 value.
126    int64 int64_value = 1;
127
128    // Represents a string value.
129    string string_value = 2;
130
131    // Represents a double value.
132    double double_value = 3;
133
134    // Represents an 'Any' proto value.
135    google.protobuf.Any proto_value = 4;
136
137    // Represents a boolean value.
138    bool bool_value = 5;
139  }
140}
141
142// Information needed to create an Admin User for Google Workspace.
143message AdminUser {
144  // Primary email of the admin user.
145  string email = 1;
146
147  // Given name of the admin user.
148  string given_name = 2;
149
150  // Family name of the admin user.
151  string family_name = 3;
152}
153