# Copyright 2015 Google Inc. # # 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. require 'date' require 'google/apis/core/base_service' require 'google/apis/core/json_representation' require 'google/apis/core/hashable' require 'google/apis/errors' module Google module Apis module DatastoreV1beta2 # class AllocateIdsRequest include Google::Apis::Core::Hashable # A list of keys with incomplete key paths to allocate IDs for. No key may be # reserved/read-only. # Corresponds to the JSON property `keys` # @return [Array] attr_accessor :keys def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @keys = args[:keys] unless args[:keys].nil? end end # class AllocateIdsResponse include Google::Apis::Core::Hashable # # Corresponds to the JSON property `header` # @return [Google::Apis::DatastoreV1beta2::ResponseHeader] attr_accessor :header # The keys specified in the request (in the same order), each with its key path # completed with a newly allocated ID. # Corresponds to the JSON property `keys` # @return [Array] attr_accessor :keys def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @header = args[:header] unless args[:header].nil? @keys = args[:keys] unless args[:keys].nil? end end # class BeginTransactionRequest include Google::Apis::Core::Hashable # The transaction isolation level. Either snapshot or serializable. The default # isolation level is snapshot isolation, which means that another transaction # may not concurrently modify the data that is modified by this transaction. # Optionally, a transaction can request to be made serializable which means that # another transaction cannot concurrently modify the data that is read or # modified by this transaction. # Corresponds to the JSON property `isolationLevel` # @return [String] attr_accessor :isolation_level def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @isolation_level = args[:isolation_level] unless args[:isolation_level].nil? end end # class BeginTransactionResponse include Google::Apis::Core::Hashable # # Corresponds to the JSON property `header` # @return [Google::Apis::DatastoreV1beta2::ResponseHeader] attr_accessor :header # The transaction identifier (always present). # Corresponds to the JSON property `transaction` # @return [String] attr_accessor :transaction def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @header = args[:header] unless args[:header].nil? @transaction = args[:transaction] unless args[:transaction].nil? end end # class CommitRequest include Google::Apis::Core::Hashable # # Corresponds to the JSON property `ignoreReadOnly` # @return [Boolean] attr_accessor :ignore_read_only alias_method :ignore_read_only?, :ignore_read_only # The type of commit to perform. Either TRANSACTIONAL or NON_TRANSACTIONAL. # Corresponds to the JSON property `mode` # @return [String] attr_accessor :mode # A set of changes to apply. # Corresponds to the JSON property `mutation` # @return [Google::Apis::DatastoreV1beta2::Mutation] attr_accessor :mutation # The transaction identifier, returned by a call to beginTransaction. Must be # set when mode is TRANSACTIONAL. # Corresponds to the JSON property `transaction` # @return [String] attr_accessor :transaction def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @ignore_read_only = args[:ignore_read_only] unless args[:ignore_read_only].nil? @mode = args[:mode] unless args[:mode].nil? @mutation = args[:mutation] unless args[:mutation].nil? @transaction = args[:transaction] unless args[:transaction].nil? end end # class CommitResponse include Google::Apis::Core::Hashable # # Corresponds to the JSON property `header` # @return [Google::Apis::DatastoreV1beta2::ResponseHeader] attr_accessor :header # The result of performing the mutation (if any). # Corresponds to the JSON property `mutationResult` # @return [Google::Apis::DatastoreV1beta2::MutationResult] attr_accessor :mutation_result def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @header = args[:header] unless args[:header].nil? @mutation_result = args[:mutation_result] unless args[:mutation_result].nil? end end # A filter that merges the multiple other filters using the given operation. class CompositeFilter include Google::Apis::Core::Hashable # The list of filters to combine. Must contain at least one filter. # Corresponds to the JSON property `filters` # @return [Array] attr_accessor :filters # The operator for combining multiple filters. Only "and" is currently supported. # Corresponds to the JSON property `operator` # @return [String] attr_accessor :operator def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @filters = args[:filters] unless args[:filters].nil? @operator = args[:operator] unless args[:operator].nil? end end # An entity. class Entity include Google::Apis::Core::Hashable # A unique identifier for an entity. # Corresponds to the JSON property `key` # @return [Google::Apis::DatastoreV1beta2::Key] attr_accessor :key # The entity's properties. # Corresponds to the JSON property `properties` # @return [Hash] attr_accessor :properties def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @key = args[:key] unless args[:key].nil? @properties = args[:properties] unless args[:properties].nil? end end # The result of fetching an entity from the datastore. class EntityResult include Google::Apis::Core::Hashable # An entity. # Corresponds to the JSON property `entity` # @return [Google::Apis::DatastoreV1beta2::Entity] attr_accessor :entity def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @entity = args[:entity] unless args[:entity].nil? end end # A holder for any type of filter. Exactly one field should be specified. class Filter include Google::Apis::Core::Hashable # A filter that merges the multiple other filters using the given operation. # Corresponds to the JSON property `compositeFilter` # @return [Google::Apis::DatastoreV1beta2::CompositeFilter] attr_accessor :composite_filter # A filter on a specific property. # Corresponds to the JSON property `propertyFilter` # @return [Google::Apis::DatastoreV1beta2::PropertyFilter] attr_accessor :property_filter def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @composite_filter = args[:composite_filter] unless args[:composite_filter].nil? @property_filter = args[:property_filter] unless args[:property_filter].nil? end end # A GQL query. class GqlQuery include Google::Apis::Core::Hashable # When false, the query string must not contain a literal. # Corresponds to the JSON property `allowLiteral` # @return [Boolean] attr_accessor :allow_literal alias_method :allow_literal?, :allow_literal # A named argument must set field GqlQueryArg.name. No two named arguments may # have the same name. For each non-reserved named binding site in the query # string, there must be a named argument with that name, but not necessarily the # inverse. # Corresponds to the JSON property `nameArgs` # @return [Array] attr_accessor :name_args # Numbered binding site @1 references the first numbered argument, effectively # using 1-based indexing, rather than the usual 0. A numbered argument must NOT # set field GqlQueryArg.name. For each binding site numbered i in query_string, # there must be an ith numbered argument. The inverse must also be true. # Corresponds to the JSON property `numberArgs` # @return [Array] attr_accessor :number_args # The query string. # Corresponds to the JSON property `queryString` # @return [String] attr_accessor :query_string def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @allow_literal = args[:allow_literal] unless args[:allow_literal].nil? @name_args = args[:name_args] unless args[:name_args].nil? @number_args = args[:number_args] unless args[:number_args].nil? @query_string = args[:query_string] unless args[:query_string].nil? end end # A binding argument for a GQL query. class GqlQueryArg include Google::Apis::Core::Hashable # # Corresponds to the JSON property `cursor` # @return [String] attr_accessor :cursor # Must match regex "[A-Za-z_$][A-Za-z_$0-9]*". Must not match regex "__.*__". # Must not be "". # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # A message that can hold any of the supported value types and associated # metadata. # Corresponds to the JSON property `value` # @return [Google::Apis::DatastoreV1beta2::Value] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @cursor = args[:cursor] unless args[:cursor].nil? @name = args[:name] unless args[:name].nil? @value = args[:value] unless args[:value].nil? end end # A unique identifier for an entity. class Key include Google::Apis::Core::Hashable # An identifier for a particular subset of entities. # Entities are partitioned into various subsets, each used by different datasets # and different namespaces within a dataset and so forth. # Corresponds to the JSON property `partitionId` # @return [Google::Apis::DatastoreV1beta2::PartitionId] attr_accessor :partition_id # The entity path. An entity path consists of one or more elements composed of a # kind and a string or numerical identifier, which identify entities. The first # element identifies a root entity, the second element identifies a child of the # root entity, the third element a child of the second entity, and so forth. The # entities identified by all prefixes of the path are called the element's # ancestors. An entity path is always fully complete: ALL of the entity's # ancestors are required to be in the path along with the entity identifier # itself. The only exception is that in some documented cases, the identifier in # the last path element (for the entity) itself may be omitted. A path can never # be empty. The path can have at most 100 elements. # Corresponds to the JSON property `path` # @return [Array] attr_accessor :path def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @partition_id = args[:partition_id] unless args[:partition_id].nil? @path = args[:path] unless args[:path].nil? end end # A (kind, ID/name) pair used to construct a key path. # At most one of name or ID may be set. If either is set, the element is # complete. If neither is set, the element is incomplete. class KeyPathElement include Google::Apis::Core::Hashable # The ID of the entity. Never equal to zero. Values less than zero are # discouraged and will not be supported in the future. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # The kind of the entity. A kind matching regex "__.*__" is reserved/read-only. # A kind must not contain more than 500 characters. Cannot be "". # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # The name of the entity. A name matching regex "__.*__" is reserved/read-only. # A name must not be more than 500 characters. Cannot be "". # Corresponds to the JSON property `name` # @return [String] attr_accessor :name def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @id = args[:id] unless args[:id].nil? @kind = args[:kind] unless args[:kind].nil? @name = args[:name] unless args[:name].nil? end end # A representation of a kind. class KindExpression include Google::Apis::Core::Hashable # The name of the kind. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @name = args[:name] unless args[:name].nil? end end # class LookupRequest include Google::Apis::Core::Hashable # Keys of entities to look up from the datastore. # Corresponds to the JSON property `keys` # @return [Array] attr_accessor :keys # Options for this lookup request. Optional. # Corresponds to the JSON property `readOptions` # @return [Google::Apis::DatastoreV1beta2::ReadOptions] attr_accessor :read_options def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @keys = args[:keys] unless args[:keys].nil? @read_options = args[:read_options] unless args[:read_options].nil? end end # class LookupResponse include Google::Apis::Core::Hashable # A list of keys that were not looked up due to resource constraints. # Corresponds to the JSON property `deferred` # @return [Array] attr_accessor :deferred # Entities found. # Corresponds to the JSON property `found` # @return [Array] attr_accessor :found # # Corresponds to the JSON property `header` # @return [Google::Apis::DatastoreV1beta2::ResponseHeader] attr_accessor :header # Entities not found, with only the key populated. # Corresponds to the JSON property `missing` # @return [Array] attr_accessor :missing def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @deferred = args[:deferred] unless args[:deferred].nil? @found = args[:found] unless args[:found].nil? @header = args[:header] unless args[:header].nil? @missing = args[:missing] unless args[:missing].nil? end end # A set of changes to apply. class Mutation include Google::Apis::Core::Hashable # Keys of entities to delete. Each key must have a complete key path and must # not be reserved/read-only. # Corresponds to the JSON property `delete` # @return [Array] attr_accessor :delete # Ignore a user specified read-only period. Optional. # Corresponds to the JSON property `force` # @return [Boolean] attr_accessor :force alias_method :force?, :force # Entities to insert. Each inserted entity's key must have a complete path and # must not be reserved/read-only. # Corresponds to the JSON property `insert` # @return [Array] attr_accessor :insert # Insert entities with a newly allocated ID. Each inserted entity's key must # omit the final identifier in its path and must not be reserved/read-only. # Corresponds to the JSON property `insertAutoId` # @return [Array] attr_accessor :insert_auto_id # Entities to update. Each updated entity's key must have a complete path and # must not be reserved/read-only. # Corresponds to the JSON property `update` # @return [Array] attr_accessor :update # Entities to upsert. Each upserted entity's key must have a complete path and # must not be reserved/read-only. # Corresponds to the JSON property `upsert` # @return [Array] attr_accessor :upsert def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @delete = args[:delete] unless args[:delete].nil? @force = args[:force] unless args[:force].nil? @insert = args[:insert] unless args[:insert].nil? @insert_auto_id = args[:insert_auto_id] unless args[:insert_auto_id].nil? @update = args[:update] unless args[:update].nil? @upsert = args[:upsert] unless args[:upsert].nil? end end # class MutationResult include Google::Apis::Core::Hashable # Number of index writes. # Corresponds to the JSON property `indexUpdates` # @return [Fixnum] attr_accessor :index_updates # Keys for insertAutoId entities. One per entity from the request, in the same # order. # Corresponds to the JSON property `insertAutoIdKeys` # @return [Array] attr_accessor :insert_auto_id_keys def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @index_updates = args[:index_updates] unless args[:index_updates].nil? @insert_auto_id_keys = args[:insert_auto_id_keys] unless args[:insert_auto_id_keys].nil? end end # An identifier for a particular subset of entities. # Entities are partitioned into various subsets, each used by different datasets # and different namespaces within a dataset and so forth. class PartitionId include Google::Apis::Core::Hashable # The dataset ID. # Corresponds to the JSON property `datasetId` # @return [String] attr_accessor :dataset_id # The namespace. # Corresponds to the JSON property `namespace` # @return [String] attr_accessor :namespace def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @dataset_id = args[:dataset_id] unless args[:dataset_id].nil? @namespace = args[:namespace] unless args[:namespace].nil? end end # An entity property. class Property include Google::Apis::Core::Hashable # A blob key value. # Corresponds to the JSON property `blobKeyValue` # @return [String] attr_accessor :blob_key_value # A blob value. May be a maximum of 1,000,000 bytes. When indexed is true, may # have at most 500 bytes. # Corresponds to the JSON property `blobValue` # @return [String] attr_accessor :blob_value # A boolean value. # Corresponds to the JSON property `booleanValue` # @return [Boolean] attr_accessor :boolean_value alias_method :boolean_value?, :boolean_value # A timestamp value. # Corresponds to the JSON property `dateTimeValue` # @return [DateTime] attr_accessor :date_time_value # A double value. # Corresponds to the JSON property `doubleValue` # @return [Float] attr_accessor :double_value # An entity. # Corresponds to the JSON property `entityValue` # @return [Google::Apis::DatastoreV1beta2::Entity] attr_accessor :entity_value # If the value should be indexed. # The indexed property may be set for a null value. When indexed is true, # stringValue is limited to 500 characters and the blob value is limited to 500 # bytes. Input values by default have indexed set to true; however, you can # explicitly set indexed to true if you want. (An output value never has indexed # explicitly set to true.) If a value is itself an entity, it cannot have # indexed set to true. # Corresponds to the JSON property `indexed` # @return [Boolean] attr_accessor :indexed alias_method :indexed?, :indexed # An integer value. # Corresponds to the JSON property `integerValue` # @return [String] attr_accessor :integer_value # A unique identifier for an entity. # Corresponds to the JSON property `keyValue` # @return [Google::Apis::DatastoreV1beta2::Key] attr_accessor :key_value # A list value. Cannot contain another list value. A Value instance that sets # field list_value must not set field meaning or field indexed. # Corresponds to the JSON property `listValue` # @return [Array] attr_accessor :list_value # The meaning field is reserved and should not be used. # Corresponds to the JSON property `meaning` # @return [Fixnum] attr_accessor :meaning # A UTF-8 encoded string value. When indexed is true, may have at most 500 # characters. # Corresponds to the JSON property `stringValue` # @return [String] attr_accessor :string_value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @blob_key_value = args[:blob_key_value] unless args[:blob_key_value].nil? @blob_value = args[:blob_value] unless args[:blob_value].nil? @boolean_value = args[:boolean_value] unless args[:boolean_value].nil? @date_time_value = args[:date_time_value] unless args[:date_time_value].nil? @double_value = args[:double_value] unless args[:double_value].nil? @entity_value = args[:entity_value] unless args[:entity_value].nil? @indexed = args[:indexed] unless args[:indexed].nil? @integer_value = args[:integer_value] unless args[:integer_value].nil? @key_value = args[:key_value] unless args[:key_value].nil? @list_value = args[:list_value] unless args[:list_value].nil? @meaning = args[:meaning] unless args[:meaning].nil? @string_value = args[:string_value] unless args[:string_value].nil? end end # A representation of a property in a projection. class PropertyExpression include Google::Apis::Core::Hashable # The aggregation function to apply to the property. Optional. Can only be used # when grouping by at least one property. Must then be set on all properties in # the projection that are not being grouped by. Aggregation functions: first # selects the first result as determined by the query's order. # Corresponds to the JSON property `aggregationFunction` # @return [String] attr_accessor :aggregation_function # A reference to a property relative to the kind expressions. # Corresponds to the JSON property `property` # @return [Google::Apis::DatastoreV1beta2::PropertyReference] attr_accessor :property def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @aggregation_function = args[:aggregation_function] unless args[:aggregation_function].nil? @property = args[:property] unless args[:property].nil? end end # A filter on a specific property. class PropertyFilter include Google::Apis::Core::Hashable # The operator to filter by. One of lessThan, lessThanOrEqual, greaterThan, # greaterThanOrEqual, equal, or hasAncestor. # Corresponds to the JSON property `operator` # @return [String] attr_accessor :operator # A reference to a property relative to the kind expressions. # Corresponds to the JSON property `property` # @return [Google::Apis::DatastoreV1beta2::PropertyReference] attr_accessor :property # A message that can hold any of the supported value types and associated # metadata. # Corresponds to the JSON property `value` # @return [Google::Apis::DatastoreV1beta2::Value] attr_accessor :value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @operator = args[:operator] unless args[:operator].nil? @property = args[:property] unless args[:property].nil? @value = args[:value] unless args[:value].nil? end end # The desired order for a specific property. class PropertyOrder include Google::Apis::Core::Hashable # The direction to order by. One of ascending or descending. Optional, defaults # to ascending. # Corresponds to the JSON property `direction` # @return [String] attr_accessor :direction # A reference to a property relative to the kind expressions. # Corresponds to the JSON property `property` # @return [Google::Apis::DatastoreV1beta2::PropertyReference] attr_accessor :property def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @direction = args[:direction] unless args[:direction].nil? @property = args[:property] unless args[:property].nil? end end # A reference to a property relative to the kind expressions. class PropertyReference include Google::Apis::Core::Hashable # The name of the property. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @name = args[:name] unless args[:name].nil? end end # A query. class Query include Google::Apis::Core::Hashable # An ending point for the query results. Optional. Query cursors are returned in # query result batches. # Corresponds to the JSON property `endCursor` # @return [String] attr_accessor :end_cursor # A holder for any type of filter. Exactly one field should be specified. # Corresponds to the JSON property `filter` # @return [Google::Apis::DatastoreV1beta2::Filter] attr_accessor :filter # The properties to group by (if empty, no grouping is applied to the result set) # . # Corresponds to the JSON property `groupBy` # @return [Array] attr_accessor :group_by # The kinds to query (if empty, returns entities from all kinds). # Corresponds to the JSON property `kinds` # @return [Array] attr_accessor :kinds # The maximum number of results to return. Applies after all other constraints. # Optional. # Corresponds to the JSON property `limit` # @return [Fixnum] attr_accessor :limit # The number of results to skip. Applies before limit, but after all other # constraints (optional, defaults to 0). # Corresponds to the JSON property `offset` # @return [Fixnum] attr_accessor :offset # The order to apply to the query results (if empty, order is unspecified). # Corresponds to the JSON property `order` # @return [Array] attr_accessor :order # The projection to return. If not set the entire entity is returned. # Corresponds to the JSON property `projection` # @return [Array] attr_accessor :projection # A starting point for the query results. Optional. Query cursors are returned # in query result batches. # Corresponds to the JSON property `startCursor` # @return [String] attr_accessor :start_cursor def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @end_cursor = args[:end_cursor] unless args[:end_cursor].nil? @filter = args[:filter] unless args[:filter].nil? @group_by = args[:group_by] unless args[:group_by].nil? @kinds = args[:kinds] unless args[:kinds].nil? @limit = args[:limit] unless args[:limit].nil? @offset = args[:offset] unless args[:offset].nil? @order = args[:order] unless args[:order].nil? @projection = args[:projection] unless args[:projection].nil? @start_cursor = args[:start_cursor] unless args[:start_cursor].nil? end end # A batch of results produced by a query. class QueryResultBatch include Google::Apis::Core::Hashable # A cursor that points to the position after the last result in the batch. May # be absent. TODO(arfuller): Once all plans produce cursors update documentation # here. # Corresponds to the JSON property `endCursor` # @return [String] attr_accessor :end_cursor # The result type for every entity in entityResults. full for full entities, # projection for entities with only projected properties, keyOnly for entities # with only a key. # Corresponds to the JSON property `entityResultType` # @return [String] attr_accessor :entity_result_type # The results for this batch. # Corresponds to the JSON property `entityResults` # @return [Array] attr_accessor :entity_results # The state of the query after the current batch. One of notFinished, # moreResultsAfterLimit, noMoreResults. # Corresponds to the JSON property `moreResults` # @return [String] attr_accessor :more_results # The number of results skipped because of Query.offset. # Corresponds to the JSON property `skippedResults` # @return [Fixnum] attr_accessor :skipped_results def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @end_cursor = args[:end_cursor] unless args[:end_cursor].nil? @entity_result_type = args[:entity_result_type] unless args[:entity_result_type].nil? @entity_results = args[:entity_results] unless args[:entity_results].nil? @more_results = args[:more_results] unless args[:more_results].nil? @skipped_results = args[:skipped_results] unless args[:skipped_results].nil? end end # class ReadOptions include Google::Apis::Core::Hashable # The read consistency to use. One of default, strong, or eventual. Cannot be # set when transaction is set. Lookup and ancestor queries default to strong, # global queries default to eventual and cannot be set to strong. Optional. # Default is default. # Corresponds to the JSON property `readConsistency` # @return [String] attr_accessor :read_consistency # The transaction to use. Optional. # Corresponds to the JSON property `transaction` # @return [String] attr_accessor :transaction def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @read_consistency = args[:read_consistency] unless args[:read_consistency].nil? @transaction = args[:transaction] unless args[:transaction].nil? end end # class ResponseHeader include Google::Apis::Core::Hashable # Identifies what kind of resource this is. Value: the fixed string "datastore# # responseHeader". # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @kind = args[:kind] unless args[:kind].nil? end end # class RollbackRequest include Google::Apis::Core::Hashable # The transaction identifier, returned by a call to beginTransaction. # Corresponds to the JSON property `transaction` # @return [String] attr_accessor :transaction def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @transaction = args[:transaction] unless args[:transaction].nil? end end # class RollbackResponse include Google::Apis::Core::Hashable # # Corresponds to the JSON property `header` # @return [Google::Apis::DatastoreV1beta2::ResponseHeader] attr_accessor :header def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @header = args[:header] unless args[:header].nil? end end # class RunQueryRequest include Google::Apis::Core::Hashable # A GQL query. # Corresponds to the JSON property `gqlQuery` # @return [Google::Apis::DatastoreV1beta2::GqlQuery] attr_accessor :gql_query # An identifier for a particular subset of entities. # Entities are partitioned into various subsets, each used by different datasets # and different namespaces within a dataset and so forth. # Corresponds to the JSON property `partitionId` # @return [Google::Apis::DatastoreV1beta2::PartitionId] attr_accessor :partition_id # A query. # Corresponds to the JSON property `query` # @return [Google::Apis::DatastoreV1beta2::Query] attr_accessor :query # The options for this query. # Corresponds to the JSON property `readOptions` # @return [Google::Apis::DatastoreV1beta2::ReadOptions] attr_accessor :read_options def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @gql_query = args[:gql_query] unless args[:gql_query].nil? @partition_id = args[:partition_id] unless args[:partition_id].nil? @query = args[:query] unless args[:query].nil? @read_options = args[:read_options] unless args[:read_options].nil? end end # class RunQueryResponse include Google::Apis::Core::Hashable # A batch of results produced by a query. # Corresponds to the JSON property `batch` # @return [Google::Apis::DatastoreV1beta2::QueryResultBatch] attr_accessor :batch # # Corresponds to the JSON property `header` # @return [Google::Apis::DatastoreV1beta2::ResponseHeader] attr_accessor :header def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @batch = args[:batch] unless args[:batch].nil? @header = args[:header] unless args[:header].nil? end end # A message that can hold any of the supported value types and associated # metadata. class Value include Google::Apis::Core::Hashable # A blob key value. # Corresponds to the JSON property `blobKeyValue` # @return [String] attr_accessor :blob_key_value # A blob value. May be a maximum of 1,000,000 bytes. When indexed is true, may # have at most 500 bytes. # Corresponds to the JSON property `blobValue` # @return [String] attr_accessor :blob_value # A boolean value. # Corresponds to the JSON property `booleanValue` # @return [Boolean] attr_accessor :boolean_value alias_method :boolean_value?, :boolean_value # A timestamp value. # Corresponds to the JSON property `dateTimeValue` # @return [DateTime] attr_accessor :date_time_value # A double value. # Corresponds to the JSON property `doubleValue` # @return [Float] attr_accessor :double_value # An entity. # Corresponds to the JSON property `entityValue` # @return [Google::Apis::DatastoreV1beta2::Entity] attr_accessor :entity_value # If the value should be indexed. # The indexed property may be set for a null value. When indexed is true, # stringValue is limited to 500 characters and the blob value is limited to 500 # bytes. Input values by default have indexed set to true; however, you can # explicitly set indexed to true if you want. (An output value never has indexed # explicitly set to true.) If a value is itself an entity, it cannot have # indexed set to true. # Corresponds to the JSON property `indexed` # @return [Boolean] attr_accessor :indexed alias_method :indexed?, :indexed # An integer value. # Corresponds to the JSON property `integerValue` # @return [String] attr_accessor :integer_value # A unique identifier for an entity. # Corresponds to the JSON property `keyValue` # @return [Google::Apis::DatastoreV1beta2::Key] attr_accessor :key_value # A list value. Cannot contain another list value. A Value instance that sets # field list_value must not set field meaning or field indexed. # Corresponds to the JSON property `listValue` # @return [Array] attr_accessor :list_value # The meaning field is reserved and should not be used. # Corresponds to the JSON property `meaning` # @return [Fixnum] attr_accessor :meaning # A UTF-8 encoded string value. When indexed is true, may have at most 500 # characters. # Corresponds to the JSON property `stringValue` # @return [String] attr_accessor :string_value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @blob_key_value = args[:blob_key_value] unless args[:blob_key_value].nil? @blob_value = args[:blob_value] unless args[:blob_value].nil? @boolean_value = args[:boolean_value] unless args[:boolean_value].nil? @date_time_value = args[:date_time_value] unless args[:date_time_value].nil? @double_value = args[:double_value] unless args[:double_value].nil? @entity_value = args[:entity_value] unless args[:entity_value].nil? @indexed = args[:indexed] unless args[:indexed].nil? @integer_value = args[:integer_value] unless args[:integer_value].nil? @key_value = args[:key_value] unless args[:key_value].nil? @list_value = args[:list_value] unless args[:list_value].nil? @meaning = args[:meaning] unless args[:meaning].nil? @string_value = args[:string_value] unless args[:string_value].nil? end end end end end