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