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