xref: /aosp_15_r20/external/googleapis/google/cloud/netapp/v1/replication.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.cloud.netapp.v1;
18*d5c09012SAndroid Build Coastguard Worker
19*d5c09012SAndroid Build Coastguard Workerimport "google/api/field_behavior.proto";
20*d5c09012SAndroid Build Coastguard Workerimport "google/api/resource.proto";
21*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/duration.proto";
22*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/field_mask.proto";
23*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/timestamp.proto";
24*d5c09012SAndroid Build Coastguard Worker
25*d5c09012SAndroid Build Coastguard Workeroption csharp_namespace = "Google.Cloud.NetApp.V1";
26*d5c09012SAndroid Build Coastguard Workeroption go_package = "cloud.google.com/go/netapp/apiv1/netapppb;netapppb";
27*d5c09012SAndroid Build Coastguard Workeroption java_multiple_files = true;
28*d5c09012SAndroid Build Coastguard Workeroption java_outer_classname = "ReplicationProto";
29*d5c09012SAndroid Build Coastguard Workeroption java_package = "com.google.cloud.netapp.v1";
30*d5c09012SAndroid Build Coastguard Workeroption php_namespace = "Google\\Cloud\\NetApp\\V1";
31*d5c09012SAndroid Build Coastguard Workeroption ruby_package = "Google::Cloud::NetApp::V1";
32*d5c09012SAndroid Build Coastguard Worker
33*d5c09012SAndroid Build Coastguard Worker// TransferStats reports all statistics related to replication transfer.
34*d5c09012SAndroid Build Coastguard Workermessage TransferStats {
35*d5c09012SAndroid Build Coastguard Worker  // bytes trasferred so far in current transfer.
36*d5c09012SAndroid Build Coastguard Worker  optional int64 transfer_bytes = 1;
37*d5c09012SAndroid Build Coastguard Worker
38*d5c09012SAndroid Build Coastguard Worker  // Total time taken during transfer.
39*d5c09012SAndroid Build Coastguard Worker  optional google.protobuf.Duration total_transfer_duration = 2;
40*d5c09012SAndroid Build Coastguard Worker
41*d5c09012SAndroid Build Coastguard Worker  // Last transfer size in bytes.
42*d5c09012SAndroid Build Coastguard Worker  optional int64 last_transfer_bytes = 3;
43*d5c09012SAndroid Build Coastguard Worker
44*d5c09012SAndroid Build Coastguard Worker  // Time taken during last transfer.
45*d5c09012SAndroid Build Coastguard Worker  optional google.protobuf.Duration last_transfer_duration = 4;
46*d5c09012SAndroid Build Coastguard Worker
47*d5c09012SAndroid Build Coastguard Worker  // Lag duration indicates the duration by which Destination region volume
48*d5c09012SAndroid Build Coastguard Worker  // content lags behind the primary region volume content.
49*d5c09012SAndroid Build Coastguard Worker  optional google.protobuf.Duration lag_duration = 5;
50*d5c09012SAndroid Build Coastguard Worker
51*d5c09012SAndroid Build Coastguard Worker  // Time when progress was updated last.
52*d5c09012SAndroid Build Coastguard Worker  optional google.protobuf.Timestamp update_time = 6;
53*d5c09012SAndroid Build Coastguard Worker
54*d5c09012SAndroid Build Coastguard Worker  // Time when last transfer completed.
55*d5c09012SAndroid Build Coastguard Worker  optional google.protobuf.Timestamp last_transfer_end_time = 7;
56*d5c09012SAndroid Build Coastguard Worker
57*d5c09012SAndroid Build Coastguard Worker  // A message describing the cause of the last transfer failure.
58*d5c09012SAndroid Build Coastguard Worker  optional string last_transfer_error = 8;
59*d5c09012SAndroid Build Coastguard Worker}
60*d5c09012SAndroid Build Coastguard Worker
61*d5c09012SAndroid Build Coastguard Worker// Replication is a nested resource under Volume, that describes a
62*d5c09012SAndroid Build Coastguard Worker// cross-region replication relationship between 2 volumes in different
63*d5c09012SAndroid Build Coastguard Worker// regions.
64*d5c09012SAndroid Build Coastguard Workermessage Replication {
65*d5c09012SAndroid Build Coastguard Worker  option (google.api.resource) = {
66*d5c09012SAndroid Build Coastguard Worker    type: "netapp.googleapis.com/Replication"
67*d5c09012SAndroid Build Coastguard Worker    pattern: "projects/{project}/locations/{location}/volumes/{volume}/replications/{replication}"
68*d5c09012SAndroid Build Coastguard Worker    plural: "replications"
69*d5c09012SAndroid Build Coastguard Worker    singular: "replication"
70*d5c09012SAndroid Build Coastguard Worker  };
71*d5c09012SAndroid Build Coastguard Worker
72*d5c09012SAndroid Build Coastguard Worker  // The replication states
73*d5c09012SAndroid Build Coastguard Worker  // New enum values may be added in future to indicate possible new states.
74*d5c09012SAndroid Build Coastguard Worker  enum State {
75*d5c09012SAndroid Build Coastguard Worker    // Unspecified replication State
76*d5c09012SAndroid Build Coastguard Worker    STATE_UNSPECIFIED = 0;
77*d5c09012SAndroid Build Coastguard Worker
78*d5c09012SAndroid Build Coastguard Worker    // Replication is creating.
79*d5c09012SAndroid Build Coastguard Worker    CREATING = 1;
80*d5c09012SAndroid Build Coastguard Worker
81*d5c09012SAndroid Build Coastguard Worker    // Replication is ready.
82*d5c09012SAndroid Build Coastguard Worker    READY = 2;
83*d5c09012SAndroid Build Coastguard Worker
84*d5c09012SAndroid Build Coastguard Worker    // Replication is updating.
85*d5c09012SAndroid Build Coastguard Worker    UPDATING = 3;
86*d5c09012SAndroid Build Coastguard Worker
87*d5c09012SAndroid Build Coastguard Worker    // Replication is deleting.
88*d5c09012SAndroid Build Coastguard Worker    DELETING = 5;
89*d5c09012SAndroid Build Coastguard Worker
90*d5c09012SAndroid Build Coastguard Worker    // Replication is in error state.
91*d5c09012SAndroid Build Coastguard Worker    ERROR = 6;
92*d5c09012SAndroid Build Coastguard Worker  }
93*d5c09012SAndroid Build Coastguard Worker
94*d5c09012SAndroid Build Coastguard Worker  // New enum values may be added in future to support different replication
95*d5c09012SAndroid Build Coastguard Worker  // topology.
96*d5c09012SAndroid Build Coastguard Worker  enum ReplicationRole {
97*d5c09012SAndroid Build Coastguard Worker    // Unspecified replication role
98*d5c09012SAndroid Build Coastguard Worker    REPLICATION_ROLE_UNSPECIFIED = 0;
99*d5c09012SAndroid Build Coastguard Worker
100*d5c09012SAndroid Build Coastguard Worker    // Indicates Source volume.
101*d5c09012SAndroid Build Coastguard Worker    SOURCE = 1;
102*d5c09012SAndroid Build Coastguard Worker
103*d5c09012SAndroid Build Coastguard Worker    // Indicates Destination volume.
104*d5c09012SAndroid Build Coastguard Worker    DESTINATION = 2;
105*d5c09012SAndroid Build Coastguard Worker  }
106*d5c09012SAndroid Build Coastguard Worker
107*d5c09012SAndroid Build Coastguard Worker  // Schedule for Replication.
108*d5c09012SAndroid Build Coastguard Worker  // New enum values may be added in future to support different frequency of
109*d5c09012SAndroid Build Coastguard Worker  // replication.
110*d5c09012SAndroid Build Coastguard Worker  enum ReplicationSchedule {
111*d5c09012SAndroid Build Coastguard Worker    // Unspecified ReplicationSchedule
112*d5c09012SAndroid Build Coastguard Worker    REPLICATION_SCHEDULE_UNSPECIFIED = 0;
113*d5c09012SAndroid Build Coastguard Worker
114*d5c09012SAndroid Build Coastguard Worker    // Replication happens once every 10 minutes.
115*d5c09012SAndroid Build Coastguard Worker    EVERY_10_MINUTES = 1;
116*d5c09012SAndroid Build Coastguard Worker
117*d5c09012SAndroid Build Coastguard Worker    // Replication happens once every hour.
118*d5c09012SAndroid Build Coastguard Worker    HOURLY = 2;
119*d5c09012SAndroid Build Coastguard Worker
120*d5c09012SAndroid Build Coastguard Worker    // Replication happens once every day.
121*d5c09012SAndroid Build Coastguard Worker    DAILY = 3;
122*d5c09012SAndroid Build Coastguard Worker  }
123*d5c09012SAndroid Build Coastguard Worker
124*d5c09012SAndroid Build Coastguard Worker  // Mirroring states.
125*d5c09012SAndroid Build Coastguard Worker  // No new value is expected to be added in future.
126*d5c09012SAndroid Build Coastguard Worker  enum MirrorState {
127*d5c09012SAndroid Build Coastguard Worker    // Unspecified MirrorState
128*d5c09012SAndroid Build Coastguard Worker    MIRROR_STATE_UNSPECIFIED = 0;
129*d5c09012SAndroid Build Coastguard Worker
130*d5c09012SAndroid Build Coastguard Worker    // Destination volume is being prepared.
131*d5c09012SAndroid Build Coastguard Worker    PREPARING = 1;
132*d5c09012SAndroid Build Coastguard Worker
133*d5c09012SAndroid Build Coastguard Worker    // Destination volume has been initialized and is ready to receive
134*d5c09012SAndroid Build Coastguard Worker    // replication transfers.
135*d5c09012SAndroid Build Coastguard Worker    MIRRORED = 2;
136*d5c09012SAndroid Build Coastguard Worker
137*d5c09012SAndroid Build Coastguard Worker    // Destination volume is not receiving replication transfers.
138*d5c09012SAndroid Build Coastguard Worker    STOPPED = 3;
139*d5c09012SAndroid Build Coastguard Worker
140*d5c09012SAndroid Build Coastguard Worker    // Replication is in progress.
141*d5c09012SAndroid Build Coastguard Worker    TRANSFERRING = 4;
142*d5c09012SAndroid Build Coastguard Worker  }
143*d5c09012SAndroid Build Coastguard Worker
144*d5c09012SAndroid Build Coastguard Worker  // Identifier. The resource name of the Replication.
145*d5c09012SAndroid Build Coastguard Worker  // Format:
146*d5c09012SAndroid Build Coastguard Worker  // `projects/{project_id}/locations/{location}/volumes/{volume_id}/replications/{replication_id}`.
147*d5c09012SAndroid Build Coastguard Worker  string name = 1 [(google.api.field_behavior) = IDENTIFIER];
148*d5c09012SAndroid Build Coastguard Worker
149*d5c09012SAndroid Build Coastguard Worker  // Output only. State of the replication.
150*d5c09012SAndroid Build Coastguard Worker  State state = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
151*d5c09012SAndroid Build Coastguard Worker
152*d5c09012SAndroid Build Coastguard Worker  // Output only. State details of the replication.
153*d5c09012SAndroid Build Coastguard Worker  string state_details = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
154*d5c09012SAndroid Build Coastguard Worker
155*d5c09012SAndroid Build Coastguard Worker  // Output only. Indicates whether this points to source or destination.
156*d5c09012SAndroid Build Coastguard Worker  ReplicationRole role = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
157*d5c09012SAndroid Build Coastguard Worker
158*d5c09012SAndroid Build Coastguard Worker  // Required. Indicates the schedule for replication.
159*d5c09012SAndroid Build Coastguard Worker  ReplicationSchedule replication_schedule = 5
160*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = REQUIRED];
161*d5c09012SAndroid Build Coastguard Worker
162*d5c09012SAndroid Build Coastguard Worker  // Output only. Indicates the state of mirroring.
163*d5c09012SAndroid Build Coastguard Worker  MirrorState mirror_state = 6 [(google.api.field_behavior) = OUTPUT_ONLY];
164*d5c09012SAndroid Build Coastguard Worker
165*d5c09012SAndroid Build Coastguard Worker  // Output only. Condition of the relationship. Can be one of the following:
166*d5c09012SAndroid Build Coastguard Worker  // - true: The replication relationship is healthy. It has not missed the most
167*d5c09012SAndroid Build Coastguard Worker  // recent scheduled transfer.
168*d5c09012SAndroid Build Coastguard Worker  // - false: The replication relationship is not healthy. It has missed the
169*d5c09012SAndroid Build Coastguard Worker  // most recent scheduled transfer.
170*d5c09012SAndroid Build Coastguard Worker  optional bool healthy = 8 [(google.api.field_behavior) = OUTPUT_ONLY];
171*d5c09012SAndroid Build Coastguard Worker
172*d5c09012SAndroid Build Coastguard Worker  // Output only. Replication create time.
173*d5c09012SAndroid Build Coastguard Worker  google.protobuf.Timestamp create_time = 9
174*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OUTPUT_ONLY];
175*d5c09012SAndroid Build Coastguard Worker
176*d5c09012SAndroid Build Coastguard Worker  // Output only. Full name of destination volume resource.
177*d5c09012SAndroid Build Coastguard Worker  // Example : "projects/{project}/locations/{location}/volumes/{volume_id}"
178*d5c09012SAndroid Build Coastguard Worker  string destination_volume = 10 [
179*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = OUTPUT_ONLY,
180*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = { type: "netapp.googleapis.com/Volume" }
181*d5c09012SAndroid Build Coastguard Worker  ];
182*d5c09012SAndroid Build Coastguard Worker
183*d5c09012SAndroid Build Coastguard Worker  // Output only. Replication transfer statistics.
184*d5c09012SAndroid Build Coastguard Worker  TransferStats transfer_stats = 11 [(google.api.field_behavior) = OUTPUT_ONLY];
185*d5c09012SAndroid Build Coastguard Worker
186*d5c09012SAndroid Build Coastguard Worker  // Resource labels to represent user provided metadata.
187*d5c09012SAndroid Build Coastguard Worker  map<string, string> labels = 12;
188*d5c09012SAndroid Build Coastguard Worker
189*d5c09012SAndroid Build Coastguard Worker  // A description about this replication relationship.
190*d5c09012SAndroid Build Coastguard Worker  optional string description = 13;
191*d5c09012SAndroid Build Coastguard Worker
192*d5c09012SAndroid Build Coastguard Worker  // Required. Input only. Destination volume parameters
193*d5c09012SAndroid Build Coastguard Worker  DestinationVolumeParameters destination_volume_parameters = 14 [
194*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = INPUT_ONLY,
195*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED
196*d5c09012SAndroid Build Coastguard Worker  ];
197*d5c09012SAndroid Build Coastguard Worker
198*d5c09012SAndroid Build Coastguard Worker  // Output only. Full name of source volume resource.
199*d5c09012SAndroid Build Coastguard Worker  // Example : "projects/{project}/locations/{location}/volumes/{volume_id}"
200*d5c09012SAndroid Build Coastguard Worker  string source_volume = 15 [
201*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = OUTPUT_ONLY,
202*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = { type: "netapp.googleapis.com/Volume" }
203*d5c09012SAndroid Build Coastguard Worker  ];
204*d5c09012SAndroid Build Coastguard Worker}
205*d5c09012SAndroid Build Coastguard Worker
206*d5c09012SAndroid Build Coastguard Worker// ListReplications lists replications.
207*d5c09012SAndroid Build Coastguard Workermessage ListReplicationsRequest {
208*d5c09012SAndroid Build Coastguard Worker  // Required. The volume for which to retrieve replication information,
209*d5c09012SAndroid Build Coastguard Worker  // in the format
210*d5c09012SAndroid Build Coastguard Worker  // `projects/{project_id}/locations/{location}/volumes/{volume_id}`.
211*d5c09012SAndroid Build Coastguard Worker  string parent = 1 [
212*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
213*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
214*d5c09012SAndroid Build Coastguard Worker      child_type: "netapp.googleapis.com/Replication"
215*d5c09012SAndroid Build Coastguard Worker    }
216*d5c09012SAndroid Build Coastguard Worker  ];
217*d5c09012SAndroid Build Coastguard Worker
218*d5c09012SAndroid Build Coastguard Worker  // The maximum number of items to return.
219*d5c09012SAndroid Build Coastguard Worker  int32 page_size = 2;
220*d5c09012SAndroid Build Coastguard Worker
221*d5c09012SAndroid Build Coastguard Worker  // The next_page_token value to use if there are additional
222*d5c09012SAndroid Build Coastguard Worker  // results to retrieve for this list request.
223*d5c09012SAndroid Build Coastguard Worker  string page_token = 3;
224*d5c09012SAndroid Build Coastguard Worker
225*d5c09012SAndroid Build Coastguard Worker  // Sort results. Supported values are "name", "name desc" or "" (unsorted).
226*d5c09012SAndroid Build Coastguard Worker  string order_by = 4;
227*d5c09012SAndroid Build Coastguard Worker
228*d5c09012SAndroid Build Coastguard Worker  // List filter.
229*d5c09012SAndroid Build Coastguard Worker  string filter = 5;
230*d5c09012SAndroid Build Coastguard Worker}
231*d5c09012SAndroid Build Coastguard Worker
232*d5c09012SAndroid Build Coastguard Worker// ListReplicationsResponse is the result of ListReplicationsRequest.
233*d5c09012SAndroid Build Coastguard Workermessage ListReplicationsResponse {
234*d5c09012SAndroid Build Coastguard Worker  // A list of replications in the project for the specified volume.
235*d5c09012SAndroid Build Coastguard Worker  repeated Replication replications = 1;
236*d5c09012SAndroid Build Coastguard Worker
237*d5c09012SAndroid Build Coastguard Worker  // The token you can use to retrieve the next page of results. Not returned
238*d5c09012SAndroid Build Coastguard Worker  // if there are no more results in the list.
239*d5c09012SAndroid Build Coastguard Worker  string next_page_token = 2;
240*d5c09012SAndroid Build Coastguard Worker
241*d5c09012SAndroid Build Coastguard Worker  // Locations that could not be reached.
242*d5c09012SAndroid Build Coastguard Worker  repeated string unreachable = 3;
243*d5c09012SAndroid Build Coastguard Worker}
244*d5c09012SAndroid Build Coastguard Worker
245*d5c09012SAndroid Build Coastguard Worker// GetReplicationRequest gets the state of a replication.
246*d5c09012SAndroid Build Coastguard Workermessage GetReplicationRequest {
247*d5c09012SAndroid Build Coastguard Worker  // Required. The replication resource name, in the format
248*d5c09012SAndroid Build Coastguard Worker  // `projects/{project_id}/locations/{location}/volumes/{volume_id}/replications/{replication_id}`
249*d5c09012SAndroid Build Coastguard Worker  string name = 1 [
250*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
251*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
252*d5c09012SAndroid Build Coastguard Worker      type: "netapp.googleapis.com/Replication"
253*d5c09012SAndroid Build Coastguard Worker    }
254*d5c09012SAndroid Build Coastguard Worker  ];
255*d5c09012SAndroid Build Coastguard Worker}
256*d5c09012SAndroid Build Coastguard Worker
257*d5c09012SAndroid Build Coastguard Worker// DestinationVolumeParameters specify input parameters used for creating
258*d5c09012SAndroid Build Coastguard Worker// destination volume.
259*d5c09012SAndroid Build Coastguard Workermessage DestinationVolumeParameters {
260*d5c09012SAndroid Build Coastguard Worker  // Required. Existing destination StoragePool name.
261*d5c09012SAndroid Build Coastguard Worker  string storage_pool = 1 [
262*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
263*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
264*d5c09012SAndroid Build Coastguard Worker      type: "netapp.googleapis.com/StoragePool"
265*d5c09012SAndroid Build Coastguard Worker    }
266*d5c09012SAndroid Build Coastguard Worker  ];
267*d5c09012SAndroid Build Coastguard Worker
268*d5c09012SAndroid Build Coastguard Worker  // Desired destination volume resource id. If not specified, source volume's
269*d5c09012SAndroid Build Coastguard Worker  // resource id will be used.
270*d5c09012SAndroid Build Coastguard Worker  // This value must start with a lowercase letter followed by up to 62
271*d5c09012SAndroid Build Coastguard Worker  // lowercase letters, numbers, or hyphens, and cannot end with a hyphen.
272*d5c09012SAndroid Build Coastguard Worker  string volume_id = 2;
273*d5c09012SAndroid Build Coastguard Worker
274*d5c09012SAndroid Build Coastguard Worker  // Destination volume's share name. If not specified, source volume's share
275*d5c09012SAndroid Build Coastguard Worker  // name will be used.
276*d5c09012SAndroid Build Coastguard Worker  string share_name = 3;
277*d5c09012SAndroid Build Coastguard Worker
278*d5c09012SAndroid Build Coastguard Worker  // Description for the destination volume.
279*d5c09012SAndroid Build Coastguard Worker  optional string description = 4;
280*d5c09012SAndroid Build Coastguard Worker}
281*d5c09012SAndroid Build Coastguard Worker
282*d5c09012SAndroid Build Coastguard Worker// CreateReplicationRequest creates a replication.
283*d5c09012SAndroid Build Coastguard Workermessage CreateReplicationRequest {
284*d5c09012SAndroid Build Coastguard Worker  // Required. The NetApp volume to create the replications of, in the format
285*d5c09012SAndroid Build Coastguard Worker  // `projects/{project_id}/locations/{location}/volumes/{volume_id}`
286*d5c09012SAndroid Build Coastguard Worker  string parent = 1 [
287*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
288*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
289*d5c09012SAndroid Build Coastguard Worker      child_type: "netapp.googleapis.com/Replication"
290*d5c09012SAndroid Build Coastguard Worker    }
291*d5c09012SAndroid Build Coastguard Worker  ];
292*d5c09012SAndroid Build Coastguard Worker
293*d5c09012SAndroid Build Coastguard Worker  // Required. A replication resource
294*d5c09012SAndroid Build Coastguard Worker  Replication replication = 2 [(google.api.field_behavior) = REQUIRED];
295*d5c09012SAndroid Build Coastguard Worker
296*d5c09012SAndroid Build Coastguard Worker  // Required. ID of the replication to create.
297*d5c09012SAndroid Build Coastguard Worker  // This value must start with a lowercase letter followed by up to 62
298*d5c09012SAndroid Build Coastguard Worker  // lowercase letters, numbers, or hyphens, and cannot end with a hyphen.
299*d5c09012SAndroid Build Coastguard Worker  string replication_id = 3 [(google.api.field_behavior) = REQUIRED];
300*d5c09012SAndroid Build Coastguard Worker}
301*d5c09012SAndroid Build Coastguard Worker
302*d5c09012SAndroid Build Coastguard Worker// DeleteReplicationRequest deletes a replication.
303*d5c09012SAndroid Build Coastguard Workermessage DeleteReplicationRequest {
304*d5c09012SAndroid Build Coastguard Worker  // Required. The replication resource name, in the format
305*d5c09012SAndroid Build Coastguard Worker  // `projects/*/locations/*/volumes/*/replications/{replication_id}`
306*d5c09012SAndroid Build Coastguard Worker  string name = 1 [
307*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
308*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
309*d5c09012SAndroid Build Coastguard Worker      type: "netapp.googleapis.com/Replication"
310*d5c09012SAndroid Build Coastguard Worker    }
311*d5c09012SAndroid Build Coastguard Worker  ];
312*d5c09012SAndroid Build Coastguard Worker}
313*d5c09012SAndroid Build Coastguard Worker
314*d5c09012SAndroid Build Coastguard Worker// UpdateReplicationRequest updates description and/or labels for a replication.
315*d5c09012SAndroid Build Coastguard Workermessage UpdateReplicationRequest {
316*d5c09012SAndroid Build Coastguard Worker  // Required. Mask of fields to update.  At least one path must be supplied in
317*d5c09012SAndroid Build Coastguard Worker  // this field.
318*d5c09012SAndroid Build Coastguard Worker  google.protobuf.FieldMask update_mask = 1
319*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = REQUIRED];
320*d5c09012SAndroid Build Coastguard Worker
321*d5c09012SAndroid Build Coastguard Worker  // Required. A replication resource
322*d5c09012SAndroid Build Coastguard Worker  Replication replication = 2 [(google.api.field_behavior) = REQUIRED];
323*d5c09012SAndroid Build Coastguard Worker}
324*d5c09012SAndroid Build Coastguard Worker
325*d5c09012SAndroid Build Coastguard Worker// StopReplicationRequest stops a replication until resumed.
326*d5c09012SAndroid Build Coastguard Workermessage StopReplicationRequest {
327*d5c09012SAndroid Build Coastguard Worker  // Required. The resource name of the replication, in the format of
328*d5c09012SAndroid Build Coastguard Worker  // projects/{project_id}/locations/{location}/volumes/{volume_id}/replications/{replication_id}.
329*d5c09012SAndroid Build Coastguard Worker  string name = 1 [
330*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
331*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
332*d5c09012SAndroid Build Coastguard Worker      type: "netapp.googleapis.com/Replication"
333*d5c09012SAndroid Build Coastguard Worker    }
334*d5c09012SAndroid Build Coastguard Worker  ];
335*d5c09012SAndroid Build Coastguard Worker
336*d5c09012SAndroid Build Coastguard Worker  // Indicates whether to stop replication forcefully while data transfer is in
337*d5c09012SAndroid Build Coastguard Worker  // progress.
338*d5c09012SAndroid Build Coastguard Worker  // Warning! if force is true, this will abort any current transfers
339*d5c09012SAndroid Build Coastguard Worker  // and can lead to data loss due to partial transfer.
340*d5c09012SAndroid Build Coastguard Worker  // If force is false, stop replication will fail while data transfer is in
341*d5c09012SAndroid Build Coastguard Worker  // progress and you will need to retry later.
342*d5c09012SAndroid Build Coastguard Worker  bool force = 2;
343*d5c09012SAndroid Build Coastguard Worker}
344*d5c09012SAndroid Build Coastguard Worker
345*d5c09012SAndroid Build Coastguard Worker// ResumeReplicationRequest resumes a stopped replication.
346*d5c09012SAndroid Build Coastguard Workermessage ResumeReplicationRequest {
347*d5c09012SAndroid Build Coastguard Worker  // Required. The resource name of the replication, in the format of
348*d5c09012SAndroid Build Coastguard Worker  // projects/{project_id}/locations/{location}/volumes/{volume_id}/replications/{replication_id}.
349*d5c09012SAndroid Build Coastguard Worker  string name = 1 [
350*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
351*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
352*d5c09012SAndroid Build Coastguard Worker      type: "netapp.googleapis.com/Replication"
353*d5c09012SAndroid Build Coastguard Worker    }
354*d5c09012SAndroid Build Coastguard Worker  ];
355*d5c09012SAndroid Build Coastguard Worker}
356*d5c09012SAndroid Build Coastguard Worker
357*d5c09012SAndroid Build Coastguard Worker// ReverseReplicationDirectionRequest reverses direction of replication. Source
358*d5c09012SAndroid Build Coastguard Worker// becomes destination and destination becomes source.
359*d5c09012SAndroid Build Coastguard Workermessage ReverseReplicationDirectionRequest {
360*d5c09012SAndroid Build Coastguard Worker  // Required. The resource name of the replication, in the format of
361*d5c09012SAndroid Build Coastguard Worker  // projects/{project_id}/locations/{location}/volumes/{volume_id}/replications/{replication_id}.
362*d5c09012SAndroid Build Coastguard Worker  string name = 1 [
363*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
364*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
365*d5c09012SAndroid Build Coastguard Worker      type: "netapp.googleapis.com/Replication"
366*d5c09012SAndroid Build Coastguard Worker    }
367*d5c09012SAndroid Build Coastguard Worker  ];
368*d5c09012SAndroid Build Coastguard Worker}
369