1*d5c09012SAndroid Build Coastguard Worker// Copyright 2020 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.gsuiteaddons.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/apps/script/type/calendar/calendar_addon_manifest.proto"; 24*d5c09012SAndroid Build Coastguard Workerimport "google/apps/script/type/docs/docs_addon_manifest.proto"; 25*d5c09012SAndroid Build Coastguard Workerimport "google/apps/script/type/drive/drive_addon_manifest.proto"; 26*d5c09012SAndroid Build Coastguard Workerimport "google/apps/script/type/gmail/gmail_addon_manifest.proto"; 27*d5c09012SAndroid Build Coastguard Workerimport "google/apps/script/type/script_manifest.proto"; 28*d5c09012SAndroid Build Coastguard Workerimport "google/apps/script/type/sheets/sheets_addon_manifest.proto"; 29*d5c09012SAndroid Build Coastguard Workerimport "google/apps/script/type/slides/slides_addon_manifest.proto"; 30*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/empty.proto"; 31*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/wrappers.proto"; 32*d5c09012SAndroid Build Coastguard Worker 33*d5c09012SAndroid Build Coastguard Workeroption csharp_namespace = "Google.Cloud.GSuiteAddOns.V1"; 34*d5c09012SAndroid Build Coastguard Workeroption go_package = "cloud.google.com/go/gsuiteaddons/apiv1/gsuiteaddonspb;gsuiteaddonspb"; 35*d5c09012SAndroid Build Coastguard Workeroption java_multiple_files = true; 36*d5c09012SAndroid Build Coastguard Workeroption java_outer_classname = "GSuiteAddOnsProto"; 37*d5c09012SAndroid Build Coastguard Workeroption java_package = "com.google.cloud.gsuiteaddons.v1"; 38*d5c09012SAndroid Build Coastguard Workeroption php_namespace = "Google\\Cloud\\GSuiteAddOns\\V1"; 39*d5c09012SAndroid Build Coastguard Workeroption ruby_package = "Google::Cloud::GSuiteAddOns::V1"; 40*d5c09012SAndroid Build Coastguard Worker 41*d5c09012SAndroid Build Coastguard Worker// A service for managing Google Workspace Add-ons deployments. 42*d5c09012SAndroid Build Coastguard Worker// 43*d5c09012SAndroid Build Coastguard Worker// A Google Workspace Add-on is a third-party embedded component that can be 44*d5c09012SAndroid Build Coastguard Worker// installed in Google Workspace Applications like Gmail, Calendar, Drive, and 45*d5c09012SAndroid Build Coastguard Worker// the Google Docs, Sheets, and Slides editors. Google Workspace Add-ons can 46*d5c09012SAndroid Build Coastguard Worker// display UI cards, receive contextual information from the host application, 47*d5c09012SAndroid Build Coastguard Worker// and perform actions in the host application (See: 48*d5c09012SAndroid Build Coastguard Worker// https://developers.google.com/gsuite/add-ons/overview for more information). 49*d5c09012SAndroid Build Coastguard Worker// 50*d5c09012SAndroid Build Coastguard Worker// A Google Workspace Add-on deployment resource specifies metadata about the 51*d5c09012SAndroid Build Coastguard Worker// add-on, including a specification of the entry points in the host application 52*d5c09012SAndroid Build Coastguard Worker// that trigger add-on executions (see: 53*d5c09012SAndroid Build Coastguard Worker// https://developers.google.com/gsuite/add-ons/concepts/gsuite-manifests). 54*d5c09012SAndroid Build Coastguard Worker// Add-on deployments defined via the Google Workspace Add-ons API define their 55*d5c09012SAndroid Build Coastguard Worker// entrypoints using HTTPS URLs (See: 56*d5c09012SAndroid Build Coastguard Worker// https://developers.google.com/gsuite/add-ons/guides/alternate-runtimes), 57*d5c09012SAndroid Build Coastguard Worker// 58*d5c09012SAndroid Build Coastguard Worker// A Google Workspace Add-on deployment can be installed in developer mode, 59*d5c09012SAndroid Build Coastguard Worker// which allows an add-on developer to test the experience an end-user would see 60*d5c09012SAndroid Build Coastguard Worker// when installing and running the add-on in their G Suite applications. When 61*d5c09012SAndroid Build Coastguard Worker// running in developer mode, more detailed error messages are exposed in the 62*d5c09012SAndroid Build Coastguard Worker// add-on UI to aid in debugging. 63*d5c09012SAndroid Build Coastguard Worker// 64*d5c09012SAndroid Build Coastguard Worker// A Google Workspace Add-on deployment can be published to Google Workspace 65*d5c09012SAndroid Build Coastguard Worker// Marketplace, which allows other Google Workspace users to discover and 66*d5c09012SAndroid Build Coastguard Worker// install the add-on. See: 67*d5c09012SAndroid Build Coastguard Worker// https://developers.google.com/gsuite/add-ons/how-tos/publish-add-on-overview 68*d5c09012SAndroid Build Coastguard Worker// for details. 69*d5c09012SAndroid Build Coastguard Workerservice GSuiteAddOns { 70*d5c09012SAndroid Build Coastguard Worker option (google.api.default_host) = "gsuiteaddons.googleapis.com"; 71*d5c09012SAndroid Build Coastguard Worker option (google.api.oauth_scopes) = 72*d5c09012SAndroid Build Coastguard Worker "https://www.googleapis.com/auth/cloud-platform"; 73*d5c09012SAndroid Build Coastguard Worker 74*d5c09012SAndroid Build Coastguard Worker // Gets the authorization information for deployments in a given project. 75*d5c09012SAndroid Build Coastguard Worker rpc GetAuthorization(GetAuthorizationRequest) returns (Authorization) { 76*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 77*d5c09012SAndroid Build Coastguard Worker get: "/v1/{name=projects/*/authorization}" 78*d5c09012SAndroid Build Coastguard Worker }; 79*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "name"; 80*d5c09012SAndroid Build Coastguard Worker } 81*d5c09012SAndroid Build Coastguard Worker 82*d5c09012SAndroid Build Coastguard Worker // Creates a deployment with the specified name and configuration. 83*d5c09012SAndroid Build Coastguard Worker rpc CreateDeployment(CreateDeploymentRequest) returns (Deployment) { 84*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 85*d5c09012SAndroid Build Coastguard Worker post: "/v1/{parent=projects/*}/deployments" 86*d5c09012SAndroid Build Coastguard Worker body: "deployment" 87*d5c09012SAndroid Build Coastguard Worker }; 88*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "parent,deployment,deployment_id"; 89*d5c09012SAndroid Build Coastguard Worker } 90*d5c09012SAndroid Build Coastguard Worker 91*d5c09012SAndroid Build Coastguard Worker // Creates or replaces a deployment with the specified name. 92*d5c09012SAndroid Build Coastguard Worker rpc ReplaceDeployment(ReplaceDeploymentRequest) returns (Deployment) { 93*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 94*d5c09012SAndroid Build Coastguard Worker put: "/v1/{deployment.name=projects/*/deployments/*}" 95*d5c09012SAndroid Build Coastguard Worker body: "deployment" 96*d5c09012SAndroid Build Coastguard Worker }; 97*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "deployment"; 98*d5c09012SAndroid Build Coastguard Worker } 99*d5c09012SAndroid Build Coastguard Worker 100*d5c09012SAndroid Build Coastguard Worker // Gets the deployment with the specified name. 101*d5c09012SAndroid Build Coastguard Worker rpc GetDeployment(GetDeploymentRequest) returns (Deployment) { 102*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 103*d5c09012SAndroid Build Coastguard Worker get: "/v1/{name=projects/*/deployments/*}" 104*d5c09012SAndroid Build Coastguard Worker }; 105*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "name"; 106*d5c09012SAndroid Build Coastguard Worker } 107*d5c09012SAndroid Build Coastguard Worker 108*d5c09012SAndroid Build Coastguard Worker // Lists all deployments in a particular project. 109*d5c09012SAndroid Build Coastguard Worker rpc ListDeployments(ListDeploymentsRequest) 110*d5c09012SAndroid Build Coastguard Worker returns (ListDeploymentsResponse) { 111*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 112*d5c09012SAndroid Build Coastguard Worker get: "/v1/{parent=projects/*}/deployments" 113*d5c09012SAndroid Build Coastguard Worker }; 114*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "parent"; 115*d5c09012SAndroid Build Coastguard Worker } 116*d5c09012SAndroid Build Coastguard Worker 117*d5c09012SAndroid Build Coastguard Worker // Deletes the deployment with the given name. 118*d5c09012SAndroid Build Coastguard Worker rpc DeleteDeployment(DeleteDeploymentRequest) 119*d5c09012SAndroid Build Coastguard Worker returns (google.protobuf.Empty) { 120*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 121*d5c09012SAndroid Build Coastguard Worker delete: "/v1/{name=projects/*/deployments/*}" 122*d5c09012SAndroid Build Coastguard Worker }; 123*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "name"; 124*d5c09012SAndroid Build Coastguard Worker } 125*d5c09012SAndroid Build Coastguard Worker 126*d5c09012SAndroid Build Coastguard Worker // Installs a deployment in developer mode. 127*d5c09012SAndroid Build Coastguard Worker // See: 128*d5c09012SAndroid Build Coastguard Worker // https://developers.google.com/gsuite/add-ons/how-tos/testing-gsuite-addons. 129*d5c09012SAndroid Build Coastguard Worker rpc InstallDeployment(InstallDeploymentRequest) 130*d5c09012SAndroid Build Coastguard Worker returns (google.protobuf.Empty) { 131*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 132*d5c09012SAndroid Build Coastguard Worker post: "/v1/{name=projects/*/deployments/*}:install" 133*d5c09012SAndroid Build Coastguard Worker body: "*" 134*d5c09012SAndroid Build Coastguard Worker }; 135*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "name"; 136*d5c09012SAndroid Build Coastguard Worker } 137*d5c09012SAndroid Build Coastguard Worker 138*d5c09012SAndroid Build Coastguard Worker // Uninstalls a developer mode deployment. 139*d5c09012SAndroid Build Coastguard Worker // See: 140*d5c09012SAndroid Build Coastguard Worker // https://developers.google.com/gsuite/add-ons/how-tos/testing-gsuite-addons. 141*d5c09012SAndroid Build Coastguard Worker rpc UninstallDeployment(UninstallDeploymentRequest) 142*d5c09012SAndroid Build Coastguard Worker returns (google.protobuf.Empty) { 143*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 144*d5c09012SAndroid Build Coastguard Worker post: "/v1/{name=projects/*/deployments/*}:uninstall" 145*d5c09012SAndroid Build Coastguard Worker body: "*" 146*d5c09012SAndroid Build Coastguard Worker }; 147*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "name"; 148*d5c09012SAndroid Build Coastguard Worker } 149*d5c09012SAndroid Build Coastguard Worker 150*d5c09012SAndroid Build Coastguard Worker // Fetches the install status of a developer mode deployment. 151*d5c09012SAndroid Build Coastguard Worker rpc GetInstallStatus(GetInstallStatusRequest) returns (InstallStatus) { 152*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 153*d5c09012SAndroid Build Coastguard Worker get: "/v1/{name=projects/*/deployments/*/installStatus}" 154*d5c09012SAndroid Build Coastguard Worker }; 155*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "name"; 156*d5c09012SAndroid Build Coastguard Worker } 157*d5c09012SAndroid Build Coastguard Worker} 158*d5c09012SAndroid Build Coastguard Worker 159*d5c09012SAndroid Build Coastguard Worker// Request message to get Google Workspace Add-ons authorization information. 160*d5c09012SAndroid Build Coastguard Workermessage GetAuthorizationRequest { 161*d5c09012SAndroid Build Coastguard Worker // Required. Name of the project for which to get the Google Workspace Add-ons 162*d5c09012SAndroid Build Coastguard Worker // authorization information. 163*d5c09012SAndroid Build Coastguard Worker // 164*d5c09012SAndroid Build Coastguard Worker // Example: `projects/my_project/authorization`. 165*d5c09012SAndroid Build Coastguard Worker string name = 2 [ 166*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 167*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 168*d5c09012SAndroid Build Coastguard Worker type: "gsuiteaddons.googleapis.com/Authorization" 169*d5c09012SAndroid Build Coastguard Worker } 170*d5c09012SAndroid Build Coastguard Worker ]; 171*d5c09012SAndroid Build Coastguard Worker} 172*d5c09012SAndroid Build Coastguard Worker 173*d5c09012SAndroid Build Coastguard Worker// The authorization information used when invoking deployment endpoints. 174*d5c09012SAndroid Build Coastguard Workermessage Authorization { 175*d5c09012SAndroid Build Coastguard Worker option (google.api.resource) = { 176*d5c09012SAndroid Build Coastguard Worker type: "gsuiteaddons.googleapis.com/Authorization" 177*d5c09012SAndroid Build Coastguard Worker pattern: "projects/{project}/authorization" 178*d5c09012SAndroid Build Coastguard Worker }; 179*d5c09012SAndroid Build Coastguard Worker 180*d5c09012SAndroid Build Coastguard Worker // The canonical full name of this resource. 181*d5c09012SAndroid Build Coastguard Worker // Example: `projects/123/authorization` 182*d5c09012SAndroid Build Coastguard Worker string name = 1; 183*d5c09012SAndroid Build Coastguard Worker 184*d5c09012SAndroid Build Coastguard Worker // The email address of the service account used to authenticate requests to 185*d5c09012SAndroid Build Coastguard Worker // add-on callback endpoints. 186*d5c09012SAndroid Build Coastguard Worker string service_account_email = 2; 187*d5c09012SAndroid Build Coastguard Worker 188*d5c09012SAndroid Build Coastguard Worker // The OAuth client ID used to obtain OAuth access tokens for a user on the 189*d5c09012SAndroid Build Coastguard Worker // add-on's behalf. 190*d5c09012SAndroid Build Coastguard Worker string oauth_client_id = 3; 191*d5c09012SAndroid Build Coastguard Worker} 192*d5c09012SAndroid Build Coastguard Worker 193*d5c09012SAndroid Build Coastguard Worker// Request message to create a deployment. 194*d5c09012SAndroid Build Coastguard Workermessage CreateDeploymentRequest { 195*d5c09012SAndroid Build Coastguard Worker // Required. Name of the project in which to create the deployment. 196*d5c09012SAndroid Build Coastguard Worker // 197*d5c09012SAndroid Build Coastguard Worker // Example: `projects/my_project`. 198*d5c09012SAndroid Build Coastguard Worker string parent = 1 [ 199*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 200*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 201*d5c09012SAndroid Build Coastguard Worker type: "cloudresourcemanager.googleapis.com/Project" 202*d5c09012SAndroid Build Coastguard Worker } 203*d5c09012SAndroid Build Coastguard Worker ]; 204*d5c09012SAndroid Build Coastguard Worker 205*d5c09012SAndroid Build Coastguard Worker // Required. The id to use for this deployment. The full name of the created 206*d5c09012SAndroid Build Coastguard Worker // resource will be `projects/<project_number>/deployments/<deployment_id>`. 207*d5c09012SAndroid Build Coastguard Worker string deployment_id = 2 [(google.api.field_behavior) = REQUIRED]; 208*d5c09012SAndroid Build Coastguard Worker 209*d5c09012SAndroid Build Coastguard Worker // Required. The deployment to create (deployment.name cannot be set). 210*d5c09012SAndroid Build Coastguard Worker Deployment deployment = 3 [(google.api.field_behavior) = REQUIRED]; 211*d5c09012SAndroid Build Coastguard Worker} 212*d5c09012SAndroid Build Coastguard Worker 213*d5c09012SAndroid Build Coastguard Worker// Request message to create or replace a deployment. 214*d5c09012SAndroid Build Coastguard Workermessage ReplaceDeploymentRequest { 215*d5c09012SAndroid Build Coastguard Worker // Required. The deployment to create or replace. 216*d5c09012SAndroid Build Coastguard Worker Deployment deployment = 2 [(google.api.field_behavior) = REQUIRED]; 217*d5c09012SAndroid Build Coastguard Worker} 218*d5c09012SAndroid Build Coastguard Worker 219*d5c09012SAndroid Build Coastguard Worker// Request message to get a deployment. 220*d5c09012SAndroid Build Coastguard Workermessage GetDeploymentRequest { 221*d5c09012SAndroid Build Coastguard Worker // Required. The full resource name of the deployment to get. 222*d5c09012SAndroid Build Coastguard Worker // 223*d5c09012SAndroid Build Coastguard Worker // Example: `projects/my_project/deployments/my_deployment`. 224*d5c09012SAndroid Build Coastguard Worker string name = 1 [ 225*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 226*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 227*d5c09012SAndroid Build Coastguard Worker type: "gsuiteaddons.googleapis.com/Deployment" 228*d5c09012SAndroid Build Coastguard Worker } 229*d5c09012SAndroid Build Coastguard Worker ]; 230*d5c09012SAndroid Build Coastguard Worker} 231*d5c09012SAndroid Build Coastguard Worker 232*d5c09012SAndroid Build Coastguard Worker// Request message to list deployments for a project. 233*d5c09012SAndroid Build Coastguard Workermessage ListDeploymentsRequest { 234*d5c09012SAndroid Build Coastguard Worker // Required. Name of the project in which to create the deployment. 235*d5c09012SAndroid Build Coastguard Worker // 236*d5c09012SAndroid Build Coastguard Worker // Example: `projects/my_project`. 237*d5c09012SAndroid Build Coastguard Worker string parent = 1 [ 238*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 239*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 240*d5c09012SAndroid Build Coastguard Worker type: "cloudresourcemanager.googleapis.com/Project" 241*d5c09012SAndroid Build Coastguard Worker } 242*d5c09012SAndroid Build Coastguard Worker ]; 243*d5c09012SAndroid Build Coastguard Worker 244*d5c09012SAndroid Build Coastguard Worker // The maximum number of deployments to return. The service may return fewer 245*d5c09012SAndroid Build Coastguard Worker // than this value. 246*d5c09012SAndroid Build Coastguard Worker // If unspecified, at most 1000 deployments will be returned. 247*d5c09012SAndroid Build Coastguard Worker // The maximum value is 1000; values above 1000 will be coerced to 1000. 248*d5c09012SAndroid Build Coastguard Worker int32 page_size = 2; 249*d5c09012SAndroid Build Coastguard Worker 250*d5c09012SAndroid Build Coastguard Worker // A page token, received from a previous `ListDeployments` call. 251*d5c09012SAndroid Build Coastguard Worker // Provide this to retrieve the subsequent page. 252*d5c09012SAndroid Build Coastguard Worker // 253*d5c09012SAndroid Build Coastguard Worker // When paginating, all other parameters provided to `ListDeployments` must 254*d5c09012SAndroid Build Coastguard Worker // match the call that provided the page token. 255*d5c09012SAndroid Build Coastguard Worker string page_token = 3; 256*d5c09012SAndroid Build Coastguard Worker} 257*d5c09012SAndroid Build Coastguard Worker 258*d5c09012SAndroid Build Coastguard Worker// Response message to list deployments. 259*d5c09012SAndroid Build Coastguard Workermessage ListDeploymentsResponse { 260*d5c09012SAndroid Build Coastguard Worker // The list of deployments for the given project. 261*d5c09012SAndroid Build Coastguard Worker repeated Deployment deployments = 1; 262*d5c09012SAndroid Build Coastguard Worker 263*d5c09012SAndroid Build Coastguard Worker // A token, which can be sent as `page_token` to retrieve the next page. 264*d5c09012SAndroid Build Coastguard Worker // If this field is omitted, there are no subsequent pages. 265*d5c09012SAndroid Build Coastguard Worker string next_page_token = 2; 266*d5c09012SAndroid Build Coastguard Worker} 267*d5c09012SAndroid Build Coastguard Worker 268*d5c09012SAndroid Build Coastguard Worker// Request message to delete a deployment. 269*d5c09012SAndroid Build Coastguard Workermessage DeleteDeploymentRequest { 270*d5c09012SAndroid Build Coastguard Worker // Required. The full resource name of the deployment to delete. 271*d5c09012SAndroid Build Coastguard Worker // 272*d5c09012SAndroid Build Coastguard Worker // Example: `projects/my_project/deployments/my_deployment`. 273*d5c09012SAndroid Build Coastguard Worker string name = 1 [ 274*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 275*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 276*d5c09012SAndroid Build Coastguard Worker type: "gsuiteaddons.googleapis.com/Deployment" 277*d5c09012SAndroid Build Coastguard Worker } 278*d5c09012SAndroid Build Coastguard Worker ]; 279*d5c09012SAndroid Build Coastguard Worker 280*d5c09012SAndroid Build Coastguard Worker // The etag of the deployment to delete. 281*d5c09012SAndroid Build Coastguard Worker // If this is provided, it must match the server's etag. 282*d5c09012SAndroid Build Coastguard Worker string etag = 2; 283*d5c09012SAndroid Build Coastguard Worker} 284*d5c09012SAndroid Build Coastguard Worker 285*d5c09012SAndroid Build Coastguard Worker// Request message to install a developer mode deployment. 286*d5c09012SAndroid Build Coastguard Workermessage InstallDeploymentRequest { 287*d5c09012SAndroid Build Coastguard Worker // Required. The full resource name of the deployment to install. 288*d5c09012SAndroid Build Coastguard Worker // 289*d5c09012SAndroid Build Coastguard Worker // Example: `projects/my_project/deployments/my_deployment`. 290*d5c09012SAndroid Build Coastguard Worker string name = 1 [ 291*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 292*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 293*d5c09012SAndroid Build Coastguard Worker type: "gsuiteaddons.googleapis.com/Deployment" 294*d5c09012SAndroid Build Coastguard Worker } 295*d5c09012SAndroid Build Coastguard Worker ]; 296*d5c09012SAndroid Build Coastguard Worker} 297*d5c09012SAndroid Build Coastguard Worker 298*d5c09012SAndroid Build Coastguard Worker// Request message to uninstall a developer mode deployment. 299*d5c09012SAndroid Build Coastguard Workermessage UninstallDeploymentRequest { 300*d5c09012SAndroid Build Coastguard Worker // Required. The full resource name of the deployment to install. 301*d5c09012SAndroid Build Coastguard Worker // 302*d5c09012SAndroid Build Coastguard Worker // Example: `projects/my_project/deployments/my_deployment`. 303*d5c09012SAndroid Build Coastguard Worker string name = 1 [ 304*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 305*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 306*d5c09012SAndroid Build Coastguard Worker type: "gsuiteaddons.googleapis.com/Deployment" 307*d5c09012SAndroid Build Coastguard Worker } 308*d5c09012SAndroid Build Coastguard Worker ]; 309*d5c09012SAndroid Build Coastguard Worker} 310*d5c09012SAndroid Build Coastguard Worker 311*d5c09012SAndroid Build Coastguard Worker// Request message to get the install status of a developer mode deployment. 312*d5c09012SAndroid Build Coastguard Workermessage GetInstallStatusRequest { 313*d5c09012SAndroid Build Coastguard Worker // Required. The full resource name of the deployment. 314*d5c09012SAndroid Build Coastguard Worker // 315*d5c09012SAndroid Build Coastguard Worker // Example: `projects/my_project/deployments/my_deployment/installStatus`. 316*d5c09012SAndroid Build Coastguard Worker string name = 1 [ 317*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 318*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 319*d5c09012SAndroid Build Coastguard Worker type: "gsuiteaddons.googleapis.com/InstallStatus" 320*d5c09012SAndroid Build Coastguard Worker } 321*d5c09012SAndroid Build Coastguard Worker ]; 322*d5c09012SAndroid Build Coastguard Worker} 323*d5c09012SAndroid Build Coastguard Worker 324*d5c09012SAndroid Build Coastguard Worker// Developer mode install status of a deployment 325*d5c09012SAndroid Build Coastguard Workermessage InstallStatus { 326*d5c09012SAndroid Build Coastguard Worker option (google.api.resource) = { 327*d5c09012SAndroid Build Coastguard Worker type: "gsuiteaddons.googleapis.com/InstallStatus" 328*d5c09012SAndroid Build Coastguard Worker pattern: "projects/{project}/deployments/{deployment}/installStatus" 329*d5c09012SAndroid Build Coastguard Worker }; 330*d5c09012SAndroid Build Coastguard Worker 331*d5c09012SAndroid Build Coastguard Worker // The canonical full resource name of the deployment install status. 332*d5c09012SAndroid Build Coastguard Worker // 333*d5c09012SAndroid Build Coastguard Worker // Example: `projects/123/deployments/my_deployment/installStatus`. 334*d5c09012SAndroid Build Coastguard Worker string name = 1; 335*d5c09012SAndroid Build Coastguard Worker 336*d5c09012SAndroid Build Coastguard Worker // True if the deployment is installed for the user 337*d5c09012SAndroid Build Coastguard Worker google.protobuf.BoolValue installed = 2; 338*d5c09012SAndroid Build Coastguard Worker} 339*d5c09012SAndroid Build Coastguard Worker 340*d5c09012SAndroid Build Coastguard Worker// A Google Workspace Add-on deployment 341*d5c09012SAndroid Build Coastguard Workermessage Deployment { 342*d5c09012SAndroid Build Coastguard Worker option (google.api.resource) = { 343*d5c09012SAndroid Build Coastguard Worker type: "gsuiteaddons.googleapis.com/Deployment" 344*d5c09012SAndroid Build Coastguard Worker pattern: "projects/{project}/deployments/{deployment}" 345*d5c09012SAndroid Build Coastguard Worker }; 346*d5c09012SAndroid Build Coastguard Worker 347*d5c09012SAndroid Build Coastguard Worker // The deployment resource name. 348*d5c09012SAndroid Build Coastguard Worker // Example: projects/123/deployments/my_deployment. 349*d5c09012SAndroid Build Coastguard Worker string name = 1; 350*d5c09012SAndroid Build Coastguard Worker 351*d5c09012SAndroid Build Coastguard Worker // The list of Google OAuth scopes for which to request consent from the end 352*d5c09012SAndroid Build Coastguard Worker // user before executing an add-on endpoint. 353*d5c09012SAndroid Build Coastguard Worker repeated string oauth_scopes = 2; 354*d5c09012SAndroid Build Coastguard Worker 355*d5c09012SAndroid Build Coastguard Worker // The Google Workspace Add-on configuration. 356*d5c09012SAndroid Build Coastguard Worker AddOns add_ons = 3; 357*d5c09012SAndroid Build Coastguard Worker 358*d5c09012SAndroid Build Coastguard Worker // This value is computed by the server based on the version of the 359*d5c09012SAndroid Build Coastguard Worker // deployment in storage, and may be sent on update and delete requests to 360*d5c09012SAndroid Build Coastguard Worker // ensure the client has an up-to-date value before proceeding. 361*d5c09012SAndroid Build Coastguard Worker string etag = 5; 362*d5c09012SAndroid Build Coastguard Worker} 363*d5c09012SAndroid Build Coastguard Worker 364*d5c09012SAndroid Build Coastguard Worker// A Google Workspace Add-on configuration. 365*d5c09012SAndroid Build Coastguard Workermessage AddOns { 366*d5c09012SAndroid Build Coastguard Worker // Configuration that is common across all Google Workspace Add-ons. 367*d5c09012SAndroid Build Coastguard Worker google.apps.script.type.CommonAddOnManifest common = 1; 368*d5c09012SAndroid Build Coastguard Worker 369*d5c09012SAndroid Build Coastguard Worker // Gmail add-on configuration. 370*d5c09012SAndroid Build Coastguard Worker google.apps.script.type.gmail.GmailAddOnManifest gmail = 2; 371*d5c09012SAndroid Build Coastguard Worker 372*d5c09012SAndroid Build Coastguard Worker // Drive add-on configuration. 373*d5c09012SAndroid Build Coastguard Worker google.apps.script.type.drive.DriveAddOnManifest drive = 5; 374*d5c09012SAndroid Build Coastguard Worker 375*d5c09012SAndroid Build Coastguard Worker // Calendar add-on configuration. 376*d5c09012SAndroid Build Coastguard Worker google.apps.script.type.calendar.CalendarAddOnManifest calendar = 6; 377*d5c09012SAndroid Build Coastguard Worker 378*d5c09012SAndroid Build Coastguard Worker // Docs add-on configuration. 379*d5c09012SAndroid Build Coastguard Worker google.apps.script.type.docs.DocsAddOnManifest docs = 7; 380*d5c09012SAndroid Build Coastguard Worker 381*d5c09012SAndroid Build Coastguard Worker // Sheets add-on configuration. 382*d5c09012SAndroid Build Coastguard Worker google.apps.script.type.sheets.SheetsAddOnManifest sheets = 8; 383*d5c09012SAndroid Build Coastguard Worker 384*d5c09012SAndroid Build Coastguard Worker // Slides add-on configuration. 385*d5c09012SAndroid Build Coastguard Worker google.apps.script.type.slides.SlidesAddOnManifest slides = 10; 386*d5c09012SAndroid Build Coastguard Worker 387*d5c09012SAndroid Build Coastguard Worker // Options for sending requests to add-on HTTP endpoints 388*d5c09012SAndroid Build Coastguard Worker google.apps.script.type.HttpOptions http_options = 15; 389*d5c09012SAndroid Build Coastguard Worker} 390