xref: /aosp_15_r20/external/googleapis/google/cloud/gsuiteaddons/v1/gsuiteaddons.proto (revision d5c09012810ac0c9f33fe448fb6da8260d444cc9)
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