| // Copyright 2023 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.ads.admanager.v1; |
| |
| import "google/api/annotations.proto"; |
| import "google/api/client.proto"; |
| import "google/api/field_behavior.proto"; |
| import "google/api/resource.proto"; |
| |
| option csharp_namespace = "Google.Ads.AdManager.V1"; |
| option go_package = "google.golang.org/genproto/googleapis/ads/admanager/v1;admanager"; |
| option java_multiple_files = true; |
| option java_outer_classname = "UserServiceProto"; |
| option java_package = "com.google.ads.admanager.v1"; |
| option objc_class_prefix = "GAA"; |
| option php_namespace = "Google\\Ads\\AdManager\\V1"; |
| |
| // Provides methods for handling User objects. |
| service UserService { |
| option (google.api.default_host) = "admanager.googleapis.com"; |
| |
| // API to retrieve a User object. |
| rpc GetUser(GetUserRequest) returns (User) { |
| option (google.api.http) = { |
| get: "/v1/{name=networks/*/users/*}" |
| }; |
| option (google.api.method_signature) = "name"; |
| } |
| |
| // API to retrieve a list of User objects. |
| rpc ListUsers(ListUsersRequest) returns (ListUsersResponse) { |
| option (google.api.http) = { |
| get: "/v1/{parent=networks/*}/users" |
| }; |
| option (google.api.method_signature) = "parent"; |
| } |
| } |
| |
| // The User resource. |
| message User { |
| option (google.api.resource) = { |
| type: "admanager.googleapis.com/User" |
| pattern: "networks/{network_code}/users/{user}" |
| plural: "users" |
| singular: "user" |
| }; |
| |
| // Identifier. The resource name of the User. |
| // Format: `networks/{network_code}/users/{user_id}` |
| string name = 1 [(google.api.field_behavior) = IDENTIFIER]; |
| |
| // Output only. `User` ID. |
| int64 user_id = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; |
| |
| // Required. The name of the User. It has a maximum length of 128 characters. |
| string display_name = 2 [(google.api.field_behavior) = REQUIRED]; |
| |
| // Required. The email or login of the User. In order to create a new user, |
| // you must already have a Google Account. |
| string email = 3 [(google.api.field_behavior) = REQUIRED]; |
| |
| // Required. The unique Role ID of the User. Roles that are created by Google |
| // will have negative IDs. |
| string role = 4 [ |
| (google.api.field_behavior) = REQUIRED, |
| (google.api.resource_reference) = { type: "admanager.googleapis.com/Role" } |
| ]; |
| |
| // Output only. Specifies whether or not the User is active. An inactive user |
| // cannot log in to the system or perform any operations. |
| bool active = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; |
| |
| // Optional. An identifier for the User that is meaningful to the publisher. |
| // This attribute has a maximum length of 255 characters. |
| string external_id = 7 [(google.api.field_behavior) = OPTIONAL]; |
| |
| // Output only. Whether the user is an OAuth2 service account user. |
| // Service account users can only be added through the UI. |
| bool service_account = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; |
| |
| // Optional. The IANA Time Zone Database time zone, e.g. "America/New_York", |
| // used in the orders and line items UI for this User. If not provided, the UI |
| // then defaults to using the Network's timezone. This setting only affects |
| // the UI for this user and does not affect the timezone of any dates and |
| // times returned in API responses. |
| string orders_ui_local_time_zone = 9 [(google.api.field_behavior) = OPTIONAL]; |
| } |
| |
| // Request object for GetUser method. |
| message GetUserRequest { |
| // Required. The resource name of the User. |
| // Format: `networks/{network_code}/users/{user_id}` |
| string name = 1 [ |
| (google.api.field_behavior) = REQUIRED, |
| (google.api.resource_reference) = { type: "admanager.googleapis.com/User" } |
| ]; |
| } |
| |
| // Request object for ListUsers method. |
| message ListUsersRequest { |
| // Required. The parent, which owns this collection of Users. |
| // Format: `networks/{network_code}` |
| string parent = 1 [ |
| (google.api.field_behavior) = REQUIRED, |
| (google.api.resource_reference) = { |
| type: "admanager.googleapis.com/Network" |
| } |
| ]; |
| |
| // Optional. The maximum number of Users to return. The service may return |
| // fewer than this value. If unspecified, at most 50 users will be returned. |
| // The maximum value is 1000; values above 1000 will be coerced to 1000. |
| int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL]; |
| |
| // Optional. A page token, received from a previous `ListUsers` call. |
| // Provide this to retrieve the subsequent page. |
| // |
| // When paginating, all other parameters provided to `ListUsers` must match |
| // the call that provided the page token. |
| string page_token = 3 [(google.api.field_behavior) = OPTIONAL]; |
| |
| // Optional. Expression to filter the response. |
| // See syntax details at |
| // https://developers.google.com/ad-manager/api/beta/filters |
| string filter = 4 [(google.api.field_behavior) = OPTIONAL]; |
| |
| // Optional. Expression to specify sorting order. |
| // See syntax details at |
| // https://developers.google.com/ad-manager/api/beta/filters#order |
| string order_by = 5 [(google.api.field_behavior) = OPTIONAL]; |
| |
| // Optional. Number of individual resources to skip while paginating. |
| int32 skip = 6 [(google.api.field_behavior) = OPTIONAL]; |
| } |
| |
| // Response object for ListUsersRequest containing matching User resources. |
| message ListUsersResponse { |
| // The User from the specified network. |
| repeated User users = 1; |
| |
| // A token, which can be sent as `page_token` to retrieve the next page. |
| // If this field is omitted, there are no subsequent pages. |
| string next_page_token = 2; |
| |
| // Total number of Users. |
| // If a filter was included in the request, this reflects the total number |
| // after the filtering is applied. |
| // |
| // `total_size` will not be calculated in the response unless it has been |
| // included in a response field mask. The response field mask can be provided |
| // to the method by using the URL parameter `$fields` or `fields`, or by using |
| // the HTTP/gRPC header `X-Goog-FieldMask`. |
| // |
| // For more information, see |
| // https://developers.google.com/ad-manager/api/beta/field-masks |
| int32 total_size = 3; |
| } |