// Copyright 2018 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; import "google/api/annotations.proto"; 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 = "IndexProto"; option java_package = "com.google.datastore.admin.v1"; // A minimal index definition. // Next tag: 8 message Index { // Next tag: 3 message IndexedProperty { // The property name to index. // Required. string name = 1; // The indexed property's direction. Must not be DIRECTION_UNSPECIFIED. // Required. Direction direction = 2; } // For an ordered index, specifies whether each of the entity's ancestors // will be included. enum AncestorMode { // The ancestor mode is unspecified. ANCESTOR_MODE_UNSPECIFIED = 0; // Do not include the entity's ancestors in the index. NONE = 1; // Include all the entity's ancestors in the index. ALL_ANCESTORS = 2; } // The direction determines how a property is indexed. enum Direction { // The direction is unspecified. DIRECTION_UNSPECIFIED = 0; // The property's values are indexed so as to support sequencing in // ascending order and also query by <, >, <=, >=, and =. ASCENDING = 1; // The property's values are indexed so as to support sequencing in // descending order and also query by <, >, <=, >=, and =. DESCENDING = 2; } // The possible set of states of an index. enum State { // The state is unspecified. STATE_UNSPECIFIED = 0; // The index is being created, and cannot be used by queries. // There is an active long-running operation for the index. // The index is updated when writing an entity. // Some index data may exist. CREATING = 1; // The index is ready to be used. // The index is updated when writing an entity. // The index is fully populated from all stored entities it applies to. READY = 2; // The index is being deleted, and cannot be used by queries. // There is an active long-running operation for the index. // The index is not updated when writing an entity. // Some index data may exist. DELETING = 3; // The index was being created or deleted, but something went wrong. // The index cannot by used by queries. // There is no active long-running operation for the index, // and the most recently finished long-running operation failed. // The index is not updated when writing an entity. // Some index data may exist. ERROR = 4; } // Project ID. // Output only. string project_id = 1; // The resource ID of the index. // Output only. string index_id = 3; // The entity kind to which this index applies. // Required. string kind = 4; // The index's ancestor mode. Must not be ANCESTOR_MODE_UNSPECIFIED. // Required. AncestorMode ancestor = 5; // An ordered sequence of property names and their index attributes. // Required. repeated IndexedProperty properties = 6; // The state of the index. // Output only. State state = 7; }