1// Copyright 2023 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.maps.mapsplatformdatasets.v1;
18
19import "google/api/annotations.proto";
20import "google/api/client.proto";
21import "google/maps/mapsplatformdatasets/v1/dataset.proto";
22import "google/maps/mapsplatformdatasets/v1/maps_platform_datasets.proto";
23import "google/protobuf/empty.proto";
24
25option cc_enable_arenas = true;
26option csharp_namespace = "Google.Maps.MapsPlatformDatasets.V1";
27option go_package = "cloud.google.com/go/maps/mapsplatformdatasets/apiv1/mapsplatformdatasetspb;mapsplatformdatasetspb";
28option java_multiple_files = true;
29option java_outer_classname = "MapsPlatformDatasetsServiceProto";
30option java_package = "com.google.maps.mapsplatformdatasets.v1";
31option objc_class_prefix = "MDV1";
32option php_namespace = "Google\\Maps\\MapsPlatformDatasets\\V1";
33
34// Service definition for the Maps Platform Datasets API.
35service MapsPlatformDatasets {
36  option (google.api.default_host) = "mapsplatformdatasets.googleapis.com";
37  option (google.api.oauth_scopes) =
38      "https://www.googleapis.com/auth/cloud-platform";
39
40  // Create a new dataset for the specified project.
41  rpc CreateDataset(CreateDatasetRequest) returns (Dataset) {
42    option (google.api.http) = {
43      post: "/v1/{parent=projects/*}/datasets"
44      body: "dataset"
45    };
46    option (google.api.method_signature) = "parent,dataset";
47  }
48
49  // Update the metadata for the dataset.
50  rpc UpdateDatasetMetadata(UpdateDatasetMetadataRequest) returns (Dataset) {
51    option (google.api.http) = {
52      patch: "/v1/{dataset.name=projects/*/datasets/*}"
53      body: "dataset"
54    };
55    option (google.api.method_signature) = "dataset,update_mask";
56  }
57
58  // Get the dataset.
59  rpc GetDataset(GetDatasetRequest) returns (Dataset) {
60    option (google.api.http) = {
61      get: "/v1/{name=projects/*/datasets/*}"
62    };
63    option (google.api.method_signature) = "name";
64  }
65
66  // List all the datasets for the specified project.
67  rpc ListDatasets(ListDatasetsRequest) returns (ListDatasetsResponse) {
68    option (google.api.http) = {
69      get: "/v1/{parent=projects/*}/datasets"
70    };
71    option (google.api.method_signature) = "parent";
72  }
73
74  // Delete the specified dataset .
75  rpc DeleteDataset(DeleteDatasetRequest) returns (google.protobuf.Empty) {
76    option (google.api.http) = {
77      delete: "/v1/{name=projects/*/datasets/*}"
78    };
79    option (google.api.method_signature) = "name";
80  }
81}
82