@@ -25,6 +25,7 @@ import "google/longrunning/operations.proto";
2525import "google/protobuf/empty.proto" ;
2626import "google/protobuf/field_mask.proto" ;
2727import "google/protobuf/timestamp.proto" ;
28+ import "google/rpc/code.proto" ;
2829
2930option csharp_namespace = "Google.Cloud.Parallelstore.V1Beta" ;
3031option go_package = "cloud.google.com/go/parallelstore/apiv1beta/parallelstorepb;parallelstorepb" ;
@@ -231,6 +232,10 @@ message Instance {
231232
232233 // The instance is being upgraded.
233234 UPGRADING = 5 ;
235+
236+ // The instance is being repaired. This should only be used by instances
237+ // using the `PERSISTENT` deployment type.
238+ REPAIRING = 6 ;
234239 }
235240
236241 // Identifier. The resource name of the instance, in the format
@@ -265,8 +270,10 @@ message Instance {
265270 (google.api.field_behavior ) = REQUIRED
266271 ];
267272
273+ // Output only. Deprecated 'daos_version' field.
268274 // Output only. The version of DAOS software running in the instance.
269- string daos_version = 9 [(google.api.field_behavior ) = OUTPUT_ONLY ];
275+ string daos_version = 9
276+ [deprecated = true , (google.api.field_behavior ) = OUTPUT_ONLY ];
270277
271278 // Output only. A list of IPv4 addresses used for client side configuration.
272279 repeated string access_points = 10
@@ -300,32 +307,88 @@ message Instance {
300307 (google.api.resource_reference ) = { type : "compute.googleapis.com/Address" }
301308 ];
302309
303- // Optional. Stripe level for files. Allowed values are:
310+ // Optional. Immutable. Stripe level for files. Allowed values are:
304311 //
305312 // * `FILE_STRIPE_LEVEL_MIN`: offers the best performance for small size
306313 // files.
307314 // * `FILE_STRIPE_LEVEL_BALANCED`: balances performance for workloads
308315 // involving a mix of small and large files.
309316 // * `FILE_STRIPE_LEVEL_MAX`: higher throughput performance for larger files.
310- FileStripeLevel file_stripe_level = 15
311- [(google.api.field_behavior ) = OPTIONAL ];
317+ FileStripeLevel file_stripe_level = 15 [
318+ (google.api.field_behavior ) = IMMUTABLE ,
319+ (google.api.field_behavior ) = OPTIONAL
320+ ];
312321
313- // Optional. Stripe level for directories. Allowed values are:
322+ // Optional. Immutable. Stripe level for directories. Allowed values are:
314323 //
315324 // * `DIRECTORY_STRIPE_LEVEL_MIN`: recommended when directories contain a
316325 // small number of files.
317326 // * `DIRECTORY_STRIPE_LEVEL_BALANCED`: balances performance for workloads
318327 // involving a mix of small and large directories.
319328 // * `DIRECTORY_STRIPE_LEVEL_MAX`: recommended for directories with a large
320329 // number of files.
321- DirectoryStripeLevel directory_stripe_level = 16
322- [(google.api.field_behavior ) = OPTIONAL ];
330+ DirectoryStripeLevel directory_stripe_level = 16 [
331+ (google.api.field_behavior ) = IMMUTABLE ,
332+ (google.api.field_behavior ) = OPTIONAL
333+ ];
323334
324- // Optional. The deployment type of the instance. Allowed values are:
335+ // Optional. Immutable. The deployment type of the instance. Allowed values
336+ // are:
325337 //
326338 // * `SCRATCH`: the instance is a scratch instance.
327339 // * `PERSISTENT`: the instance is a persistent instance.
328- DeploymentType deployment_type = 17 [(google.api.field_behavior ) = OPTIONAL ];
340+ DeploymentType deployment_type = 17 [
341+ (google.api.field_behavior ) = IMMUTABLE ,
342+ (google.api.field_behavior ) = OPTIONAL
343+ ];
344+ }
345+
346+ // Transfer metadata options for the instance.
347+ message TransferMetadataOptions {
348+ // The UID perservation behavior.
349+ enum Uid {
350+ // default is UID_NUMBER_PRESERVE.
351+ UID_UNSPECIFIED = 0 ;
352+
353+ // Do not preserve UID during a transfer job.
354+ UID_SKIP = 1 ;
355+
356+ // Preserve UID that is in number format during a transfer job.
357+ UID_NUMBER_PRESERVE = 2 ;
358+ }
359+
360+ // The GID preservation behavior.
361+ enum Gid {
362+ // default is GID_NUMBER_PRESERVE.
363+ GID_UNSPECIFIED = 0 ;
364+
365+ // Do not preserve GID during a transfer job.
366+ GID_SKIP = 1 ;
367+
368+ // Preserve GID that is in number format during a transfer job.
369+ GID_NUMBER_PRESERVE = 2 ;
370+ }
371+
372+ // The mode preservation behavior.
373+ enum Mode {
374+ // default is MODE_PRESERVE.
375+ MODE_UNSPECIFIED = 0 ;
376+
377+ // Do not preserve mode during a transfer job.
378+ MODE_SKIP = 1 ;
379+
380+ // Preserve mode during a transfer job.
381+ MODE_PRESERVE = 2 ;
382+ }
383+
384+ // Optional. The UID preservation behavior.
385+ Uid uid = 1 [(google.api.field_behavior ) = OPTIONAL ];
386+
387+ // Optional. The GID preservation behavior.
388+ Gid gid = 2 [(google.api.field_behavior ) = OPTIONAL ];
389+
390+ // Optional. The mode preservation behavior.
391+ Mode mode = 3 [(google.api.field_behavior ) = OPTIONAL ];
329392}
330393
331394// List instances request.
@@ -592,6 +655,10 @@ message ImportDataRequest {
592655 type : "iam.googleapis.com/ServiceAccount"
593656 }
594657 ];
658+
659+ // Optional. The transfer metadata options for the import data.
660+ TransferMetadataOptions metadata_options = 6
661+ [(google.api.field_behavior ) = OPTIONAL ];
595662}
596663
597664// Export data from Parallelstore to Cloud Storage.
@@ -650,11 +717,38 @@ message ExportDataRequest {
650717 type : "iam.googleapis.com/ServiceAccount"
651718 }
652719 ];
720+
721+ // Optional. The metadata options for the export data.
722+ TransferMetadataOptions metadata_options = 6
723+ [(google.api.field_behavior ) = OPTIONAL ];
653724}
654725
655726// The response to a request to import data to Parallelstore.
656727message ImportDataResponse {}
657728
729+ // An entry describing an error that has occurred.
730+ message TransferErrorLogEntry {
731+ // A URL that refers to the target (a data source, a data sink,
732+ // or an object) with which the error is associated.
733+ string uri = 1 ;
734+
735+ // A list of messages that carry the error details.
736+ repeated string error_details = 2 ;
737+ }
738+
739+ // A summary of errors by error code, plus a count and sample error log
740+ // entries.
741+ message TransferErrorSummary {
742+ // One of the error codes that caused the transfer failure.
743+ google.rpc.Code error_code = 1 ;
744+
745+ // Count of this type of error.
746+ int64 error_count = 2 ;
747+
748+ // A list of messages that carry the error details.
749+ repeated TransferErrorLogEntry error_log_entries = 4 ;
750+ }
751+
658752// Metadata related to the data import operation.
659753message ImportDataMetadata {
660754 // Data transfer operation metadata.
@@ -753,6 +847,11 @@ message TransferOperationMetadata {
753847
754848 // Output only. The type of transfer occurring.
755849 TransferType transfer_type = 6 [(google.api.field_behavior ) = OUTPUT_ONLY ];
850+
851+ // Output only. List of files that failed to be transferred. This list will
852+ // have a maximum size of 5 elements.
853+ repeated TransferErrorSummary error_summary = 13
854+ [(google.api.field_behavior ) = OUTPUT_ONLY ];
756855}
757856
758857// A collection of counters that report the progress of a transfer operation.
@@ -780,4 +879,10 @@ message TransferCounters {
780879
781880 // Bytes that are copied to the data destination.
782881 int64 bytes_copied = 6 ;
882+
883+ // Objects that are failed to write to the data destination.
884+ int64 objects_failed = 7 ;
885+
886+ // Bytes that are failed to write to the data destination.
887+ int64 bytes_failed = 8 ;
783888}
0 commit comments