blob: 2423ec13b0acde15e7c3a7808c022b6724dffabb [file] [log] [blame]
// Copyright 2020 Google LLC.
// 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.
//
// For product documentation, see: https://cloud.google.com/firestore
//
// Creating a client
//
// Usage example:
//
// import "google.golang.org/api/firestore/v1"
// ...
// ctx := context.Background()
// firestoreService, err := firestore.NewService(ctx)
//
// In this example, Google Application Default Credentials are used for authentication.
//
// For information on how to create and obtain Application Default Credentials, see https://developers.google.com/identity/protocols/application-default-credentials.
//
// Other authentication options
//
// By default, all available scopes (see "Constants") are used to authenticate. To restrict scopes, use option.WithScopes:
//
// firestoreService, err := firestore.NewService(ctx, option.WithScopes(firestore.DatastoreScope))
//
// To use an API key for authentication (note: some APIs do not support API keys), use option.WithAPIKey:
//
// firestoreService, err := firestore.NewService(ctx, option.WithAPIKey("AIza..."))
//
// To use an OAuth token (e.g., a user token obtained via a three-legged OAuth flow), use option.WithTokenSource:
//
// config := &oauth2.Config{...}
// // ...
// token, err := config.Exchange(ctx, ...)
// firestoreService, err := firestore.NewService(ctx, option.WithTokenSource(config.TokenSource(ctx, token)))
//
// See https://godoc.org/google.golang.org/api/option/ for details on options.
package firestore // import "google.golang.org/api/firestore/v1"
import (
"bytes"
"context"
"encoding/json"
"errors"
"fmt"
"io"
"net/http"
"net/url"
"strconv"
"strings"
googleapi "google.golang.org/api/googleapi"
gensupport "google.golang.org/api/internal/gensupport"
option "google.golang.org/api/option"
internaloption "google.golang.org/api/option/internaloption"
htransport "google.golang.org/api/transport/http"
)
// 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
var _ = internaloption.WithDefaultEndpoint
const apiId = "firestore:v1"
const apiName = "firestore"
const apiVersion = "v1"
const basePath = "https://firestore.googleapis.com/"
const mtlsBasePath = "https://firestore.mtls.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"
)
// NewService creates a new Service.
func NewService(ctx context.Context, opts ...option.ClientOption) (*Service, error) {
scopesOption := option.WithScopes(
"https://www.googleapis.com/auth/cloud-platform",
"https://www.googleapis.com/auth/datastore",
)
// NOTE: prepend, so we don't override user-specified scopes.
opts = append([]option.ClientOption{scopesOption}, opts...)
opts = append(opts, internaloption.WithDefaultEndpoint(basePath))
opts = append(opts, internaloption.WithDefaultMTLSEndpoint(mtlsBasePath))
client, endpoint, err := htransport.NewClient(ctx, opts...)
if err != nil {
return nil, err
}
s, err := New(client)
if err != nil {
return nil, err
}
if endpoint != "" {
s.BasePath = endpoint
}
return s, nil
}
// New creates a new Service. It uses the provided http.Client for requests.
//
// Deprecated: please use NewService instead.
// To provide a custom HTTP client, use option.WithHTTPClient.
// If you are using google.golang.org/api/googleapis/transport.APIKey, use option.WithAPIKey with NewService instead.
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/{document_pat
// h}`. 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 270 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/{document_pat
// h}`.
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)
}
// BatchWriteRequest: The request for Firestore.BatchWrite.
type BatchWriteRequest struct {
// Labels: Labels associated with this batch write.
Labels map[string]string `json:"labels,omitempty"`
// Writes: The writes to apply. Method does not apply writes atomically
// and does not guarantee ordering. Each write succeeds or fails
// independently. You cannot write to the same document more than once
// per request.
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 *BatchWriteRequest) MarshalJSON() ([]byte, error) {
type NoMethod BatchWriteRequest
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// BatchWriteResponse: The response from Firestore.BatchWrite.
type BatchWriteResponse struct {
// Status: The status of applying the writes. This i-th write status
// corresponds to the i-th write in the request.
Status []*Status `json:"status,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. "Status") 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. "Status") 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 *BatchWriteResponse) MarshalJSON() ([]byte, error) {
type NoMethod BatchWriteResponse
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. Any read with an
// equal or greater `read_time` is guaranteed to see the effects of the
// commit.
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/{document_pat
// h}`.
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/{document_pat
// h}`. 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" - The given `field` is less than the given `value`.
// Requires: * That `field` come first in `order_by`.
// "LESS_THAN_OR_EQUAL" - The given `field` is less than or equal to
// the given `value`. Requires: * That `field` come first in `order_by`.
// "GREATER_THAN" - The given `field` is greater than the given
// `value`. Requires: * That `field` come first in `order_by`.
// "GREATER_THAN_OR_EQUAL" - The given `field` is greater than or
// equal to the given `value`. Requires: * That `field` come first in
// `order_by`.
// "EQUAL" - The given `field` is equal to the given `value`.
// "NOT_EQUAL" - The given `field` is not equal to the given `value`.
// Requires: * No other `NOT_EQUAL`, `NOT_IN`, `IS_NOT_NULL`, or
// `IS_NOT_NAN`. * That `field` comes first in the `order_by`.
// "ARRAY_CONTAINS" - The given `field` is an array that contains the
// given `value`.
// "IN" - The given `field` is equal to at least one value in the
// given array. Requires: * That `value` is a non-empty `ArrayValue`
// with at most 10 values. * No other `IN` or `ARRAY_CONTAINS_ANY` or
// `NOT_IN`.
// "ARRAY_CONTAINS_ANY" - The given `field` is an array that contains
// any of the values in the given array. Requires: * That `value` is a
// non-empty `ArrayValue` with at most 10 values. * No other `IN` or
// `ARRAY_CONTAINS_ANY` or `NOT_IN`.
// "NOT_IN" - The value of the `field` is not in the given array.
// Requires: * That `value` is a non-empty `ArrayValue` with at most 10
// values. * No other `IN`, `ARRAY_CONTAINS_ANY`, `NOT_IN`, `NOT_EQUAL`,
// `IS_NOT_NULL`, or `IS_NOT_NAN`. * That `field` comes first in the
// `order_by`.
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. If used on multiple fields (same
// or different documents) in a transaction, all the fields will get the
// same server timestamp.
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/{colle
// ction_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/__defa
// ult__/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}/collectionGroups/{colle
// ction_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.output_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/{colle
// ction_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.
// "COLLECTION_GROUP" - Indexes with a collection group query scope
// specified allow queries against all collections 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}/collectionGroups/{colle
// ction_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 be a resource name ending with
// `operations/{unique_id}`.
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 WGS84 standard. 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)
}
// PartitionQueryRequest: The request for Firestore.PartitionQuery.
type PartitionQueryRequest struct {
// PageSize: The maximum number of partitions to return in this call,
// subject to `partition_count`. For example, if `partition_count` = 10
// and `page_size` = 8, the first call to PartitionQuery will return up
// to 8 partitions and a `next_page_token` if more results exist. A
// second call to PartitionQuery will return up to 2 partitions, to
// complete the total of 10 specified in `partition_count`.
PageSize int64 `json:"pageSize,omitempty"`
// PageToken: The `next_page_token` value returned from a previous call
// to PartitionQuery that may be used to get an additional set of
// results. There are no ordering guarantees between sets of results.
// Thus, using multiple sets of results will require merging the
// different result sets. For example, two subsequent calls using a
// page_token may return: * cursor B, cursor M, cursor Q * cursor A,
// cursor U, cursor W To obtain a complete result set ordered with
// respect to the results of the query supplied to PartitionQuery, the
// results sets should be merged: cursor A, cursor B, cursor M, cursor
// Q, cursor U, cursor W
PageToken string `json:"pageToken,omitempty"`
// PartitionCount: The desired maximum number of partition points. The
// partitions may be returned across multiple pages of results. The
// number must be positive. The actual number of partitions returned may
// be fewer. For example, this may be set to one fewer than the number
// of parallel queries to be run, or in running a data pipeline job, one
// fewer than the number of workers or compute instances available.
PartitionCount int64 `json:"partitionCount,omitempty,string"`
// StructuredQuery: A structured query. Query must specify collection
// with all descendants and be ordered by name ascending. Other filters,
// order bys, limits, offsets, and start/end cursors are not supported.
StructuredQuery *StructuredQuery `json:"structuredQuery,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 *PartitionQueryRequest) MarshalJSON() ([]byte, error) {
type NoMethod PartitionQueryRequest
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// PartitionQueryResponse: The response for Firestore.PartitionQuery.
type PartitionQueryResponse struct {
// NextPageToken: A page token that may be used to request an additional
// set of results, up to the number specified by `partition_count` in
// the PartitionQuery request. If blank, there are no more results.
NextPageToken string `json:"nextPageToken,omitempty"`
// Partitions: Partition results. Each partition is a split point that
// can be used by RunQuery as a starting or end point for the query
// results. The RunQuery requests must be made with the same query
// supplied to this PartitionQuery request. The partition cursors will
// be ordered according to same ordering as the results of the query
// supplied to PartitionQuery. For example, if a PartitionQuery request
// returns partition cursors A and B, running the following three
// queries will return the entire result set of the original query: *
// query, end_at A * query, start_at A, end_at B * query, start_at B An
// empty result may indicate that the query has too few results to be
// partitioned.
Partitions []*Cursor `json:"partitions,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 *PartitionQueryResponse) MarshalJSON() ([]byte, error) {
type NoMethod PartitionQueryResponse
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_pat
// h}`. For example:
// `projects/my-project/databases/my-database/documents` or
// `projects/my-project/databases/my-database/documents/chatrooms/my-chat
// room`
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: Required. 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 270 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). Each
// `Status` message contains three pieces of data: error code, error
// message, and error details. You can find out more about this error
// model and how to work with it in the [API Design
// Guide](https://cloud.google.com/apis/design/errors).
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: The target ID that identifies the target on the stream.
// Must be a positive number and non-zero.
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. 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" - The given `field` is equal to `NaN`.
// "IS_NULL" - The given `field` is equal to `NULL`.
// "IS_NOT_NAN" - The given `field` is not equal to `NaN`. Requires: *
// No other `NOT_EQUAL`, `NOT_IN`, `IS_NOT_NULL`, or `IS_NOT_NAN`. *
// That `field` comes first in the `order_by`.
// "IS_NOT_NULL" - The given `field` is not equal to `NULL`. Requires:
// * A single `NOT_EQUAL`, `NOT_IN`, `IS_NOT_NULL`, or `IS_NOT_NAN`. *
// That `field` comes first in the `order_by`.
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/{document_pat
// h}`.
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/{document_pat
// h}`.
Delete string `json:"delete,omitempty"`
// Transform: Applies a transformation to a document.
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"`
// UpdateTransforms: The transforms to perform after update. This field
// can be set only when the operation is `update`. If present, this
// write is equivalent to performing `update` and `transform` to the
// same document atomically and in order.
UpdateTransforms []*FieldTransform `json:"updateTransforms,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. Any read with an
// equal or greater `read_time` is guaranteed to see the effects of the
// write.
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:"-"`
}
func (s *WriteResult) MarshalJSON() ([]byte, error) {
type NoMethod WriteResult
raw := NoMethod(*s)
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
// method id "firestore.projects.databases.exportDocuments":
type ProjectsDatabasesExportDocumentsCall struct {
s *Service
name string
googlefirestoreadminv1exportdocumentsrequest *GoogleFirestoreAdminV1ExportDocumentsRequest
urlParams_ gensupport.URLParams
ctx_ context.Context
header_ http.Header
}
// ExportDocuments: Exports a copy of all or a subset of documents from
// Google Cloud Firestore to another storage system, such as Google
// Cloud Storage. Recent updates to documents may not be reflected in
// the export. The export occurs in the background and its progress can
// be monitored and managed via the Operation resource that is created.
// The output of an export may only be used once the associated
// operation is done. If an export operation is cancelled before
// completion it may leave partial data behind in Google Cloud Storage.
func (r *ProjectsDatabasesService) ExportDocuments(name string, googlefirestoreadminv1exportdocumentsrequest *GoogleFirestoreAdminV1ExportDocumentsRequest) *ProjectsDatabasesExportDocumentsCall {
c := &ProjectsDatabasesExportDocumentsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.name = name
c.googlefirestoreadminv1exportdocumentsrequest = googlefirestoreadminv1exportdocumentsrequest
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
// for more information.
func (c *ProjectsDatabasesExportDocumentsCall) Fields(s ...googleapi.Field) *ProjectsDatabasesExportDocumentsCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method. Any
// pending HTTP request will be aborted if the provided context is
// canceled.
func (c *ProjectsDatabasesExportDocumentsCall) Context(ctx context.Context) *ProjectsDatabasesExportDocumentsCall {
c.ctx_ = ctx
return c
}
// Header returns an http.Header that can be modified by the caller to
// add HTTP headers to the request.
func (c *ProjectsDatabasesExportDocumentsCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsDatabasesExportDocumentsCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := make(http.Header)
reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20200926")
for k, v := range c.header_ {
reqHeaders[k] = v
}
reqHeaders.Set("User-Agent", c.s.userAgent())
var body io.Reader = nil
body, err := googleapi.WithoutDataWrapper.JSONReader(c.googlefirestoreadminv1exportdocumentsrequest)
if err != nil {
return nil, err
}
reqHeaders.Set("Content-Type", "application/json")
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:exportDocuments")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("POST", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"name": c.name,
})
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "firestore.projects.databases.exportDocuments" call.
// Exactly one of *GoogleLongrunningOperation or error will be non-nil.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningOperation.ServerResponse.Header or (if a response
// was returned at all) in error.(*googleapi.Error).Header. Use
// googleapi.IsNotModified to check whether the returned error was
// because http.StatusNotModified was returned.
func (c *ProjectsDatabasesExportDocumentsCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningOperation, error) {
gensupport.SetOptions(c.urlParams_, opts...)
res, err := c.doRequest("json")
if res != nil && res.StatusCode == http.StatusNotModified {
if res.Body != nil {
res.Body.Close()
}
return nil, &googleapi.Error{
Code: res.StatusCode,
Header: res.Header,
}
}
if err != nil {
return nil, err
}
defer googleapi.CloseBody(res)
if err := googleapi.CheckResponse(res); err != nil {
return nil, err
}
ret := &GoogleLongrunningOperation{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret