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/api/resource.proto"; 21import "google/cloud/channel/v1/common.proto"; 22import "google/protobuf/timestamp.proto"; 23import "google/type/postal_address.proto"; 24 25option go_package = "cloud.google.com/go/channel/apiv1/channelpb;channelpb"; 26option java_multiple_files = true; 27option java_outer_classname = "CustomersProto"; 28option java_package = "com.google.cloud.channel.v1"; 29 30// Entity representing a customer of a reseller or distributor. 31message Customer { 32 option (google.api.resource) = { 33 type: "cloudchannel.googleapis.com/Customer" 34 pattern: "accounts/{account}/customers/{customer}" 35 }; 36 37 // Output only. Resource name of the customer. 38 // Format: accounts/{account_id}/customers/{customer_id} 39 string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; 40 41 // Required. Name of the organization that the customer entity represents. 42 string org_display_name = 2 [(google.api.field_behavior) = REQUIRED]; 43 44 // Required. The organization address for the customer. To enforce US laws and 45 // embargoes, we require a region and zip code. You must provide valid 46 // addresses for every customer. To set the customer's language, use the 47 // Customer-level language code. 48 google.type.PostalAddress org_postal_address = 3 49 [(google.api.field_behavior) = REQUIRED]; 50 51 // Primary contact info. 52 ContactInfo primary_contact_info = 4; 53 54 // Secondary contact email. You need to provide an alternate email to create 55 // different domains if a primary contact email already exists. Users will 56 // receive a notification with credentials when you create an admin.google.com 57 // account. Secondary emails are also recovery email addresses. Alternate 58 // emails are optional when you create Team customers. 59 string alternate_email = 5; 60 61 // Required. The customer's primary domain. Must match the primary contact 62 // email's domain. 63 string domain = 6 [(google.api.field_behavior) = REQUIRED]; 64 65 // Output only. Time when the customer was created. 66 google.protobuf.Timestamp create_time = 7 67 [(google.api.field_behavior) = OUTPUT_ONLY]; 68 69 // Output only. Time when the customer was updated. 70 google.protobuf.Timestamp update_time = 8 71 [(google.api.field_behavior) = OUTPUT_ONLY]; 72 73 // Output only. The customer's Cloud Identity ID if the customer has a Cloud 74 // Identity resource. 75 string cloud_identity_id = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; 76 77 // Optional. The BCP-47 language code, such as "en-US" or "sr-Latn". For more 78 // information, see 79 // https://www.unicode.org/reports/tr35/#Unicode_locale_identifier. 80 string language_code = 10 [(google.api.field_behavior) = OPTIONAL]; 81 82 // Output only. Cloud Identity information for the customer. 83 // Populated only if a Cloud Identity account exists for this customer. 84 CloudIdentityInfo cloud_identity_info = 12 85 [(google.api.field_behavior) = OUTPUT_ONLY]; 86 87 // Cloud Identity ID of the customer's channel partner. 88 // Populated only if a channel partner exists for this customer. 89 string channel_partner_id = 13; 90 91 // Optional. External CRM ID for the customer. 92 // Populated only if a CRM ID exists for this customer. 93 string correlation_id = 14 [(google.api.field_behavior) = OPTIONAL]; 94} 95 96// Contact information for a customer account. 97message ContactInfo { 98 // The customer account contact's first name. Optional for Team customers. 99 string first_name = 1; 100 101 // The customer account contact's last name. Optional for Team customers. 102 string last_name = 2; 103 104 // Output only. The customer account contact's display name, formatted as a 105 // combination of the customer's first and last name. 106 string display_name = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; 107 108 // The customer account's contact email. Required for entitlements that create 109 // admin.google.com accounts, and serves as the customer's username for those 110 // accounts. Use this email to invite Team customers. 111 string email = 5; 112 113 // Optional. The customer account contact's job title. 114 string title = 6 [(google.api.field_behavior) = OPTIONAL]; 115 116 // The customer account's contact phone number. 117 string phone = 7; 118} 119