diff options
Diffstat (limited to 'third_party/googleapis/google/datastore/admin/v1/migration.proto')
| -rw-r--r-- | third_party/googleapis/google/datastore/admin/v1/migration.proto | 124 | 
1 files changed, 124 insertions, 0 deletions
diff --git a/third_party/googleapis/google/datastore/admin/v1/migration.proto b/third_party/googleapis/google/datastore/admin/v1/migration.proto new file mode 100644 index 0000000..dbbe473 --- /dev/null +++ b/third_party/googleapis/google/datastore/admin/v1/migration.proto @@ -0,0 +1,124 @@ +// Copyright 2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +//     http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.datastore.admin.v1; + +option csharp_namespace = "Google.Cloud.Datastore.Admin.V1"; +option go_package = "google.golang.org/genproto/googleapis/datastore/admin/v1;admin"; +option java_multiple_files = true; +option java_outer_classname = "MigrationProto"; +option java_package = "com.google.datastore.admin.v1"; +option php_namespace = "Google\\Cloud\\Datastore\\Admin\\V1"; +option ruby_package = "Google::Cloud::Datastore::Admin::V1"; + +// An event signifying a change in state of a [migration from Cloud Datastore to +// Cloud Firestore in Datastore +// mode](https://cloud.google.com/datastore/docs/upgrade-to-firestore). +message MigrationStateEvent { +  // The new state of the migration. +  MigrationState state = 1; +} + +// An event signifying the start of a new step in a [migration from Cloud +// Datastore to Cloud Firestore in Datastore +// mode](https://cloud.google.com/datastore/docs/upgrade-to-firestore). +message MigrationProgressEvent { +  // Concurrency modes for transactions in Cloud Firestore. +  enum ConcurrencyMode { +    // Unspecified. +    CONCURRENCY_MODE_UNSPECIFIED = 0; + +    // Pessimistic concurrency. +    PESSIMISTIC = 1; + +    // Optimistic concurrency. +    OPTIMISTIC = 2; + +    // Optimistic concurrency with entity groups. +    OPTIMISTIC_WITH_ENTITY_GROUPS = 3; +  } + +  // Details for the `PREPARE` step. +  message PrepareStepDetails { +    // The concurrency mode this database will use when it reaches the +    // `REDIRECT_WRITES` step. +    ConcurrencyMode concurrency_mode = 1; +  } + +  // Details for the `REDIRECT_WRITES` step. +  message RedirectWritesStepDetails { +    // Ths concurrency mode for this database. +    ConcurrencyMode concurrency_mode = 1; +  } + +  // The step that is starting. +  // +  // An event with step set to `START` indicates that the migration +  // has been reverted back to the initial pre-migration state. +  MigrationStep step = 1; + +  // Details about this step. +  oneof step_details { +    // Details for the `PREPARE` step. +    PrepareStepDetails prepare_step_details = 2; + +    // Details for the `REDIRECT_WRITES` step. +    RedirectWritesStepDetails redirect_writes_step_details = 3; +  } +} + +// States for a migration. +enum MigrationState { +  // Unspecified. +  MIGRATION_STATE_UNSPECIFIED = 0; + +  // The migration is running. +  RUNNING = 1; + +  // The migration is paused. +  PAUSED = 2; + +  // The migration is complete. +  COMPLETE = 3; +} + +// Steps in a migration. +enum MigrationStep { +  // Unspecified. +  MIGRATION_STEP_UNSPECIFIED = 0; + +  // Pre-migration: the database is prepared for migration. +  PREPARE = 6; + +  // Start of migration. +  START = 1; + +  // Writes are applied synchronously to at least one replica. +  APPLY_WRITES_SYNCHRONOUSLY = 7; + +  // Data is copied to Cloud Firestore and then verified to match the data in +  // Cloud Datastore. +  COPY_AND_VERIFY = 2; + +  // Eventually-consistent reads are redirected to Cloud Firestore. +  REDIRECT_EVENTUALLY_CONSISTENT_READS = 3; + +  // Strongly-consistent reads are redirected to Cloud Firestore. +  REDIRECT_STRONGLY_CONSISTENT_READS = 4; + +  // Writes are redirected to Cloud Firestore. +  REDIRECT_WRITES = 5; +}  | 
