@@ -118,6 +118,42 @@ service Parallelstore {
118118 metadata_type : "OperationMetadata"
119119 };
120120 }
121+
122+ // ImportData copies data from Cloud Storage to Parallelstore.
123+ rpc ImportData (ImportDataRequest ) returns (google.longrunning.Operation ) {
124+ option (google.api.http ) = {
125+ post : "/v1beta/{name=projects/*/locations/*/instances/*}:importData"
126+ body : "*"
127+ };
128+ option (google.longrunning.operation_info ) = {
129+ response_type : "ImportDataResponse"
130+ metadata_type : "ImportDataMetadata"
131+ };
132+ }
133+
134+ // ExportData copies data from Parallelstore to Cloud Storage
135+ rpc ExportData (ExportDataRequest ) returns (google.longrunning.Operation ) {
136+ option (google.api.http ) = {
137+ post : "/v1beta/{name=projects/*/locations/*/instances/*}:exportData"
138+ body : "*"
139+ };
140+ option (google.longrunning.operation_info ) = {
141+ response_type : "ExportDataResponse"
142+ metadata_type : "ExportDataMetadata"
143+ };
144+ }
145+ }
146+
147+ // Type of transfer that occurred.
148+ enum TransferType {
149+ // Zero is an illegal value.
150+ TRANSFER_TYPE_UNSPECIFIED = 0 ;
151+
152+ // Imports to Parallelstore.
153+ IMPORT = 1 ;
154+
155+ // Exports from Parallelstore.
156+ EXPORT = 2 ;
121157}
122158
123159// A Parallelstore instance.
@@ -212,7 +248,7 @@ message Instance {
212248 (google.api.resource_reference ) = { type : "compute.googleapis.com/Network" }
213249 ];
214250
215- // Optional. Immutable. Contains the id of allocated IP address range
251+ // Optional. Immutable. Contains the id of the allocated IP address range
216252 // associated with the private service access connection for example,
217253 // "test-default" associated with IP range 10.0.0.0/29. If no range id is
218254 // provided all ranges will be considered.
@@ -221,6 +257,17 @@ message Instance {
221257 (google.api.field_behavior ) = OPTIONAL ,
222258 (google.api.resource_reference ) = { type : "compute.googleapis.com/Address" }
223259 ];
260+
261+ // Output only. Immutable. Contains the id of the allocated IP address range
262+ // associated with the private service access connection for example,
263+ // "test-default" associated with IP range 10.0.0.0/29. This field is
264+ // populated by the service and and contains the value currently used by the
265+ // service.
266+ string effective_reserved_ip_range = 14 [
267+ (google.api.field_behavior ) = IMMUTABLE ,
268+ (google.api.field_behavior ) = OUTPUT_ONLY ,
269+ (google.api.resource_reference ) = { type : "compute.googleapis.com/Address" }
270+ ];
224271}
225272
226273// Message for requesting list of Instances
@@ -401,3 +448,160 @@ message OperationMetadata {
401448 // Output only. API version used to start the operation.
402449 string api_version = 7 [(google.api.field_behavior ) = OUTPUT_ONLY ];
403450}
451+
452+ // Message representing the request importing data from parallelstore to Cloud
453+ // Storage.
454+ message ImportDataRequest {
455+ // The source of the data being imported into the parallelstore instance.
456+ oneof source {
457+ // URI to a Cloud Storage object in format:
458+ // 'gs://<bucket_name>/<path_inside_bucket>'.
459+ string source_gcs_uri = 2 ;
460+ }
461+
462+ // The destination of the data being imported into the parallelstore instance.
463+ oneof destination {
464+ // Optional. Root directory path to the Paralellstore filesystem, starting
465+ // with '/'. Sets to '/' if no value is set.
466+ string destination_path = 3 [(google.api.field_behavior ) = OPTIONAL ];
467+ }
468+
469+ // Required. Name of the resource.
470+ string name = 1 [
471+ (google.api.field_behavior ) = REQUIRED ,
472+ (google.api.resource_reference ) = {
473+ type : "parallelstore.googleapis.com/Instance"
474+ }
475+ ];
476+
477+ // Optional. An optional request ID to identify requests. Specify a unique
478+ // request ID so that if you must retry your request, the server will know to
479+ // ignore the request if it has already been completed. The server will
480+ // guarantee that for at least 60 minutes since the first request.
481+ //
482+ // For example, consider a situation where you make an initial request and t
483+ // he request times out. If you make the request again with the same request
484+ // ID, the server can check if original operation with the same request ID
485+ // was received, and if so, will ignore the second request. This prevents
486+ // clients from accidentally creating duplicate commitments.
487+ //
488+ // The request ID must be a valid UUID with the exception that zero UUID is
489+ // not supported (00000000-0000-0000-0000-000000000000).
490+ string request_id = 4 [
491+ (google.api.field_info ).format = UUID4 ,
492+ (google.api.field_behavior ) = OPTIONAL
493+ ];
494+ }
495+
496+ // Message representing the request exporting data from Cloud Storage to
497+ // parallelstore.
498+ message ExportDataRequest {
499+ // The source of the data exported from the parallelstore instance.
500+ oneof source {
501+ // Optional. Root directory path to the Paralellstore filesystem, starting
502+ // with '/'. Sets to '/' if no value is set.
503+ string source_path = 2 [(google.api.field_behavior ) = OPTIONAL ];
504+ }
505+
506+ // The destination of the data exported from the parallelstore instance.
507+ oneof destination {
508+ // URI to a Cloud Storage object in format:
509+ // 'gs://<bucket_name>/<path_inside_bucket>'.
510+ string destination_gcs_uri = 3 ;
511+ }
512+
513+ // Required. Name of the resource.
514+ string name = 1 [
515+ (google.api.field_behavior ) = REQUIRED ,
516+ (google.api.resource_reference ) = {
517+ type : "parallelstore.googleapis.com/Instance"
518+ }
519+ ];
520+
521+ // Optional. An optional request ID to identify requests. Specify a unique
522+ // request ID so that if you must retry your request, the server will know to
523+ // ignore the request if it has already been completed. The server will
524+ // guarantee that for at least 60 minutes since the first request.
525+ //
526+ // For example, consider a situation where you make an initial request and t
527+ // he request times out. If you make the request again with the same request
528+ // ID, the server can check if original operation with the same request ID
529+ // was received, and if so, will ignore the second request. This prevents
530+ // clients from accidentally creating duplicate commitments.
531+ //
532+ // The request ID must be a valid UUID with the exception that zero UUID is
533+ // not supported (00000000-0000-0000-0000-000000000000).
534+ string request_id = 4 [
535+ (google.api.field_info ).format = UUID4 ,
536+ (google.api.field_behavior ) = OPTIONAL
537+ ];
538+ }
539+
540+ // ImportDataResponse is the response returned from ImportData rpc.
541+ message ImportDataResponse {}
542+
543+ // ImportDataMetadata contains import data operation metadata
544+ message ImportDataMetadata {
545+ // Contains the data transfer operation metadata.
546+ TransferOperationMetadata operation_metadata = 1 ;
547+ }
548+
549+ // ExportDataResponse is the response returned from ExportData rpc
550+ message ExportDataResponse {}
551+
552+ // ExportDataMetadata contains export data operation metadata
553+ message ExportDataMetadata {
554+ // Contains the data transfer operation metadata.
555+ TransferOperationMetadata operation_metadata = 1 ;
556+ }
557+
558+ // Represents the metadata of the long-running operation.
559+ message TransferOperationMetadata {
560+ // Output only. CCFE supplied fields BEGIN
561+ // The time the operation was created.
562+ google.protobuf.Timestamp create_time = 1
563+ [(google.api.field_behavior ) = OUTPUT_ONLY ];
564+
565+ // Output only. The time the operation finished running.
566+ google.protobuf.Timestamp end_time = 2
567+ [(google.api.field_behavior ) = OUTPUT_ONLY ];
568+
569+ // Information about the progress of the transfer operation.
570+ TransferCounters counters = 3 ;
571+
572+ // Required. The origin of the data transfer.
573+ string source = 4 [(google.api.field_behavior ) = REQUIRED ];
574+
575+ // Required. The destination of the data transfer.
576+ string destination = 5 [(google.api.field_behavior ) = REQUIRED ];
577+
578+ // The type of transfer occurring.
579+ TransferType transfer_type = 6 ;
580+ }
581+
582+ // A collection of counters that report the progress of a transfer operation.
583+ message TransferCounters {
584+ // Objects found in the data source that are scheduled to be transferred,
585+ // excluding any that are filtered based on object conditions or skipped due
586+ // to sync.
587+ int64 objects_found = 1 ;
588+
589+ // Bytes found in the data source that are scheduled to be transferred,
590+ // excluding any that are filtered based on object conditions or skipped due
591+ // to sync.
592+ int64 bytes_found = 2 ;
593+
594+ // Objects in the data source that are not transferred because they already
595+ // exist in the data destination.
596+ int64 objects_skipped = 3 ;
597+
598+ // Bytes in the data source that are not transferred because they already
599+ // exist in the data destination.
600+ int64 bytes_skipped = 4 ;
601+
602+ // Objects that are copied to the data destination.
603+ int64 objects_copied = 5 ;
604+
605+ // Bytes that are copied to the data destination.
606+ int64 bytes_copied = 6 ;
607+ }
0 commit comments