@@ -18,6 +18,7 @@ package google.cloud.netapp.v1;
1818
1919import "google/api/field_behavior.proto" ;
2020import "google/api/resource.proto" ;
21+ import "google/cloud/netapp/v1/volume.proto" ;
2122import "google/protobuf/duration.proto" ;
2223import "google/protobuf/field_mask.proto" ;
2324import "google/protobuf/timestamp.proto" ;
@@ -90,6 +91,12 @@ message Replication {
9091
9192 // Replication is in error state.
9293 ERROR = 6 ;
94+
95+ // Replication is waiting for cluster peering to be established.
96+ PENDING_CLUSTER_PEERING = 8 ;
97+
98+ // Replication is waiting for SVM peering to be established.
99+ PENDING_SVM_PEERING = 9 ;
93100 }
94101
95102 // New enum values may be added in future to support different replication
@@ -140,6 +147,24 @@ message Replication {
140147
141148 // Incremental replication is in progress.
142149 TRANSFERRING = 4 ;
150+
151+ // Baseline replication is in progress.
152+ BASELINE_TRANSFERRING = 5 ;
153+
154+ // Replication is aborted.
155+ ABORTED = 6 ;
156+ }
157+
158+ // Hybrid replication type.
159+ enum HybridReplicationType {
160+ // Unspecified hybrid replication type.
161+ HYBRID_REPLICATION_TYPE_UNSPECIFIED = 0 ;
162+
163+ // Hybrid replication type for migration.
164+ MIGRATION = 1 ;
165+
166+ // Hybrid replication type for continuous replication.
167+ CONTINUOUS_REPLICATION = 2 ;
143168 }
144169
145170 // Identifier. The resource name of the Replication.
@@ -202,6 +227,35 @@ message Replication {
202227 (google.api.field_behavior ) = OUTPUT_ONLY ,
203228 (google.api.resource_reference ) = { type : "netapp.googleapis.com/Volume" }
204229 ];
230+
231+ // Output only. Hybrid peering details.
232+ HybridPeeringDetails hybrid_peering_details = 16
233+ [(google.api.field_behavior ) = OUTPUT_ONLY ];
234+
235+ // Optional. Location of the user cluster.
236+ string cluster_location = 18 [(google.api.field_behavior ) = OPTIONAL ];
237+
238+ // Output only. Type of the hybrid replication.
239+ HybridReplicationType hybrid_replication_type = 19
240+ [(google.api.field_behavior ) = OUTPUT_ONLY ];
241+ }
242+
243+ // HybridPeeringDetails contains details about the hybrid peering.
244+ message HybridPeeringDetails {
245+ // Optional. IP address of the subnet.
246+ string subnet_ip = 1 [(google.api.field_behavior ) = OPTIONAL ];
247+
248+ // Optional. Copy-paste-able commands to be used on user's ONTAP to accept
249+ // peering requests.
250+ string command = 2 [(google.api.field_behavior ) = OPTIONAL ];
251+
252+ // Optional. Expiration time for the peering command to be executed on user's
253+ // ONTAP.
254+ google.protobuf.Timestamp command_expiry_time = 3
255+ [(google.api.field_behavior ) = OPTIONAL ];
256+
257+ // Optional. Temporary passphrase generated to accept cluster peering command.
258+ string passphrase = 4 [(google.api.field_behavior ) = OPTIONAL ];
205259}
206260
207261// ListReplications lists replications.
@@ -278,6 +332,10 @@ message DestinationVolumeParameters {
278332
279333 // Description for the destination volume.
280334 optional string description = 4 ;
335+
336+ // Optional. Tiering policy for the volume.
337+ optional TieringPolicy tiering_policy = 5
338+ [(google.api.field_behavior ) = OPTIONAL ];
281339}
282340
283341// CreateReplicationRequest creates a replication.
@@ -295,9 +353,9 @@ message CreateReplicationRequest {
295353 Replication replication = 2 [(google.api.field_behavior ) = REQUIRED ];
296354
297355 // Required. ID of the replication to create. Must be unique within the parent
298- // resource. Must contain only letters, numbers, underscore and hyphen, with
299- // the first character a letter or underscore , the last a letter or underscore
300- // or a number, and a 63 character maximum.
356+ // resource. Must contain only letters, numbers and hyphen, with the first
357+ // character a letter, the last a letter or a
358+ // number, and a 63 character maximum.
301359 string replication_id = 3 [(google.api.field_behavior ) = REQUIRED ];
302360}
303361
@@ -368,3 +426,44 @@ message ReverseReplicationDirectionRequest {
368426 }
369427 ];
370428}
429+
430+ // EstablishPeeringRequest establishes cluster and svm peerings between the
431+ // source and the destination replications.
432+ message EstablishPeeringRequest {
433+ // Required. The resource name of the replication, in the format of
434+ // projects/{project_id}/locations/{location}/volumes/{volume_id}/replications/{replication_id}.
435+ string name = 1 [
436+ (google.api.field_behavior ) = REQUIRED ,
437+ (google.api.resource_reference ) = {
438+ type : "netapp.googleapis.com/Replication"
439+ }
440+ ];
441+
442+ // Required. Name of the user's local source cluster to be peered with the
443+ // destination cluster.
444+ string peer_cluster_name = 2 [(google.api.field_behavior ) = REQUIRED ];
445+
446+ // Required. Name of the user's local source vserver svm to be peered with the
447+ // destination vserver svm.
448+ string peer_svm_name = 3 [(google.api.field_behavior ) = REQUIRED ];
449+
450+ // Optional. List of IPv4 ip addresses to be used for peering.
451+ repeated string peer_ip_addresses = 4
452+ [(google.api.field_behavior ) = OPTIONAL ];
453+
454+ // Required. Name of the user's local source volume to be peered with the
455+ // destination volume.
456+ string peer_volume_name = 5 [(google.api.field_behavior ) = REQUIRED ];
457+ }
458+
459+ // SyncReplicationRequest syncs the replication from source to destination.
460+ message SyncReplicationRequest {
461+ // Required. The resource name of the replication, in the format of
462+ // projects/{project_id}/locations/{location}/volumes/{volume_id}/replications/{replication_id}.
463+ string name = 1 [
464+ (google.api.field_behavior ) = REQUIRED ,
465+ (google.api.resource_reference ) = {
466+ type : "netapp.googleapis.com/Replication"
467+ }
468+ ];
469+ }
0 commit comments