blob: 418859dba69668b38d7e556333ba830690faf75f [file] [log] [blame]
// Copyright 2019 Google Inc. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
// Code generated file. DO NOT EDIT.
// Package firestore provides access to the Cloud Firestore API.
//
// This package is DEPRECATED. Use package cloud.google.com/go/firestore instead.
//
// See https://cloud.google.com/firestore
//
// Usage example:
//
// import "google.golang.org/api/firestore/v1"
// ...
// firestoreService, err := firestore.New(oauthHttpClient)
package firestore // import "google.golang.org/api/firestore/v1"
import (
"bytes"
"context"
"encoding/json"
"errors"
"fmt"
"io"
"net/http"
"net/url"
"strconv"
"strings"
gensupport "google.golang.org/api/gensupport"
googleapi "google.golang.org/api/googleapi"
)
// Always reference these packages, just in case the auto-generated code
// below doesn't.
var _ = bytes.NewBuffer
var _ = strconv.Itoa
var _ = fmt.Sprintf
var _ = json.NewDecoder
var _ = io.Copy
var _ = url.Parse
var _ = gensupport.MarshalJSON
var _ = googleapi.Version
var _ = errors.New
var _ = strings.Replace
var _ = context.Canceled
const apiId = "firestore:v1"
const apiName = "firestore"
const apiVersion = "v1"
const basePath = "https://firestore.googleapis.com/"
// OAuth2 scopes used by this API.
const (
// View and manage your data across Google Cloud Platform services
CloudPlatformScope = "https://www.googleapis.com/auth/cloud-platform"
// View and manage your Google Cloud Datastore data
DatastoreScope = "https://www.googleapis.com/auth/datastore"
)
func New(client *http.Client) (*Service, error) {
if client == nil {
return nil, errors.New("client is nil")
}
s := &Service{client: client, BasePath: basePath}
s.Projects = NewProjectsService(s)
return s, nil
}
type Service struct {
client *http.Client
BasePath string // API endpoint base URL
UserAgent string // optional additional User-Agent fragment
Projects *ProjectsService
}
func (s *Service) userAgent() string {
if s.UserAgent == "" {
return googleapi.UserAgent
}
return googleapi.UserAgent + " " + s.UserAgent
}
func NewProjectsService(s *Service) *ProjectsService {
rs := &ProjectsService{s: s}
rs.Databases = NewProjectsDatabasesService(s)
rs.Locations = NewProjectsLocationsService(s)
return rs
}
type ProjectsService struct {
s *Service
Databases *ProjectsDatabasesService
Locations *ProjectsLocationsService
}
func NewProjectsDatabasesService(s *Service) *ProjectsDatabasesService {
rs := &ProjectsDatabasesService{s: s}
rs.CollectionGroups = NewProjectsDatabasesCollectionGroupsService(s)
rs.Documents = NewProjectsDatabasesDocumentsService(s)
rs.Operations = NewProjectsDatabasesOperationsService(s)
return rs
}
type ProjectsDatabasesService struct {
s *Service
CollectionGroups *ProjectsDatabasesCollectionGroupsService
Documents *ProjectsDatabasesDocumentsService
Operations *ProjectsDatabasesOperationsService
}
func NewProjectsDatabasesCollectionGroupsService(s *Service) *ProjectsDatabasesCollectionGroupsService {
rs := &ProjectsDatabasesCollectionGroupsService{s: s}
rs.Fields = NewProjectsDatabasesCollectionGroupsFieldsService(s)
rs.Indexes = NewProjectsDatabasesCollectionGroupsIndexesService(s)
return rs
}
type ProjectsDatabasesCollectionGroupsService struct {
s *Service
Fields *ProjectsDatabasesCollectionGroupsFieldsService
Indexes *ProjectsDatabasesCollectionGroupsIndexesService
}
func NewProjectsDatabasesCollectionGroupsFieldsService(s *Service) *ProjectsDatabasesCollectionGroupsFieldsService {
rs := &ProjectsDatabasesCollectionGroupsFieldsService{s: s}
return rs
}
type ProjectsDatabasesCollectionGroupsFieldsService struct {
s *Service
}
func NewProjectsDatabasesCollectionGroupsIndexesService(s *Service) *ProjectsDatabasesCollectionGroupsIndexesService {
rs := &ProjectsDatabasesCollectionGroupsIndexesService{s: s}
return rs
}
type ProjectsDatabasesCollectionGroupsIndexesService struct {
s *Service
}
func NewProjectsDatabasesDocumentsService(s *Service) *ProjectsDatabasesDocumentsService {
rs := &ProjectsDatabasesDocumentsService{s: s}
return rs
}
type ProjectsDatabasesDocumentsService struct {
s *Service
}
func NewProjectsDatabasesOperationsService(s *Service) *ProjectsDatabasesOperationsService {
rs := &ProjectsDatabasesOperationsService{s: s}
return rs
}
type ProjectsDatabasesOperationsService struct {
s *Service
}
func NewProjectsLocationsService(s *Service) *ProjectsLocationsService {
rs := &ProjectsLocationsService{s: s}
return rs
}
type ProjectsLocationsService struct {
s *Service
}
// ArrayValue: An array value.
type ArrayValue struct {
// Values: Values in the array.
Values []*Value `json:"values,omitempty"`
// ForceSendFields is a list of field names (e.g. "Values") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Values") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ArrayValue) MarshalJSON() ([]byte, error) {
type NoMethod ArrayValue
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// BatchGetDocumentsRequest: The request for
// Firestore.BatchGetDocuments.
type BatchGetDocumentsRequest struct {
// Documents: The names of the documents to retrieve. In the
// format:
// `projects/{project_id}/databases/{database_id}/documents/{docu
// ment_path}`.
// The request will fail if any of the document is not a child resource
// of the
// given `database`. Duplicate names will be elided.
Documents []string `json:"documents,omitempty"`
// Mask: The fields to return. If not set, returns all fields.
//
// If a document has a field that is not present in this mask, that
// field will
// not be returned in the response.
Mask *DocumentMask `json:"mask,omitempty"`
// NewTransaction: Starts a new transaction and reads the
// documents.
// Defaults to a read-only transaction.
// The new transaction ID will be returned as the first response in
// the
// stream.
NewTransaction *TransactionOptions `json:"newTransaction,omitempty"`
// ReadTime: Reads documents as they were at the given time.
// This may not be older than 60 seconds.
ReadTime string `json:"readTime,omitempty"`
// Transaction: Reads documents in a transaction.
Transaction string `json:"transaction,omitempty"`
// ForceSendFields is a list of field names (e.g. "Documents") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Documents") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *BatchGetDocumentsRequest) MarshalJSON() ([]byte, error) {
type NoMethod BatchGetDocumentsRequest
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// BatchGetDocumentsResponse: The streamed response for
// Firestore.BatchGetDocuments.
type BatchGetDocumentsResponse struct {
// Found: A document that was requested.
Found *Document `json:"found,omitempty"`
// Missing: A document name that was requested but does not exist. In
// the
// format:
// `projects/{project_id}/databases/{database_id}/documents/{docu
// ment_path}`.
Missing string `json:"missing,omitempty"`
// ReadTime: The time at which the document was read.
// This may be monotically increasing, in this case the previous
// documents in
// the result stream are guaranteed not to have changed between
// their
// read_time and this one.
ReadTime string `json:"readTime,omitempty"`
// Transaction: The transaction that was started as part of this
// request.
// Will only be set in the first response, and only
// if
// BatchGetDocumentsRequest.new_transaction was set in the request.
Transaction string `json:"transaction,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "Found") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Found") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *BatchGetDocumentsResponse) MarshalJSON() ([]byte, error) {
type NoMethod BatchGetDocumentsResponse
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// BeginTransactionRequest: The request for Firestore.BeginTransaction.
type BeginTransactionRequest struct {
// Options: The options for the transaction.
// Defaults to a read-write transaction.
Options *TransactionOptions `json:"options,omitempty"`
// ForceSendFields is a list of field names (e.g. "Options") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Options") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *BeginTransactionRequest) MarshalJSON() ([]byte, error) {
type NoMethod BeginTransactionRequest
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// BeginTransactionResponse: The response for
// Firestore.BeginTransaction.
type BeginTransactionResponse struct {
// Transaction: The transaction that was started.
Transaction string `json:"transaction,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "Transaction") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Transaction") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *BeginTransactionResponse) MarshalJSON() ([]byte, error) {
type NoMethod BeginTransactionResponse
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// CollectionSelector: A selection of a collection, such as `messages as
// m1`.
type CollectionSelector struct {
// AllDescendants: When false, selects only collections that are
// immediate children of
// the `parent` specified in the containing `RunQueryRequest`.
// When true, selects all descendant collections.
AllDescendants bool `json:"allDescendants,omitempty"`
// CollectionId: The collection ID.
// When set, selects only collections with this ID.
CollectionId string `json:"collectionId,omitempty"`
// ForceSendFields is a list of field names (e.g. "AllDescendants") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "AllDescendants") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *CollectionSelector) MarshalJSON() ([]byte, error) {
type NoMethod CollectionSelector
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// CommitRequest: The request for Firestore.Commit.
type CommitRequest struct {
// Transaction: If set, applies all writes in this transaction, and
// commits it.
Transaction string `json:"transaction,omitempty"`
// Writes: The writes to apply.
//
// Always executed atomically and in order.
Writes []*Write `json:"writes,omitempty"`
// ForceSendFields is a list of field names (e.g. "Transaction") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Transaction") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *CommitRequest) MarshalJSON() ([]byte, error) {
type NoMethod CommitRequest
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// CommitResponse: The response for Firestore.Commit.
type CommitResponse struct {
// CommitTime: The time at which the commit occurred.
CommitTime string `json:"commitTime,omitempty"`
// WriteResults: The result of applying the writes.
//
// This i-th write result corresponds to the i-th write in the
// request.
WriteResults []*WriteResult `json:"writeResults,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "CommitTime") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "CommitTime") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *CommitResponse) MarshalJSON() ([]byte, error) {
type NoMethod CommitResponse
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// CompositeFilter: A filter that merges multiple other filters using
// the given operator.
type CompositeFilter struct {
// Filters: The list of filters to combine.
// Must contain at least one filter.
Filters []*Filter `json:"filters,omitempty"`
// Op: The operator for combining multiple filters.
//
// Possible values:
// "OPERATOR_UNSPECIFIED" - Unspecified. This value must not be used.
// "AND" - The results are required to satisfy each of the combined
// filters.
Op string `json:"op,omitempty"`
// ForceSendFields is a list of field names (e.g. "Filters") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Filters") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *CompositeFilter) MarshalJSON() ([]byte, error) {
type NoMethod CompositeFilter
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Cursor: A position in a query result set.
type Cursor struct {
// Before: If the position is just before or just after the given
// values, relative
// to the sort order defined by the query.
Before bool `json:"before,omitempty"`
// Values: The values that represent a position, in the order they
// appear in
// the order by clause of a query.
//
// Can contain fewer values than specified in the order by clause.
Values []*Value `json:"values,omitempty"`
// ForceSendFields is a list of field names (e.g. "Before") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Before") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *Cursor) MarshalJSON() ([]byte, error) {
type NoMethod Cursor
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Document: A Firestore document.
//
// Must not exceed 1 MiB - 4 bytes.
type Document struct {
// CreateTime: Output only. The time at which the document was
// created.
//
// This value increases monotonically when a document is deleted
// then
// recreated. It can also be compared to values from other documents
// and
// the `read_time` of a query.
CreateTime string `json:"createTime,omitempty"`
// Fields: The document's fields.
//
// The map keys represent field names.
//
// A simple field name contains only characters `a` to `z`, `A` to
// `Z`,
// `0` to `9`, or `_`, and must not start with `0` to `9`. For
// example,
// `foo_bar_17`.
//
// Field names matching the regular expression `__.*__` are reserved.
// Reserved
// field names are forbidden except in certain documented contexts. The
// map
// keys, represented as UTF-8, must not exceed 1,500 bytes and cannot
// be
// empty.
//
// Field paths may be used in other contexts to refer to structured
// fields
// defined here. For `map_value`, the field path is represented by the
// simple
// or quoted field names of the containing fields, delimited by `.`.
// For
// example, the structured field
// "foo" : { map_value: { "x&y" : { string_value: "hello" }}}` would
// be
// represented by the field path `foo.x&y`.
//
// Within a field path, a quoted field name starts and ends with `` ` ``
// and
// may contain any character. Some characters, including `` ` ``, must
// be
// escaped using a `\`. For example, `` `x&y` `` represents `x&y` and
// `` `bak\`tik` `` represents `` bak`tik ``.
Fields map[string]Value `json:"fields,omitempty"`
// Name: The resource name of the document, for
// example
// `projects/{project_id}/databases/{database_id}/documents/{docu
// ment_path}`.
Name string `json:"name,omitempty"`
// UpdateTime: Output only. The time at which the document was last
// changed.
//
// This value is initially set to the `create_time` then
// increases
// monotonically with each change to the document. It can also
// be
// compared to values from other documents and the `read_time` of a
// query.
UpdateTime string `json:"updateTime,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "CreateTime") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "CreateTime") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *Document) MarshalJSON() ([]byte, error) {
type NoMethod Document
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// DocumentChange: A Document has changed.
//
// May be the result of multiple writes, including deletes,
// that
// ultimately resulted in a new value for the Document.
//
// Multiple DocumentChange messages may be returned for the same
// logical
// change, if multiple targets are affected.
type DocumentChange struct {
// Document: The new state of the Document.
//
// If `mask` is set, contains only fields that were updated or added.
Document *Document `json:"document,omitempty"`
// RemovedTargetIds: A set of target IDs for targets that no longer
// match this document.
RemovedTargetIds []int64 `json:"removedTargetIds,omitempty"`
// TargetIds: A set of target IDs of targets that match this document.
TargetIds []int64 `json:"targetIds,omitempty"`
// ForceSendFields is a list of field names (e.g. "Document") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Document") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *DocumentChange) MarshalJSON() ([]byte, error) {
type NoMethod DocumentChange
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// DocumentDelete: A Document has been deleted.
//
// May be the result of multiple writes, including updates, the
// last of which deleted the Document.
//
// Multiple DocumentDelete messages may be returned for the same
// logical
// delete, if multiple targets are affected.
type DocumentDelete struct {
// Document: The resource name of the Document that was deleted.
Document string `json:"document,omitempty"`
// ReadTime: The read timestamp at which the delete was
// observed.
//
// Greater or equal to the `commit_time` of the delete.
ReadTime string `json:"readTime,omitempty"`
// RemovedTargetIds: A set of target IDs for targets that previously
// matched this entity.
RemovedTargetIds []int64 `json:"removedTargetIds,omitempty"`
// ForceSendFields is a list of field names (e.g. "Document") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Document") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *DocumentDelete) MarshalJSON() ([]byte, error) {
type NoMethod DocumentDelete
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// DocumentMask: A set of field paths on a document.
// Used to restrict a get or update operation on a document to a subset
// of its
// fields.
// This is different from standard field masks, as this is always scoped
// to a
// Document, and takes in account the dynamic nature of Value.
type DocumentMask struct {
// FieldPaths: The list of field paths in the mask. See Document.fields
// for a field
// path syntax reference.
FieldPaths []string `json:"fieldPaths,omitempty"`
// ForceSendFields is a list of field names (e.g. "FieldPaths") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "FieldPaths") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *DocumentMask) MarshalJSON() ([]byte, error) {
type NoMethod DocumentMask
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// DocumentRemove: A Document has been removed from the view of the
// targets.
//
// Sent if the document is no longer relevant to a target and is out of
// view.
// Can be sent instead of a DocumentDelete or a DocumentChange if the
// server
// can not send the new value of the document.
//
// Multiple DocumentRemove messages may be returned for the same
// logical
// write or delete, if multiple targets are affected.
type DocumentRemove struct {
// Document: The resource name of the Document that has gone out of
// view.
Document string `json:"document,omitempty"`
// ReadTime: The read timestamp at which the remove was
// observed.
//
// Greater or equal to the `commit_time` of the change/delete/remove.
ReadTime string `json:"readTime,omitempty"`
// RemovedTargetIds: A set of target IDs for targets that previously
// matched this document.
RemovedTargetIds []int64 `json:"removedTargetIds,omitempty"`
// ForceSendFields is a list of field names (e.g. "Document") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Document") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *DocumentRemove) MarshalJSON() ([]byte, error) {
type NoMethod DocumentRemove
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// DocumentTransform: A transformation of a document.
type DocumentTransform struct {
// Document: The name of the document to transform.
Document string `json:"document,omitempty"`
// FieldTransforms: The list of transformations to apply to the fields
// of the document, in
// order.
// This must not be empty.
FieldTransforms []*FieldTransform `json:"fieldTransforms,omitempty"`
// ForceSendFields is a list of field names (e.g. "Document") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Document") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *DocumentTransform) MarshalJSON() ([]byte, error) {
type NoMethod DocumentTransform
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// DocumentsTarget: A target specified by a set of documents names.
type DocumentsTarget struct {
// Documents: The names of the documents to retrieve. In the
// format:
// `projects/{project_id}/databases/{database_id}/documents/{docu
// ment_path}`.
// The request will fail if any of the document is not a child resource
// of
// the given `database`. Duplicate names will be elided.
Documents []string `json:"documents,omitempty"`
// ForceSendFields is a list of field names (e.g. "Documents") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Documents") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *DocumentsTarget) MarshalJSON() ([]byte, error) {
type NoMethod DocumentsTarget
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Empty: A generic empty message that you can re-use to avoid defining
// duplicated
// empty messages in your APIs. A typical example is to use it as the
// request
// or the response type of an API method. For instance:
//
// service Foo {
// rpc Bar(google.protobuf.Empty) returns
// (google.protobuf.Empty);
// }
//
// The JSON representation for `Empty` is empty JSON object `{}`.
type Empty struct {
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
}
// ExistenceFilter: A digest of all the documents that match a given
// target.
type ExistenceFilter struct {
// Count: The total count of documents that match target_id.
//
// If different from the count of documents in the client that match,
// the
// client must manually determine which documents no longer match the
// target.
Count int64 `json:"count,omitempty"`
// TargetId: The target ID to which this filter applies.
TargetId int64 `json:"targetId,omitempty"`
// ForceSendFields is a list of field names (e.g. "Count") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Count") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ExistenceFilter) MarshalJSON() ([]byte, error) {
type NoMethod ExistenceFilter
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// FieldFilter: A filter on a specific field.
type FieldFilter struct {
// Field: The field to filter by.
Field *FieldReference `json:"field,omitempty"`
// Op: The operator to filter by.
//
// Possible values:
// "OPERATOR_UNSPECIFIED" - Unspecified. This value must not be used.
// "LESS_THAN" - Less than. Requires that the field come first in
// `order_by`.
// "LESS_THAN_OR_EQUAL" - Less than or equal. Requires that the field
// come first in `order_by`.
// "GREATER_THAN" - Greater than. Requires that the field come first
// in `order_by`.
// "GREATER_THAN_OR_EQUAL" - Greater than or equal. Requires that the
// field come first in
// `order_by`.
// "EQUAL" - Equal.
// "ARRAY_CONTAINS" - Contains. Requires that the field is an array.
Op string `json:"op,omitempty"`
// Value: The value to compare to.
Value *Value `json:"value,omitempty"`
// ForceSendFields is a list of field names (e.g. "Field") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Field") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *FieldFilter) MarshalJSON() ([]byte, error) {
type NoMethod FieldFilter
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// FieldReference: A reference to a field, such as `max(messages.time)
// as max_time`.
type FieldReference struct {
FieldPath string `json:"fieldPath,omitempty"`
// ForceSendFields is a list of field names (e.g. "FieldPath") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "FieldPath") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *FieldReference) MarshalJSON() ([]byte, error) {
type NoMethod FieldReference
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// FieldTransform: A transformation of a field of the document.
type FieldTransform struct {
// AppendMissingElements: Append the given elements in order if they are
// not already present in
// the current field value.
// If the field is not an array, or if the field does not yet exist, it
// is
// first set to the empty array.
//
// Equivalent numbers of different types (e.g. 3L and 3.0)
// are
// considered equal when checking if a value is missing.
// NaN is equal to NaN, and Null is equal to Null.
// If the input contains multiple equivalent values, only the first
// will
// be considered.
//
// The corresponding transform_result will be the null value.
AppendMissingElements *ArrayValue `json:"appendMissingElements,omitempty"`
// FieldPath: The path of the field. See Document.fields for the field
// path syntax
// reference.
FieldPath string `json:"fieldPath,omitempty"`
// Increment: Adds the given value to the field's current value.
//
// This must be an integer or a double value.
// If the field is not an integer or double, or if the field does not
// yet
// exist, the transformation will set the field to the given value.
// If either of the given value or the current field value are
// doubles,
// both values will be interpreted as doubles. Double arithmetic
// and
// representation of double values follow IEEE 754 semantics.
// If there is positive/negative integer overflow, the field is
// resolved
// to the largest magnitude positive/negative integer.
Increment *Value `json:"increment,omitempty"`
// Maximum: Sets the field to the maximum of its current value and the
// given value.
//
// This must be an integer or a double value.
// If the field is not an integer or double, or if the field does not
// yet
// exist, the transformation will set the field to the given value.
// If a maximum operation is applied where the field and the input
// value
// are of mixed types (that is - one is an integer and one is a
// double)
// the field takes on the type of the larger operand. If the operands
// are
// equivalent (e.g. 3 and 3.0), the field does not change.
// 0, 0.0, and -0.0 are all zero. The maximum of a zero stored value
// and
// zero input value is always the stored value.
// The maximum of any numeric value x and NaN is NaN.
Maximum *Value `json:"maximum,omitempty"`
// Minimum: Sets the field to the minimum of its current value and the
// given value.
//
// This must be an integer or a double value.
// If the field is not an integer or double, or if the field does not
// yet
// exist, the transformation will set the field to the input value.
// If a minimum operation is applied where the field and the input
// value
// are of mixed types (that is - one is an integer and one is a
// double)
// the field takes on the type of the smaller operand. If the operands
// are
// equivalent (e.g. 3 and 3.0), the field does not change.
// 0, 0.0, and -0.0 are all zero. The minimum of a zero stored value
// and
// zero input value is always the stored value.
// The minimum of any numeric value x and NaN is NaN.
Minimum *Value `json:"minimum,omitempty"`
// RemoveAllFromArray: Remove all of the given elements from the array
// in the field.
// If the field is not an array, or if the field does not yet exist, it
// is
// set to the empty array.
//
// Equivalent numbers of the different types (e.g. 3L and 3.0)
// are
// considered equal when deciding whether an element should be
// removed.
// NaN is equal to NaN, and Null is equal to Null.
// This will remove all equivalent values if there are duplicates.
//
// The corresponding transform_result will be the null value.
RemoveAllFromArray *ArrayValue `json:"removeAllFromArray,omitempty"`
// SetToServerValue: Sets the field to the given server value.
//
// Possible values:
// "SERVER_VALUE_UNSPECIFIED" - Unspecified. This value must not be
// used.
// "REQUEST_TIME" - The time at which the server processed the
// request, with millisecond
// precision.
SetToServerValue string `json:"setToServerValue,omitempty"`
// ForceSendFields is a list of field names (e.g.
// "AppendMissingElements") to unconditionally include in API requests.
// By default, fields with empty values are omitted from API requests.
// However, any non-pointer, non-interface field appearing in
// ForceSendFields will be sent to the server regardless of whether the
// field is empty or not. This may be used to include empty fields in
// Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "AppendMissingElements") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *FieldTransform) MarshalJSON() ([]byte, error) {
type NoMethod FieldTransform
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Filter: A filter.
type Filter struct {
// CompositeFilter: A composite filter.
CompositeFilter *CompositeFilter `json:"compositeFilter,omitempty"`
// FieldFilter: A filter on a document field.
FieldFilter *FieldFilter `json:"fieldFilter,omitempty"`
// UnaryFilter: A filter that takes exactly one argument.
UnaryFilter *UnaryFilter `json:"unaryFilter,omitempty"`
// ForceSendFields is a list of field names (e.g. "CompositeFilter") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "CompositeFilter") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *Filter) MarshalJSON() ([]byte, error) {
type NoMethod Filter
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// GoogleFirestoreAdminV1ExportDocumentsMetadata: Metadata for
// google.longrunning.Operation results
// from
// FirestoreAdmin.ExportDocuments.
type GoogleFirestoreAdminV1ExportDocumentsMetadata struct {
// CollectionIds: Which collection ids are being exported.
CollectionIds []string `json:"collectionIds,omitempty"`
// EndTime: The time this operation completed. Will be unset if
// operation still in
// progress.
EndTime string `json:"endTime,omitempty"`
// OperationState: The state of the export operation.
//
// Possible values:
// "OPERATION_STATE_UNSPECIFIED" - Unspecified.
// "INITIALIZING" - Request is being prepared for processing.
// "PROCESSING" - Request is actively being processed.
// "CANCELLING" - Request is in the process of being cancelled after
// user called
// google.longrunning.Operations.CancelOperation on the operation.
// "FINALIZING" - Request has been processed and is in its
// finalization stage.
// "SUCCESSFUL" - Request has completed successfully.
// "FAILED" - Request has finished being processed, but encountered an
// error.
// "CANCELLED" - Request has finished being cancelled after user
// called
// google.longrunning.Operations.CancelOperation.
OperationState string `json:"operationState,omitempty"`
// OutputUriPrefix: Where the entities are being exported to.
OutputUriPrefix string `json:"outputUriPrefix,omitempty"`
// ProgressBytes: The progress, in bytes, of this operation.
ProgressBytes *GoogleFirestoreAdminV1Progress `json:"progressBytes,omitempty"`
// ProgressDocuments: The progress, in documents, of this operation.
ProgressDocuments *GoogleFirestoreAdminV1Progress `json:"progressDocuments,omitempty"`
// StartTime: The time this operation started.
StartTime string `json:"startTime,omitempty"`
// ForceSendFields is a list of field names (e.g. "CollectionIds") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "CollectionIds") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *GoogleFirestoreAdminV1ExportDocumentsMetadata) MarshalJSON() ([]byte, error) {
type NoMethod GoogleFirestoreAdminV1ExportDocumentsMetadata
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// GoogleFirestoreAdminV1ExportDocumentsRequest: The request for
// FirestoreAdmin.ExportDocuments.
type GoogleFirestoreAdminV1ExportDocumentsRequest struct {
// CollectionIds: Which collection ids to export. Unspecified means all
// collections.
CollectionIds []string `json:"collectionIds,omitempty"`
// OutputUriPrefix: The output URI. Currently only supports Google Cloud
// Storage URIs of the
// form: `gs://BUCKET_NAME[/NAMESPACE_PATH]`, where `BUCKET_NAME` is the
// name
// of the Google Cloud Storage bucket and `NAMESPACE_PATH` is an
// optional
// Google Cloud Storage namespace path. When
// choosing a name, be sure to consider Google Cloud Storage
// naming
// guidelines: https://cloud.google.com/storage/docs/naming.
// If the URI is a bucket (without a namespace path), a prefix will
// be
// generated based on the start time.
OutputUriPrefix string `json:"outputUriPrefix,omitempty"`
// ForceSendFields is a list of field names (e.g. "CollectionIds") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "CollectionIds") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *GoogleFirestoreAdminV1ExportDocumentsRequest) MarshalJSON() ([]byte, error) {
type NoMethod GoogleFirestoreAdminV1ExportDocumentsRequest
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// GoogleFirestoreAdminV1ExportDocumentsResponse: Returned in the
// google.longrunning.Operation response field.
type GoogleFirestoreAdminV1ExportDocumentsResponse struct {
// OutputUriPrefix: Location of the output files. This can be used to
// begin an import
// into Cloud Firestore (this project or another project) after the
// operation
// completes successfully.
OutputUriPrefix string `json:"outputUriPrefix,omitempty"`
// ForceSendFields is a list of field names (e.g. "OutputUriPrefix") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "OutputUriPrefix") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *GoogleFirestoreAdminV1ExportDocumentsResponse) MarshalJSON() ([]byte, error) {
type NoMethod GoogleFirestoreAdminV1ExportDocumentsResponse
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// GoogleFirestoreAdminV1Field: Represents a single field in the
// database.
//
// Fields are grouped by their "Collection Group", which represent
// all
// collections in the database with the same id.
type GoogleFirestoreAdminV1Field struct {
// IndexConfig: The index configuration for this field. If unset, field
// indexing will
// revert to the configuration defined by the `ancestor_field`.
// To
// explicitly remove all indexes for this field, specify an index
// config
// with an empty list of indexes.
IndexConfig *GoogleFirestoreAdminV1IndexConfig `json:"indexConfig,omitempty"`
// Name: A field name of the
// form
// `projects/{project_id}/databases/{database_id}/collectionGroups/{
// collection_id}/fields/{field_path}`
//
// A field path may be a simple field name, e.g. `address` or a path to
// fields
// within map_value , e.g. `address.city`,
// or a special field path. The only valid special field is `*`,
// which
// represents any field.
//
// Field paths may be quoted using ` (backtick). The only character that
// needs
// to be escaped within a quoted field path is the backtick character
// itself,
// escaped using a backslash. Special characters in field paths
// that
// must be quoted include: `*`, `.`,
// ``` (backtick), `[`, `]`, as well as any ascii symbolic
// characters.
//
// Examples:
// (Note: Comments here are written in markdown syntax, so there is an
// additional layer of backticks to represent a code
// block)
// `\`address.city\`` represents a field named `address.city`, not the
// map key
// `city` in the field `address`.
// `\`*\`` represents a field named `*`, not any field.
//
// A special `Field` contains the default indexing settings for all
// fields.
// This field's resource name
// is:
// `projects/{project_id}/databases/{database_id}/collectionGroups/__
// default__/fields/*`
// Indexes defined on this `Field` will be applied to all fields which
// do not
// have their own `Field` index configuration.
Name string `json:"name,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "IndexConfig") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "IndexConfig") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *GoogleFirestoreAdminV1Field) MarshalJSON() ([]byte, error) {
type NoMethod GoogleFirestoreAdminV1Field
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// GoogleFirestoreAdminV1FieldOperationMetadata: Metadata for
// google.longrunning.Operation results from
// FirestoreAdmin.UpdateField.
type GoogleFirestoreAdminV1FieldOperationMetadata struct {
// EndTime: The time this operation completed. Will be unset if
// operation still in
// progress.
EndTime string `json:"endTime,omitempty"`
// Field: The field resource that this operation is acting on. For
// example:
// `projects/{project_id}/databases/{database_id}/collectionGrou
// ps/{collection_id}/fields/{field_path}`
Field string `json:"field,omitempty"`
// IndexConfigDeltas: A list of IndexConfigDelta, which describe the
// intent of this
// operation.
IndexConfigDeltas []*GoogleFirestoreAdminV1IndexConfigDelta `json:"indexConfigDeltas,omitempty"`
// ProgressBytes: The progress, in bytes, of this operation.
ProgressBytes *GoogleFirestoreAdminV1Progress `json:"progressBytes,omitempty"`
// ProgressDocuments: The progress, in documents, of this operation.
ProgressDocuments *GoogleFirestoreAdminV1Progress `json:"progressDocuments,omitempty"`
// StartTime: The time this operation started.
StartTime string `json:"startTime,omitempty"`
// State: The state of the operation.
//
// Possible values:
// "OPERATION_STATE_UNSPECIFIED" - Unspecified.
// "INITIALIZING" - Request is being prepared for processing.
// "PROCESSING" - Request is actively being processed.
// "CANCELLING" - Request is in the process of being cancelled after
// user called
// google.longrunning.Operations.CancelOperation on the operation.
// "FINALIZING" - Request has been processed and is in its
// finalization stage.
// "SUCCESSFUL" - Request has completed successfully.
// "FAILED" - Request has finished being processed, but encountered an
// error.
// "CANCELLED" - Request has finished being cancelled after user
// called
// google.longrunning.Operations.CancelOperation.
State string `json:"state,omitempty"`
// ForceSendFields is a list of field names (e.g. "EndTime") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "EndTime") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *GoogleFirestoreAdminV1FieldOperationMetadata) MarshalJSON() ([]byte, error) {
type NoMethod GoogleFirestoreAdminV1FieldOperationMetadata
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// GoogleFirestoreAdminV1ImportDocumentsMetadata: Metadata for
// google.longrunning.Operation results
// from
// FirestoreAdmin.ImportDocuments.
type GoogleFirestoreAdminV1ImportDocumentsMetadata struct {
// CollectionIds: Which collection ids are being imported.
CollectionIds []string `json:"collectionIds,omitempty"`
// EndTime: The time this operation completed. Will be unset if
// operation still in
// progress.
EndTime string `json:"endTime,omitempty"`
// InputUriPrefix: The location of the documents being imported.
InputUriPrefix string `json:"inputUriPrefix,omitempty"`
// OperationState: The state of the import operation.
//
// Possible values:
// "OPERATION_STATE_UNSPECIFIED" - Unspecified.
// "INITIALIZING" - Request is being prepared for processing.
// "PROCESSING" - Request is actively being processed.
// "CANCELLING" - Request is in the process of being cancelled after
// user called
// google.longrunning.Operations.CancelOperation on the operation.
// "FINALIZING" - Request has been processed and is in its
// finalization stage.
// "SUCCESSFUL" - Request has completed successfully.
// "FAILED" - Request has finished being processed, but encountered an
// error.
// "CANCELLED" - Request has finished being cancelled after user
// called
// google.longrunning.Operations.CancelOperation.
OperationState string `json:"operationState,omitempty"`
// ProgressBytes: The progress, in bytes, of this operation.
ProgressBytes *GoogleFirestoreAdminV1Progress `json:"progressBytes,omitempty"`
// ProgressDocuments: The progress, in documents, of this operation.
ProgressDocuments *GoogleFirestoreAdminV1Progress `json:"progressDocuments,omitempty"`
// StartTime: The time this operation started.
StartTime string `json:"startTime,omitempty"`
// ForceSendFields is a list of field names (e.g. "CollectionIds") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "CollectionIds") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *GoogleFirestoreAdminV1ImportDocumentsMetadata) MarshalJSON() ([]byte, error) {
type NoMethod GoogleFirestoreAdminV1ImportDocumentsMetadata
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// GoogleFirestoreAdminV1ImportDocumentsRequest: The request for
// FirestoreAdmin.ImportDocuments.
type GoogleFirestoreAdminV1ImportDocumentsRequest struct {
// CollectionIds: Which collection ids to import. Unspecified means all
// collections included
// in the import.
CollectionIds []string `json:"collectionIds,omitempty"`
// InputUriPrefix: Location of the exported files.
// This must match the output_uri_prefix of an ExportDocumentsResponse
// from
// an export that has completed
// successfully.
// See:
// google.firestore.admin.v1.ExportDocumentsResponse.o
// utput_uri_prefix.
InputUriPrefix string `json:"inputUriPrefix,omitempty"`
// ForceSendFields is a list of field names (e.g. "CollectionIds") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "CollectionIds") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *GoogleFirestoreAdminV1ImportDocumentsRequest) MarshalJSON() ([]byte, error) {
type NoMethod GoogleFirestoreAdminV1ImportDocumentsRequest
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// GoogleFirestoreAdminV1Index: Cloud Firestore indexes enable simple
// and complex queries against
// documents in a database.
type GoogleFirestoreAdminV1Index struct {
// Fields: The fields supported by this index.
//
// For composite indexes, this is always 2 or more fields.
// The last field entry is always for the field path `__name__`. If,
// on
// creation, `__name__` was not specified as the last field, it will be
// added
// automatically with the same direction as that of the last field
// defined. If
// the final field in a composite index is not directional, the
// `__name__`
// will be ordered ASCENDING (unless explicitly specified).
//
// For single field indexes, this will always be exactly one entry with
// a
// field path equal to the field path of the associated field.
Fields []*GoogleFirestoreAdminV1IndexField `json:"fields,omitempty"`
// Name: Output only.
// A server defined name for this index.
// The form of this name for composite indexes will
// be:
// `projects/{project_id}/databases/{database_id}/collectionGroups/{c
// ollection_id}/indexes/{composite_index_id}`
// For single field indexes, this field will be empty.
Name string `json:"name,omitempty"`
// QueryScope: Indexes with a collection query scope specified allow
// queries
// against a collection that is the child of a specific document,
// specified at
// query time, and that has the same collection id.
//
// Indexes with a collection group query scope specified allow queries
// against
// all collections descended from a specific document, specified at
// query
// time, and that have the same collection id as this index.
//
// Possible values:
// "QUERY_SCOPE_UNSPECIFIED" - The query scope is unspecified. Not a
// valid option.
// "COLLECTION" - Indexes with a collection query scope specified
// allow queries
// against a collection that is the child of a specific document,
// specified
// at query time, and that has the collection id specified by the index.
QueryScope string `json:"queryScope,omitempty"`
// State: Output only.
// The serving state of the index.
//
// Possible values:
// "STATE_UNSPECIFIED" - The state is unspecified.
// "CREATING" - The index is being created.
// There is an active long-running operation for the index.
// The index is updated when writing a document.
// Some index data may exist.
// "READY" - The index is ready to be used.
// The index is updated when writing a document.
// The index is fully populated from all stored documents it applies to.
// "NEEDS_REPAIR" - The index was being created, but something went
// wrong.
// 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 a document.
// Some index data may exist.
// Use the google.longrunning.Operations API to determine why the
// operation
// that last attempted to create this index failed, then re-create
// the
// index.
State string `json:"state,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "Fields") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Fields") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *GoogleFirestoreAdminV1Index) MarshalJSON() ([]byte, error) {
type NoMethod GoogleFirestoreAdminV1Index
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// GoogleFirestoreAdminV1IndexConfig: The index configuration for this
// field.
type GoogleFirestoreAdminV1IndexConfig struct {
// AncestorField: Output only.
// Specifies the resource name of the `Field` from which this
// field's
// index configuration is set (when `uses_ancestor_config` is true),
// or from which it *would* be set if this field had no index
// configuration
// (when `uses_ancestor_config` is false).
AncestorField string `json:"ancestorField,omitempty"`
// Indexes: The indexes supported for this field.
Indexes []*GoogleFirestoreAdminV1Index `json:"indexes,omitempty"`
// Reverting: Output only
// When true, the `Field`'s index configuration is in the process of
// being
// reverted. Once complete, the index config will transition to the
// same
// state as the field specified by `ancestor_field`, at which
// point
// `uses_ancestor_config` will be `true` and `reverting` will be
// `false`.
Reverting bool `json:"reverting,omitempty"`
// UsesAncestorConfig: Output only.
// When true, the `Field`'s index configuration is set from
// the
// configuration specified by the `ancestor_field`.
// When false, the `Field`'s index configuration is defined explicitly.
UsesAncestorConfig bool `json:"usesAncestorConfig,omitempty"`
// ForceSendFields is a list of field names (e.g. "AncestorField") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "AncestorField") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *GoogleFirestoreAdminV1IndexConfig) MarshalJSON() ([]byte, error) {
type NoMethod GoogleFirestoreAdminV1IndexConfig
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// GoogleFirestoreAdminV1IndexConfigDelta: Information about an index
// configuration change.
type GoogleFirestoreAdminV1IndexConfigDelta struct {
// ChangeType: Specifies how the index is changing.
//
// Possible values:
// "CHANGE_TYPE_UNSPECIFIED" - The type of change is not specified or
// known.
// "ADD" - The single field index is being added.
// "REMOVE" - The single field index is being removed.
ChangeType string `json:"changeType,omitempty"`
// Index: The index being changed.
Index *GoogleFirestoreAdminV1Index `json:"index,omitempty"`
// ForceSendFields is a list of field names (e.g. "ChangeType") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ChangeType") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *GoogleFirestoreAdminV1IndexConfigDelta) MarshalJSON() ([]byte, error) {
type NoMethod GoogleFirestoreAdminV1IndexConfigDelta
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// GoogleFirestoreAdminV1IndexField: A field in an index.
// The field_path describes which field is indexed, the value_mode
// describes
// how the field value is indexed.
type GoogleFirestoreAdminV1IndexField struct {
// ArrayConfig: Indicates that this field supports operations on
// `array_value`s.
//
// Possible values:
// "ARRAY_CONFIG_UNSPECIFIED" - The index does not support additional
// array queries.
// "CONTAINS" - The index supports array containment queries.
ArrayConfig string `json:"arrayConfig,omitempty"`
// FieldPath: Can be __name__.
// For single field indexes, this must match the name of the field or
// may
// be omitted.
FieldPath string `json:"fieldPath,omitempty"`
// Order: Indicates that this field supports ordering by the specified
// order or
// comparing using =, <, <=, >, >=.
//
// Possible values:
// "ORDER_UNSPECIFIED" - The ordering is unspecified. Not a valid
// option.
// "ASCENDING" - The field is ordered by ascending field value.
// "DESCENDING" - The field is ordered by descending field value.
Order string `json:"order,omitempty"`
// ForceSendFields is a list of field names (e.g. "ArrayConfig") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ArrayConfig") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *GoogleFirestoreAdminV1IndexField) MarshalJSON() ([]byte, error) {
type NoMethod GoogleFirestoreAdminV1IndexField
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// GoogleFirestoreAdminV1IndexOperationMetadata: Metadata for
// google.longrunning.Operation results from
// FirestoreAdmin.CreateIndex.
type GoogleFirestoreAdminV1IndexOperationMetadata struct {
// EndTime: The time this operation completed. Will be unset if
// operation still in
// progress.
EndTime string `json:"endTime,omitempty"`
// Index: The index resource that this operation is acting on. For
// example:
// `projects/{project_id}/databases/{database_id}/collectionGrou
// ps/{collection_id}/indexes/{index_id}`
Index string `json:"index,omitempty"`
// ProgressBytes: The progress, in bytes, of this operation.
ProgressBytes *GoogleFirestoreAdminV1Progress `json:"progressBytes,omitempty"`
// ProgressDocuments: The progress, in documents, of this operation.
ProgressDocuments *GoogleFirestoreAdminV1Progress `json:"progressDocuments,omitempty"`
// StartTime: The time this operation started.
StartTime string `json:"startTime,omitempty"`
// State: The state of the operation.
//
// Possible values:
// "OPERATION_STATE_UNSPECIFIED" - Unspecified.
// "INITIALIZING" - Request is being prepared for processing.
// "PROCESSING" - Request is actively being processed.
// "CANCELLING" - Request is in the process of being cancelled after
// user called
// google.longrunning.Operations.CancelOperation on the operation.
// "FINALIZING" - Request has been processed and is in its
// finalization stage.
// "SUCCESSFUL" - Request has completed successfully.
// "FAILED" - Request has finished being processed, but encountered an
// error.
// "CANCELLED" - Request has finished being cancelled after user
// called
// google.longrunning.Operations.CancelOperation.
State string `json:"state,omitempty"`
// ForceSendFields is a list of field names (e.g. "EndTime") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "EndTime") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *GoogleFirestoreAdminV1IndexOperationMetadata) MarshalJSON() ([]byte, error) {
type NoMethod GoogleFirestoreAdminV1IndexOperationMetadata
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// GoogleFirestoreAdminV1ListFieldsResponse: The response for
// FirestoreAdmin.ListFields.
type GoogleFirestoreAdminV1ListFieldsResponse struct {
// Fields: The requested fields.
Fields []*GoogleFirestoreAdminV1Field `json:"fields,omitempty"`
// NextPageToken: A page token that may be used to request another page
// of results. If blank,
// this is the last page.
NextPageToken string `json:"nextPageToken,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "Fields") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Fields") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *GoogleFirestoreAdminV1ListFieldsResponse) MarshalJSON() ([]byte, error) {
type NoMethod GoogleFirestoreAdminV1ListFieldsResponse
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// GoogleFirestoreAdminV1ListIndexesResponse: The response for
// FirestoreAdmin.ListIndexes.
type GoogleFirestoreAdminV1ListIndexesResponse struct {
// Indexes: The requested indexes.
Indexes []*GoogleFirestoreAdminV1Index `json:"indexes,omitempty"`
// NextPageToken: A page token that may be used to request another page
// of results. If blank,
// this is the last page.
NextPageToken string `json:"nextPageToken,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "Indexes") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Indexes") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *GoogleFirestoreAdminV1ListIndexesResponse) MarshalJSON() ([]byte, error) {
type NoMethod GoogleFirestoreAdminV1ListIndexesResponse
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// GoogleFirestoreAdminV1LocationMetadata: The metadata message for
// google.cloud.location.Location.metadata.
type GoogleFirestoreAdminV1LocationMetadata struct {
}
// GoogleFirestoreAdminV1Progress: Describes the progress of the
// operation.
// Unit of work is generic and must be interpreted based on where
// Progress
// is used.
type GoogleFirestoreAdminV1Progress struct {
// CompletedWork: The amount of work completed.
CompletedWork int64 `json:"completedWork,omitempty,string"`
// EstimatedWork: The amount of work estimated.
EstimatedWork int64 `json:"estimatedWork,omitempty,string"`
// ForceSendFields is a list of field names (e.g. "CompletedWork") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "CompletedWork") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *GoogleFirestoreAdminV1Progress) MarshalJSON() ([]byte, error) {
type NoMethod GoogleFirestoreAdminV1Progress
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// GoogleLongrunningCancelOperationRequest: The request message for
// Operations.CancelOperation.
type GoogleLongrunningCancelOperationRequest struct {
}
// GoogleLongrunningListOperationsResponse: The response message for
// Operations.ListOperations.
type GoogleLongrunningListOperationsResponse struct {
// NextPageToken: The standard List next-page token.
NextPageToken string `json:"nextPageToken,omitempty"`
// Operations: A list of operations that matches the specified filter in
// the request.
Operations []*GoogleLongrunningOperation `json:"operations,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "NextPageToken") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "NextPageToken") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *GoogleLongrunningListOperationsResponse) MarshalJSON() ([]byte, error) {
type NoMethod GoogleLongrunningListOperationsResponse
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// GoogleLongrunningOperation: This resource represents a long-running
// operation that is the result of a
// network API call.
type GoogleLongrunningOperation struct {
// Done: If the value is `false`, it means the operation is still in
// progress.
// If `true`, the operation is completed, and either `error` or
// `response` is
// available.
Done bool `json:"done,omitempty"`
// Error: The error result of the operation in case of failure or
// cancellation.
Error *Status `json:"error,omitempty"`
// Metadata: Service-specific metadata associated with the operation.
// It typically
// contains progress information and common metadata such as create
// time.
// Some services might not provide such metadata. Any method that
// returns a
// long-running operation should document the metadata type, if any.
Metadata googleapi.RawMessage `json:"metadata,omitempty"`
// Name: The server-assigned name, which is only unique within the same
// service that
// originally returns it. If you use the default HTTP mapping,
// the
// `name` should have the format of `operations/some/unique/name`.
Name string `json:"name,omitempty"`
// Response: The normal response of the operation in case of success.
// If the original
// method returns no data on success, such as `Delete`, the response
// is
// `google.protobuf.Empty`. If the original method is
// standard
// `Get`/`Create`/`Update`, the response should be the resource. For
// other
// methods, the response should have the type `XxxResponse`, where
// `Xxx`
// is the original method name. For example, if the original method
// name
// is `TakeSnapshot()`, the inferred response type
// is
// `TakeSnapshotResponse`.
Response googleapi.RawMessage `json:"response,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "Done") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Done") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *GoogleLongrunningOperation) MarshalJSON() ([]byte, error) {
type NoMethod GoogleLongrunningOperation
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// LatLng: An object representing a latitude/longitude pair. This is
// expressed as a pair
// of doubles representing degrees latitude and degrees longitude.
// Unless
// specified otherwise, this must conform to the
// <a
// href="http://www.unoosa.org/pdf/icg/2012/template/WGS_84.pdf">WGS84
// st
// andard</a>. Values must be within normalized ranges.
type LatLng struct {
// Latitude: The latitude in degrees. It must be in the range [-90.0,
// +90.0].
Latitude float64 `json:"latitude,omitempty"`
// Longitude: The longitude in degrees. It must be in the range [-180.0,
// +180.0].
Longitude float64 `json:"longitude,omitempty"`
// ForceSendFields is a list of field names (e.g. "Latitude") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Latitude") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *LatLng) MarshalJSON() ([]byte, error) {
type NoMethod LatLng
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
func (s *LatLng) UnmarshalJSON(data []byte) error {
type NoMethod LatLng
var s1 struct {
Latitude gensupport.JSONFloat64 `json:"latitude"`
Longitude gensupport.JSONFloat64 `json:"longitude"`
*NoMethod
}
s1.NoMethod = (*NoMethod)(s)
if err := json.Unmarshal(data, &s1); err != nil {
return err
}
s.Latitude = float64(s1.Latitude)
s.Longitude = float64(s1.Longitude)
return nil
}
// ListCollectionIdsRequest: The request for
// Firestore.ListCollectionIds.
type ListCollectionIdsRequest struct {
// PageSize: The maximum number of results to return.
PageSize int64 `json:"pageSize,omitempty"`
// PageToken: A page token. Must be a value
// from
// ListCollectionIdsResponse.
PageToken string `json:"pageToken,omitempty"`
// ForceSendFields is a list of field names (e.g. "PageSize") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "PageSize") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ListCollectionIdsRequest) MarshalJSON() ([]byte, error) {
type NoMethod ListCollectionIdsRequest
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ListCollectionIdsResponse: The response from
// Firestore.ListCollectionIds.
type ListCollectionIdsResponse struct {
// CollectionIds: The collection ids.
CollectionIds []string `json:"collectionIds,omitempty"`
// NextPageToken: A page token that may be used to continue the list.
NextPageToken string `json:"nextPageToken,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "CollectionIds") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "CollectionIds") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ListCollectionIdsResponse) MarshalJSON() ([]byte, error) {
type NoMethod ListCollectionIdsResponse
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ListDocumentsResponse: The response for Firestore.ListDocuments.
type ListDocumentsResponse struct {
// Documents: The Documents found.
Documents []*Document `json:"documents,omitempty"`
// NextPageToken: The next page token.
NextPageToken string `json:"nextPageToken,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "Documents") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Documents") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ListDocumentsResponse) MarshalJSON() ([]byte, error) {
type NoMethod ListDocumentsResponse
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ListLocationsResponse: The response message for
// Locations.ListLocations.
type ListLocationsResponse struct {
// Locations: A list of locations that matches the specified filter in
// the request.
Locations []*Location `json:"locations,omitempty"`
// NextPageToken: The standard List next-page token.
NextPageToken string `json:"nextPageToken,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "Locations") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Locations") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ListLocationsResponse) MarshalJSON() ([]byte, error) {
type NoMethod ListLocationsResponse
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ListenRequest: A request for Firestore.Listen
type ListenRequest struct {
// AddTarget: A target to add to this stream.
AddTarget *Target `json:"addTarget,omitempty"`
// Labels: Labels associated with this target change.
Labels map[string]string `json:"labels,omitempty"`
// RemoveTarget: The ID of a target to remove from this stream.
RemoveTarget int64 `json:"removeTarget,omitempty"`
// ForceSendFields is a list of field names (e.g. "AddTarget") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "AddTarget") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ListenRequest) MarshalJSON() ([]byte, error) {
type NoMethod ListenRequest
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ListenResponse: The response for Firestore.Listen.
type ListenResponse struct {
// DocumentChange: A Document has changed.
DocumentChange *DocumentChange `json:"documentChange,omitempty"`
// DocumentDelete: A Document has been deleted.
DocumentDelete *DocumentDelete `json:"documentDelete,omitempty"`
// DocumentRemove: A Document has been removed from a target (because it
// is no longer
// relevant to that target).
DocumentRemove *DocumentRemove `json:"documentRemove,omitempty"`
// Filter: A filter to apply to the set of documents previously returned
// for the
// given target.
//
// Returned when documents may have been removed from the given target,
// but
// the exact documents are unknown.
Filter *ExistenceFilter `json:"filter,omitempty"`
// TargetChange: Targets have changed.
TargetChange *TargetChange `json:"targetChange,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "DocumentChange") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "DocumentChange") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *ListenResponse) MarshalJSON() ([]byte, error) {
type NoMethod ListenResponse
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Location: A resource that represents Google Cloud Platform location.
type Location struct {
// DisplayName: The friendly name for this location, typically a nearby
// city name.
// For example, "Tokyo".
DisplayName string `json:"displayName,omitempty"`
// Labels: Cross-service attributes for the location. For example
//
// {"cloud.googleapis.com/region": "us-east1"}
Labels map[string]string `json:"labels,omitempty"`
// LocationId: The canonical id for this location. For example:
// "us-east1".
LocationId string `json:"locationId,omitempty"`
// Metadata: Service-specific metadata. For example the available
// capacity at the given
// location.
Metadata googleapi.RawMessage `json:"metadata,omitempty"`
// Name: Resource name for the location, which may vary between
// implementations.
// For example: "projects/example-project/locations/us-east1"
Name string `json:"name,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "DisplayName") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "DisplayName") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *Location) MarshalJSON() ([]byte, error) {
type NoMethod Location
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// MapValue: A map value.
type MapValue struct {
// Fields: The map's fields.
//
// The map keys represent field names. Field names matching the
// regular
// expression `__.*__` are reserved. Reserved field names are forbidden
// except
// in certain documented contexts. The map keys, represented as UTF-8,
// must
// not exceed 1,500 bytes and cannot be empty.
Fields map[string]Value `json:"fields,omitempty"`
// ForceSendFields is a list of field names (e.g. "Fields") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Fields") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *MapValue) MarshalJSON() ([]byte, error) {
type NoMethod MapValue
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Order: An order on a field.
type Order struct {
// Direction: The direction to order by. Defaults to `ASCENDING`.
//
// Possible values:
// "DIRECTION_UNSPECIFIED" - Unspecified.
// "ASCENDING" - Ascending.
// "DESCENDING" - Descending.
Direction string `json:"direction,omitempty"`
// Field: The field to order by.
Field *FieldReference `json:"field,omitempty"`
// ForceSendFields is a list of field names (e.g. "Direction") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Direction") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *Order) MarshalJSON() ([]byte, error) {
type NoMethod Order
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Precondition: A precondition on a document, used for conditional
// operations.
type Precondition struct {
// Exists: When set to `true`, the target document must exist.
// When set to `false`, the target document must not exist.
Exists bool `json:"exists,omitempty"`
// UpdateTime: When set, the target document must exist and have been
// last updated at
// that time.
UpdateTime string `json:"updateTime,omitempty"`
// ForceSendFields is a list of field names (e.g. "Exists") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Exists") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *Precondition) MarshalJSON() ([]byte, error) {
type NoMethod Precondition
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Projection: The projection of document's fields to return.
type Projection struct {
// Fields: The fields to return.
//
// If empty, all fields are returned. To only return the name
// of the document, use `['__name__']`.
Fields []*FieldReference `json:"fields,omitempty"`
// ForceSendFields is a list of field names (e.g. "Fields") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Fields") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *Projection) MarshalJSON() ([]byte, error) {
type NoMethod Projection
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// QueryTarget: A target specified by a query.
type QueryTarget struct {
// Parent: The parent resource name. In the
// format:
// `projects/{project_id}/databases/{database_id}/documents`
// or
// `projects/{project_id}/databases/{database_id}/documents/{document_
// path}`.
// For example:
// `projects/my-project/databases/my-database/documents`
// or
// `projects/my-project/databases/my-database/documents/chatrooms/my-c
// hatroom`
Parent string `json:"parent,omitempty"`
// StructuredQuery: A structured query.
StructuredQuery *StructuredQuery `json:"structuredQuery,omitempty"`
// ForceSendFields is a list of field names (e.g. "Parent") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Parent") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *QueryTarget) MarshalJSON() ([]byte, error) {
type NoMethod QueryTarget
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ReadOnly: Options for a transaction that can only be used to read
// documents.
type ReadOnly struct {
// ReadTime: Reads documents at the given time.
// This may not be older than 60 seconds.
ReadTime string `json:"readTime,omitempty"`
// ForceSendFields is a list of field names (e.g. "ReadTime") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ReadTime") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *ReadOnly) MarshalJSON() ([]byte, error) {
type NoMethod ReadOnly
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// ReadWrite: Options for a transaction that can be used to read and
// write documents.
type ReadWrite struct {
// RetryTransaction: An optional transaction to retry.
RetryTransaction string `json:"retryTransaction,omitempty"`
// ForceSendFields is a list of field names (e.g. "RetryTransaction") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "RetryTransaction") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *ReadWrite) MarshalJSON() ([]byte, error) {
type NoMethod ReadWrite
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// RollbackRequest: The request for Firestore.Rollback.
type RollbackRequest struct {
// Transaction: The transaction to roll back.
Transaction string `json:"transaction,omitempty"`
// ForceSendFields is a list of field names (e.g. "Transaction") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Transaction") to include
// in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. However, any field with
// an empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *RollbackRequest) MarshalJSON() ([]byte, error) {
type NoMethod RollbackRequest
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// RunQueryRequest: The request for Firestore.RunQuery.
type RunQueryRequest struct {
// NewTransaction: Starts a new transaction and reads the
// documents.
// Defaults to a read-only transaction.
// The new transaction ID will be returned as the first response in
// the
// stream.
NewTransaction *TransactionOptions `json:"newTransaction,omitempty"`
// ReadTime: Reads documents as they were at the given time.
// This may not be older than 60 seconds.
ReadTime string `json:"readTime,omitempty"`
// StructuredQuery: A structured query.
StructuredQuery *StructuredQuery `json:"structuredQuery,omitempty"`
// Transaction: Reads documents in a transaction.
Transaction string `json:"transaction,omitempty"`
// ForceSendFields is a list of field names (e.g. "NewTransaction") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "NewTransaction") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *RunQueryRequest) MarshalJSON() ([]byte, error) {
type NoMethod RunQueryRequest
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// RunQueryResponse: The response for Firestore.RunQuery.
type RunQueryResponse struct {
// Document: A query result.
// Not set when reporting partial progress.
Document *Document `json:"document,omitempty"`
// ReadTime: The time at which the document was read. This may be
// monotonically
// increasing; in this case, the previous documents in the result stream
// are
// guaranteed not to have changed between their `read_time` and this
// one.
//
// If the query returns no results, a response with `read_time` and
// no
// `document` will be sent, and this represents the time at which the
// query
// was run.
ReadTime string `json:"readTime,omitempty"`
// SkippedResults: The number of results that have been skipped due to
// an offset between
// the last response and the current response.
SkippedResults int64 `json:"skippedResults,omitempty"`
// Transaction: The transaction that was started as part of this
// request.
// Can only be set in the first response, and only
// if
// RunQueryRequest.new_transaction was set in the request.
// If set, no other fields will be set in this response.
Transaction string `json:"transaction,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "Document") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Document") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *RunQueryResponse) MarshalJSON() ([]byte, error) {
type NoMethod RunQueryResponse
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Status: The `Status` type defines a logical error model that is
// suitable for different
// programming environments, including REST APIs and RPC APIs. It is
// used by
// [gRPC](https://github.com/grpc). The error model is designed to
// be:
//
// - Simple to use and understand for most users
// - Flexible enough to meet unexpected needs
//
// # Overview
//
// The `Status` message contains three pieces of data: error code, error
// message,
// and error details. The error code should be an enum value
// of
// google.rpc.Code, but it may accept additional error codes if needed.
// The
// error message should be a developer-facing English message that
// helps
// developers *understand* and *resolve* the error. If a localized
// user-facing
// error message is needed, put the localized message in the error
// details or
// localize it in the client. The optional error details may contain
// arbitrary
// information about the error. There is a predefined set of error
// detail types
// in the package `google.rpc` that can be used for common error
// conditions.
//
// # Language mapping
//
// The `Status` message is the logical representation of the error
// model, but it
// is not necessarily the actual wire format. When the `Status` message
// is
// exposed in different client libraries and different wire protocols,
// it can be
// mapped differently. For example, it will likely be mapped to some
// exceptions
// in Java, but more likely mapped to some error codes in C.
//
// # Other uses
//
// The error model and the `Status` message can be used in a variety
// of
// environments, either with or without APIs, to provide a
// consistent developer experience across different
// environments.
//
// Example uses of this error model include:
//
// - Partial errors. If a service needs to return partial errors to the
// client,
// it may embed the `Status` in the normal response to indicate the
// partial
// errors.
//
// - Workflow errors. A typical workflow has multiple steps. Each step
// may
// have a `Status` message for error reporting.
//
// - Batch operations. If a client uses batch request and batch
// response, the
// `Status` message should be used directly inside batch response,
// one for
// each error sub-response.
//
// - Asynchronous operations. If an API call embeds asynchronous
// operation
// results in its response, the status of those operations should
// be
// represented directly using the `Status` message.
//
// - Logging. If some API errors are stored in logs, the message
// `Status` could
// be used directly after any stripping needed for security/privacy
// reasons.
type Status struct {
// Code: The status code, which should be an enum value of
// google.rpc.Code.
Code int64 `json:"code,omitempty"`
// Details: A list of messages that carry the error details. There is a
// common set of
// message types for APIs to use.
Details []googleapi.RawMessage `json:"details,omitempty"`
// Message: A developer-facing error message, which should be in
// English. Any
// user-facing error message should be localized and sent in
// the
// google.rpc.Status.details field, or localized by the client.
Message string `json:"message,omitempty"`
// ForceSendFields is a list of field names (e.g. "Code") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Code") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *Status) MarshalJSON() ([]byte, error) {
type NoMethod Status
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// StructuredQuery: A Firestore query.
type StructuredQuery struct {
// EndAt: A end point for the query results.
EndAt *Cursor `json:"endAt,omitempty"`
// From: The collections to query.
From []*CollectionSelector `json:"from,omitempty"`
// Limit: The maximum number of results to return.
//
// Applies after all other constraints.
// Must be >= 0 if specified.
Limit int64 `json:"limit,omitempty"`
// Offset: The number of results to skip.
//
// Applies before limit, but after all other constraints. Must be >= 0
// if
// specified.
Offset int64 `json:"offset,omitempty"`
// OrderBy: The order to apply to the query results.
//
// Firestore guarantees a stable ordering through the following rules:
//
// * Any field required to appear in `order_by`, that is not already
// specified in `order_by`, is appended to the order in field name
// order
// by default.
// * If an order on `__name__` is not specified, it is appended by
// default.
//
// Fields are appended with the same sort direction as the last
// order
// specified, or 'ASCENDING' if no order was specified. For example:
//
// * `SELECT * FROM Foo ORDER BY A` becomes
// `SELECT * FROM Foo ORDER BY A, __name__`
// * `SELECT * FROM Foo ORDER BY A DESC` becomes
// `SELECT * FROM Foo ORDER BY A DESC, __name__ DESC`
// * `SELECT * FROM Foo WHERE A > 1` becomes
// `SELECT * FROM Foo WHERE A > 1 ORDER BY A, __name__`
OrderBy []*Order `json:"orderBy,omitempty"`
// Select: The projection to return.
Select *Projection `json:"select,omitempty"`
// StartAt: A starting point for the query results.
StartAt *Cursor `json:"startAt,omitempty"`
// Where: The filter to apply.
Where *Filter `json:"where,omitempty"`
// ForceSendFields is a list of field names (e.g. "EndAt") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "EndAt") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *StructuredQuery) MarshalJSON() ([]byte, error) {
type NoMethod StructuredQuery
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Target: A specification of a set of documents to listen to.
type Target struct {
// Documents: A target specified by a set of document names.
Documents *DocumentsTarget `json:"documents,omitempty"`
// Once: If the target should be removed once it is current and
// consistent.
Once bool `json:"once,omitempty"`
// Query: A target specified by a query.
Query *QueryTarget `json:"query,omitempty"`
// ReadTime: Start listening after a specific `read_time`.
//
// The client must know the state of matching documents at this time.
ReadTime string `json:"readTime,omitempty"`
// ResumeToken: A resume token from a prior TargetChange for an
// identical target.
//
// Using a resume token with a different target is unsupported and may
// fail.
ResumeToken string `json:"resumeToken,omitempty"`
// TargetId: A client provided target ID.
//
// If not set, the server will assign an ID for the target.
//
// Used for resuming a target without changing IDs. The IDs can either
// be
// client-assigned or be server-assigned in a previous stream. All
// targets
// with client provided IDs must be added before adding a target that
// needs
// a server-assigned id.
TargetId int64 `json:"targetId,omitempty"`
// ForceSendFields is a list of field names (e.g. "Documents") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Documents") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *Target) MarshalJSON() ([]byte, error) {
type NoMethod Target
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// TargetChange: Targets being watched have changed.
type TargetChange struct {
// Cause: The error that resulted in this change, if applicable.
Cause *Status `json:"cause,omitempty"`
// ReadTime: The consistent `read_time` for the given `target_ids`
// (omitted when the
// target_ids are not at a consistent snapshot).
//
// The stream is guaranteed to send a `read_time` with `target_ids`
// empty
// whenever the entire stream reaches a new consistent snapshot.
// ADD,
// CURRENT, and RESET messages are guaranteed to (eventually) result in
// a
// new consistent snapshot (while NO_CHANGE and REMOVE messages are
// not).
//
// For a given stream, `read_time` is guaranteed to be
// monotonically
// increasing.
ReadTime string `json:"readTime,omitempty"`
// ResumeToken: A token that can be used to resume the stream for the
// given `target_ids`,
// or all targets if `target_ids` is empty.
//
// Not set on every target change.
ResumeToken string `json:"resumeToken,omitempty"`
// TargetChangeType: The type of change that occurred.
//
// Possible values:
// "NO_CHANGE" - No change has occurred. Used only to send an updated
// `resume_token`.
// "ADD" - The targets have been added.
// "REMOVE" - The targets have been removed.
// "CURRENT" - The targets reflect all changes committed before the
// targets were added
// to the stream.
//
// This will be sent after or with a `read_time` that is greater than
// or
// equal to the time at which the targets were added.
//
// Listeners can wait for this change if read-after-write semantics
// are desired.
// "RESET" - The targets have been reset, and a new initial state for
// the targets
// will be returned in subsequent changes.
//
// After the initial state is complete, `CURRENT` will be returned
// even
// if the target was previously indicated to be `CURRENT`.
TargetChangeType string `json:"targetChangeType,omitempty"`
// TargetIds: The target IDs of targets that have changed.
//
// If empty, the change applies to all targets.
//
// For `target_change_type=ADD`, the order of the target IDs matches the
// order
// of the requests to add the targets. This allows clients to
// unambiguously
// associate server-assigned target IDs with added targets.
//
// For other states, the order of the target IDs is not defined.
TargetIds []int64 `json:"targetIds,omitempty"`
// ForceSendFields is a list of field names (e.g. "Cause") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Cause") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *TargetChange) MarshalJSON() ([]byte, error) {
type NoMethod TargetChange
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// TransactionOptions: Options for creating a new transaction.
type TransactionOptions struct {
// ReadOnly: The transaction can only be used for read operations.
ReadOnly *ReadOnly `json:"readOnly,omitempty"`
// ReadWrite: The transaction can be used for both read and write
// operations.
ReadWrite *ReadWrite `json:"readWrite,omitempty"`
// ForceSendFields is a list of field names (e.g. "ReadOnly") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ReadOnly") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *TransactionOptions) MarshalJSON() ([]byte, error) {
type NoMethod TransactionOptions
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// UnaryFilter: A filter with a single operand.
type UnaryFilter struct {
// Field: The field to which to apply the operator.
Field *FieldReference `json:"field,omitempty"`
// Op: The unary operator to apply.
//
// Possible values:
// "OPERATOR_UNSPECIFIED" - Unspecified. This value must not be used.
// "IS_NAN" - Test if a field is equal to NaN.
// "IS_NULL" - Test if an exprestion evaluates to Null.
Op string `json:"op,omitempty"`
// ForceSendFields is a list of field names (e.g. "Field") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Field") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *UnaryFilter) MarshalJSON() ([]byte, error) {
type NoMethod UnaryFilter
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// Value: A message that can hold any of the supported value types.
type Value struct {
// ArrayValue: An array value.
//
// Cannot directly contain another array value, though can contain
// an
// map which contains another array.
ArrayValue *ArrayValue `json:"arrayValue,omitempty"`
// BooleanValue: A boolean value.
BooleanValue bool `json:"booleanValue,omitempty"`
// BytesValue: A bytes value.
//
// Must not exceed 1 MiB - 89 bytes.
// Only the first 1,500 bytes are considered by queries.
BytesValue string `json:"bytesValue,omitempty"`
// DoubleValue: A double value.
DoubleValue float64 `json:"doubleValue,omitempty"`
// GeoPointValue: A geo point value representing a point on the surface
// of Earth.
GeoPointValue *LatLng `json:"geoPointValue,omitempty"`
// IntegerValue: An integer value.
IntegerValue int64 `json:"integerValue,omitempty,string"`
// MapValue: A map value.
MapValue *MapValue `json:"mapValue,omitempty"`
// NullValue: A null value.
//
// Possible values:
// "NULL_VALUE" - Null value.
NullValue string `json:"nullValue,omitempty"`
// ReferenceValue: A reference to a document. For
// example:
// `projects/{project_id}/databases/{database_id}/documents/{doc
// ument_path}`.
ReferenceValue string `json:"referenceValue,omitempty"`
// StringValue: A string value.
//
// The string, represented as UTF-8, must not exceed 1 MiB - 89
// bytes.
// Only the first 1,500 bytes of the UTF-8 representation are considered
// by
// queries.
StringValue string `json:"stringValue,omitempty"`
// TimestampValue: A timestamp value.
//
// Precise only to microseconds. When stored, any additional precision
// is
// rounded down.
TimestampValue string `json:"timestampValue,omitempty"`
// ForceSendFields is a list of field names (e.g. "ArrayValue") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ArrayValue") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *Value) MarshalJSON() ([]byte, error) {
type NoMethod Value
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
func (s *Value) UnmarshalJSON(data []byte) error {
type NoMethod Value
var s1 struct {
DoubleValue gensupport.JSONFloat64 `json:"doubleValue"`
*NoMethod
}
s1.NoMethod = (*NoMethod)(s)
if err := json.Unmarshal(data, &s1); err != nil {
return err
}
s.DoubleValue = float64(s1.DoubleValue)
return nil
}
// Write: A write on a document.
type Write struct {
// CurrentDocument: An optional precondition on the document.
//
// The write will fail if this is set and not met by the target
// document.
CurrentDocument *Precondition `json:"currentDocument,omitempty"`
// Delete: A document name to delete. In the
// format:
// `projects/{project_id}/databases/{database_id}/documents/{docu
// ment_path}`.
Delete string `json:"delete,omitempty"`
// Transform: Applies a tranformation to a document.
// At most one `transform` per document is allowed in a given
// request.
// An `update` cannot follow a `transform` on the same document in a
// given
// request.
Transform *DocumentTransform `json:"transform,omitempty"`
// Update: A document to write.
Update *Document `json:"update,omitempty"`
// UpdateMask: The fields to update in this write.
//
// This field can be set only when the operation is `update`.
// If the mask is not set for an `update` and the document exists,
// any
// existing data will be overwritten.
// If the mask is set and the document on the server has fields not
// covered by
// the mask, they are left unchanged.
// Fields referenced in the mask, but not present in the input document,
// are
// deleted from the document on the server.
// The field paths in this mask must not contain a reserved field name.
UpdateMask *DocumentMask `json:"updateMask,omitempty"`
// ForceSendFields is a list of field names (e.g. "CurrentDocument") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "CurrentDocument") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}
func (s *Write) MarshalJSON() ([]byte, error) {
type NoMethod Write
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// WriteRequest: The request for Firestore.Write.
//
// The first request creates a stream, or resumes an existing one from a
// token.
//
// When creating a new stream, the server replies with a response
// containing
// only an ID and a token, to use in the next request.
//
// When resuming a stream, the server first streams any responses later
// than the
// given token, then a response containing only an up-to-date token, to
// use in
// the next request.
type WriteRequest struct {
// Labels: Labels associated with this write request.
Labels map[string]string `json:"labels,omitempty"`
// StreamId: The ID of the write stream to resume.
// This may only be set in the first message. When left empty, a new
// write
// stream will be created.
StreamId string `json:"streamId,omitempty"`
// StreamToken: A stream token that was previously sent by the
// server.
//
// The client should set this field to the token from the most
// recent
// WriteResponse it has received. This acknowledges that the client
// has
// received responses up to this token. After sending this token,
// earlier
// tokens may not be used anymore.
//
// The server may close the stream if there are too many
// unacknowledged
// responses.
//
// Leave this field unset when creating a new stream. To resume a stream
// at
// a specific point, set this field and the `stream_id` field.
//
// Leave this field unset when creating a new stream.
StreamToken string `json:"streamToken,omitempty"`
// Writes: The writes to apply.
//
// Always executed atomically and in order.
// This must be empty on the first request.
// This may be empty on the last request.
// This must not be empty on all other requests.
Writes []*Write `json:"writes,omitempty"`
// ForceSendFields is a list of field names (e.g. "Labels") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Labels") to include in API
// requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *WriteRequest) MarshalJSON() ([]byte, error) {
type NoMethod WriteRequest
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// WriteResponse: The response for Firestore.Write.
type WriteResponse struct {
// CommitTime: The time at which the commit occurred.
CommitTime string `json:"commitTime,omitempty"`
// StreamId: The ID of the stream.
// Only set on the first message, when a new stream was created.
StreamId string `json:"streamId,omitempty"`
// StreamToken: A token that represents the position of this response in
// the stream.
// This can be used by a client to resume the stream at this
// point.
//
// This field is always set.
StreamToken string `json:"streamToken,omitempty"`
// WriteResults: The result of applying the writes.
//
// This i-th write result corresponds to the i-th write in the
// request.
WriteResults []*WriteResult `json:"writeResults,omitempty"`
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "CommitTime") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "CommitTime") to include in
// API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. However, any field with an
// empty value appearing in NullFields will be sent to the server as
// null. It is an error if a field in this list has a non-empty value.
// This may be used to include null fields in Patch requests.
NullFields []string `json:"-"`
}
func (s *WriteResponse) MarshalJSON() ([]byte, error) {
type NoMethod WriteResponse
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// WriteResult: The result of applying a write.
type WriteResult struct {
// TransformResults: The results of applying each
// DocumentTransform.FieldTransform, in the
// same order.
TransformResults []*Value `json:"transformResults,omitempty"`
// UpdateTime: The last update time of the document after applying the
// write. Not set
// after a `delete`.
//
// If the write did not actually change the document, this will be
// the
// previous update_time.
UpdateTime string `json:"updateTime,omitempty"`
// ForceSendFields is a list of field names (e.g. "TransformResults") to
// unconditionally include in API requests. By default, fields with
// empty values are omitted from API requests. However, any non-pointer,
// non-interface field appearing in ForceSendFields will be sent to the
// server regardless of whether the field is empty or not. This may be
// used to include empty fields in Patch requests.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "TransformResults") to
// include in API requests with the JSON null value. By default, fields
// with empty values are omitted from API requests. However, any field
// with an empty value appearing in NullFields will be sent to the
// server as null. It is an error if a field in this list has a
// non-empty value. This may be used to include null fields in Patch
// requests.
NullFields []string `json:"-"`
}