xref: /aosp_15_r20/external/googleapis/google/storagetransfer/v1/transfer.proto (revision d5c09012810ac0c9f33fe448fb6da8260d444cc9)
1*d5c09012SAndroid Build Coastguard Worker// Copyright 2023 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.storagetransfer.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/longrunning/operations.proto";
23*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/empty.proto";
24*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/field_mask.proto";
25*d5c09012SAndroid Build Coastguard Workerimport "google/storagetransfer/v1/transfer_types.proto";
26*d5c09012SAndroid Build Coastguard Worker
27*d5c09012SAndroid Build Coastguard Workeroption cc_enable_arenas = true;
28*d5c09012SAndroid Build Coastguard Workeroption csharp_namespace = "Google.Cloud.StorageTransfer.V1";
29*d5c09012SAndroid Build Coastguard Workeroption go_package = "cloud.google.com/go/storagetransfer/apiv1/storagetransferpb;storagetransferpb";
30*d5c09012SAndroid Build Coastguard Workeroption java_outer_classname = "TransferProto";
31*d5c09012SAndroid Build Coastguard Workeroption java_package = "com.google.storagetransfer.v1.proto";
32*d5c09012SAndroid Build Coastguard Workeroption php_namespace = "Google\\Cloud\\StorageTransfer\\V1";
33*d5c09012SAndroid Build Coastguard Workeroption ruby_package = "Google::Cloud::StorageTransfer::V1";
34*d5c09012SAndroid Build Coastguard Worker
35*d5c09012SAndroid Build Coastguard Worker// Storage Transfer Service and its protos.
36*d5c09012SAndroid Build Coastguard Worker// Transfers data between between Google Cloud Storage buckets or from a data
37*d5c09012SAndroid Build Coastguard Worker// source external to Google to a Cloud Storage bucket.
38*d5c09012SAndroid Build Coastguard Workerservice StorageTransferService {
39*d5c09012SAndroid Build Coastguard Worker  option (google.api.default_host) = "storagetransfer.googleapis.com";
40*d5c09012SAndroid Build Coastguard Worker  option (google.api.oauth_scopes) =
41*d5c09012SAndroid Build Coastguard Worker      "https://www.googleapis.com/auth/cloud-platform";
42*d5c09012SAndroid Build Coastguard Worker
43*d5c09012SAndroid Build Coastguard Worker  // Returns the Google service account that is used by Storage Transfer
44*d5c09012SAndroid Build Coastguard Worker  // Service to access buckets in the project where transfers
45*d5c09012SAndroid Build Coastguard Worker  // run or in other projects. Each Google service account is associated
46*d5c09012SAndroid Build Coastguard Worker  // with one Google Cloud project. Users
47*d5c09012SAndroid Build Coastguard Worker  // should add this service account to the Google Cloud Storage bucket
48*d5c09012SAndroid Build Coastguard Worker  // ACLs to grant access to Storage Transfer Service. This service
49*d5c09012SAndroid Build Coastguard Worker  // account is created and owned by Storage Transfer Service and can
50*d5c09012SAndroid Build Coastguard Worker  // only be used by Storage Transfer Service.
51*d5c09012SAndroid Build Coastguard Worker  rpc GetGoogleServiceAccount(GetGoogleServiceAccountRequest)
52*d5c09012SAndroid Build Coastguard Worker      returns (GoogleServiceAccount) {
53*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
54*d5c09012SAndroid Build Coastguard Worker      get: "/v1/googleServiceAccounts/{project_id}"
55*d5c09012SAndroid Build Coastguard Worker    };
56*d5c09012SAndroid Build Coastguard Worker  }
57*d5c09012SAndroid Build Coastguard Worker
58*d5c09012SAndroid Build Coastguard Worker  // Creates a transfer job that runs periodically.
59*d5c09012SAndroid Build Coastguard Worker  rpc CreateTransferJob(CreateTransferJobRequest) returns (TransferJob) {
60*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
61*d5c09012SAndroid Build Coastguard Worker      post: "/v1/transferJobs"
62*d5c09012SAndroid Build Coastguard Worker      body: "transfer_job"
63*d5c09012SAndroid Build Coastguard Worker    };
64*d5c09012SAndroid Build Coastguard Worker  }
65*d5c09012SAndroid Build Coastguard Worker
66*d5c09012SAndroid Build Coastguard Worker  // Updates a transfer job. Updating a job's transfer spec does not affect
67*d5c09012SAndroid Build Coastguard Worker  // transfer operations that are running already.
68*d5c09012SAndroid Build Coastguard Worker  //
69*d5c09012SAndroid Build Coastguard Worker  // **Note:** The job's [status][google.storagetransfer.v1.TransferJob.status]
70*d5c09012SAndroid Build Coastguard Worker  // field can be modified using this RPC (for example, to set a job's status to
71*d5c09012SAndroid Build Coastguard Worker  // [DELETED][google.storagetransfer.v1.TransferJob.Status.DELETED],
72*d5c09012SAndroid Build Coastguard Worker  // [DISABLED][google.storagetransfer.v1.TransferJob.Status.DISABLED], or
73*d5c09012SAndroid Build Coastguard Worker  // [ENABLED][google.storagetransfer.v1.TransferJob.Status.ENABLED]).
74*d5c09012SAndroid Build Coastguard Worker  rpc UpdateTransferJob(UpdateTransferJobRequest) returns (TransferJob) {
75*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
76*d5c09012SAndroid Build Coastguard Worker      patch: "/v1/{job_name=transferJobs/**}"
77*d5c09012SAndroid Build Coastguard Worker      body: "*"
78*d5c09012SAndroid Build Coastguard Worker    };
79*d5c09012SAndroid Build Coastguard Worker  }
80*d5c09012SAndroid Build Coastguard Worker
81*d5c09012SAndroid Build Coastguard Worker  // Gets a transfer job.
82*d5c09012SAndroid Build Coastguard Worker  rpc GetTransferJob(GetTransferJobRequest) returns (TransferJob) {
83*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
84*d5c09012SAndroid Build Coastguard Worker      get: "/v1/{job_name=transferJobs/**}"
85*d5c09012SAndroid Build Coastguard Worker    };
86*d5c09012SAndroid Build Coastguard Worker  }
87*d5c09012SAndroid Build Coastguard Worker
88*d5c09012SAndroid Build Coastguard Worker  // Lists transfer jobs.
89*d5c09012SAndroid Build Coastguard Worker  rpc ListTransferJobs(ListTransferJobsRequest)
90*d5c09012SAndroid Build Coastguard Worker      returns (ListTransferJobsResponse) {
91*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
92*d5c09012SAndroid Build Coastguard Worker      get: "/v1/transferJobs"
93*d5c09012SAndroid Build Coastguard Worker    };
94*d5c09012SAndroid Build Coastguard Worker  }
95*d5c09012SAndroid Build Coastguard Worker
96*d5c09012SAndroid Build Coastguard Worker  // Pauses a transfer operation.
97*d5c09012SAndroid Build Coastguard Worker  rpc PauseTransferOperation(PauseTransferOperationRequest)
98*d5c09012SAndroid Build Coastguard Worker      returns (google.protobuf.Empty) {
99*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
100*d5c09012SAndroid Build Coastguard Worker      post: "/v1/{name=transferOperations/**}:pause"
101*d5c09012SAndroid Build Coastguard Worker      body: "*"
102*d5c09012SAndroid Build Coastguard Worker    };
103*d5c09012SAndroid Build Coastguard Worker  }
104*d5c09012SAndroid Build Coastguard Worker
105*d5c09012SAndroid Build Coastguard Worker  // Resumes a transfer operation that is paused.
106*d5c09012SAndroid Build Coastguard Worker  rpc ResumeTransferOperation(ResumeTransferOperationRequest)
107*d5c09012SAndroid Build Coastguard Worker      returns (google.protobuf.Empty) {
108*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
109*d5c09012SAndroid Build Coastguard Worker      post: "/v1/{name=transferOperations/**}:resume"
110*d5c09012SAndroid Build Coastguard Worker      body: "*"
111*d5c09012SAndroid Build Coastguard Worker    };
112*d5c09012SAndroid Build Coastguard Worker  }
113*d5c09012SAndroid Build Coastguard Worker
114*d5c09012SAndroid Build Coastguard Worker  // Starts a new operation for the specified transfer job.
115*d5c09012SAndroid Build Coastguard Worker  // A `TransferJob` has a maximum of one active `TransferOperation`. If this
116*d5c09012SAndroid Build Coastguard Worker  // method is called while a `TransferOperation` is active, an error is
117*d5c09012SAndroid Build Coastguard Worker  // returned.
118*d5c09012SAndroid Build Coastguard Worker  rpc RunTransferJob(RunTransferJobRequest)
119*d5c09012SAndroid Build Coastguard Worker      returns (google.longrunning.Operation) {
120*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
121*d5c09012SAndroid Build Coastguard Worker      post: "/v1/{job_name=transferJobs/**}:run"
122*d5c09012SAndroid Build Coastguard Worker      body: "*"
123*d5c09012SAndroid Build Coastguard Worker    };
124*d5c09012SAndroid Build Coastguard Worker    option (google.longrunning.operation_info) = {
125*d5c09012SAndroid Build Coastguard Worker      response_type: "google.protobuf.Empty"
126*d5c09012SAndroid Build Coastguard Worker      metadata_type: "TransferOperation"
127*d5c09012SAndroid Build Coastguard Worker    };
128*d5c09012SAndroid Build Coastguard Worker  }
129*d5c09012SAndroid Build Coastguard Worker
130*d5c09012SAndroid Build Coastguard Worker  // Deletes a transfer job. Deleting a transfer job sets its status to
131*d5c09012SAndroid Build Coastguard Worker  // [DELETED][google.storagetransfer.v1.TransferJob.Status.DELETED].
132*d5c09012SAndroid Build Coastguard Worker  rpc DeleteTransferJob(DeleteTransferJobRequest)
133*d5c09012SAndroid Build Coastguard Worker      returns (google.protobuf.Empty) {
134*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
135*d5c09012SAndroid Build Coastguard Worker      delete: "/v1/{job_name=transferJobs/**}"
136*d5c09012SAndroid Build Coastguard Worker    };
137*d5c09012SAndroid Build Coastguard Worker  }
138*d5c09012SAndroid Build Coastguard Worker
139*d5c09012SAndroid Build Coastguard Worker  // Creates an agent pool resource.
140*d5c09012SAndroid Build Coastguard Worker  rpc CreateAgentPool(CreateAgentPoolRequest) returns (AgentPool) {
141*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
142*d5c09012SAndroid Build Coastguard Worker      post: "/v1/projects/{project_id=*}/agentPools"
143*d5c09012SAndroid Build Coastguard Worker      body: "agent_pool"
144*d5c09012SAndroid Build Coastguard Worker    };
145*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) =
146*d5c09012SAndroid Build Coastguard Worker        "project_id,agent_pool,agent_pool_id";
147*d5c09012SAndroid Build Coastguard Worker  }
148*d5c09012SAndroid Build Coastguard Worker
149*d5c09012SAndroid Build Coastguard Worker  // Updates an existing agent pool resource.
150*d5c09012SAndroid Build Coastguard Worker  rpc UpdateAgentPool(UpdateAgentPoolRequest) returns (AgentPool) {
151*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
152*d5c09012SAndroid Build Coastguard Worker      patch: "/v1/{agent_pool.name=projects/*/agentPools/*}"
153*d5c09012SAndroid Build Coastguard Worker      body: "agent_pool"
154*d5c09012SAndroid Build Coastguard Worker    };
155*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "agent_pool,update_mask";
156*d5c09012SAndroid Build Coastguard Worker  }
157*d5c09012SAndroid Build Coastguard Worker
158*d5c09012SAndroid Build Coastguard Worker  // Gets an agent pool.
159*d5c09012SAndroid Build Coastguard Worker  rpc GetAgentPool(GetAgentPoolRequest) returns (AgentPool) {
160*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
161*d5c09012SAndroid Build Coastguard Worker      get: "/v1/{name=projects/*/agentPools/*}"
162*d5c09012SAndroid Build Coastguard Worker    };
163*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "name";
164*d5c09012SAndroid Build Coastguard Worker  }
165*d5c09012SAndroid Build Coastguard Worker
166*d5c09012SAndroid Build Coastguard Worker  // Lists agent pools.
167*d5c09012SAndroid Build Coastguard Worker  rpc ListAgentPools(ListAgentPoolsRequest) returns (ListAgentPoolsResponse) {
168*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
169*d5c09012SAndroid Build Coastguard Worker      get: "/v1/projects/{project_id=*}/agentPools"
170*d5c09012SAndroid Build Coastguard Worker    };
171*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "project_id";
172*d5c09012SAndroid Build Coastguard Worker  }
173*d5c09012SAndroid Build Coastguard Worker
174*d5c09012SAndroid Build Coastguard Worker  // Deletes an agent pool.
175*d5c09012SAndroid Build Coastguard Worker  rpc DeleteAgentPool(DeleteAgentPoolRequest) returns (google.protobuf.Empty) {
176*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
177*d5c09012SAndroid Build Coastguard Worker      delete: "/v1/{name=projects/*/agentPools/*}"
178*d5c09012SAndroid Build Coastguard Worker    };
179*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "name";
180*d5c09012SAndroid Build Coastguard Worker  }
181*d5c09012SAndroid Build Coastguard Worker}
182*d5c09012SAndroid Build Coastguard Worker
183*d5c09012SAndroid Build Coastguard Worker// Request passed to GetGoogleServiceAccount.
184*d5c09012SAndroid Build Coastguard Workermessage GetGoogleServiceAccountRequest {
185*d5c09012SAndroid Build Coastguard Worker  // Required. The ID of the Google Cloud project that the Google service
186*d5c09012SAndroid Build Coastguard Worker  // account is associated with.
187*d5c09012SAndroid Build Coastguard Worker  string project_id = 1 [(google.api.field_behavior) = REQUIRED];
188*d5c09012SAndroid Build Coastguard Worker}
189*d5c09012SAndroid Build Coastguard Worker
190*d5c09012SAndroid Build Coastguard Worker// Request passed to CreateTransferJob.
191*d5c09012SAndroid Build Coastguard Workermessage CreateTransferJobRequest {
192*d5c09012SAndroid Build Coastguard Worker  // Required. The job to create.
193*d5c09012SAndroid Build Coastguard Worker  TransferJob transfer_job = 1 [(google.api.field_behavior) = REQUIRED];
194*d5c09012SAndroid Build Coastguard Worker}
195*d5c09012SAndroid Build Coastguard Worker
196*d5c09012SAndroid Build Coastguard Worker// Request passed to UpdateTransferJob.
197*d5c09012SAndroid Build Coastguard Workermessage UpdateTransferJobRequest {
198*d5c09012SAndroid Build Coastguard Worker  // Required. The name of job to update.
199*d5c09012SAndroid Build Coastguard Worker  string job_name = 1 [(google.api.field_behavior) = REQUIRED];
200*d5c09012SAndroid Build Coastguard Worker
201*d5c09012SAndroid Build Coastguard Worker  // Required. The ID of the Google Cloud project that owns the
202*d5c09012SAndroid Build Coastguard Worker  // job.
203*d5c09012SAndroid Build Coastguard Worker  string project_id = 2 [(google.api.field_behavior) = REQUIRED];
204*d5c09012SAndroid Build Coastguard Worker
205*d5c09012SAndroid Build Coastguard Worker  // Required. The job to update. `transferJob` is expected to specify one or
206*d5c09012SAndroid Build Coastguard Worker  // more of five fields:
207*d5c09012SAndroid Build Coastguard Worker  // [description][google.storagetransfer.v1.TransferJob.description],
208*d5c09012SAndroid Build Coastguard Worker  // [transfer_spec][google.storagetransfer.v1.TransferJob.transfer_spec],
209*d5c09012SAndroid Build Coastguard Worker  // [notification_config][google.storagetransfer.v1.TransferJob.notification_config],
210*d5c09012SAndroid Build Coastguard Worker  // [logging_config][google.storagetransfer.v1.TransferJob.logging_config], and
211*d5c09012SAndroid Build Coastguard Worker  // [status][google.storagetransfer.v1.TransferJob.status].  An
212*d5c09012SAndroid Build Coastguard Worker  // `UpdateTransferJobRequest` that specifies other fields are rejected with
213*d5c09012SAndroid Build Coastguard Worker  // the error [INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT]. Updating a
214*d5c09012SAndroid Build Coastguard Worker  // job status to
215*d5c09012SAndroid Build Coastguard Worker  // [DELETED][google.storagetransfer.v1.TransferJob.Status.DELETED] requires
216*d5c09012SAndroid Build Coastguard Worker  // `storagetransfer.jobs.delete` permission.
217*d5c09012SAndroid Build Coastguard Worker  TransferJob transfer_job = 3 [(google.api.field_behavior) = REQUIRED];
218*d5c09012SAndroid Build Coastguard Worker
219*d5c09012SAndroid Build Coastguard Worker  // The field mask of the fields in `transferJob` that are to be updated in
220*d5c09012SAndroid Build Coastguard Worker  // this request.  Fields in `transferJob` that can be updated are:
221*d5c09012SAndroid Build Coastguard Worker  // [description][google.storagetransfer.v1.TransferJob.description],
222*d5c09012SAndroid Build Coastguard Worker  // [transfer_spec][google.storagetransfer.v1.TransferJob.transfer_spec],
223*d5c09012SAndroid Build Coastguard Worker  // [notification_config][google.storagetransfer.v1.TransferJob.notification_config],
224*d5c09012SAndroid Build Coastguard Worker  // [logging_config][google.storagetransfer.v1.TransferJob.logging_config], and
225*d5c09012SAndroid Build Coastguard Worker  // [status][google.storagetransfer.v1.TransferJob.status].  To update the
226*d5c09012SAndroid Build Coastguard Worker  // `transfer_spec` of the job, a complete transfer specification must be
227*d5c09012SAndroid Build Coastguard Worker  // provided. An incomplete specification missing any required fields is
228*d5c09012SAndroid Build Coastguard Worker  // rejected with the error
229*d5c09012SAndroid Build Coastguard Worker  // [INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT].
230*d5c09012SAndroid Build Coastguard Worker  google.protobuf.FieldMask update_transfer_job_field_mask = 4;
231*d5c09012SAndroid Build Coastguard Worker}
232*d5c09012SAndroid Build Coastguard Worker
233*d5c09012SAndroid Build Coastguard Worker// Request passed to GetTransferJob.
234*d5c09012SAndroid Build Coastguard Workermessage GetTransferJobRequest {
235*d5c09012SAndroid Build Coastguard Worker  // Required. The job to get.
236*d5c09012SAndroid Build Coastguard Worker  string job_name = 1 [(google.api.field_behavior) = REQUIRED];
237*d5c09012SAndroid Build Coastguard Worker
238*d5c09012SAndroid Build Coastguard Worker  // Required. The ID of the Google Cloud project that owns the
239*d5c09012SAndroid Build Coastguard Worker  // job.
240*d5c09012SAndroid Build Coastguard Worker  string project_id = 2 [(google.api.field_behavior) = REQUIRED];
241*d5c09012SAndroid Build Coastguard Worker}
242*d5c09012SAndroid Build Coastguard Worker
243*d5c09012SAndroid Build Coastguard Worker// Request passed to DeleteTransferJob.
244*d5c09012SAndroid Build Coastguard Workermessage DeleteTransferJobRequest {
245*d5c09012SAndroid Build Coastguard Worker  // Required. The job to delete.
246*d5c09012SAndroid Build Coastguard Worker  string job_name = 1 [(google.api.field_behavior) = REQUIRED];
247*d5c09012SAndroid Build Coastguard Worker
248*d5c09012SAndroid Build Coastguard Worker  // Required. The ID of the Google Cloud project that owns the
249*d5c09012SAndroid Build Coastguard Worker  // job.
250*d5c09012SAndroid Build Coastguard Worker  string project_id = 2 [(google.api.field_behavior) = REQUIRED];
251*d5c09012SAndroid Build Coastguard Worker}
252*d5c09012SAndroid Build Coastguard Worker
253*d5c09012SAndroid Build Coastguard Worker// `projectId`, `jobNames`, and `jobStatuses` are query parameters that can
254*d5c09012SAndroid Build Coastguard Worker// be specified when listing transfer jobs.
255*d5c09012SAndroid Build Coastguard Workermessage ListTransferJobsRequest {
256*d5c09012SAndroid Build Coastguard Worker  // Required. A list of query parameters specified as JSON text in the form of:
257*d5c09012SAndroid Build Coastguard Worker  // `{"projectId":"my_project_id",
258*d5c09012SAndroid Build Coastguard Worker  //  "jobNames":["jobid1","jobid2",...],
259*d5c09012SAndroid Build Coastguard Worker  //  "jobStatuses":["status1","status2",...]}`
260*d5c09012SAndroid Build Coastguard Worker  //
261*d5c09012SAndroid Build Coastguard Worker  // Since `jobNames` and `jobStatuses` support multiple values, their values
262*d5c09012SAndroid Build Coastguard Worker  // must be specified with array notation. `projectId` is required.
263*d5c09012SAndroid Build Coastguard Worker  // `jobNames` and `jobStatuses` are optional.  The valid values for
264*d5c09012SAndroid Build Coastguard Worker  // `jobStatuses` are case-insensitive:
265*d5c09012SAndroid Build Coastguard Worker  // [ENABLED][google.storagetransfer.v1.TransferJob.Status.ENABLED],
266*d5c09012SAndroid Build Coastguard Worker  // [DISABLED][google.storagetransfer.v1.TransferJob.Status.DISABLED], and
267*d5c09012SAndroid Build Coastguard Worker  // [DELETED][google.storagetransfer.v1.TransferJob.Status.DELETED].
268*d5c09012SAndroid Build Coastguard Worker  string filter = 1 [(google.api.field_behavior) = REQUIRED];
269*d5c09012SAndroid Build Coastguard Worker
270*d5c09012SAndroid Build Coastguard Worker  // The list page size. The max allowed value is 256.
271*d5c09012SAndroid Build Coastguard Worker  int32 page_size = 4;
272*d5c09012SAndroid Build Coastguard Worker
273*d5c09012SAndroid Build Coastguard Worker  // The list page token.
274*d5c09012SAndroid Build Coastguard Worker  string page_token = 5;
275*d5c09012SAndroid Build Coastguard Worker}
276*d5c09012SAndroid Build Coastguard Worker
277*d5c09012SAndroid Build Coastguard Worker// Response from ListTransferJobs.
278*d5c09012SAndroid Build Coastguard Workermessage ListTransferJobsResponse {
279*d5c09012SAndroid Build Coastguard Worker  // A list of transfer jobs.
280*d5c09012SAndroid Build Coastguard Worker  repeated TransferJob transfer_jobs = 1;
281*d5c09012SAndroid Build Coastguard Worker
282*d5c09012SAndroid Build Coastguard Worker  // The list next page token.
283*d5c09012SAndroid Build Coastguard Worker  string next_page_token = 2;
284*d5c09012SAndroid Build Coastguard Worker}
285*d5c09012SAndroid Build Coastguard Worker
286*d5c09012SAndroid Build Coastguard Worker// Request passed to PauseTransferOperation.
287*d5c09012SAndroid Build Coastguard Workermessage PauseTransferOperationRequest {
288*d5c09012SAndroid Build Coastguard Worker  // Required. The name of the transfer operation.
289*d5c09012SAndroid Build Coastguard Worker  string name = 1 [(google.api.field_behavior) = REQUIRED];
290*d5c09012SAndroid Build Coastguard Worker}
291*d5c09012SAndroid Build Coastguard Worker
292*d5c09012SAndroid Build Coastguard Worker// Request passed to ResumeTransferOperation.
293*d5c09012SAndroid Build Coastguard Workermessage ResumeTransferOperationRequest {
294*d5c09012SAndroid Build Coastguard Worker  // Required. The name of the transfer operation.
295*d5c09012SAndroid Build Coastguard Worker  string name = 1 [(google.api.field_behavior) = REQUIRED];
296*d5c09012SAndroid Build Coastguard Worker}
297*d5c09012SAndroid Build Coastguard Worker
298*d5c09012SAndroid Build Coastguard Worker// Request passed to RunTransferJob.
299*d5c09012SAndroid Build Coastguard Workermessage RunTransferJobRequest {
300*d5c09012SAndroid Build Coastguard Worker  // Required. The name of the transfer job.
301*d5c09012SAndroid Build Coastguard Worker  string job_name = 1 [(google.api.field_behavior) = REQUIRED];
302*d5c09012SAndroid Build Coastguard Worker
303*d5c09012SAndroid Build Coastguard Worker  // Required. The ID of the Google Cloud project that owns the transfer
304*d5c09012SAndroid Build Coastguard Worker  // job.
305*d5c09012SAndroid Build Coastguard Worker  string project_id = 2 [(google.api.field_behavior) = REQUIRED];
306*d5c09012SAndroid Build Coastguard Worker}
307*d5c09012SAndroid Build Coastguard Worker
308*d5c09012SAndroid Build Coastguard Worker// Specifies the request passed to CreateAgentPool.
309*d5c09012SAndroid Build Coastguard Workermessage CreateAgentPoolRequest {
310*d5c09012SAndroid Build Coastguard Worker  // Required. The ID of the Google Cloud project that owns the
311*d5c09012SAndroid Build Coastguard Worker  // agent pool.
312*d5c09012SAndroid Build Coastguard Worker  string project_id = 1 [(google.api.field_behavior) = REQUIRED];
313*d5c09012SAndroid Build Coastguard Worker
314*d5c09012SAndroid Build Coastguard Worker  // Required. The agent pool to create.
315*d5c09012SAndroid Build Coastguard Worker  AgentPool agent_pool = 2 [(google.api.field_behavior) = REQUIRED];
316*d5c09012SAndroid Build Coastguard Worker
317*d5c09012SAndroid Build Coastguard Worker  // Required. The ID of the agent pool to create.
318*d5c09012SAndroid Build Coastguard Worker  //
319*d5c09012SAndroid Build Coastguard Worker  // The `agent_pool_id` must meet the following requirements:
320*d5c09012SAndroid Build Coastguard Worker  //
321*d5c09012SAndroid Build Coastguard Worker  // *   Length of 128 characters or less.
322*d5c09012SAndroid Build Coastguard Worker  // *   Not start with the string `goog`.
323*d5c09012SAndroid Build Coastguard Worker  // *   Start with a lowercase ASCII character, followed by:
324*d5c09012SAndroid Build Coastguard Worker  //     *   Zero or more: lowercase Latin alphabet characters, numerals,
325*d5c09012SAndroid Build Coastguard Worker  //         hyphens (`-`), periods (`.`), underscores (`_`), or tildes (`~`).
326*d5c09012SAndroid Build Coastguard Worker  //     *   One or more numerals or lowercase ASCII characters.
327*d5c09012SAndroid Build Coastguard Worker  //
328*d5c09012SAndroid Build Coastguard Worker  // As expressed by the regular expression:
329*d5c09012SAndroid Build Coastguard Worker  // `^(?!goog)[a-z]([a-z0-9-._~]*[a-z0-9])?$`.
330*d5c09012SAndroid Build Coastguard Worker  string agent_pool_id = 3 [(google.api.field_behavior) = REQUIRED];
331*d5c09012SAndroid Build Coastguard Worker}
332*d5c09012SAndroid Build Coastguard Worker
333*d5c09012SAndroid Build Coastguard Worker// Specifies the request passed to UpdateAgentPool.
334*d5c09012SAndroid Build Coastguard Workermessage UpdateAgentPoolRequest {
335*d5c09012SAndroid Build Coastguard Worker  // Required. The agent pool to update. `agent_pool` is expected to specify
336*d5c09012SAndroid Build Coastguard Worker  // following fields:
337*d5c09012SAndroid Build Coastguard Worker  //
338*d5c09012SAndroid Build Coastguard Worker  // *  [name][google.storagetransfer.v1.AgentPool.name]
339*d5c09012SAndroid Build Coastguard Worker  //
340*d5c09012SAndroid Build Coastguard Worker  // *  [display_name][google.storagetransfer.v1.AgentPool.display_name]
341*d5c09012SAndroid Build Coastguard Worker  //
342*d5c09012SAndroid Build Coastguard Worker  // *  [bandwidth_limit][google.storagetransfer.v1.AgentPool.bandwidth_limit]
343*d5c09012SAndroid Build Coastguard Worker  // An `UpdateAgentPoolRequest` with any other fields is rejected
344*d5c09012SAndroid Build Coastguard Worker  // with the error [INVALID_ARGUMENT][google.rpc.Code.INVALID_ARGUMENT].
345*d5c09012SAndroid Build Coastguard Worker  AgentPool agent_pool = 1 [(google.api.field_behavior) = REQUIRED];
346*d5c09012SAndroid Build Coastguard Worker
347*d5c09012SAndroid Build Coastguard Worker  // The [field mask]
348*d5c09012SAndroid Build Coastguard Worker  // (https://developers.google.com/protocol-buffers/docs/reference/google.protobuf)
349*d5c09012SAndroid Build Coastguard Worker  // of the fields in `agentPool` to update in this request.
350*d5c09012SAndroid Build Coastguard Worker  // The following `agentPool` fields can be updated:
351*d5c09012SAndroid Build Coastguard Worker  //
352*d5c09012SAndroid Build Coastguard Worker  // *  [display_name][google.storagetransfer.v1.AgentPool.display_name]
353*d5c09012SAndroid Build Coastguard Worker  //
354*d5c09012SAndroid Build Coastguard Worker  // *  [bandwidth_limit][google.storagetransfer.v1.AgentPool.bandwidth_limit]
355*d5c09012SAndroid Build Coastguard Worker  google.protobuf.FieldMask update_mask = 2;
356*d5c09012SAndroid Build Coastguard Worker}
357*d5c09012SAndroid Build Coastguard Worker
358*d5c09012SAndroid Build Coastguard Worker// Specifies the request passed to GetAgentPool.
359*d5c09012SAndroid Build Coastguard Workermessage GetAgentPoolRequest {
360*d5c09012SAndroid Build Coastguard Worker  // Required. The name of the agent pool to get.
361*d5c09012SAndroid Build Coastguard Worker  string name = 1 [(google.api.field_behavior) = REQUIRED];
362*d5c09012SAndroid Build Coastguard Worker}
363*d5c09012SAndroid Build Coastguard Worker
364*d5c09012SAndroid Build Coastguard Worker// Specifies the request passed to DeleteAgentPool.
365*d5c09012SAndroid Build Coastguard Workermessage DeleteAgentPoolRequest {
366*d5c09012SAndroid Build Coastguard Worker  // Required. The name of the agent pool to delete.
367*d5c09012SAndroid Build Coastguard Worker  string name = 1 [(google.api.field_behavior) = REQUIRED];
368*d5c09012SAndroid Build Coastguard Worker}
369*d5c09012SAndroid Build Coastguard Worker
370*d5c09012SAndroid Build Coastguard Worker// The request passed to ListAgentPools.
371*d5c09012SAndroid Build Coastguard Workermessage ListAgentPoolsRequest {
372*d5c09012SAndroid Build Coastguard Worker  // Required. The ID of the Google Cloud project that owns the job.
373*d5c09012SAndroid Build Coastguard Worker  string project_id = 1 [(google.api.field_behavior) = REQUIRED];
374*d5c09012SAndroid Build Coastguard Worker
375*d5c09012SAndroid Build Coastguard Worker  // An optional list of query parameters specified as JSON text in the
376*d5c09012SAndroid Build Coastguard Worker  // form of:
377*d5c09012SAndroid Build Coastguard Worker  //
378*d5c09012SAndroid Build Coastguard Worker  // `{"agentPoolNames":["agentpool1","agentpool2",...]}`
379*d5c09012SAndroid Build Coastguard Worker  //
380*d5c09012SAndroid Build Coastguard Worker  // Since `agentPoolNames` support multiple values, its values must be
381*d5c09012SAndroid Build Coastguard Worker  // specified with array notation. When the filter is either empty or not
382*d5c09012SAndroid Build Coastguard Worker  // provided, the list returns all agent pools for the project.
383*d5c09012SAndroid Build Coastguard Worker  string filter = 2;
384*d5c09012SAndroid Build Coastguard Worker
385*d5c09012SAndroid Build Coastguard Worker  // The list page size. The max allowed value is `256`.
386*d5c09012SAndroid Build Coastguard Worker  int32 page_size = 3;
387*d5c09012SAndroid Build Coastguard Worker
388*d5c09012SAndroid Build Coastguard Worker  // The list page token.
389*d5c09012SAndroid Build Coastguard Worker  string page_token = 4;
390*d5c09012SAndroid Build Coastguard Worker}
391*d5c09012SAndroid Build Coastguard Worker
392*d5c09012SAndroid Build Coastguard Worker// Response from ListAgentPools.
393*d5c09012SAndroid Build Coastguard Workermessage ListAgentPoolsResponse {
394*d5c09012SAndroid Build Coastguard Worker  // A list of agent pools.
395*d5c09012SAndroid Build Coastguard Worker  repeated AgentPool agent_pools = 1;
396*d5c09012SAndroid Build Coastguard Worker
397*d5c09012SAndroid Build Coastguard Worker  // The list next page token.
398*d5c09012SAndroid Build Coastguard Worker  string next_page_token = 2;
399*d5c09012SAndroid Build Coastguard Worker}
400