1*d5c09012SAndroid Build Coastguard Worker// Copyright 2023 Google LLC 2*d5c09012SAndroid Build Coastguard Worker// 3*d5c09012SAndroid Build Coastguard Worker// Licensed under the Apache License, Version 2.0 (the "License"); 4*d5c09012SAndroid Build Coastguard Worker// you may not use this file except in compliance with the License. 5*d5c09012SAndroid Build Coastguard Worker// You may obtain a copy of the License at 6*d5c09012SAndroid Build Coastguard Worker// 7*d5c09012SAndroid Build Coastguard Worker// http://www.apache.org/licenses/LICENSE-2.0 8*d5c09012SAndroid Build Coastguard Worker// 9*d5c09012SAndroid Build Coastguard Worker// Unless required by applicable law or agreed to in writing, software 10*d5c09012SAndroid Build Coastguard Worker// distributed under the License is distributed on an "AS IS" BASIS, 11*d5c09012SAndroid Build Coastguard Worker// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12*d5c09012SAndroid Build Coastguard Worker// See the License for the specific language governing permissions and 13*d5c09012SAndroid Build Coastguard Worker// limitations under the License. 14*d5c09012SAndroid Build Coastguard Worker 15*d5c09012SAndroid Build Coastguard Workersyntax = "proto3"; 16*d5c09012SAndroid Build Coastguard Worker 17*d5c09012SAndroid Build Coastguard Workerpackage google.cloud.essentialcontacts.v1; 18*d5c09012SAndroid Build Coastguard Worker 19*d5c09012SAndroid Build Coastguard Workerimport "google/api/annotations.proto"; 20*d5c09012SAndroid Build Coastguard Workerimport "google/api/client.proto"; 21*d5c09012SAndroid Build Coastguard Workerimport "google/api/field_behavior.proto"; 22*d5c09012SAndroid Build Coastguard Workerimport "google/api/resource.proto"; 23*d5c09012SAndroid Build Coastguard Workerimport "google/cloud/essentialcontacts/v1/enums.proto"; 24*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/empty.proto"; 25*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/field_mask.proto"; 26*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/timestamp.proto"; 27*d5c09012SAndroid Build Coastguard Worker 28*d5c09012SAndroid Build Coastguard Workeroption csharp_namespace = "Google.Cloud.EssentialContacts.V1"; 29*d5c09012SAndroid Build Coastguard Workeroption go_package = "cloud.google.com/go/essentialcontacts/apiv1/essentialcontactspb;essentialcontactspb"; 30*d5c09012SAndroid Build Coastguard Workeroption java_multiple_files = true; 31*d5c09012SAndroid Build Coastguard Workeroption java_package = "com.google.cloud.essentialcontacts.v1"; 32*d5c09012SAndroid Build Coastguard Workeroption php_namespace = "Google\\Cloud\\EssentialContacts\\V1"; 33*d5c09012SAndroid Build Coastguard Workeroption ruby_package = "Google::Cloud::EssentialContacts::V1"; 34*d5c09012SAndroid Build Coastguard Worker 35*d5c09012SAndroid Build Coastguard Worker// Manages contacts for important Google Cloud notifications. 36*d5c09012SAndroid Build Coastguard Workerservice EssentialContactsService { 37*d5c09012SAndroid Build Coastguard Worker option (google.api.default_host) = "essentialcontacts.googleapis.com"; 38*d5c09012SAndroid Build Coastguard Worker option (google.api.oauth_scopes) = 39*d5c09012SAndroid Build Coastguard Worker "https://www.googleapis.com/auth/cloud-platform"; 40*d5c09012SAndroid Build Coastguard Worker 41*d5c09012SAndroid Build Coastguard Worker // Adds a new contact for a resource. 42*d5c09012SAndroid Build Coastguard Worker rpc CreateContact(CreateContactRequest) returns (Contact) { 43*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 44*d5c09012SAndroid Build Coastguard Worker post: "/v1/{parent=projects/*}/contacts" 45*d5c09012SAndroid Build Coastguard Worker body: "contact" 46*d5c09012SAndroid Build Coastguard Worker additional_bindings { 47*d5c09012SAndroid Build Coastguard Worker post: "/v1/{parent=folders/*}/contacts" 48*d5c09012SAndroid Build Coastguard Worker body: "contact" 49*d5c09012SAndroid Build Coastguard Worker } 50*d5c09012SAndroid Build Coastguard Worker additional_bindings { 51*d5c09012SAndroid Build Coastguard Worker post: "/v1/{parent=organizations/*}/contacts" 52*d5c09012SAndroid Build Coastguard Worker body: "contact" 53*d5c09012SAndroid Build Coastguard Worker } 54*d5c09012SAndroid Build Coastguard Worker }; 55*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "parent,contact"; 56*d5c09012SAndroid Build Coastguard Worker } 57*d5c09012SAndroid Build Coastguard Worker 58*d5c09012SAndroid Build Coastguard Worker // Updates a contact. 59*d5c09012SAndroid Build Coastguard Worker // Note: A contact's email address cannot be changed. 60*d5c09012SAndroid Build Coastguard Worker rpc UpdateContact(UpdateContactRequest) returns (Contact) { 61*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 62*d5c09012SAndroid Build Coastguard Worker patch: "/v1/{contact.name=projects/*/contacts/*}" 63*d5c09012SAndroid Build Coastguard Worker body: "contact" 64*d5c09012SAndroid Build Coastguard Worker additional_bindings { 65*d5c09012SAndroid Build Coastguard Worker patch: "/v1/{contact.name=folders/*/contacts/*}" 66*d5c09012SAndroid Build Coastguard Worker body: "contact" 67*d5c09012SAndroid Build Coastguard Worker } 68*d5c09012SAndroid Build Coastguard Worker additional_bindings { 69*d5c09012SAndroid Build Coastguard Worker patch: "/v1/{contact.name=organizations/*/contacts/*}" 70*d5c09012SAndroid Build Coastguard Worker body: "contact" 71*d5c09012SAndroid Build Coastguard Worker } 72*d5c09012SAndroid Build Coastguard Worker }; 73*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "contact,update_mask"; 74*d5c09012SAndroid Build Coastguard Worker } 75*d5c09012SAndroid Build Coastguard Worker 76*d5c09012SAndroid Build Coastguard Worker // Lists the contacts that have been set on a resource. 77*d5c09012SAndroid Build Coastguard Worker rpc ListContacts(ListContactsRequest) returns (ListContactsResponse) { 78*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 79*d5c09012SAndroid Build Coastguard Worker get: "/v1/{parent=projects/*}/contacts" 80*d5c09012SAndroid Build Coastguard Worker additional_bindings { get: "/v1/{parent=folders/*}/contacts" } 81*d5c09012SAndroid Build Coastguard Worker additional_bindings { get: "/v1/{parent=organizations/*}/contacts" } 82*d5c09012SAndroid Build Coastguard Worker }; 83*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "parent"; 84*d5c09012SAndroid Build Coastguard Worker } 85*d5c09012SAndroid Build Coastguard Worker 86*d5c09012SAndroid Build Coastguard Worker // Gets a single contact. 87*d5c09012SAndroid Build Coastguard Worker rpc GetContact(GetContactRequest) returns (Contact) { 88*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 89*d5c09012SAndroid Build Coastguard Worker get: "/v1/{name=projects/*/contacts/*}" 90*d5c09012SAndroid Build Coastguard Worker additional_bindings { get: "/v1/{name=folders/*/contacts/*}" } 91*d5c09012SAndroid Build Coastguard Worker additional_bindings { get: "/v1/{name=organizations/*/contacts/*}" } 92*d5c09012SAndroid Build Coastguard Worker }; 93*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "name"; 94*d5c09012SAndroid Build Coastguard Worker } 95*d5c09012SAndroid Build Coastguard Worker 96*d5c09012SAndroid Build Coastguard Worker // Deletes a contact. 97*d5c09012SAndroid Build Coastguard Worker rpc DeleteContact(DeleteContactRequest) returns (google.protobuf.Empty) { 98*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 99*d5c09012SAndroid Build Coastguard Worker delete: "/v1/{name=projects/*/contacts/*}" 100*d5c09012SAndroid Build Coastguard Worker additional_bindings { delete: "/v1/{name=folders/*/contacts/*}" } 101*d5c09012SAndroid Build Coastguard Worker additional_bindings { delete: "/v1/{name=organizations/*/contacts/*}" } 102*d5c09012SAndroid Build Coastguard Worker }; 103*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "name"; 104*d5c09012SAndroid Build Coastguard Worker } 105*d5c09012SAndroid Build Coastguard Worker 106*d5c09012SAndroid Build Coastguard Worker // Lists all contacts for the resource that are subscribed to the 107*d5c09012SAndroid Build Coastguard Worker // specified notification categories, including contacts inherited from 108*d5c09012SAndroid Build Coastguard Worker // any parent resources. 109*d5c09012SAndroid Build Coastguard Worker rpc ComputeContacts(ComputeContactsRequest) 110*d5c09012SAndroid Build Coastguard Worker returns (ComputeContactsResponse) { 111*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 112*d5c09012SAndroid Build Coastguard Worker get: "/v1/{parent=projects/*}/contacts:compute" 113*d5c09012SAndroid Build Coastguard Worker additional_bindings { get: "/v1/{parent=folders/*}/contacts:compute" } 114*d5c09012SAndroid Build Coastguard Worker additional_bindings { 115*d5c09012SAndroid Build Coastguard Worker get: "/v1/{parent=organizations/*}/contacts:compute" 116*d5c09012SAndroid Build Coastguard Worker } 117*d5c09012SAndroid Build Coastguard Worker }; 118*d5c09012SAndroid Build Coastguard Worker } 119*d5c09012SAndroid Build Coastguard Worker 120*d5c09012SAndroid Build Coastguard Worker // Allows a contact admin to send a test message to contact to verify that it 121*d5c09012SAndroid Build Coastguard Worker // has been configured correctly. 122*d5c09012SAndroid Build Coastguard Worker rpc SendTestMessage(SendTestMessageRequest) returns (google.protobuf.Empty) { 123*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 124*d5c09012SAndroid Build Coastguard Worker post: "/v1/{resource=projects/*}/contacts:sendTestMessage" 125*d5c09012SAndroid Build Coastguard Worker body: "*" 126*d5c09012SAndroid Build Coastguard Worker additional_bindings { 127*d5c09012SAndroid Build Coastguard Worker post: "/v1/{resource=folders/*}/contacts:sendTestMessage" 128*d5c09012SAndroid Build Coastguard Worker body: "*" 129*d5c09012SAndroid Build Coastguard Worker } 130*d5c09012SAndroid Build Coastguard Worker additional_bindings { 131*d5c09012SAndroid Build Coastguard Worker post: "/v1/{resource=organizations/*}/contacts:sendTestMessage" 132*d5c09012SAndroid Build Coastguard Worker body: "*" 133*d5c09012SAndroid Build Coastguard Worker } 134*d5c09012SAndroid Build Coastguard Worker }; 135*d5c09012SAndroid Build Coastguard Worker } 136*d5c09012SAndroid Build Coastguard Worker} 137*d5c09012SAndroid Build Coastguard Worker 138*d5c09012SAndroid Build Coastguard Worker// A contact that will receive notifications from Google Cloud. 139*d5c09012SAndroid Build Coastguard Workermessage Contact { 140*d5c09012SAndroid Build Coastguard Worker option (google.api.resource) = { 141*d5c09012SAndroid Build Coastguard Worker type: "essentialcontacts.googleapis.com/Contact" 142*d5c09012SAndroid Build Coastguard Worker pattern: "projects/{project}/contacts/{contact}" 143*d5c09012SAndroid Build Coastguard Worker pattern: "folders/{folder}/contacts/{contact}" 144*d5c09012SAndroid Build Coastguard Worker pattern: "organizations/{organization}/contacts/{contact}" 145*d5c09012SAndroid Build Coastguard Worker }; 146*d5c09012SAndroid Build Coastguard Worker 147*d5c09012SAndroid Build Coastguard Worker // Output only. The identifier for the contact. 148*d5c09012SAndroid Build Coastguard Worker // Format: {resource_type}/{resource_id}/contacts/{contact_id} 149*d5c09012SAndroid Build Coastguard Worker string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; 150*d5c09012SAndroid Build Coastguard Worker 151*d5c09012SAndroid Build Coastguard Worker // Required. The email address to send notifications to. The email address 152*d5c09012SAndroid Build Coastguard Worker // does not need to be a Google Account. 153*d5c09012SAndroid Build Coastguard Worker string email = 2 [(google.api.field_behavior) = REQUIRED]; 154*d5c09012SAndroid Build Coastguard Worker 155*d5c09012SAndroid Build Coastguard Worker // Required. The categories of notifications that the contact will receive 156*d5c09012SAndroid Build Coastguard Worker // communications for. 157*d5c09012SAndroid Build Coastguard Worker repeated NotificationCategory notification_category_subscriptions = 3 158*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = REQUIRED]; 159*d5c09012SAndroid Build Coastguard Worker 160*d5c09012SAndroid Build Coastguard Worker // Required. The preferred language for notifications, as a ISO 639-1 language 161*d5c09012SAndroid Build Coastguard Worker // code. See [Supported 162*d5c09012SAndroid Build Coastguard Worker // languages](https://cloud.google.com/resource-manager/docs/managing-notification-contacts#supported-languages) 163*d5c09012SAndroid Build Coastguard Worker // for a list of supported languages. 164*d5c09012SAndroid Build Coastguard Worker string language_tag = 4 [(google.api.field_behavior) = REQUIRED]; 165*d5c09012SAndroid Build Coastguard Worker 166*d5c09012SAndroid Build Coastguard Worker // The validity of the contact. A contact is considered valid if it is the 167*d5c09012SAndroid Build Coastguard Worker // correct recipient for notifications for a particular resource. 168*d5c09012SAndroid Build Coastguard Worker ValidationState validation_state = 8; 169*d5c09012SAndroid Build Coastguard Worker 170*d5c09012SAndroid Build Coastguard Worker // The last time the validation_state was updated, either manually or 171*d5c09012SAndroid Build Coastguard Worker // automatically. A contact is considered stale if its validation state was 172*d5c09012SAndroid Build Coastguard Worker // updated more than 1 year ago. 173*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp validate_time = 9; 174*d5c09012SAndroid Build Coastguard Worker} 175*d5c09012SAndroid Build Coastguard Worker 176*d5c09012SAndroid Build Coastguard Worker// Request message for the ListContacts method. 177*d5c09012SAndroid Build Coastguard Workermessage ListContactsRequest { 178*d5c09012SAndroid Build Coastguard Worker // Required. The parent resource name. 179*d5c09012SAndroid Build Coastguard Worker // Format: organizations/{organization_id}, folders/{folder_id} or 180*d5c09012SAndroid Build Coastguard Worker // projects/{project_id} 181*d5c09012SAndroid Build Coastguard Worker string parent = 1 [ 182*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 183*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 184*d5c09012SAndroid Build Coastguard Worker child_type: "essentialcontacts.googleapis.com/Contact" 185*d5c09012SAndroid Build Coastguard Worker } 186*d5c09012SAndroid Build Coastguard Worker ]; 187*d5c09012SAndroid Build Coastguard Worker 188*d5c09012SAndroid Build Coastguard Worker // Optional. The maximum number of results to return from this request. 189*d5c09012SAndroid Build Coastguard Worker // Non-positive values are ignored. The presence of `next_page_token` in the 190*d5c09012SAndroid Build Coastguard Worker // response indicates that more results might be available. 191*d5c09012SAndroid Build Coastguard Worker // If not specified, the default page_size is 100. 192*d5c09012SAndroid Build Coastguard Worker int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL]; 193*d5c09012SAndroid Build Coastguard Worker 194*d5c09012SAndroid Build Coastguard Worker // Optional. If present, retrieves the next batch of results from the 195*d5c09012SAndroid Build Coastguard Worker // preceding call to this method. `page_token` must be the value of 196*d5c09012SAndroid Build Coastguard Worker // `next_page_token` from the previous response. The values of other method 197*d5c09012SAndroid Build Coastguard Worker // parameters should be identical to those in the previous call. 198*d5c09012SAndroid Build Coastguard Worker string page_token = 3 [(google.api.field_behavior) = OPTIONAL]; 199*d5c09012SAndroid Build Coastguard Worker} 200*d5c09012SAndroid Build Coastguard Worker 201*d5c09012SAndroid Build Coastguard Worker// Response message for the ListContacts method. 202*d5c09012SAndroid Build Coastguard Workermessage ListContactsResponse { 203*d5c09012SAndroid Build Coastguard Worker // The contacts for the specified resource. 204*d5c09012SAndroid Build Coastguard Worker repeated Contact contacts = 1; 205*d5c09012SAndroid Build Coastguard Worker 206*d5c09012SAndroid Build Coastguard Worker // If there are more results than those appearing in this response, then 207*d5c09012SAndroid Build Coastguard Worker // `next_page_token` is included. To get the next set of results, call this 208*d5c09012SAndroid Build Coastguard Worker // method again using the value of `next_page_token` as `page_token` and the 209*d5c09012SAndroid Build Coastguard Worker // rest of the parameters the same as the original request. 210*d5c09012SAndroid Build Coastguard Worker string next_page_token = 2; 211*d5c09012SAndroid Build Coastguard Worker} 212*d5c09012SAndroid Build Coastguard Worker 213*d5c09012SAndroid Build Coastguard Worker// Request message for the GetContact method. 214*d5c09012SAndroid Build Coastguard Workermessage GetContactRequest { 215*d5c09012SAndroid Build Coastguard Worker // Required. The name of the contact to retrieve. 216*d5c09012SAndroid Build Coastguard Worker // Format: organizations/{organization_id}/contacts/{contact_id}, 217*d5c09012SAndroid Build Coastguard Worker // folders/{folder_id}/contacts/{contact_id} or 218*d5c09012SAndroid Build Coastguard Worker // projects/{project_id}/contacts/{contact_id} 219*d5c09012SAndroid Build Coastguard Worker string name = 1 [ 220*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 221*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 222*d5c09012SAndroid Build Coastguard Worker type: "essentialcontacts.googleapis.com/Contact" 223*d5c09012SAndroid Build Coastguard Worker } 224*d5c09012SAndroid Build Coastguard Worker ]; 225*d5c09012SAndroid Build Coastguard Worker} 226*d5c09012SAndroid Build Coastguard Worker 227*d5c09012SAndroid Build Coastguard Worker// Request message for the DeleteContact method. 228*d5c09012SAndroid Build Coastguard Workermessage DeleteContactRequest { 229*d5c09012SAndroid Build Coastguard Worker // Required. The name of the contact to delete. 230*d5c09012SAndroid Build Coastguard Worker // Format: organizations/{organization_id}/contacts/{contact_id}, 231*d5c09012SAndroid Build Coastguard Worker // folders/{folder_id}/contacts/{contact_id} or 232*d5c09012SAndroid Build Coastguard Worker // projects/{project_id}/contacts/{contact_id} 233*d5c09012SAndroid Build Coastguard Worker string name = 1 [ 234*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 235*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 236*d5c09012SAndroid Build Coastguard Worker type: "essentialcontacts.googleapis.com/Contact" 237*d5c09012SAndroid Build Coastguard Worker } 238*d5c09012SAndroid Build Coastguard Worker ]; 239*d5c09012SAndroid Build Coastguard Worker} 240*d5c09012SAndroid Build Coastguard Worker 241*d5c09012SAndroid Build Coastguard Worker// Request message for the CreateContact method. 242*d5c09012SAndroid Build Coastguard Workermessage CreateContactRequest { 243*d5c09012SAndroid Build Coastguard Worker // Required. The resource to save this contact for. 244*d5c09012SAndroid Build Coastguard Worker // Format: organizations/{organization_id}, folders/{folder_id} or 245*d5c09012SAndroid Build Coastguard Worker // projects/{project_id} 246*d5c09012SAndroid Build Coastguard Worker string parent = 1 [ 247*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 248*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 249*d5c09012SAndroid Build Coastguard Worker child_type: "essentialcontacts.googleapis.com/Contact" 250*d5c09012SAndroid Build Coastguard Worker } 251*d5c09012SAndroid Build Coastguard Worker ]; 252*d5c09012SAndroid Build Coastguard Worker 253*d5c09012SAndroid Build Coastguard Worker // Required. The contact to create. Must specify an email address and language 254*d5c09012SAndroid Build Coastguard Worker // tag. 255*d5c09012SAndroid Build Coastguard Worker Contact contact = 2 [(google.api.field_behavior) = REQUIRED]; 256*d5c09012SAndroid Build Coastguard Worker} 257*d5c09012SAndroid Build Coastguard Worker 258*d5c09012SAndroid Build Coastguard Worker// Request message for the UpdateContact method. 259*d5c09012SAndroid Build Coastguard Workermessage UpdateContactRequest { 260*d5c09012SAndroid Build Coastguard Worker // Required. The contact resource to replace the existing saved contact. Note: 261*d5c09012SAndroid Build Coastguard Worker // the email address of the contact cannot be modified. 262*d5c09012SAndroid Build Coastguard Worker Contact contact = 2 [(google.api.field_behavior) = REQUIRED]; 263*d5c09012SAndroid Build Coastguard Worker 264*d5c09012SAndroid Build Coastguard Worker // Optional. The update mask applied to the resource. For the `FieldMask` 265*d5c09012SAndroid Build Coastguard Worker // definition, see 266*d5c09012SAndroid Build Coastguard Worker // https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask 267*d5c09012SAndroid Build Coastguard Worker google.protobuf.FieldMask update_mask = 3 268*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OPTIONAL]; 269*d5c09012SAndroid Build Coastguard Worker} 270*d5c09012SAndroid Build Coastguard Worker 271*d5c09012SAndroid Build Coastguard Worker// Request message for the ComputeContacts method. 272*d5c09012SAndroid Build Coastguard Workermessage ComputeContactsRequest { 273*d5c09012SAndroid Build Coastguard Worker // Required. The name of the resource to compute contacts for. 274*d5c09012SAndroid Build Coastguard Worker // Format: organizations/{organization_id}, 275*d5c09012SAndroid Build Coastguard Worker // folders/{folder_id} or projects/{project_id} 276*d5c09012SAndroid Build Coastguard Worker string parent = 1 [ 277*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 278*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 279*d5c09012SAndroid Build Coastguard Worker child_type: "essentialcontacts.googleapis.com/Contact" 280*d5c09012SAndroid Build Coastguard Worker } 281*d5c09012SAndroid Build Coastguard Worker ]; 282*d5c09012SAndroid Build Coastguard Worker 283*d5c09012SAndroid Build Coastguard Worker // The categories of notifications to compute contacts for. If ALL is included 284*d5c09012SAndroid Build Coastguard Worker // in this list, contacts subscribed to any notification category will be 285*d5c09012SAndroid Build Coastguard Worker // returned. 286*d5c09012SAndroid Build Coastguard Worker repeated NotificationCategory notification_categories = 6; 287*d5c09012SAndroid Build Coastguard Worker 288*d5c09012SAndroid Build Coastguard Worker // Optional. The maximum number of results to return from this request. 289*d5c09012SAndroid Build Coastguard Worker // Non-positive values are ignored. The presence of `next_page_token` in the 290*d5c09012SAndroid Build Coastguard Worker // response indicates that more results might be available. 291*d5c09012SAndroid Build Coastguard Worker // If not specified, the default page_size is 100. 292*d5c09012SAndroid Build Coastguard Worker int32 page_size = 3 [(google.api.field_behavior) = OPTIONAL]; 293*d5c09012SAndroid Build Coastguard Worker 294*d5c09012SAndroid Build Coastguard Worker // Optional. If present, retrieves the next batch of results from the 295*d5c09012SAndroid Build Coastguard Worker // preceding call to this method. `page_token` must be the value of 296*d5c09012SAndroid Build Coastguard Worker // `next_page_token` from the previous response. The values of other method 297*d5c09012SAndroid Build Coastguard Worker // parameters should be identical to those in the previous call. 298*d5c09012SAndroid Build Coastguard Worker string page_token = 4 [(google.api.field_behavior) = OPTIONAL]; 299*d5c09012SAndroid Build Coastguard Worker} 300*d5c09012SAndroid Build Coastguard Worker 301*d5c09012SAndroid Build Coastguard Worker// Response message for the ComputeContacts method. 302*d5c09012SAndroid Build Coastguard Workermessage ComputeContactsResponse { 303*d5c09012SAndroid Build Coastguard Worker // All contacts for the resource that are subscribed to the specified 304*d5c09012SAndroid Build Coastguard Worker // notification categories, including contacts inherited from any parent 305*d5c09012SAndroid Build Coastguard Worker // resources. 306*d5c09012SAndroid Build Coastguard Worker repeated Contact contacts = 1; 307*d5c09012SAndroid Build Coastguard Worker 308*d5c09012SAndroid Build Coastguard Worker // If there are more results than those appearing in this response, then 309*d5c09012SAndroid Build Coastguard Worker // `next_page_token` is included. To get the next set of results, call this 310*d5c09012SAndroid Build Coastguard Worker // method again using the value of `next_page_token` as `page_token` and the 311*d5c09012SAndroid Build Coastguard Worker // rest of the parameters the same as the original request. 312*d5c09012SAndroid Build Coastguard Worker string next_page_token = 2; 313*d5c09012SAndroid Build Coastguard Worker} 314*d5c09012SAndroid Build Coastguard Worker 315*d5c09012SAndroid Build Coastguard Worker// Request message for the SendTestMessage method. 316*d5c09012SAndroid Build Coastguard Workermessage SendTestMessageRequest { 317*d5c09012SAndroid Build Coastguard Worker // Required. The list of names of the contacts to send a test message to. 318*d5c09012SAndroid Build Coastguard Worker // Format: organizations/{organization_id}/contacts/{contact_id}, 319*d5c09012SAndroid Build Coastguard Worker // folders/{folder_id}/contacts/{contact_id} or 320*d5c09012SAndroid Build Coastguard Worker // projects/{project_id}/contacts/{contact_id} 321*d5c09012SAndroid Build Coastguard Worker repeated string contacts = 1 [ 322*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 323*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 324*d5c09012SAndroid Build Coastguard Worker type: "essentialcontacts.googleapis.com/Contact" 325*d5c09012SAndroid Build Coastguard Worker } 326*d5c09012SAndroid Build Coastguard Worker ]; 327*d5c09012SAndroid Build Coastguard Worker 328*d5c09012SAndroid Build Coastguard Worker // Required. The name of the resource to send the test message for. All 329*d5c09012SAndroid Build Coastguard Worker // contacts must either be set directly on this resource or inherited from 330*d5c09012SAndroid Build Coastguard Worker // another resource that is an ancestor of this one. Format: 331*d5c09012SAndroid Build Coastguard Worker // organizations/{organization_id}, folders/{folder_id} or 332*d5c09012SAndroid Build Coastguard Worker // projects/{project_id} 333*d5c09012SAndroid Build Coastguard Worker string resource = 2 [ 334*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 335*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 336*d5c09012SAndroid Build Coastguard Worker child_type: "essentialcontacts.googleapis.com/Contact" 337*d5c09012SAndroid Build Coastguard Worker } 338*d5c09012SAndroid Build Coastguard Worker ]; 339*d5c09012SAndroid Build Coastguard Worker 340*d5c09012SAndroid Build Coastguard Worker // Required. The notification category to send the test message for. All 341*d5c09012SAndroid Build Coastguard Worker // contacts must be subscribed to this category. 342*d5c09012SAndroid Build Coastguard Worker NotificationCategory notification_category = 3 343*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = REQUIRED]; 344*d5c09012SAndroid Build Coastguard Worker} 345