1 // Copyright 2016 Google Inc.
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
7 // http://www.apache.org/licenses/LICENSE-2.0
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.
17 package google.genomics.v1;
19 import "google/api/annotations.proto";
20 import "google/iam/v1/iam_policy.proto";
21 import "google/iam/v1/policy.proto";
22 import "google/protobuf/empty.proto";
23 import "google/protobuf/field_mask.proto";
24 import "google/protobuf/timestamp.proto";
26 option cc_enable_arenas = true;
27 option go_package = "google.golang.org/genproto/googleapis/genomics/v1;genomics";
28 option java_multiple_files = true;
29 option java_outer_classname = "DatasetsProto";
30 option java_package = "com.google.genomics.v1";
32 // This service manages datasets, which are collections of genomic data.
33 service DatasetServiceV1 {
34 // Lists datasets within a project.
36 // For the definitions of datasets and other genomics resources, see
37 // [Fundamentals of Google
38 // Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
39 rpc ListDatasets(ListDatasetsRequest) returns (ListDatasetsResponse) {
40 option (google.api.http) = {
45 // Creates a new dataset.
47 // For the definitions of datasets and other genomics resources, see
48 // [Fundamentals of Google
49 // Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
50 rpc CreateDataset(CreateDatasetRequest) returns (Dataset) {
51 option (google.api.http) = {
57 // Gets a dataset by ID.
59 // For the definitions of datasets and other genomics resources, see
60 // [Fundamentals of Google
61 // Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
62 rpc GetDataset(GetDatasetRequest) returns (Dataset) {
63 option (google.api.http) = {
64 get: "/v1/datasets/{dataset_id}"
70 // For the definitions of datasets and other genomics resources, see
71 // [Fundamentals of Google
72 // Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
74 // This method supports patch semantics.
75 rpc UpdateDataset(UpdateDatasetRequest) returns (Dataset) {
76 option (google.api.http) = {
77 patch: "/v1/datasets/{dataset_id}"
82 // Deletes a dataset and all of its contents (all read group sets,
83 // reference sets, variant sets, call sets, annotation sets, etc.)
84 // This is reversible (up to one week after the deletion) via
86 // [datasets.undelete][google.genomics.v1.DatasetServiceV1.UndeleteDataset]
89 // For the definitions of datasets and other genomics resources, see
90 // [Fundamentals of Google
91 // Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
92 rpc DeleteDataset(DeleteDatasetRequest) returns (google.protobuf.Empty) {
93 option (google.api.http) = {
94 delete: "/v1/datasets/{dataset_id}"
98 // Undeletes a dataset by restoring a dataset which was deleted via this API.
100 // For the definitions of datasets and other genomics resources, see
101 // [Fundamentals of Google
102 // Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
104 // This operation is only possible for a week after the deletion occurred.
105 rpc UndeleteDataset(UndeleteDatasetRequest) returns (Dataset) {
106 option (google.api.http) = {
107 post: "/v1/datasets/{dataset_id}:undelete"
112 // Sets the access control policy on the specified dataset. Replaces any
115 // For the definitions of datasets and other genomics resources, see
116 // [Fundamentals of Google
117 // Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
119 // See <a href="/iam/docs/managing-policies#setting_a_policy">Setting a
120 // Policy</a> for more information.
121 rpc SetIamPolicy(google.iam.v1.SetIamPolicyRequest)
122 returns (google.iam.v1.Policy) {
123 option (google.api.http) = {
124 post: "/v1/{resource=datasets/*}:setIamPolicy"
129 // Gets the access control policy for the dataset. This is empty if the
130 // policy or resource does not exist.
132 // See <a href="/iam/docs/managing-policies#getting_a_policy">Getting a
133 // Policy</a> for more information.
135 // For the definitions of datasets and other genomics resources, see
136 // [Fundamentals of Google
137 // Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
138 rpc GetIamPolicy(google.iam.v1.GetIamPolicyRequest)
139 returns (google.iam.v1.Policy) {
140 option (google.api.http) = {
141 post: "/v1/{resource=datasets/*}:getIamPolicy"
146 // Returns permissions that a caller has on the specified resource.
147 // See <a href="/iam/docs/managing-policies#testing_permissions">Testing
148 // Permissions</a> for more information.
150 // For the definitions of datasets and other genomics resources, see
151 // [Fundamentals of Google
152 // Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
153 rpc TestIamPermissions(google.iam.v1.TestIamPermissionsRequest)
154 returns (google.iam.v1.TestIamPermissionsResponse) {
155 option (google.api.http) = {
156 post: "/v1/{resource=datasets/*}:testIamPermissions"
162 // A Dataset is a collection of genomic data.
164 // For more genomics resource definitions, see [Fundamentals of Google
165 // Genomics](https://cloud.google.com/genomics/fundamentals-of-google-genomics)
167 // The server-generated dataset ID, unique across all datasets.
170 // The Google Cloud project ID that this dataset belongs to.
171 string project_id = 2;
176 // The time this dataset was created, in seconds from the epoch.
177 google.protobuf.Timestamp create_time = 4;
180 // The dataset list request.
181 message ListDatasetsRequest {
182 // Required. The Google Cloud project ID to list datasets for.
183 string project_id = 1;
185 // The maximum number of results to return in a single page. If unspecified,
186 // defaults to 50. The maximum value is 1024.
189 // The continuation token, which is used to page through large result sets.
190 // To get the next page of results, set this parameter to the value of
191 // `nextPageToken` from the previous response.
192 string page_token = 3;
195 // The dataset list response.
196 message ListDatasetsResponse {
197 // The list of matching Datasets.
198 repeated Dataset datasets = 1;
200 // The continuation token, which is used to page through large result sets.
201 // Provide this value in a subsequent request to return the next page of
202 // results. This field will be empty if there aren't any additional results.
203 string next_page_token = 2;
206 message CreateDatasetRequest {
207 // The dataset to be created. Must contain projectId and name.
211 message UpdateDatasetRequest {
212 // The ID of the dataset to be updated.
213 string dataset_id = 1;
215 // The new dataset data.
218 // An optional mask specifying which fields to update. At this time, the only
219 // mutable field is [name][google.genomics.v1.Dataset.name]. The only
220 // acceptable value is "name". If unspecified, all mutable fields will be
222 google.protobuf.FieldMask update_mask = 3;
225 message DeleteDatasetRequest {
226 // The ID of the dataset to be deleted.
227 string dataset_id = 1;
230 message UndeleteDatasetRequest {
231 // The ID of the dataset to be undeleted.
232 string dataset_id = 1;
235 message GetDatasetRequest {
236 // The ID of the dataset.
237 string dataset_id = 1;