• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1// Copyright 2022 Google LLC
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7//     http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15syntax = "proto3";
16
17package google.cloud.discoveryengine.v1beta;
18
19import "google/api/annotations.proto";
20import "google/api/client.proto";
21import "google/api/field_behavior.proto";
22import "google/api/resource.proto";
23import "google/cloud/discoveryengine/v1beta/site_search_engine.proto";
24import "google/longrunning/operations.proto";
25import "google/protobuf/empty.proto";
26import "google/protobuf/timestamp.proto";
27
28option csharp_namespace = "Google.Cloud.DiscoveryEngine.V1Beta";
29option go_package = "cloud.google.com/go/discoveryengine/apiv1beta/discoveryenginepb;discoveryenginepb";
30option java_multiple_files = true;
31option java_outer_classname = "SiteSearchEngineServiceProto";
32option java_package = "com.google.cloud.discoveryengine.v1beta";
33option objc_class_prefix = "DISCOVERYENGINE";
34option php_namespace = "Google\\Cloud\\DiscoveryEngine\\V1beta";
35option ruby_package = "Google::Cloud::DiscoveryEngine::V1beta";
36
37// Service for managing site search related resources.
38service SiteSearchEngineService {
39  option (google.api.default_host) = "discoveryengine.googleapis.com";
40  option (google.api.oauth_scopes) =
41      "https://www.googleapis.com/auth/cloud-platform";
42
43  // Gets the
44  // [SiteSearchEngine][google.cloud.discoveryengine.v1beta.SiteSearchEngine].
45  rpc GetSiteSearchEngine(GetSiteSearchEngineRequest)
46      returns (SiteSearchEngine) {
47    option (google.api.http) = {
48      get: "/v1beta/{name=projects/*/locations/*/dataStores/*/siteSearchEngine}"
49      additional_bindings {
50        get: "/v1beta/{name=projects/*/locations/*/collections/*/dataStores/*/siteSearchEngine}"
51      }
52    };
53    option (google.api.method_signature) = "name";
54  }
55
56  // Creates a [TargetSite][google.cloud.discoveryengine.v1beta.TargetSite].
57  rpc CreateTargetSite(CreateTargetSiteRequest)
58      returns (google.longrunning.Operation) {
59    option (google.api.http) = {
60      post: "/v1beta/{parent=projects/*/locations/*/dataStores/*/siteSearchEngine}/targetSites"
61      body: "target_site"
62      additional_bindings {
63        post: "/v1beta/{parent=projects/*/locations/*/collections/*/dataStores/*/siteSearchEngine}/targetSites"
64        body: "target_site"
65      }
66    };
67    option (google.api.method_signature) = "parent,target_site";
68    option (google.longrunning.operation_info) = {
69      response_type: "google.cloud.discoveryengine.v1beta.TargetSite"
70      metadata_type: "google.cloud.discoveryengine.v1beta.CreateTargetSiteMetadata"
71    };
72  }
73
74  // Creates [TargetSite][google.cloud.discoveryengine.v1beta.TargetSite] in a
75  // batch.
76  rpc BatchCreateTargetSites(BatchCreateTargetSitesRequest)
77      returns (google.longrunning.Operation) {
78    option (google.api.http) = {
79      post: "/v1beta/{parent=projects/*/locations/*/dataStores/*/siteSearchEngine}/targetSites:batchCreate"
80      body: "*"
81      additional_bindings {
82        post: "/v1beta/{parent=projects/*/locations/*/collections/*/dataStores/*/siteSearchEngine}/targetSites:batchCreate"
83        body: "*"
84      }
85    };
86    option (google.longrunning.operation_info) = {
87      response_type: "google.cloud.discoveryengine.v1beta.BatchCreateTargetSitesResponse"
88      metadata_type: "google.cloud.discoveryengine.v1beta.BatchCreateTargetSiteMetadata"
89    };
90  }
91
92  // Gets a [TargetSite][google.cloud.discoveryengine.v1beta.TargetSite].
93  rpc GetTargetSite(GetTargetSiteRequest) returns (TargetSite) {
94    option (google.api.http) = {
95      get: "/v1beta/{name=projects/*/locations/*/dataStores/*/siteSearchEngine/targetSites/*}"
96      additional_bindings {
97        get: "/v1beta/{name=projects/*/locations/*/collections/*/dataStores/*/siteSearchEngine/targetSites/*}"
98      }
99    };
100    option (google.api.method_signature) = "name";
101  }
102
103  // Updates a [TargetSite][google.cloud.discoveryengine.v1beta.TargetSite].
104  rpc UpdateTargetSite(UpdateTargetSiteRequest)
105      returns (google.longrunning.Operation) {
106    option (google.api.http) = {
107      patch: "/v1beta/{target_site.name=projects/*/locations/*/dataStores/*/siteSearchEngine/targetSites/*}"
108      body: "target_site"
109      additional_bindings {
110        patch: "/v1beta/{target_site.name=projects/*/locations/*/collections/*/dataStores/*/siteSearchEngine/targetSites/*}"
111        body: "target_site"
112      }
113    };
114    option (google.api.method_signature) = "target_site";
115    option (google.longrunning.operation_info) = {
116      response_type: "google.cloud.discoveryengine.v1beta.TargetSite"
117      metadata_type: "google.cloud.discoveryengine.v1beta.UpdateTargetSiteMetadata"
118    };
119  }
120
121  // Deletes a [TargetSite][google.cloud.discoveryengine.v1beta.TargetSite].
122  rpc DeleteTargetSite(DeleteTargetSiteRequest)
123      returns (google.longrunning.Operation) {
124    option (google.api.http) = {
125      delete: "/v1beta/{name=projects/*/locations/*/dataStores/*/siteSearchEngine/targetSites/*}"
126      additional_bindings {
127        delete: "/v1beta/{name=projects/*/locations/*/collections/*/dataStores/*/siteSearchEngine/targetSites/*}"
128      }
129    };
130    option (google.api.method_signature) = "name";
131    option (google.longrunning.operation_info) = {
132      response_type: "google.protobuf.Empty"
133      metadata_type: "google.cloud.discoveryengine.v1beta.DeleteTargetSiteMetadata"
134    };
135  }
136
137  // Gets a list of
138  // [TargetSite][google.cloud.discoveryengine.v1beta.TargetSite]s.
139  rpc ListTargetSites(ListTargetSitesRequest)
140      returns (ListTargetSitesResponse) {
141    option (google.api.http) = {
142      get: "/v1beta/{parent=projects/*/locations/*/dataStores/*/siteSearchEngine}/targetSites"
143      additional_bindings {
144        get: "/v1beta/{parent=projects/*/locations/*/collections/*/dataStores/*/siteSearchEngine}/targetSites"
145      }
146    };
147    option (google.api.method_signature) = "parent";
148  }
149
150  // Upgrade from basic site search to advanced site search.
151  rpc EnableAdvancedSiteSearch(EnableAdvancedSiteSearchRequest)
152      returns (google.longrunning.Operation) {
153    option (google.api.http) = {
154      post: "/v1beta/{site_search_engine=projects/*/locations/*/dataStores/*/siteSearchEngine}:enableAdvancedSiteSearch"
155      body: "*"
156      additional_bindings {
157        post: "/v1beta/{site_search_engine=projects/*/locations/*/collections/*/dataStores/*/siteSearchEngine}:enableAdvancedSiteSearch"
158        body: "*"
159      }
160    };
161    option (google.longrunning.operation_info) = {
162      response_type: "google.cloud.discoveryengine.v1beta.EnableAdvancedSiteSearchResponse"
163      metadata_type: "google.cloud.discoveryengine.v1beta.EnableAdvancedSiteSearchMetadata"
164    };
165  }
166
167  // Downgrade from advanced site search to basic site search.
168  rpc DisableAdvancedSiteSearch(DisableAdvancedSiteSearchRequest)
169      returns (google.longrunning.Operation) {
170    option (google.api.http) = {
171      post: "/v1beta/{site_search_engine=projects/*/locations/*/dataStores/*/siteSearchEngine}:disableAdvancedSiteSearch"
172      body: "*"
173      additional_bindings {
174        post: "/v1beta/{site_search_engine=projects/*/locations/*/collections/*/dataStores/*/siteSearchEngine}:disableAdvancedSiteSearch"
175        body: "*"
176      }
177    };
178    option (google.longrunning.operation_info) = {
179      response_type: "google.cloud.discoveryengine.v1beta.DisableAdvancedSiteSearchResponse"
180      metadata_type: "google.cloud.discoveryengine.v1beta.DisableAdvancedSiteSearchMetadata"
181    };
182  }
183
184  // Request on-demand recrawl for a list of URIs.
185  rpc RecrawlUris(RecrawlUrisRequest) returns (google.longrunning.Operation) {
186    option (google.api.http) = {
187      post: "/v1beta/{site_search_engine=projects/*/locations/*/dataStores/*/siteSearchEngine}:recrawlUris"
188      body: "*"
189      additional_bindings {
190        post: "/v1beta/{site_search_engine=projects/*/locations/*/collections/*/dataStores/*/siteSearchEngine}:recrawlUris"
191        body: "*"
192      }
193    };
194    option (google.longrunning.operation_info) = {
195      response_type: "google.cloud.discoveryengine.v1beta.RecrawlUrisResponse"
196      metadata_type: "google.cloud.discoveryengine.v1beta.RecrawlUrisMetadata"
197    };
198  }
199
200  // Verify target sites' ownership and validity.
201  // This API sends all the target sites under site search engine for
202  // verification.
203  rpc BatchVerifyTargetSites(BatchVerifyTargetSitesRequest)
204      returns (google.longrunning.Operation) {
205    option (google.api.http) = {
206      post: "/v1beta/{parent=projects/*/locations/*/collections/*/dataStores/*/siteSearchEngine}:batchVerifyTargetSites"
207      body: "*"
208    };
209    option (google.longrunning.operation_info) = {
210      response_type: "google.cloud.discoveryengine.v1beta.BatchVerifyTargetSitesResponse"
211      metadata_type: "google.cloud.discoveryengine.v1beta.BatchVerifyTargetSitesMetadata"
212    };
213  }
214
215  // Returns list of target sites with its domain verification status.
216  // This method can only be called under data store with BASIC_SITE_SEARCH
217  // state at the moment.
218  rpc FetchDomainVerificationStatus(FetchDomainVerificationStatusRequest)
219      returns (FetchDomainVerificationStatusResponse) {
220    option (google.api.http) = {
221      get: "/v1beta/{site_search_engine=projects/*/locations/*/collections/*/dataStores/*/siteSearchEngine}:fetchDomainVerificationStatus"
222    };
223  }
224}
225
226// Request message for
227// [SiteSearchEngineService.GetSiteSearchEngine][google.cloud.discoveryengine.v1beta.SiteSearchEngineService.GetSiteSearchEngine]
228// method.
229message GetSiteSearchEngineRequest {
230  // Required. Resource name of
231  // [SiteSearchEngine][google.cloud.discoveryengine.v1beta.SiteSearchEngine],
232  // such as
233  // `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/siteSearchEngine`.
234  //
235  // If the caller does not have permission to access the [SiteSearchEngine],
236  // regardless of whether or not it exists, a PERMISSION_DENIED error is
237  // returned.
238  string name = 1 [
239    (google.api.field_behavior) = REQUIRED,
240    (google.api.resource_reference) = {
241      type: "discoveryengine.googleapis.com/SiteSearchEngine"
242    }
243  ];
244}
245
246// Request message for
247// [SiteSearchEngineService.CreateTargetSite][google.cloud.discoveryengine.v1beta.SiteSearchEngineService.CreateTargetSite]
248// method.
249message CreateTargetSiteRequest {
250  // Required. Parent resource name of
251  // [TargetSite][google.cloud.discoveryengine.v1beta.TargetSite], such as
252  // `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/siteSearchEngine`.
253  string parent = 1 [
254    (google.api.field_behavior) = REQUIRED,
255    (google.api.resource_reference) = {
256      type: "discoveryengine.googleapis.com/SiteSearchEngine"
257    }
258  ];
259
260  // Required. The [TargetSite][google.cloud.discoveryengine.v1beta.TargetSite]
261  // to create.
262  TargetSite target_site = 2 [(google.api.field_behavior) = REQUIRED];
263}
264
265// Metadata related to the progress of the
266// [SiteSearchEngineService.CreateTargetSite][google.cloud.discoveryengine.v1beta.SiteSearchEngineService.CreateTargetSite]
267// operation. This will be returned by the google.longrunning.Operation.metadata
268// field.
269message CreateTargetSiteMetadata {
270  // Operation create time.
271  google.protobuf.Timestamp create_time = 1;
272
273  // Operation last update time. If the operation is done, this is also the
274  // finish time.
275  google.protobuf.Timestamp update_time = 2;
276}
277
278// Request message for
279// [SiteSearchEngineService.BatchCreateTargetSites][google.cloud.discoveryengine.v1beta.SiteSearchEngineService.BatchCreateTargetSites]
280// method.
281message BatchCreateTargetSitesRequest {
282  // Required. The parent resource shared by all TargetSites being created.
283  // `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/siteSearchEngine`.
284  // The parent field in the CreateBookRequest messages must either be empty or
285  // match this field.
286  string parent = 1 [
287    (google.api.field_behavior) = REQUIRED,
288    (google.api.resource_reference) = {
289      type: "discoveryengine.googleapis.com/SiteSearchEngine"
290    }
291  ];
292
293  // Required. The request message specifying the resources to create.
294  // A maximum of 20 TargetSites can be created in a batch.
295  repeated CreateTargetSiteRequest requests = 2
296      [(google.api.field_behavior) = REQUIRED];
297}
298
299// Request message for
300// [SiteSearchEngineService.GetTargetSite][google.cloud.discoveryengine.v1beta.SiteSearchEngineService.GetTargetSite]
301// method.
302message GetTargetSiteRequest {
303  // Required. Full resource name of
304  // [TargetSite][google.cloud.discoveryengine.v1beta.TargetSite], such as
305  // `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/siteSearchEngine/targetSites/{target_site}`.
306  //
307  // If the caller does not have permission to access the
308  // [TargetSite][google.cloud.discoveryengine.v1beta.TargetSite], regardless of
309  // whether or not it exists, a PERMISSION_DENIED error is returned.
310  //
311  // If the requested
312  // [TargetSite][google.cloud.discoveryengine.v1beta.TargetSite] does not
313  // exist, a NOT_FOUND error is returned.
314  string name = 1 [
315    (google.api.field_behavior) = REQUIRED,
316    (google.api.resource_reference) = {
317      type: "discoveryengine.googleapis.com/TargetSite"
318    }
319  ];
320}
321
322// Request message for
323// [SiteSearchEngineService.UpdateTargetSite][google.cloud.discoveryengine.v1beta.SiteSearchEngineService.UpdateTargetSite]
324// method.
325message UpdateTargetSiteRequest {
326  // Required. The target site to update.
327  // If the caller does not have permission to update the
328  // [TargetSite][google.cloud.discoveryengine.v1beta.TargetSite], regardless of
329  // whether or not it exists, a PERMISSION_DENIED error is returned.
330  //
331  // If the [TargetSite][google.cloud.discoveryengine.v1beta.TargetSite] to
332  // update does not exist, a NOT_FOUND error is returned.
333  TargetSite target_site = 1 [(google.api.field_behavior) = REQUIRED];
334}
335
336// Metadata related to the progress of the
337// [SiteSearchEngineService.UpdateTargetSite][google.cloud.discoveryengine.v1beta.SiteSearchEngineService.UpdateTargetSite]
338// operation. This will be returned by the google.longrunning.Operation.metadata
339// field.
340message UpdateTargetSiteMetadata {
341  // Operation create time.
342  google.protobuf.Timestamp create_time = 1;
343
344  // Operation last update time. If the operation is done, this is also the
345  // finish time.
346  google.protobuf.Timestamp update_time = 2;
347}
348
349// Request message for
350// [SiteSearchEngineService.DeleteTargetSite][google.cloud.discoveryengine.v1beta.SiteSearchEngineService.DeleteTargetSite]
351// method.
352message DeleteTargetSiteRequest {
353  // Required. Full resource name of
354  // [TargetSite][google.cloud.discoveryengine.v1beta.TargetSite], such as
355  // `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/siteSearchEngine/targetSites/{target_site}`.
356  //
357  // If the caller does not have permission to access the
358  // [TargetSite][google.cloud.discoveryengine.v1beta.TargetSite], regardless of
359  // whether or not it exists, a PERMISSION_DENIED error is returned.
360  //
361  // If the requested
362  // [TargetSite][google.cloud.discoveryengine.v1beta.TargetSite] does not
363  // exist, a NOT_FOUND error is returned.
364  string name = 1 [
365    (google.api.field_behavior) = REQUIRED,
366    (google.api.resource_reference) = {
367      type: "discoveryengine.googleapis.com/TargetSite"
368    }
369  ];
370}
371
372// Metadata related to the progress of the
373// [SiteSearchEngineService.DeleteTargetSite][google.cloud.discoveryengine.v1beta.SiteSearchEngineService.DeleteTargetSite]
374// operation. This will be returned by the google.longrunning.Operation.metadata
375// field.
376message DeleteTargetSiteMetadata {
377  // Operation create time.
378  google.protobuf.Timestamp create_time = 1;
379
380  // Operation last update time. If the operation is done, this is also the
381  // finish time.
382  google.protobuf.Timestamp update_time = 2;
383}
384
385// Request message for
386// [SiteSearchEngineService.ListTargetSites][google.cloud.discoveryengine.v1beta.SiteSearchEngineService.ListTargetSites]
387// method.
388message ListTargetSitesRequest {
389  // Required. The parent site search engine resource name, such as
390  // `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/siteSearchEngine`.
391  //
392  // If the caller does not have permission to list
393  // [TargetSite][google.cloud.discoveryengine.v1beta.TargetSite]s under this
394  // site search engine, regardless of whether or not this branch exists, a
395  // PERMISSION_DENIED error is returned.
396  string parent = 1 [
397    (google.api.field_behavior) = REQUIRED,
398    (google.api.resource_reference) = {
399      type: "discoveryengine.googleapis.com/SiteSearchEngine"
400    }
401  ];
402
403  // Requested page size. Server may return fewer items than requested. If
404  // unspecified, server will pick an appropriate default. The maximum value is
405  // 1000; values above 1000 will be coerced to 1000.
406  //
407  // If this field is negative, an INVALID_ARGUMENT error is returned.
408  int32 page_size = 2;
409
410  // A page token, received from a previous `ListTargetSites` call.
411  // Provide this to retrieve the subsequent page.
412  //
413  // When paginating, all other parameters provided to `ListTargetSites`
414  // must match the call that provided the page token.
415  string page_token = 3;
416}
417
418// Response message for
419// [SiteSearchEngineService.ListTargetSites][google.cloud.discoveryengine.v1beta.SiteSearchEngineService.ListTargetSites]
420// method.
421message ListTargetSitesResponse {
422  // List of TargetSites.
423  repeated TargetSite target_sites = 1;
424
425  // A token that can be sent as `page_token` to retrieve the next page.
426  // If this field is omitted, there are no subsequent pages.
427  string next_page_token = 2;
428
429  // The total number of items matching the request.
430  // This will always be populated in the response.
431  int32 total_size = 3;
432}
433
434// Metadata related to the progress of the
435// [SiteSearchEngineService.BatchCreateTargetSites][google.cloud.discoveryengine.v1beta.SiteSearchEngineService.BatchCreateTargetSites]
436// operation. This will be returned by the google.longrunning.Operation.metadata
437// field.
438message BatchCreateTargetSiteMetadata {
439  // Operation create time.
440  google.protobuf.Timestamp create_time = 1;
441
442  // Operation last update time. If the operation is done, this is also the
443  // finish time.
444  google.protobuf.Timestamp update_time = 2;
445}
446
447// Response message for
448// [SiteSearchEngineService.BatchCreateTargetSites][google.cloud.discoveryengine.v1beta.SiteSearchEngineService.BatchCreateTargetSites]
449// method.
450message BatchCreateTargetSitesResponse {
451  // TargetSites created.
452  repeated TargetSite target_sites = 1;
453}
454
455// Request message for
456// [SiteSearchEngineService.EnableAdvancedSiteSearch][google.cloud.discoveryengine.v1beta.SiteSearchEngineService.EnableAdvancedSiteSearch]
457// method.
458message EnableAdvancedSiteSearchRequest {
459  // Required. Full resource name of the
460  // [SiteSearchEngine][google.cloud.discoveryengine.v1beta.SiteSearchEngine],
461  // such as
462  // `projects/{project}/locations/{location}/dataStores/{data_store_id}/siteSearchEngine`.
463  string site_search_engine = 1 [
464    (google.api.field_behavior) = REQUIRED,
465    (google.api.resource_reference) = {
466      type: "discoveryengine.googleapis.com/SiteSearchEngine"
467    }
468  ];
469}
470
471// Response message for
472// [SiteSearchEngineService.EnableAdvancedSiteSearch][google.cloud.discoveryengine.v1beta.SiteSearchEngineService.EnableAdvancedSiteSearch]
473// method.
474message EnableAdvancedSiteSearchResponse {}
475
476// Metadata related to the progress of the
477// [SiteSearchEngineService.EnableAdvancedSiteSearch][google.cloud.discoveryengine.v1beta.SiteSearchEngineService.EnableAdvancedSiteSearch]
478// operation. This will be returned by the google.longrunning.Operation.metadata
479// field.
480message EnableAdvancedSiteSearchMetadata {
481  // Operation create time.
482  google.protobuf.Timestamp create_time = 1;
483
484  // Operation last update time. If the operation is done, this is also the
485  // finish time.
486  google.protobuf.Timestamp update_time = 2;
487}
488
489// Request message for
490// [SiteSearchEngineService.DisableAdvancedSiteSearch][google.cloud.discoveryengine.v1beta.SiteSearchEngineService.DisableAdvancedSiteSearch]
491// method.
492message DisableAdvancedSiteSearchRequest {
493  // Required. Full resource name of the
494  // [SiteSearchEngine][google.cloud.discoveryengine.v1beta.SiteSearchEngine],
495  // such as
496  // `projects/{project}/locations/{location}/dataStores/{data_store_id}/siteSearchEngine`.
497  string site_search_engine = 1 [
498    (google.api.field_behavior) = REQUIRED,
499    (google.api.resource_reference) = {
500      type: "discoveryengine.googleapis.com/SiteSearchEngine"
501    }
502  ];
503}
504
505// Response message for
506// [SiteSearchEngineService.DisableAdvancedSiteSearch][google.cloud.discoveryengine.v1beta.SiteSearchEngineService.DisableAdvancedSiteSearch]
507// method.
508message DisableAdvancedSiteSearchResponse {}
509
510// Metadata related to the progress of the
511// [SiteSearchEngineService.DisableAdvancedSiteSearch][google.cloud.discoveryengine.v1beta.SiteSearchEngineService.DisableAdvancedSiteSearch]
512// operation. This will be returned by the google.longrunning.Operation.metadata
513// field.
514message DisableAdvancedSiteSearchMetadata {
515  // Operation create time.
516  google.protobuf.Timestamp create_time = 1;
517
518  // Operation last update time. If the operation is done, this is also the
519  // finish time.
520  google.protobuf.Timestamp update_time = 2;
521}
522
523// Request message for
524// [SiteSearchEngineService.RecrawlUris][google.cloud.discoveryengine.v1beta.SiteSearchEngineService.RecrawlUris]
525// method.
526message RecrawlUrisRequest {
527  // Required. Full resource name of the
528  // [SiteSearchEngine][google.cloud.discoveryengine.v1beta.SiteSearchEngine],
529  // such as
530  // `projects/*/locations/*/collections/*/dataStores/*/siteSearchEngine`.
531  string site_search_engine = 1 [
532    (google.api.field_behavior) = REQUIRED,
533    (google.api.resource_reference) = {
534      type: "discoveryengine.googleapis.com/SiteSearchEngine"
535    }
536  ];
537
538  // Required. List of URIs to crawl. At most 10K URIs are supported, otherwise
539  // an INVALID_ARGUMENT error is thrown. Each URI should match at least one
540  // [TargetSite][google.cloud.discoveryengine.v1beta.TargetSite] in
541  // `site_search_engine`.
542  repeated string uris = 2 [(google.api.field_behavior) = REQUIRED];
543}
544
545// Response message for
546// [SiteSearchEngineService.RecrawlUris][google.cloud.discoveryengine.v1beta.SiteSearchEngineService.RecrawlUris]
547// method.
548message RecrawlUrisResponse {
549  // Details about why a particular URI failed to be crawled. Each FailureInfo
550  // contains one FailureReason per CorpusType.
551  message FailureInfo {
552    // Details about why crawling failed for a particular CorpusType, e.g.,
553    // DESKTOP and MOBILE crawling may fail for different reasons.
554    message FailureReason {
555      // CorpusType for the failed crawling operation.
556      enum CorpusType {
557        // Default value.
558        CORPUS_TYPE_UNSPECIFIED = 0;
559
560        // Denotes a crawling attempt for the desktop version of a page.
561        DESKTOP = 1;
562
563        // Denotes a crawling attempt for the mobile version of a page.
564        MOBILE = 2;
565      }
566
567      // DESKTOP, MOBILE, or CORPUS_TYPE_UNSPECIFIED.
568      CorpusType corpus_type = 1;
569
570      // Reason why the URI was not crawled.
571      string error_message = 2;
572    }
573
574    // URI that failed to be crawled.
575    string uri = 1;
576
577    // List of failure reasons by corpus type (e.g. desktop, mobile).
578    repeated FailureReason failure_reasons = 2;
579  }
580
581  // Details for a sample of up to 10 `failed_uris`.
582  repeated FailureInfo failure_samples = 1;
583
584  // URIs that were not crawled before the LRO terminated.
585  repeated string failed_uris = 2;
586}
587
588// Metadata related to the progress of the
589// [SiteSearchEngineService.RecrawlUris][google.cloud.discoveryengine.v1beta.SiteSearchEngineService.RecrawlUris]
590// operation. This will be returned by the google.longrunning.Operation.metadata
591// field.
592message RecrawlUrisMetadata {
593  // Operation create time.
594  google.protobuf.Timestamp create_time = 1;
595
596  // Operation last update time. If the operation is done, this is also the
597  // finish time.
598  google.protobuf.Timestamp update_time = 2;
599
600  // Unique URIs in the request that don't match any TargetSite in the
601  // DataStore, only match TargetSites that haven't been fully indexed, or match
602  // a TargetSite with type EXCLUDE.
603  repeated string invalid_uris = 3;
604
605  // Total number of unique URIs in the request that are not in invalid_uris.
606  int32 valid_uris_count = 4;
607
608  // Total number of URIs that have been crawled so far.
609  int32 success_count = 5;
610
611  // Total number of URIs that have yet to be crawled.
612  int32 pending_count = 6;
613
614  // Total number of URIs that were rejected due to insufficient indexing
615  // resources.
616  int32 quota_exceeded_count = 7;
617}
618
619// Request message for
620// [SiteSearchEngineService.BatchVerifyTargetSites][google.cloud.discoveryengine.v1beta.SiteSearchEngineService.BatchVerifyTargetSites]
621// method.
622message BatchVerifyTargetSitesRequest {
623  // Required. The parent resource shared by all TargetSites being verified.
624  // `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/siteSearchEngine`.
625  string parent = 1 [
626    (google.api.field_behavior) = REQUIRED,
627    (google.api.resource_reference) = {
628      type: "discoveryengine.googleapis.com/SiteSearchEngine"
629    }
630  ];
631}
632
633// Response message for
634// [SiteSearchEngineService.BatchVerifyTargetSites][google.cloud.discoveryengine.v1beta.SiteSearchEngineService.BatchVerifyTargetSites]
635// method.
636message BatchVerifyTargetSitesResponse {}
637
638// Metadata related to the progress of the
639// [SiteSearchEngineService.BatchVerifyTargetSites][google.cloud.discoveryengine.v1beta.SiteSearchEngineService.BatchVerifyTargetSites]
640// operation. This will be returned by the google.longrunning.Operation.metadata
641// field.
642message BatchVerifyTargetSitesMetadata {
643  // Operation create time.
644  google.protobuf.Timestamp create_time = 1;
645
646  // Operation last update time. If the operation is done, this is also the
647  // finish time.
648  google.protobuf.Timestamp update_time = 2;
649}
650
651// Request message for
652// [SiteSearchEngineService.FetchDomainVerificationStatus][google.cloud.discoveryengine.v1beta.SiteSearchEngineService.FetchDomainVerificationStatus]
653// method.
654message FetchDomainVerificationStatusRequest {
655  // Required. The site search engine resource under which we fetch all the
656  // domain verification status.
657  // `projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/siteSearchEngine`.
658  string site_search_engine = 1 [
659    (google.api.field_behavior) = REQUIRED,
660    (google.api.resource_reference) = {
661      type: "discoveryengine.googleapis.com/SiteSearchEngine"
662    }
663  ];
664
665  // Requested page size. Server may return fewer items than requested. If
666  // unspecified, server will pick an appropriate default. The maximum value is
667  // 1000; values above 1000 will be coerced to 1000.
668  //
669  // If this field is negative, an INVALID_ARGUMENT error is returned.
670  int32 page_size = 2;
671
672  // A page token, received from a previous `FetchDomainVerificationStatus`
673  // call. Provide this to retrieve the subsequent page.
674  //
675  // When paginating, all other parameters provided to
676  // `FetchDomainVerificationStatus` must match the call that provided the page
677  // token.
678  string page_token = 3;
679}
680
681// Response message for
682// [SiteSearchEngineService.FetchDomainVerificationStatus][google.cloud.discoveryengine.v1beta.SiteSearchEngineService.FetchDomainVerificationStatus]
683// method.
684message FetchDomainVerificationStatusResponse {
685  // List of TargetSites containing the site verification status.
686  repeated TargetSite target_sites = 1;
687
688  // A token that can be sent as `page_token` to retrieve the next page.
689  // If this field is omitted, there are no subsequent pages.
690  string next_page_token = 2;
691
692  // The total number of items matching the request.
693  // This will always be populated in the response.
694  int32 total_size = 3;
695}
696