Skip to content

Commit 35125cf

Browse files
Google APIscopybara-github
authored andcommitted
feat(parallelstore/v1beta): add ImportData and ExportData RPCs
docs: fix typo in Instance.reserved_ip_range field doc PiperOrigin-RevId: 629176948
1 parent a3a2dc6 commit 35125cf

2 files changed

Lines changed: 206 additions & 3 deletions

File tree

google/cloud/parallelstore/v1beta/parallelstore.proto

Lines changed: 205 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -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+
}

google/cloud/parallelstore/v1beta/parallelstore_v1beta.yaml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ authentication:
5656
5757
publishing:
5858
new_issue_uri: https://issuetracker.google.com/issues/new?component=1181190
59-
documentation_uri: http://cloud/parallelstore?hl=en
59+
documentation_uri: https://cloud.google.com/parallelstore?hl=en
6060
api_short_name: parallelstore
6161
github_label: 'api: parallelstore'
6262
doc_tag_prefix: parallelstore
@@ -96,4 +96,3 @@ publishing:
9696
common:
9797
destinations:
9898
- PACKAGE_MANAGER
99-
proto_reference_documentation_uri: http://cloud/parallelstore/docs/apis

0 commit comments

Comments
 (0)