blob: b135b939d58d87609b7c1b2af36abd26b05a9688 [file]
// Copyright 2026 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
//
// # Library status
//
// These client libraries are officially supported by Google. However, this
// library is considered complete and is in maintenance mode. This means
// that we will address critical bugs and security issues but will not add
// any new features.
//
// When possible, we recommend using our newer
// [Cloud Client Libraries for Go](https://pkg.go.dev/cloud.google.com/go)
// that are still actively being worked and iterated on.
//
// # 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 [google.golang.org/api/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 [google.golang.org/api/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 [google.golang.org/api/option.WithTokenSource]:
//
// config := &oauth2.Config{...}
// // ...
// token, err := config.Exchange(ctx, ...)
// firestoreService, err := firestore.NewService(ctx, option.WithTokenSource(config.TokenSource(ctx, token)))
//
// See [google.golang.org/api/option.ClientOption] for details on options.
package firestore // import "google.golang.org/api/firestore/v1"
import (
"bytes"
"context"
"encoding/json"
"errors"
"fmt"
"io"
"log/slog"
"net/http"
"net/url"
"strconv"
"strings"
"github.com/googleapis/gax-go/v2/internallog"
googleapi "google.golang.org/api/googleapi"
internal "google.golang.org/api/internal"
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
var _ = internal.Version
var _ = internallog.New
const apiId = "firestore:v1"
const apiName = "firestore"
const apiVersion = "v1"
const basePath = "https://firestore.googleapis.com/"
const basePathTemplate = "https://firestore.UNIVERSE_DOMAIN/"
const mtlsBasePath = "https://firestore.mtls.googleapis.com/"
// OAuth2 scopes used by this API.
const (
// See, edit, configure, and delete your Google Cloud data and see the email
// address for your Google Account.
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 := internaloption.WithDefaultScopes(
"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.WithDefaultEndpointTemplate(basePathTemplate))
opts = append(opts, internaloption.WithDefaultMTLSEndpoint(mtlsBasePath))
opts = append(opts, internaloption.EnableNewAuthLibrary())
client, endpoint, err := htransport.NewClient(ctx, opts...)
if err != nil {
return nil, err
}
s := &Service{client: client, BasePath: basePath, logger: internaloption.GetLogger(opts)}
s.Projects = NewProjectsService(s)
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")
}
return NewService(context.TODO(), option.WithHTTPClient(client))
}
type Service struct {
client *http.Client
logger *slog.Logger
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.BackupSchedules = NewProjectsDatabasesBackupSchedulesService(s)
rs.ChangeStreams = NewProjectsDatabasesChangeStreamsService(s)
rs.CollectionGroups = NewProjectsDatabasesCollectionGroupsService(s)
rs.Documents = NewProjectsDatabasesDocumentsService(s)
rs.Operations = NewProjectsDatabasesOperationsService(s)
rs.UserCreds = NewProjectsDatabasesUserCredsService(s)
return rs
}
type ProjectsDatabasesService struct {
s *Service
BackupSchedules *ProjectsDatabasesBackupSchedulesService
ChangeStreams *ProjectsDatabasesChangeStreamsService
CollectionGroups *ProjectsDatabasesCollectionGroupsService
Documents *ProjectsDatabasesDocumentsService
Operations *ProjectsDatabasesOperationsService
UserCreds *ProjectsDatabasesUserCredsService
}
func NewProjectsDatabasesBackupSchedulesService(s *Service) *ProjectsDatabasesBackupSchedulesService {
rs := &ProjectsDatabasesBackupSchedulesService{s: s}
return rs
}
type ProjectsDatabasesBackupSchedulesService struct {
s *Service
}
func NewProjectsDatabasesChangeStreamsService(s *Service) *ProjectsDatabasesChangeStreamsService {
rs := &ProjectsDatabasesChangeStreamsService{s: s}
return rs
}
type ProjectsDatabasesChangeStreamsService struct {
s *Service
}
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 NewProjectsDatabasesUserCredsService(s *Service) *ProjectsDatabasesUserCredsService {
rs := &ProjectsDatabasesUserCredsService{s: s}
return rs
}
type ProjectsDatabasesUserCredsService struct {
s *Service
}
func NewProjectsLocationsService(s *Service) *ProjectsLocationsService {
rs := &ProjectsLocationsService{s: s}
rs.Backups = NewProjectsLocationsBackupsService(s)
return rs
}
type ProjectsLocationsService struct {
s *Service
Backups *ProjectsLocationsBackupsService
}
func NewProjectsLocationsBackupsService(s *Service) *ProjectsLocationsBackupsService {
rs := &ProjectsLocationsBackupsService{s: s}
return rs
}
type ProjectsLocationsBackupsService struct {
s *Service
}
// Aggregation: Defines an aggregation that produces a single result.
type Aggregation struct {
// Alias: Optional. Optional name of the field to store the result of the
// aggregation into. If not provided, Firestore will pick a default name
// following the format `field_`. For example: ``` AGGREGATE COUNT_UP_TO(1) AS
// count_up_to_1, COUNT_UP_TO(2), COUNT_UP_TO(3) AS count_up_to_3, COUNT(*)
// OVER ( ... ); ``` becomes: ``` AGGREGATE COUNT_UP_TO(1) AS count_up_to_1,
// COUNT_UP_TO(2) AS field_1, COUNT_UP_TO(3) AS count_up_to_3, COUNT(*) AS
// field_2 OVER ( ... ); ``` Requires: * Must be unique across all aggregation
// aliases. * Conform to document field name limitations.
Alias string `json:"alias,omitempty"`
// Avg: Average aggregator.
Avg *Avg `json:"avg,omitempty"`
// Count: Count aggregator.
Count *Count `json:"count,omitempty"`
// Sum: Sum aggregator.
Sum *Sum `json:"sum,omitempty"`
// ForceSendFields is a list of field names (e.g. "Alias") to unconditionally
// include in API requests. By default, fields with empty or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Alias") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s Aggregation) MarshalJSON() ([]byte, error) {
type NoMethod Aggregation
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// AggregationResult: The result of a single bucket from a Firestore
// aggregation query. The keys of `aggregate_fields` are the same for all
// results in an aggregation query, unlike document queries which can have
// different fields present for each result.
type AggregationResult struct {
// AggregateFields: The result of the aggregation functions, ex: `COUNT(*) AS
// total_docs`. The key is the alias assigned to the aggregation function on
// input and the size of this map equals the number of aggregation functions in
// the query.
AggregateFields map[string]Value `json:"aggregateFields,omitempty"`
// ForceSendFields is a list of field names (e.g. "AggregateFields") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "AggregateFields") to include in
// API requests with the JSON null value. By default, fields with empty values
// are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s AggregationResult) MarshalJSON() ([]byte, error) {
type NoMethod AggregationResult
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// 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 or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s ArrayValue) MarshalJSON() ([]byte, error) {
type NoMethod ArrayValue
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// Avg: Average of the values of the requested field. * Only numeric values
// will be aggregated. All non-numeric values including `NULL` are skipped. *
// If the aggregated values contain `NaN`, returns `NaN`. Infinity math follows
// IEEE-754 standards. * If the aggregated value set is empty, returns `NULL`.
// * Always returns the result as a double.
type Avg struct {
// Field: The field to aggregate on.
Field *FieldReference `json:"field,omitempty"`
// ForceSendFields is a list of field names (e.g. "Field") to unconditionally
// include in API requests. By default, fields with empty or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s Avg) MarshalJSON() ([]byte, error) {
type NoMethod Avg
return gensupport.MarshalJSON(NoMethod(s), 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_path}`.
// The request will fail if any of the document is not a child resource of the
// given `database`. Duplicate names will be elided.
Documents []string `json:"documents,omitempty"`
// Mask: The fields to return. If not set, returns all fields. If a document
// has a field that is not present in this mask, that field will not be
// returned in the response.
Mask *DocumentMask `json:"mask,omitempty"`
// NewTransaction: Starts a new transaction and reads the documents. Defaults
// to a read-only transaction. The new transaction ID will be returned as the
// first response in the stream.
NewTransaction *TransactionOptions `json:"newTransaction,omitempty"`
// ReadTime: Reads documents as they were at the given time. This must be a
// microsecond precision timestamp within the past one hour, or if
// Point-in-Time Recovery is enabled, can additionally be a whole minute
// timestamp within the past 7 days.
ReadTime string `json:"readTime,omitempty"`
// RequestOptions: Optional. The request options for this request.
RequestOptions *RequestOptions `json:"requestOptions,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 or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s BatchGetDocumentsRequest) MarshalJSON() ([]byte, error) {
type NoMethod BatchGetDocumentsRequest
return gensupport.MarshalJSON(NoMethod(s), 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_path}`.
Missing string `json:"missing,omitempty"`
// ReadTime: The time at which the document was read. This may be monotically
// increasing, in this case the previous documents in the result stream are
// guaranteed not to have changed between their read_time and this one.
ReadTime string `json:"readTime,omitempty"`
// Transaction: The transaction that was started as part of this request. Will
// only be set in the first response, and only if
// BatchGetDocumentsRequest.new_transaction was set in the request.
Transaction string `json:"transaction,omitempty"`
// ServerResponse contains the HTTP response code and headers from the server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "Found") to unconditionally
// include in API requests. By default, fields with empty or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s BatchGetDocumentsResponse) MarshalJSON() ([]byte, error) {
type NoMethod BatchGetDocumentsResponse
return gensupport.MarshalJSON(NoMethod(s), 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"`
// RequestOptions: Optional. The request options for this request.
RequestOptions *RequestOptions `json:"requestOptions,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 or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s BatchWriteRequest) MarshalJSON() ([]byte, error) {
type NoMethod BatchWriteRequest
return gensupport.MarshalJSON(NoMethod(s), 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 or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s BatchWriteResponse) MarshalJSON() ([]byte, error) {
type NoMethod BatchWriteResponse
return gensupport.MarshalJSON(NoMethod(s), 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"`
// RequestOptions: Optional. The request options for this request.
RequestOptions *RequestOptions `json:"requestOptions,omitempty"`
// ForceSendFields is a list of field names (e.g. "Options") to unconditionally
// include in API requests. By default, fields with empty or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s BeginTransactionRequest) MarshalJSON() ([]byte, error) {
type NoMethod BeginTransactionRequest
return gensupport.MarshalJSON(NoMethod(s), 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 or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s BeginTransactionResponse) MarshalJSON() ([]byte, error) {
type NoMethod BeginTransactionResponse
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// BitSequence: A sequence of bits, encoded in a byte array. Each byte in the
// `bitmap` byte array stores 8 bits of the sequence. The only exception is the
// last byte, which may store 8 _or fewer_ bits. The `padding` defines the
// number of bits of the last byte to be ignored as "padding". The values of
// these "padding" bits are unspecified and must be ignored. To retrieve the
// first bit, bit 0, calculate: `(bitmap[0] & 0x01) != 0`. To retrieve the
// second bit, bit 1, calculate: `(bitmap[0] & 0x02) != 0`. To retrieve the
// third bit, bit 2, calculate: `(bitmap[0] & 0x04) != 0`. To retrieve the
// fourth bit, bit 3, calculate: `(bitmap[0] & 0x08) != 0`. To retrieve bit n,
// calculate: `(bitmap[n / 8] & (0x01 << (n % 8))) != 0`. The "size" of a
// `BitSequence` (the number of bits it contains) is calculated by this
// formula: `(bitmap.length * 8) - padding`.
type BitSequence struct {
// Bitmap: The bytes that encode the bit sequence. May have a length of zero.
Bitmap string `json:"bitmap,omitempty"`
// Padding: The number of bits of the last byte in `bitmap` to ignore as
// "padding". If the length of `bitmap` is zero, then this value must be `0`.
// Otherwise, this value must be between 0 and 7, inclusive.
Padding int64 `json:"padding,omitempty"`
// ForceSendFields is a list of field names (e.g. "Bitmap") to unconditionally
// include in API requests. By default, fields with empty or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Bitmap") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s BitSequence) MarshalJSON() ([]byte, error) {
type NoMethod BitSequence
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// BloomFilter: A bloom filter (https://en.wikipedia.org/wiki/Bloom_filter).
// The bloom filter hashes the entries with MD5 and treats the resulting
// 128-bit hash as 2 distinct 64-bit hash values, interpreted as unsigned
// integers using 2's complement encoding. These two hash values, named `h1`
// and `h2`, are then used to compute the `hash_count` hash values using the
// formula, starting at `i=0`: h(i) = h1 + (i * h2) These resulting values are
// then taken modulo the number of bits in the bloom filter to get the bits of
// the bloom filter to test for the given entry.
type BloomFilter struct {
// Bits: The bloom filter data.
Bits *BitSequence `json:"bits,omitempty"`
// HashCount: The number of hashes used by the algorithm.
HashCount int64 `json:"hashCount,omitempty"`
// ForceSendFields is a list of field names (e.g. "Bits") to unconditionally
// include in API requests. By default, fields with empty or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Bits") to include in API requests
// with the JSON null value. By default, fields with empty values are omitted
// from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s BloomFilter) MarshalJSON() ([]byte, error) {
type NoMethod BloomFilter
return gensupport.MarshalJSON(NoMethod(s), 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 or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s CollectionSelector) MarshalJSON() ([]byte, error) {
type NoMethod CollectionSelector
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// CommitRequest: The request for Firestore.Commit.
type CommitRequest struct {
// RequestOptions: Optional. The request options for this request.
RequestOptions *RequestOptions `json:"requestOptions,omitempty"`
// 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. "RequestOptions") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "RequestOptions") to include in
// API requests with the JSON null value. By default, fields with empty values
// are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s CommitRequest) MarshalJSON() ([]byte, error) {
type NoMethod CommitRequest
return gensupport.MarshalJSON(NoMethod(s), 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 or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s CommitResponse) MarshalJSON() ([]byte, error) {
type NoMethod CommitResponse
return gensupport.MarshalJSON(NoMethod(s), 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. Requires: * At least one filter is
// present.
Filters []*Filter `json:"filters,omitempty"`
// Op: The operator for combining multiple filters.
//
// Possible values:
// "OPERATOR_UNSPECIFIED" - Unspecified. This value must not be used.
// "AND" - Documents are required to satisfy all of the combined filters.
// "OR" - Documents are required to satisfy at least one 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 or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s CompositeFilter) MarshalJSON() ([]byte, error) {
type NoMethod CompositeFilter
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// Count: Count of documents that match the query. The `COUNT(*)` aggregation
// function operates on the entire document so it does not require a field
// reference.
type Count struct {
// UpTo: Optional. Optional constraint on the maximum number of documents to
// count. This provides a way to set an upper bound on the number of documents
// to scan, limiting latency, and cost. Unspecified is interpreted as no bound.
// High-Level Example: ``` AGGREGATE COUNT_UP_TO(1000) OVER ( SELECT * FROM k
// ); ``` Requires: * Must be greater than zero when present.
UpTo int64 `json:"upTo,omitempty,string"`
// ForceSendFields is a list of field names (e.g. "UpTo") to unconditionally
// include in API requests. By default, fields with empty or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "UpTo") to include in API requests
// with the JSON null value. By default, fields with empty values are omitted
// from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s Count) MarshalJSON() ([]byte, error) {
type NoMethod Count
return gensupport.MarshalJSON(NoMethod(s), 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 or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s Cursor) MarshalJSON() ([]byte, error) {
type NoMethod Cursor
return gensupport.MarshalJSON(NoMethod(s), 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. Field
// names matching the regular expression `__.*__` are reserved. Reserved field
// names are forbidden except in certain documented contexts. The field names,
// 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 a dot-delimited
// (`.`) string of segments. Each segment is either a simple field name
// (defined below) or a quoted field name. For example, the structured field
// "foo" : { map_value: { "x&y" : { string_value: "hello" }}}` would be
// represented by the field path `` foo.`x&y` ``. 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`. 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_path}`.
Name string `json:"name,omitempty"`
// UpdateTime: Output only. The time at which the document was last changed.
// This value is initially set to the `create_time` then increases
// monotonically with each change to the document. It can also be compared to
// values from other documents and the `read_time` of a query.
UpdateTime string `json:"updateTime,omitempty"`
// ServerResponse contains the HTTP response code and headers from the server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "CreateTime") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s Document) MarshalJSON() ([]byte, error) {
type NoMethod Document
return gensupport.MarshalJSON(NoMethod(s), 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 or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s DocumentChange) MarshalJSON() ([]byte, error) {
type NoMethod DocumentChange
return gensupport.MarshalJSON(NoMethod(s), 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 or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s DocumentDelete) MarshalJSON() ([]byte, error) {
type NoMethod DocumentDelete
return gensupport.MarshalJSON(NoMethod(s), 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 or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s DocumentMask) MarshalJSON() ([]byte, error) {
type NoMethod DocumentMask
return gensupport.MarshalJSON(NoMethod(s), 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 or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s DocumentRemove) MarshalJSON() ([]byte, error) {
type NoMethod DocumentRemove
return gensupport.MarshalJSON(NoMethod(s), 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 or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s DocumentTransform) MarshalJSON() ([]byte, error) {
type NoMethod DocumentTransform
return gensupport.MarshalJSON(NoMethod(s), 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_path}`.
// The request will fail if any of the document is not a child resource of the
// given `database`. Duplicate names will be elided.
Documents []string `json:"documents,omitempty"`
// ForceSendFields is a list of field names (e.g. "Documents") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s DocumentsTarget) MarshalJSON() ([]byte, error) {
type NoMethod DocumentsTarget
return gensupport.MarshalJSON(NoMethod(s), 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); }
type Empty struct {
// ServerResponse contains the HTTP response code and headers from the server.
googleapi.ServerResponse `json:"-"`
}
// ExecutePipelineRequest: The request for Firestore.ExecutePipeline.
type ExecutePipelineRequest struct {
// AutoCommitTransaction: Optional. Automatically commits the transaction after
// the pipeline has been executed. Only permitted in combination with
// `transaction` or `new_transaction`.
AutoCommitTransaction bool `json:"autoCommitTransaction,omitempty"`
// NewTransaction: Execute the pipeline in a new transaction. The identifier of
// the newly created transaction will be returned in the first response on the
// stream. This defaults to a read-only transaction.
NewTransaction *TransactionOptions `json:"newTransaction,omitempty"`
// ReadTime: Execute the pipeline in a snapshot transaction at the given time.
// This must be a microsecond precision timestamp within the past one hour, or
// if Point-in-Time Recovery is enabled, can additionally be a whole minute
// timestamp within the past 7 days.
ReadTime string `json:"readTime,omitempty"`
// RequestOptions: Optional. The request options for this request.
RequestOptions *RequestOptions `json:"requestOptions,omitempty"`
// StructuredPipeline: A pipelined operation.
StructuredPipeline *StructuredPipeline `json:"structuredPipeline,omitempty"`
// Transaction: Run the query within an already active transaction. The value
// here is the opaque transaction ID to execute the query in.
Transaction string `json:"transaction,omitempty"`
// ForceSendFields is a list of field names (e.g. "AutoCommitTransaction") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "AutoCommitTransaction") to
// include in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s ExecutePipelineRequest) MarshalJSON() ([]byte, error) {
type NoMethod ExecutePipelineRequest
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// ExecutePipelineResponse: The response for Firestore.ExecutePipeline.
type ExecutePipelineResponse struct {
// ExecutionTime: The time at which the results are valid. This is a (not
// strictly) monotonically increasing value across multiple responses in the
// same stream. The API guarantees that all previously returned results are
// still valid at the latest `execution_time`. This allows the API consumer to
// treat the query if it ran at the latest `execution_time` returned. If the
// query returns no results, a response with `execution_time` and no `results`
// will be sent, and this represents the time at which the operation was run.
ExecutionTime string `json:"executionTime,omitempty"`
// ExplainStats: Query explain stats. This is present on the **last** response
// if the request configured explain to run in 'analyze' or 'explain' mode in
// the pipeline options. If the query does not return any results, a response
// with `explain_stats` and no `results` will still be sent.
ExplainStats *ExplainStats `json:"explainStats,omitempty"`
// Results: An ordered batch of results returned executing a pipeline. The
// batch size is variable, and can even be zero for when only a partial
// progress message is returned. The fields present in the returned documents
// are only those that were explicitly requested in the pipeline, this includes
// those like `__name__` and `__update_time__`. This is explicitly a divergence
// from `Firestore.RunQuery` / `Firestore.GetDocument` RPCs which always return
// such fields even when they are not specified in the `mask`.
Results []*Document `json:"results,omitempty"`
// Transaction: Newly created transaction identifier. This field is only
// specified as part of the first response from the server, alongside the
// `results` field when the original request specified
// ExecuteRequest.new_transaction.
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. "ExecutionTime") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ExecutionTime") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s ExecutePipelineResponse) MarshalJSON() ([]byte, error) {
type NoMethod ExecutePipelineResponse
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// ExecutionStats: Execution statistics for the query.
type ExecutionStats struct {
// DebugStats: Debugging statistics from the execution of the query. Note that
// the debugging stats are subject to change as Firestore evolves. It could
// include: { "indexes_entries_scanned": "1000", "documents_scanned": "20",
// "billing_details" : { "documents_billable": "20", "index_entries_billable":
// "1000", "min_query_cost": "0" } }
DebugStats googleapi.RawMessage `json:"debugStats,omitempty"`
// ExecutionDuration: Total time to execute the query in the backend.
ExecutionDuration string `json:"executionDuration,omitempty"`
// ReadOperations: Total billable read operations.
ReadOperations int64 `json:"readOperations,omitempty,string"`
// ResultsReturned: Total number of results returned, including documents,
// projections, aggregation results, keys.
ResultsReturned int64 `json:"resultsReturned,omitempty,string"`
// ForceSendFields is a list of field names (e.g. "DebugStats") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "DebugStats") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s ExecutionStats) MarshalJSON() ([]byte, error) {
type NoMethod ExecutionStats
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// 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. The client can use the
// `unchanged_names` bloom filter to assist with this determination by testing
// ALL the document names against the filter; if the document name is NOT in
// the filter, it means the document no longer matches the target.
Count int64 `json:"count,omitempty"`
// TargetId: The target ID to which this filter applies.
TargetId int64 `json:"targetId,omitempty"`
// UnchangedNames: A bloom filter that, despite its name, contains the UTF-8
// byte encodings of the resource names of ALL the documents that match
// target_id, in the form
// `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
// This bloom filter may be omitted at the server's discretion, such as if it
// is deemed that the client will not make use of it or if it is too
// computationally expensive to calculate or transmit. Clients must gracefully
// handle this field being absent by falling back to the logic used before this
// field existed; that is, re-add the target without a resume token to figure
// out which documents in the client's cache are out of sync.
UnchangedNames *BloomFilter `json:"unchangedNames,omitempty"`
// ForceSendFields is a list of field names (e.g. "Count") to unconditionally
// include in API requests. By default, fields with empty or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s ExistenceFilter) MarshalJSON() ([]byte, error) {
type NoMethod ExistenceFilter
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// ExplainMetrics: Explain metrics for the query.
type ExplainMetrics struct {
// ExecutionStats: Aggregated stats from the execution of the query. Only
// present when ExplainOptions.analyze is set to true.
ExecutionStats *ExecutionStats `json:"executionStats,omitempty"`
// PlanSummary: Planning phase information for the query.
PlanSummary *PlanSummary `json:"planSummary,omitempty"`
// ForceSendFields is a list of field names (e.g. "ExecutionStats") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ExecutionStats") to include in
// API requests with the JSON null value. By default, fields with empty values
// are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s ExplainMetrics) MarshalJSON() ([]byte, error) {
type NoMethod ExplainMetrics
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// ExplainOptions: Explain options for the query.
type ExplainOptions struct {
// Analyze: Optional. Whether to execute this query. When false (the default),
// the query will be planned, returning only metrics from the planning stages.
// When true, the query will be planned and executed, returning the full query
// results along with both planning and execution stage metrics.
Analyze bool `json:"analyze,omitempty"`
// ForceSendFields is a list of field names (e.g. "Analyze") to unconditionally
// include in API requests. By default, fields with empty or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Analyze") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s ExplainOptions) MarshalJSON() ([]byte, error) {
type NoMethod ExplainOptions
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// ExplainStats: Pipeline explain stats. Depending on the explain options in
// the original request, this can contain the optimized plan and / or execution
// stats.
type ExplainStats struct {
// Data: The format depends on the `output_format` options in the request.
// Currently there are two supported options: `TEXT` and `JSON`. Both supply a
// `google.protobuf.StringValue`.
Data googleapi.RawMessage `json:"data,omitempty"`
// ForceSendFields is a list of field names (e.g. "Data") to unconditionally
// include in API requests. By default, fields with empty or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Data") to include in API requests
// with the JSON null value. By default, fields with empty values are omitted
// from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s ExplainStats) MarshalJSON() ([]byte, error) {
type NoMethod ExplainStats
return gensupport.MarshalJSON(NoMethod(s), 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`, subject to
// disjunction limits. * No `NOT_IN` filters in the same query.
// "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`, subject to disjunction limits. * No other `ARRAY_CONTAINS_ANY`
// filters within the same disjunction. * No `NOT_IN` filters in the same
// query.
// "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
// `OR`, `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 or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s FieldFilter) MarshalJSON() ([]byte, error) {
type NoMethod FieldFilter
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// FieldReference: A reference to a field in a document, ex:
// `stats.operations`.
type FieldReference struct {
// FieldPath: A reference to a field in a document. Requires: * MUST be a
// dot-delimited (`.`) string of segments, where each segment conforms to
// document field name limitations.
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 or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s FieldReference) MarshalJSON() ([]byte, error) {
type NoMethod FieldReference
return gensupport.MarshalJSON(NoMethod(s), 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 or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s FieldTransform) MarshalJSON() ([]byte, error) {
type NoMethod FieldTransform
return gensupport.MarshalJSON(NoMethod(s), 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 or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s Filter) MarshalJSON() ([]byte, error) {
type NoMethod Filter
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// FindNearest: Nearest Neighbors search config. The ordering provided by
// FindNearest supersedes the order_by stage. If multiple documents have the
// same vector distance, the returned document order is not guaranteed to be
// stable between queries.
type FindNearest struct {
// DistanceMeasure: Required. The distance measure to use, required.
//
// Possible values:
// "DISTANCE_MEASURE_UNSPECIFIED" - Should not be set.
// "EUCLIDEAN" - Measures the EUCLIDEAN distance between the vectors. See
// [Euclidean](https://en.wikipedia.org/wiki/Euclidean_distance) to learn more.
// The resulting distance decreases the more similar two vectors are.
// "COSINE" - COSINE distance compares vectors based on the angle between
// them, which allows you to measure similarity that isn't based on the vectors
// magnitude. We recommend using DOT_PRODUCT with unit normalized vectors
// instead of COSINE distance, which is mathematically equivalent with better
// performance. See [Cosine
// Similarity](https://en.wikipedia.org/wiki/Cosine_similarity) to learn more
// about COSINE similarity and COSINE distance. The resulting COSINE distance
// decreases the more similar two vectors are.
// "DOT_PRODUCT" - Similar to cosine but is affected by the magnitude of the
// vectors. See [Dot Product](https://en.wikipedia.org/wiki/Dot_product) to
// learn more. The resulting distance increases the more similar two vectors
// are.
DistanceMeasure string `json:"distanceMeasure,omitempty"`
// DistanceResultField: Optional. Optional name of the field to output the
// result of the vector distance calculation. Must conform to document field
// name limitations.
DistanceResultField string `json:"distanceResultField,omitempty"`
// DistanceThreshold: Optional. Option to specify a threshold for which no less
// similar documents will be returned. The behavior of the specified
// `distance_measure` will affect the meaning of the distance threshold. Since
// DOT_PRODUCT distances increase when the vectors are more similar, the
// comparison is inverted. * For EUCLIDEAN, COSINE: `WHERE distance <=
// distance_threshold` * For DOT_PRODUCT: `WHERE distance >=
// distance_threshold`
DistanceThreshold float64 `json:"distanceThreshold,omitempty"`
// Limit: Required. The number of nearest neighbors to return. Must be a
// positive integer of no more than 1000.
Limit int64 `json:"limit,omitempty"`
// QueryVector: Required. The query vector that we are searching on. Must be a
// vector of no more than 2048 dimensions.
QueryVector *Value `json:"queryVector,omitempty"`
// VectorField: Required. An indexed vector field to search upon. Only
// documents which contain vectors whose dimensionality match the query_vector
// can be returned.
VectorField *FieldReference `json:"vectorField,omitempty"`
// ForceSendFields is a list of field names (e.g. "DistanceMeasure") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "DistanceMeasure") to include in
// API requests with the JSON null value. By default, fields with empty values
// are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s FindNearest) MarshalJSON() ([]byte, error) {
type NoMethod FindNearest
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
func (s *FindNearest) UnmarshalJSON(data []byte) error {
type NoMethod FindNearest
var s1 struct {
DistanceThreshold gensupport.JSONFloat64 `json:"distanceThreshold"`
*NoMethod
}
s1.NoMethod = (*NoMethod)(s)
if err := json.Unmarshal(data, &s1); err != nil {
return err
}
s.DistanceThreshold = float64(s1.DistanceThreshold)
return nil
}
// Function: Represents an unevaluated scalar expression. For example, the
// expression `like(user_name, "%alice%")` is represented as: ``` name: "like"
// args { field_reference: "user_name" } args { string_value: "%alice%" } ```
type Function struct {
// Args: Optional. Ordered list of arguments the given function expects.
Args []*Value `json:"args,omitempty"`
// Name: Required. The name of the function to evaluate. **Requires:** * must
// be in snake case (lower case with underscore separator).
Name string `json:"name,omitempty"`
// Options: Optional. Optional named arguments that certain functions may
// support.
Options map[string]Value `json:"options,omitempty"`
// ForceSendFields is a list of field names (e.g. "Args") to unconditionally
// include in API requests. By default, fields with empty or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Args") to include in API requests
// with the JSON null value. By default, fields with empty values are omitted
// from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s Function) MarshalJSON() ([]byte, error) {
type NoMethod Function
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// GoogleFirestoreAdminV1Backup: A Backup of a Cloud Firestore Database. The
// backup contains all documents and index configurations for the given
// database at a specific point in time.
type GoogleFirestoreAdminV1Backup struct {
// Database: Output only. Name of the Firestore database that the backup is
// from. Format is `projects/{project}/databases/{database}`.
Database string `json:"database,omitempty"`
// DatabaseUid: Output only. The system-generated UUID4 for the Firestore
// database that the backup is from.
DatabaseUid string `json:"databaseUid,omitempty"`
// ExpireTime: Output only. The timestamp at which this backup expires.
ExpireTime string `json:"expireTime,omitempty"`
// Name: Output only. The unique resource name of the Backup. Format is
// `projects/{project}/locations/{location}/backups/{backup}`. The location in
// the name will be the Standard Managed Multi-Region (SMMR) location (e.g.
// `us`) if the backup was created with an SMMR location, or the Google Managed
// Multi-Region (GMMR) location (e.g. `nam5`) if the backup was created with a
// GMMR location.
Name string `json:"name,omitempty"`
// SnapshotTime: Output only. The backup contains an externally consistent copy
// of the database at this time.
SnapshotTime string `json:"snapshotTime,omitempty"`
// State: Output only. The current state of the backup.
//
// Possible values:
// "STATE_UNSPECIFIED" - The state is unspecified.
// "CREATING" - The pending backup is still being created. Operations on the
// backup will be rejected in this state.
// "READY" - The backup is complete and ready to use.
// "NOT_AVAILABLE" - The backup is not available at this moment.
State string `json:"state,omitempty"`
// Stats: Output only. Statistics about the backup. This data only becomes
// available after the backup is fully materialized to secondary storage. This
// field will be empty till then.
Stats *GoogleFirestoreAdminV1Stats `json:"stats,omitempty"`
// ServerResponse contains the HTTP response code and headers from the server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "Database") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Database") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s GoogleFirestoreAdminV1Backup) MarshalJSON() ([]byte, error) {
type NoMethod GoogleFirestoreAdminV1Backup
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// GoogleFirestoreAdminV1BackupSchedule: A backup schedule for a Cloud
// Firestore Database. This resource is owned by the database it is backing up,
// and is deleted along with the database. The actual backups are not though.
type GoogleFirestoreAdminV1BackupSchedule struct {
// CreateTime: Output only. The timestamp at which this backup schedule was
// created and effective since. No backups will be created for this schedule
// before this time.
CreateTime string `json:"createTime,omitempty"`
// DailyRecurrence: For a schedule that runs daily.
DailyRecurrence *GoogleFirestoreAdminV1DailyRecurrence `json:"dailyRecurrence,omitempty"`
// Name: Output only. The unique backup schedule identifier across all
// locations and databases for the given project. This will be auto-assigned.
// Format is
// `projects/{project}/databases/{database}/backupSchedules/{backup_schedule}`
Name string `json:"name,omitempty"`
// Retention: At what relative time in the future, compared to its creation
// time, the backup should be deleted, e.g. keep backups for 7 days. The
// maximum supported retention period is 14 weeks.
Retention string `json:"retention,omitempty"`
// UpdateTime: Output only. The timestamp at which this backup schedule was
// most recently updated. When a backup schedule is first created, this is the
// same as create_time.
UpdateTime string `json:"updateTime,omitempty"`
// WeeklyRecurrence: For a schedule that runs weekly on a specific day.
WeeklyRecurrence *GoogleFirestoreAdminV1WeeklyRecurrence `json:"weeklyRecurrence,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 or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s GoogleFirestoreAdminV1BackupSchedule) MarshalJSON() ([]byte, error) {
type NoMethod GoogleFirestoreAdminV1BackupSchedule
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// GoogleFirestoreAdminV1BackupSource: Information about a backup that was used
// to restore a database.
type GoogleFirestoreAdminV1BackupSource struct {
// Backup: The resource name of the backup that was used to restore this
// database. Format:
// `projects/{project}/locations/{location}/backups/{backup}`.
Backup string `json:"backup,omitempty"`
// ForceSendFields is a list of field names (e.g. "Backup") to unconditionally
// include in API requests. By default, fields with empty or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Backup") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s GoogleFirestoreAdminV1BackupSource) MarshalJSON() ([]byte, error) {
type NoMethod GoogleFirestoreAdminV1BackupSource
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// GoogleFirestoreAdminV1BulkDeleteDocumentsMetadata: Metadata for
// google.longrunning.Operation results from
// FirestoreAdmin.BulkDeleteDocuments.
type GoogleFirestoreAdminV1BulkDeleteDocumentsMetadata struct {
// CollectionIds: The IDs of the collection groups that are being deleted.
CollectionIds []string `json:"collectionIds,omitempty"`
// EndTime: The time this operation completed. Will be unset if operation still
// in progress.
EndTime string `json:"endTime,omitempty"`
// NamespaceIds: Which namespace IDs are being deleted.
NamespaceIds []string `json:"namespaceIds,omitempty"`
// OperationState: 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.
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"`
// SnapshotTime: The timestamp that corresponds to the version of the database
// that is being read to get the list of documents to delete. This time can
// also be used as the timestamp of PITR in case of disaster recovery (subject
// to PITR window limit).
SnapshotTime string `json:"snapshotTime,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 or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s GoogleFirestoreAdminV1BulkDeleteDocumentsMetadata) MarshalJSON() ([]byte, error) {
type NoMethod GoogleFirestoreAdminV1BulkDeleteDocumentsMetadata
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// GoogleFirestoreAdminV1BulkDeleteDocumentsRequest: The request for
// FirestoreAdmin.BulkDeleteDocuments. When both collection_ids and
// namespace_ids are set, only documents satisfying both conditions will be
// deleted. Requests with namespace_ids and collection_ids both empty will be
// rejected. Please use FirestoreAdmin.DeleteDatabase instead.
type GoogleFirestoreAdminV1BulkDeleteDocumentsRequest struct {
// CollectionIds: Optional. IDs of the collection groups to delete. Unspecified
// means all collection groups. Each collection group in this list must be
// unique.
CollectionIds []string `json:"collectionIds,omitempty"`
// NamespaceIds: Optional. Namespaces to delete. An empty list means all
// namespaces. This is the recommended usage for databases that don't use
// namespaces. An empty string element represents the default namespace. This
// should be used if the database has data in non-default namespaces, but
// doesn't want to delete from them. Each namespace in this list must be
// unique.
NamespaceIds []string `json:"namespaceIds,omitempty"`
// ForceSendFields is a list of field names (e.g. "CollectionIds") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s GoogleFirestoreAdminV1BulkDeleteDocumentsRequest) MarshalJSON() ([]byte, error) {
type NoMethod GoogleFirestoreAdminV1BulkDeleteDocumentsRequest
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// GoogleFirestoreAdminV1ChangeStream: A Change Stream is a resource that
// allows users to receive change notifications from a Firestore database.
type GoogleFirestoreAdminV1ChangeStream struct {
// CollectionGroupScope: If set, the change stream is scoped to a collection
// group.
CollectionGroupScope *GoogleFirestoreAdminV1CollectionGroupScope `json:"collectionGroupScope,omitempty"`
// CreateTime: Output only. The time the Change Stream was created.
CreateTime string `json:"createTime,omitempty"`
// DatabaseScope: If set, the change stream is scoped to the entire database.
DatabaseScope *GoogleFirestoreAdminV1DatabaseScope `json:"databaseScope,omitempty"`
// Etag: Optional. An etag used to determine which version of the configuration
// is being edited.
Etag string `json:"etag,omitempty"`
// Name: Identifier. The external resource name of the change stream. Format
// `projects/{project}/databases/{database}/changeStreams/{change_stream}`
Name string `json:"name,omitempty"`
// RetentionPeriod: Required. The retention period of the change stream. This
// is the amount of time a change event is available on the change stream. Must
// be from 1 to 7 days, inclusive. The retention_period must be in day
// granularity, i.e. it must be a multiple of 24 hours.
RetentionPeriod string `json:"retentionPeriod,omitempty"`
// StartTime: Output only. The time the Change Stream started recording events.
StartTime string `json:"startTime,omitempty"`
// UpdateTime: Output only. The time the Change Stream was last updated.
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. "CollectionGroupScope") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "CollectionGroupScope") to include
// in API requests with the JSON null value. By default, fields with empty
// values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s GoogleFirestoreAdminV1ChangeStream) MarshalJSON() ([]byte, error) {
type NoMethod GoogleFirestoreAdminV1ChangeStream
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// GoogleFirestoreAdminV1CloneDatabaseMetadata: Metadata for the long-running
// operation from the CloneDatabase request.
type GoogleFirestoreAdminV1CloneDatabaseMetadata struct {
// Database: The name of the database being cloned to.
Database string `json:"database,omitempty"`
// EndTime: The time the clone finished, unset for ongoing clones.
EndTime string `json:"endTime,omitempty"`
// OperationState: The operation state of the clone.
//
// 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"`
// PitrSnapshot: The snapshot from which this database was cloned.
PitrSnapshot *GoogleFirestoreAdminV1PitrSnapshot `json:"pitrSnapshot,omitempty"`
// ProgressPercentage: How far along the clone is as an estimated percentage of
// remaining time.
ProgressPercentage *GoogleFirestoreAdminV1Progress `json:"progressPercentage,omitempty"`
// StartTime: The time the clone was started.
StartTime string `json:"startTime,omitempty"`
// ForceSendFields is a list of field names (e.g. "Database") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Database") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s GoogleFirestoreAdminV1CloneDatabaseMetadata) MarshalJSON() ([]byte, error) {
type NoMethod GoogleFirestoreAdminV1CloneDatabaseMetadata
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// GoogleFirestoreAdminV1CloneDatabaseRequest: The request message for
// FirestoreAdmin.CloneDatabase.
type GoogleFirestoreAdminV1CloneDatabaseRequest struct {
// DatabaseId: Required. The ID to use for the database, which will become the
// final component of the database's resource name. This database ID must not
// be associated with an existing database. This value should be 4-63
// characters. Valid characters are /a-z-/ with first character a letter and
// the last a letter or a number. Must not be UUID-like
// /[0-9a-f]{8}(-[0-9a-f]{4}){3}-[0-9a-f]{12}/. "(default)" database ID is also
// valid if the database is Standard edition.
DatabaseId string `json:"databaseId,omitempty"`
// EncryptionConfig: Optional. Encryption configuration for the cloned
// database. If this field is not specified, the cloned database will use the
// same encryption configuration as the source database, namely
// use_source_encryption.
EncryptionConfig *GoogleFirestoreAdminV1EncryptionConfig `json:"encryptionConfig,omitempty"`
// PitrSnapshot: Required. Specification of the PITR data to clone from. The
// source database must exist. The cloned database will be created in the same
// location as the source database.
PitrSnapshot *GoogleFirestoreAdminV1PitrSnapshot `json:"pitrSnapshot,omitempty"`
// Tags: Optional. Immutable. Tags to be bound to the cloned database. The tags
// should be provided in the format of `tagKeys/{tag_key_id} ->
// tagValues/{tag_value_id}`.
Tags map[string]string `json:"tags,omitempty"`
// ForceSendFields is a list of field names (e.g. "DatabaseId") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "DatabaseId") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s GoogleFirestoreAdminV1CloneDatabaseRequest) MarshalJSON() ([]byte, error) {
type NoMethod GoogleFirestoreAdminV1CloneDatabaseRequest
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// GoogleFirestoreAdminV1CmekConfig: The CMEK (Customer Managed Encryption Key)
// configuration for a Firestore database. If not present, the database is
// secured by the default Google encryption key.
type GoogleFirestoreAdminV1CmekConfig struct {
// ActiveKeyVersion: Output only. Currently in-use KMS key versions
// (https://cloud.google.com/kms/docs/resource-hierarchy#key_versions). During
// key rotation (https://cloud.google.com/kms/docs/key-rotation), there can be
// multiple in-use key versions. The expected format is
// `projects/{project_id}/locations/{kms_location}/keyRings/{key_ring}/cryptoKey
// s/{crypto_key}/cryptoKeyVersions/{key_version}`.
ActiveKeyVersion []string `json:"activeKeyVersion,omitempty"`
// KmsKeyName: Required. Only keys in the same location as this database are
// allowed to be used for encryption. For Firestore's nam5 multi-region, this
// corresponds to Cloud KMS multi-region us. For Firestore's eur3 multi-region,
// this corresponds to Cloud KMS multi-region europe. See
// https://cloud.google.com/kms/docs/locations. The expected format is
// `projects/{project_id}/locations/{kms_location}/keyRings/{key_ring}/cryptoKey
// s/{crypto_key}`.
KmsKeyName string `json:"kmsKeyName,omitempty"`
// ForceSendFields is a list of field names (e.g. "ActiveKeyVersion") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ActiveKeyVersion") to include in
// API requests with the JSON null value. By default, fields with empty values
// are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s GoogleFirestoreAdminV1CmekConfig) MarshalJSON() ([]byte, error) {
type NoMethod GoogleFirestoreAdminV1CmekConfig
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// GoogleFirestoreAdminV1CollectionGroupScope: The change stream is scoped to a
// collection group. Only events associated with the given collection group are
// visible to the Change Stream. Only a single change stream can be enabled per
// collection group.
type GoogleFirestoreAdminV1CollectionGroupScope struct {
// CollectionGroupId: Required. The collection group name.
CollectionGroupId string `json:"collectionGroupId,omitempty"`
// ForceSendFields is a list of field names (e.g. "CollectionGroupId") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "CollectionGroupId") to include in
// API requests with the JSON null value. By default, fields with empty values
// are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s GoogleFirestoreAdminV1CollectionGroupScope) MarshalJSON() ([]byte, error) {
type NoMethod GoogleFirestoreAdminV1CollectionGroupScope
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// GoogleFirestoreAdminV1CreateDatabaseMetadata: Metadata related to the create
// database operation.
type GoogleFirestoreAdminV1CreateDatabaseMetadata struct {
}
// GoogleFirestoreAdminV1CustomerManagedEncryptionOptions: The configuration
// options for using CMEK (Customer Managed Encryption Key) encryption.
type GoogleFirestoreAdminV1CustomerManagedEncryptionOptions struct {
// KmsKeyName: Required. Only keys in the same location as the database are
// allowed to be used for encryption. For Firestore's nam5 multi-region, this
// corresponds to Cloud KMS multi-region us. For Firestore's eur3 multi-region,
// this corresponds to Cloud KMS multi-region europe. See
// https://cloud.google.com/kms/docs/locations. The expected format is
// `projects/{project_id}/locations/{kms_location}/keyRings/{key_ring}/cryptoKey
// s/{crypto_key}`.
KmsKeyName string `json:"kmsKeyName,omitempty"`
// ForceSendFields is a list of field names (e.g. "KmsKeyName") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "KmsKeyName") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s GoogleFirestoreAdminV1CustomerManagedEncryptionOptions) MarshalJSON() ([]byte, error) {
type NoMethod GoogleFirestoreAdminV1CustomerManagedEncryptionOptions
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// GoogleFirestoreAdminV1DailyRecurrence: Represents a recurring schedule that
// runs every day. The time zone is UTC.
type GoogleFirestoreAdminV1DailyRecurrence struct {
}
// GoogleFirestoreAdminV1Database: A Cloud Firestore Database.
type GoogleFirestoreAdminV1Database struct {
// AppEngineIntegrationMode: The App Engine integration mode to use for this
// database.
//
// Possible values:
// "APP_ENGINE_INTEGRATION_MODE_UNSPECIFIED" - Not used.
// "ENABLED" - If an App Engine application exists in the same region as this
// database, App Engine configuration will impact this database. This includes
// disabling of the application & database, as well as disabling writes to the
// database.
// "DISABLED" - App Engine has no effect on the ability of this database to
// serve requests. This is the default setting for databases created with the
// Firestore API.
AppEngineIntegrationMode string `json:"appEngineIntegrationMode,omitempty"`
// CmekConfig: Optional. Presence indicates CMEK is enabled for this database.
CmekConfig *GoogleFirestoreAdminV1CmekConfig `json:"cmekConfig,omitempty"`
// ConcurrencyMode: The default concurrency control mode to use for this
// database. If unspecified in a CreateDatabase request, this will default
// based on the database edition: Optimistic for Enterprise and Pessimistic for
// all other databases. While transactions can explicitly specify their own
// concurrency mode, this setting defines the default behavior when left
// unspecified. Important: This database-level setting is not respected for
// Firestore with MongoDB compatibility. All transactions through the MongoDB
// compatibility layer will use optimistic concurrency control, regardless of
// this setting.
//
// Possible values:
// "CONCURRENCY_MODE_UNSPECIFIED" - Not used.
// "OPTIMISTIC" - Use optimistic concurrency control by default. This mode is
// available for Cloud Firestore databases. This is the default setting for
// Cloud Firestore Enterprise edition databases.
// "PESSIMISTIC" - Use pessimistic concurrency control by default. This mode
// is available for Cloud Firestore databases. This is the default setting for
// Cloud Firestore Standard edition databases.
// "OPTIMISTIC_WITH_ENTITY_GROUPS" - Use optimistic concurrency control with
// entity groups by default. This mode is enabled for some databases that were
// automatically upgraded from Cloud Datastore to Cloud Firestore with
// Datastore Mode. It is not recommended for any new databases, and not
// supported for Firestore Native databases.
ConcurrencyMode string `json:"concurrencyMode,omitempty"`
// CreateTime: Output only. The timestamp at which this database was created.
// Databases created before 2016 do not populate create_time.
CreateTime string `json:"createTime,omitempty"`
// DatabaseEdition: Immutable. The edition of the database.
//
// Possible values:
// "DATABASE_EDITION_UNSPECIFIED" - Not used.
// "STANDARD" - Standard edition. This is the default setting if not
// specified.
// "ENTERPRISE" - Enterprise edition.
DatabaseEdition string `json:"databaseEdition,omitempty"`
// DeleteProtectionState: State of delete protection for the database.
//
// Possible values:
// "DELETE_PROTECTION_STATE_UNSPECIFIED" - The default value. Delete
// protection type is not specified
// "DELETE_PROTECTION_DISABLED" - Delete protection is disabled
// "DELETE_PROTECTION_ENABLED" - Delete protection is enabled
DeleteProtectionState string `json:"deleteProtectionState,omitempty"`
// DeleteTime: Output only. The timestamp at which this database was deleted.
// Only set if the database has been deleted.
DeleteTime string `json:"deleteTime,omitempty"`
// EarliestVersionTime: Output only. The earliest timestamp at which older
// versions of the data can be read from the database. See
// [version_retention_period] above; this field is populated with `now -
// version_retention_period`. This value is continuously updated, and becomes
// stale the moment it is queried. If you are using this value to recover data,
// make sure to account for the time from the moment when the value is queried
// to the moment when you initiate the recovery.
EarliestVersionTime string `json:"earliestVersionTime,omitempty"`
// Etag: This checksum is computed by the server based on the value of other
// fields, and may be sent on update and delete requests to ensure the client
// has an up-to-date value before proceeding.
Etag string `json:"etag,omitempty"`
// FirestoreDataAccessMode: Optional. The Firestore API data access mode to use
// for this database. If not set on write: - the default value is
// DATA_ACCESS_MODE_DISABLED for Enterprise edition. - the default value is
// DATA_ACCESS_MODE_ENABLED for Standard edition.
//
// Possible values:
// "DATA_ACCESS_MODE_UNSPECIFIED" - Not Used.
// "DATA_ACCESS_MODE_ENABLED" - Accessing the database through the API is
// allowed.
// "DATA_ACCESS_MODE_DISABLED" - Accessing the database through the API is
// disallowed.
FirestoreDataAccessMode string `json:"firestoreDataAccessMode,omitempty"`
// FreeTier: Output only. Background: Free tier is the ability of a Firestore
// database to use a small amount of resources every day without being charged.
// Once usage exceeds the free tier limit further usage is charged. Whether
// this database can make use of the free tier. Only one database per project
// can be eligible for the free tier. The first (or next) database that is
// created in a project without a free tier database will be marked as eligible
// for the free tier. Databases that are created while there is a free tier
// database will not be eligible for the free tier.
FreeTier bool `json:"freeTier,omitempty"`
// KeyPrefix: Output only. The key_prefix for this database. This key_prefix is
// used, in combination with the project ID ("~") to construct the application
// ID that is returned from the Cloud Datastore APIs in Google App Engine first
// generation runtimes. This value may be empty in which case the appid to use
// for URL-encoded keys is the project_id (eg: foo instead of v~foo).
KeyPrefix string `json:"keyPrefix,omitempty"`
// LocationId: Required. The location of the database. Available locations are
// listed at https://cloud.google.com/firestore/docs/locations.
LocationId string `json:"locationId,omitempty"`
// MongodbCompatibleDataAccessMode: Optional. The MongoDB compatible API data
// access mode to use for this database. If not set on write, the default value
// is DATA_ACCESS_MODE_ENABLED for Enterprise edition. The value is always
// DATA_ACCESS_MODE_DISABLED for Standard edition.
//
// Possible values:
// "DATA_ACCESS_MODE_UNSPECIFIED" - Not Used.
// "DATA_ACCESS_MODE_ENABLED" - Accessing the database through the API is
// allowed.
// "DATA_ACCESS_MODE_DISABLED" - Accessing the database through the API is
// disallowed.
MongodbCompatibleDataAccessMode string `json:"mongodbCompatibleDataAccessMode,omitempty"`
// Name: The resource name of the Database. Format:
// `projects/{project}/databases/{database}`
Name string `json:"name,omitempty"`
// PointInTimeRecoveryEnablement: Whether to enable the PITR feature on this
// database.
//
// Possible values:
// "POINT_IN_TIME_RECOVERY_ENABLEMENT_UNSPECIFIED" - Not used.
// "POINT_IN_TIME_RECOVERY_ENABLED" - Reads are supported on selected
// versions of the data from within the past 7 days: * Reads against any
// timestamp within the past hour * Reads against 1-minute snapshots beyond 1
// hour and within 7 days `version_retention_period` and
// `earliest_version_time` can be used to determine the supported versions.
// "POINT_IN_TIME_RECOVERY_DISABLED" - Reads are supported on any version of
// the data from within the past 1 hour.
PointInTimeRecoveryEnablement string `json:"pointInTimeRecoveryEnablement,omitempty"`
// PreviousId: Output only. The database resource's prior database ID. This
// field is only populated for deleted databases.
PreviousId string `json:"previousId,omitempty"`
// RealtimeUpdatesMode: Immutable. The default Realtime Updates mode to use for
// this database.
//
// Possible values:
// "REALTIME_UPDATES_MODE_UNSPECIFIED" - The Realtime Updates feature is not
// specified.
// "REALTIME_UPDATES_MODE_ENABLED" - The Realtime Updates feature is enabled
// by default. This could potentially degrade write performance for the
// database.
// "REALTIME_UPDATES_MODE_DISABLED" - The Realtime Updates feature is
// disabled by default.
RealtimeUpdatesMode string `json:"realtimeUpdatesMode,omitempty"`
// SourceInfo: Output only. Information about the provenance of this database.
SourceInfo *GoogleFirestoreAdminV1SourceInfo `json:"sourceInfo,omitempty"`
// Tags: Optional. Input only. Immutable. Tag keys/values directly bound to
// this resource. For example: "123/environment": "production",
// "123/costCenter": "marketing"
Tags map[string]string `json:"tags,omitempty"`
// Type: Required. The type of the database. See
// https://cloud.google.com/datastore/docs/firestore-or-datastore for
// information about how to choose.
//
// Possible values:
// "DATABASE_TYPE_UNSPECIFIED" - Not used.
// "FIRESTORE_NATIVE" - Firestore Native Mode
// "DATASTORE_MODE" - Firestore in Datastore Mode.
Type string `json:"type,omitempty"`
// Uid: Output only. The system-generated UUID4 for this Database.
Uid string `json:"uid,omitempty"`
// UpdateTime: Output only. The timestamp at which this database was most
// recently updated. Note this only includes updates to the database resource
// and not data contained by the database.
UpdateTime string `json:"updateTime,omitempty"`
// VersionRetentionPeriod: Output only. The period during which past versions
// of data are retained in the database. Any read or query can specify a
// `read_time` within this window, and will read the state of the database at
// that time. If the PITR feature is enabled, the retention period is 7 days.
// Otherwise, the retention period is 1 hour.
VersionRetentionPeriod string `json:"versionRetentionPeriod,omitempty"`
// ServerResponse contains the HTTP response code and headers from the server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "AppEngineIntegrationMode")
// to unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "AppEngineIntegrationMode") to
// include in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s GoogleFirestoreAdminV1Database) MarshalJSON() ([]byte, error) {
type NoMethod GoogleFirestoreAdminV1Database
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// GoogleFirestoreAdminV1DatabaseScope: The change stream is scoped to the
// entire database. All events in the database are visible to the Change
// Stream. One Database scope Change Stream is allowed per database.
type GoogleFirestoreAdminV1DatabaseScope struct {
}
// GoogleFirestoreAdminV1DeleteDatabaseMetadata: Metadata related to the delete
// database operation.
type GoogleFirestoreAdminV1DeleteDatabaseMetadata struct {
}
// GoogleFirestoreAdminV1DisableUserCredsRequest: The request for
// FirestoreAdmin.DisableUserCreds.
type GoogleFirestoreAdminV1DisableUserCredsRequest struct {
}
// GoogleFirestoreAdminV1EnableUserCredsRequest: The request for
// FirestoreAdmin.EnableUserCreds.
type GoogleFirestoreAdminV1EnableUserCredsRequest struct {
}
// GoogleFirestoreAdminV1EncryptionConfig: Encryption configuration for a new
// database being created from another source. The source could be a Backup or
// a PitrSnapshot.
type GoogleFirestoreAdminV1EncryptionConfig struct {
// CustomerManagedEncryption: Use Customer Managed Encryption Keys (CMEK) for
// encryption.
CustomerManagedEncryption *GoogleFirestoreAdminV1CustomerManagedEncryptionOptions `json:"customerManagedEncryption,omitempty"`
// GoogleDefaultEncryption: Use Google default encryption.
GoogleDefaultEncryption *GoogleFirestoreAdminV1GoogleDefaultEncryptionOptions `json:"googleDefaultEncryption,omitempty"`
// UseSourceEncryption: The database will use the same encryption configuration
// as the source.
UseSourceEncryption *GoogleFirestoreAdminV1SourceEncryptionOptions `json:"useSourceEncryption,omitempty"`
// ForceSendFields is a list of field names (e.g. "CustomerManagedEncryption")
// to unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "CustomerManagedEncryption") to
// include in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s GoogleFirestoreAdminV1EncryptionConfig) MarshalJSON() ([]byte, error) {
type NoMethod GoogleFirestoreAdminV1EncryptionConfig
return gensupport.MarshalJSON(NoMethod(s), 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"`
// NamespaceIds: Which namespace IDs are being exported.
NamespaceIds []string `json:"namespaceIds,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 documents 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"`
// SnapshotTime: The timestamp that corresponds to the version of the database
// that is being exported. If unspecified, there are no guarantees about the
// consistency of the documents being exported.
SnapshotTime string `json:"snapshotTime,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 or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s GoogleFirestoreAdminV1ExportDocumentsMetadata) MarshalJSON() ([]byte, error) {
type NoMethod GoogleFirestoreAdminV1ExportDocumentsMetadata
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// GoogleFirestoreAdminV1ExportDocumentsRequest: The request for
// FirestoreAdmin.ExportDocuments.
type GoogleFirestoreAdminV1ExportDocumentsRequest struct {
// CollectionIds: IDs of the collection groups to export. Unspecified means all
// collection groups. Each collection group in this list must be unique.
CollectionIds []string `json:"collectionIds,omitempty"`
// NamespaceIds: An empty list represents all namespaces. This is the preferred
// usage for databases that don't use namespaces. An empty string element
// represents the default namespace. This should be used if the database has
// data in non-default namespaces, but doesn't want to include them. Each
// namespace in this list must be unique.
NamespaceIds []string `json:"namespaceIds,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"`
// SnapshotTime: The timestamp that corresponds to the version of the database
// to be exported. The timestamp must be in the past, rounded to the minute and
// not older than earliestVersionTime. If specified, then the exported
// documents will represent a consistent view of the database at the provided
// time. Otherwise, there are no guarantees about the consistency of the
// exported documents.
SnapshotTime string `json:"snapshotTime,omitempty"`
// ForceSendFields is a list of field names (e.g. "CollectionIds") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s GoogleFirestoreAdminV1ExportDocumentsRequest) MarshalJSON() ([]byte, error) {
type NoMethod GoogleFirestoreAdminV1ExportDocumentsRequest
return gensupport.MarshalJSON(NoMethod(s), 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 or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s GoogleFirestoreAdminV1ExportDocumentsResponse) MarshalJSON() ([]byte, error) {
type NoMethod GoogleFirestoreAdminV1ExportDocumentsResponse
return gensupport.MarshalJSON(NoMethod(s), 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: Required. A field name of the form:
// `projects/{project_id}/databases/{database_id}/collectionGroups/{collection_i
// d}/fields/{field_path}` A field path can 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 can be quoted using `` ` `` (backtick). The only
// character that must 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: `` `address.city` ``
// represents a field named `address.city`, not the map key `city` in the field
// `address`. `` `*` `` represents a field named `*`, not any field. A special
// `Field` contains the default indexing settings for all fields. This field's
// resource name is:
// `projects/{project_id}/databases/{database_id}/collectionGroups/__default__/f
// ields/*` 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"`
// TtlConfig: The TTL configuration for this `Field`. Setting or unsetting this
// will enable or disable the TTL for documents that have this `Field`.
TtlConfig *GoogleFirestoreAdminV1TtlConfig `json:"ttlConfig,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 or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s GoogleFirestoreAdminV1Field) MarshalJSON() ([]byte, error) {
type NoMethod GoogleFirestoreAdminV1Field
return gensupport.MarshalJSON(NoMethod(s), 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/{collection_i
// d}/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"`
// TtlConfigDelta: Describes the deltas of TTL configuration.
TtlConfigDelta *GoogleFirestoreAdminV1TtlConfigDelta `json:"ttlConfigDelta,omitempty"`
// ForceSendFields is a list of field names (e.g. "EndTime") to unconditionally
// include in API requests. By default, fields with empty or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s GoogleFirestoreAdminV1FieldOperationMetadata) MarshalJSON() ([]byte, error) {
type NoMethod GoogleFirestoreAdminV1FieldOperationMetadata
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// GoogleFirestoreAdminV1FlatIndex: An index that stores vectors in a flat data
// structure, and supports exhaustive search.
type GoogleFirestoreAdminV1FlatIndex struct {
}
// GoogleFirestoreAdminV1GoogleDefaultEncryptionOptions: The configuration
// options for using Google default encryption.
type GoogleFirestoreAdminV1GoogleDefaultEncryptionOptions struct {
}
// 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"`
// NamespaceIds: Which namespace IDs are being imported.
NamespaceIds []string `json:"namespaceIds,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 or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s GoogleFirestoreAdminV1ImportDocumentsMetadata) MarshalJSON() ([]byte, error) {
type NoMethod GoogleFirestoreAdminV1ImportDocumentsMetadata
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// GoogleFirestoreAdminV1ImportDocumentsRequest: The request for
// FirestoreAdmin.ImportDocuments.
type GoogleFirestoreAdminV1ImportDocumentsRequest struct {
// CollectionIds: IDs of the collection groups to import. Unspecified means all
// collection groups that were included in the export. Each collection group in
// this list must be unique.
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"`
// NamespaceIds: An empty list represents all namespaces. This is the preferred
// usage for databases that don't use namespaces. An empty string element
// represents the default namespace. This should be used if the database has
// data in non-default namespaces, but doesn't want to include them. Each
// namespace in this list must be unique.
NamespaceIds []string `json:"namespaceIds,omitempty"`
// ForceSendFields is a list of field names (e.g. "CollectionIds") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s GoogleFirestoreAdminV1ImportDocumentsRequest) MarshalJSON() ([]byte, error) {
type NoMethod GoogleFirestoreAdminV1ImportDocumentsRequest
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// GoogleFirestoreAdminV1Index: Cloud Firestore indexes enable simple and
// complex queries against documents in a database. In Standard edition
// databases, single-field indexes are managed using the
// google.firestore.admin.v1.Field resource, and composite indexes are managed
// using the google.firestore.admin.v1.Index resource. In Enterprise edition
// databases, both single-field and composite indexes are managed using the
// google.firestore.admin.v1.Index resource.
type GoogleFirestoreAdminV1Index struct {
// ApiScope: The API scope supported by this index.
//
// Possible values:
// "ANY_API" - The index can only be used by the Firestore Native query API.
// This is the default.
// "DATASTORE_MODE_API" - The index can only be used by the Firestore in
// Datastore Mode query API.
// "MONGODB_COMPATIBLE_API" - The index can only be used by the
// MONGODB_COMPATIBLE_API.
ApiScope string `json:"apiScope,omitempty"`
// Density: Immutable. The density configuration of the index.
//
// Possible values:
// "DENSITY_UNSPECIFIED" - Unspecified. It will use database default setting.
// This value is input only.
// "SPARSE_ALL" - An index entry will only exist if ALL fields are present in
// the document. This is both the default and only allowed value for Standard
// edition databases (for both Cloud Firestore `ANY_API` and Cloud Datastore
// `DATASTORE_MODE_API`). Take for example the following document: ``` {
// "__name__": "...", "a": 1, "b": 2, "c": 3 } ``` an index on `(a ASC, b ASC,
// c ASC, __name__ ASC)` will generate an index entry for this document since
// `a`, 'b', `c`, and `__name__` are all present but an index of `(a ASC, d
// ASC, __name__ ASC)` will not generate an index entry for this document since
// `d` is missing. This means that such indexes can only be used to serve a
// query when the query has either implicit or explicit requirements that all
// fields from the index are present.
// "SPARSE_ANY" - An index entry will exist if ANY field are present in the
// document. This is used as the definition of a sparse index for Enterprise
// edition databases. Take for example the following document: ``` {
// "__name__": "...", "a": 1, "b": 2, "c": 3 } ``` an index on `(a ASC, d ASC)`
// will generate an index entry for this document since `a` is present, and
// will fill in an `unset` value for `d`. An index on `(d ASC, e ASC)` will not
// generate any index entry as neither `d` nor `e` are present. An index that
// contains `__name__` will generate an index entry for all documents since
// Firestore guarantees that all documents have a `__name__` field.
// "DENSE" - An index entry will exist regardless of if the fields are
// present or not. This is the default density for an Enterprise edition
// database. The index will store `unset` values for fields that are not
// present in the document.
Density string `json:"density,omitempty"`
// Fields: The fields supported by this index. At most 100 fields may be
// specified. In Standard edition databases only: - At least 2 fields must be
// specified. - 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 the index is not directional, the `__name__`
// will be ordered ASCENDING (unless explicitly specified).
Fields []*GoogleFirestoreAdminV1IndexField `json:"fields,omitempty"`
// Multikey: Optional. Whether the index is multikey. By default, the index is
// not multikey. For non-multikey indexes, none of the paths in the index
// definition reach or traverse an array, except via an explicit array index.
// For multikey indexes, at most one of the paths in the index definition reach
// or traverse an array, except via an explicit array index. Violations will
// result in errors. Note this field only applies to index with
// MONGODB_COMPATIBLE_API ApiScope.
Multikey bool `json:"multikey,omitempty"`
// Name: A server-defined name for this index. Output only. When used in the
// google.firestore.admin.v1.Index resource, the value is of the form:
// `projects/{project_id}/databases/{database_id}/collectionGroups/{collection_i
// d}/indexes/{index_id}` When used in the google.firestore.admin.v1.Field
// resource, the value is 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.
// "COLLECTION_RECURSIVE" - Include all the collections's ancestor in the
// index. Only available for Datastore Mode databases.
QueryScope string `json:"queryScope,omitempty"`
// SearchIndexOptions: Optional. Options for search indexes that are at the
// index definition level. This field is only currently supported for indexes
// with MONGODB_COMPATIBLE_API ApiScope.
SearchIndexOptions *GoogleFirestoreAdminV1SearchIndexOptions `json:"searchIndexOptions,omitempty"`
// ShardCount: Optional. The number of shards for the index.
ShardCount int64 `json:"shardCount,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"`
// Unique: Optional. Whether it is an unique index. Unique index ensures all
// values for the indexed field(s) are unique across documents.
Unique bool `json:"unique,omitempty"`
// ServerResponse contains the HTTP response code and headers from the server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "ApiScope") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ApiScope") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s GoogleFirestoreAdminV1Index) MarshalJSON() ([]byte, error) {
type NoMethod GoogleFirestoreAdminV1Index
return gensupport.MarshalJSON(NoMethod(s), 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 or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s GoogleFirestoreAdminV1IndexConfig) MarshalJSON() ([]byte, error) {
type NoMethod GoogleFirestoreAdminV1IndexConfig
return gensupport.MarshalJSON(NoMethod(s), 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 or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s GoogleFirestoreAdminV1IndexConfigDelta) MarshalJSON() ([]byte, error) {
type NoMethod GoogleFirestoreAdminV1IndexConfigDelta
return gensupport.MarshalJSON(NoMethod(s), 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"`
// SearchConfig: Indicates that this field supports search operations.
SearchConfig *GoogleFirestoreAdminV1SearchConfig `json:"searchConfig,omitempty"`
// VectorConfig: Indicates that this field supports nearest neighbor and
// distance operations on vector.
VectorConfig *GoogleFirestoreAdminV1VectorConfig `json:"vectorConfig,omitempty"`
// ForceSendFields is a list of field names (e.g. "ArrayConfig") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s GoogleFirestoreAdminV1IndexField) MarshalJSON() ([]byte, error) {
type NoMethod GoogleFirestoreAdminV1IndexField
return gensupport.MarshalJSON(NoMethod(s), 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/{collection_i
// d}/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 or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s GoogleFirestoreAdminV1IndexOperationMetadata) MarshalJSON() ([]byte, error) {
type NoMethod GoogleFirestoreAdminV1IndexOperationMetadata
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// GoogleFirestoreAdminV1ListBackupSchedulesResponse: The response for
// FirestoreAdmin.ListBackupSchedules.
type GoogleFirestoreAdminV1ListBackupSchedulesResponse struct {
// BackupSchedules: List of all backup schedules.
BackupSchedules []*GoogleFirestoreAdminV1BackupSchedule `json:"backupSchedules,omitempty"`
// ServerResponse contains the HTTP response code and headers from the server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "BackupSchedules") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "BackupSchedules") to include in
// API requests with the JSON null value. By default, fields with empty values
// are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s GoogleFirestoreAdminV1ListBackupSchedulesResponse) MarshalJSON() ([]byte, error) {
type NoMethod GoogleFirestoreAdminV1ListBackupSchedulesResponse
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// GoogleFirestoreAdminV1ListBackupsResponse: The response for
// FirestoreAdmin.ListBackups.
type GoogleFirestoreAdminV1ListBackupsResponse struct {
// Backups: List of all backups for the project.
Backups []*GoogleFirestoreAdminV1Backup `json:"backups,omitempty"`
// Unreachable: List of locations that existing backups were not able to be
// fetched from. Instead of failing the entire requests when a single location
// is unreachable, this response returns a partial result set and list of
// locations unable to be reached here. The request can be retried against a
// single location to get a concrete error.
Unreachable []string `json:"unreachable,omitempty"`
// ServerResponse contains the HTTP response code and headers from the server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "Backups") to unconditionally
// include in API requests. By default, fields with empty or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Backups") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s GoogleFirestoreAdminV1ListBackupsResponse) MarshalJSON() ([]byte, error) {
type NoMethod GoogleFirestoreAdminV1ListBackupsResponse
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// GoogleFirestoreAdminV1ListChangeStreamsResponse: Response to
// FirestoreAdmin.ListChangeStreams.
type GoogleFirestoreAdminV1ListChangeStreamsResponse struct {
// ChangeStreams: The list of change streams.
ChangeStreams []*GoogleFirestoreAdminV1ChangeStream `json:"changeStreams,omitempty"`
// ServerResponse contains the HTTP response code and headers from the server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "ChangeStreams") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ChangeStreams") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s GoogleFirestoreAdminV1ListChangeStreamsResponse) MarshalJSON() ([]byte, error) {
type NoMethod GoogleFirestoreAdminV1ListChangeStreamsResponse
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// GoogleFirestoreAdminV1ListDatabasesResponse: The list of databases for a
// project.
type GoogleFirestoreAdminV1ListDatabasesResponse struct {
// Databases: The databases in the project.
Databases []*GoogleFirestoreAdminV1Database `json:"databases,omitempty"`
// Unreachable: In the event that data about individual databases cannot be
// listed they will be recorded here. An example entry might be:
// projects/some_project/locations/some_location This can happen if the Cloud
// Region that the Database resides in is currently unavailable. In this case
// we can't fetch all the details about the database. You may be able to get a
// more detailed error message (or possibly fetch the resource) by sending a
// 'Get' request for the resource or a 'List' request for the specific
// location.
Unreachable []string `json:"unreachable,omitempty"`
// ServerResponse contains the HTTP response code and headers from the server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "Databases") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Databases") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s GoogleFirestoreAdminV1ListDatabasesResponse) MarshalJSON() ([]byte, error) {
type NoMethod GoogleFirestoreAdminV1ListDatabasesResponse
return gensupport.MarshalJSON(NoMethod(s), 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 or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s GoogleFirestoreAdminV1ListFieldsResponse) MarshalJSON() ([]byte, error) {
type NoMethod GoogleFirestoreAdminV1ListFieldsResponse
return gensupport.MarshalJSON(NoMethod(s), 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 or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s GoogleFirestoreAdminV1ListIndexesResponse) MarshalJSON() ([]byte, error) {
type NoMethod GoogleFirestoreAdminV1ListIndexesResponse
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// GoogleFirestoreAdminV1ListUserCredsResponse: The response for
// FirestoreAdmin.ListUserCreds.
type GoogleFirestoreAdminV1ListUserCredsResponse struct {
// UserCreds: The user creds for the database.
UserCreds []*GoogleFirestoreAdminV1UserCreds `json:"userCreds,omitempty"`
// ServerResponse contains the HTTP response code and headers from the server.
googleapi.ServerResponse `json:"-"`
// ForceSendFields is a list of field names (e.g. "UserCreds") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "UserCreds") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s GoogleFirestoreAdminV1ListUserCredsResponse) MarshalJSON() ([]byte, error) {
type NoMethod GoogleFirestoreAdminV1ListUserCredsResponse
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// GoogleFirestoreAdminV1LocationMetadata: The metadata message for
// google.cloud.location.Location.metadata.
type GoogleFirestoreAdminV1LocationMetadata struct {
}
// GoogleFirestoreAdminV1PitrSnapshot: A consistent snapshot of a database at a
// specific point in time. A PITR (Point-in-time recovery) snapshot with
// previous versions of a database's data is available for every minute up to
// the associated database's data retention period. If the PITR feature is
// enabled, the retention period is 7 days; otherwise, it is one hour.
type GoogleFirestoreAdminV1PitrSnapshot struct {
// Database: Required. The name of the database that this was a snapshot of.
// Format: `projects/{project}/databases/{database}`.
Database string `json:"database,omitempty"`
// DatabaseUid: Output only. Public UUID of the database the snapshot was
// associated with.
DatabaseUid string `json:"databaseUid,omitempty"`
// SnapshotTime: Required. Snapshot time of the database.
SnapshotTime string `json:"snapshotTime,omitempty"`
// ForceSendFields is a list of field names (e.g. "Database") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Database") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s GoogleFirestoreAdminV1PitrSnapshot) MarshalJSON() ([]byte, error) {
type NoMethod GoogleFirestoreAdminV1PitrSnapshot
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// 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 or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s GoogleFirestoreAdminV1Progress) MarshalJSON() ([]byte, error) {
type NoMethod GoogleFirestoreAdminV1Progress
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// GoogleFirestoreAdminV1ResetUserPasswordRequest: The request for
// FirestoreAdmin.ResetUserPassword.
type GoogleFirestoreAdminV1ResetUserPasswordRequest struct {
}
// GoogleFirestoreAdminV1ResourceIdentity: Describes a Resource Identity
// principal.
type GoogleFirestoreAdminV1ResourceIdentity struct {
// Principal: Output only. Principal identifier string. See:
// https://cloud.google.com/iam/docs/principal-identifiers
Principal string `json:"principal,omitempty"`
// ForceSendFields is a list of field names (e.g. "Principal") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Principal") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s GoogleFirestoreAdminV1ResourceIdentity) MarshalJSON() ([]byte, error) {
type NoMethod GoogleFirestoreAdminV1ResourceIdentity
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// GoogleFirestoreAdminV1RestoreDatabaseMetadata: Metadata for the long-running
// operation from the RestoreDatabase request.
type GoogleFirestoreAdminV1RestoreDatabaseMetadata struct {
// Backup: The name of the backup restoring from.
Backup string `json:"backup,omitempty"`
// Database: The name of the database being restored to.
Database string `json:"database,omitempty"`
// EndTime: The time the restore finished, unset for ongoing restores.
EndTime string `json:"endTime,omitempty"`
// OperationState: The operation state of the restore.
//
// 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"`
// ProgressPercentage: How far along the restore is as an estimated percentage
// of remaining time.
ProgressPercentage *GoogleFirestoreAdminV1Progress `json:"progressPercentage,omitempty"`
// StartTime: The time the restore was started.
StartTime string `json:"startTime,omitempty"`
// ForceSendFields is a list of field names (e.g. "Backup") to unconditionally
// include in API requests. By default, fields with empty or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Backup") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s GoogleFirestoreAdminV1RestoreDatabaseMetadata) MarshalJSON() ([]byte, error) {
type NoMethod GoogleFirestoreAdminV1RestoreDatabaseMetadata
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// GoogleFirestoreAdminV1RestoreDatabaseRequest: The request message for
// FirestoreAdmin.RestoreDatabase.
type GoogleFirestoreAdminV1RestoreDatabaseRequest struct {
// Backup: Required. Backup to restore from. Must be from the same project as
// the parent. The restored database will be created in the same location as
// the source backup. Format is:
// `projects/{project_id}/locations/{location}/backups/{backup}`
Backup string `json:"backup,omitempty"`
// DatabaseId: Required. The ID to use for the database, which will become the
// final component of the database's resource name. This database ID must not
// be associated with an existing database. This value should be 4-63
// characters. Valid characters are /a-z-/ with first character a letter and
// the last a letter or a number. Must not be UUID-like
// /[0-9a-f]{8}(-[0-9a-f]{4}){3}-[0-9a-f]{12}/. "(default)" database ID is also
// valid if the database is Standard edition.
DatabaseId string `json:"databaseId,omitempty"`
// EncryptionConfig: Optional. Encryption configuration for the restored
// database. If this field is not specified, the restored database will use the
// same encryption configuration as the backup, namely use_source_encryption.
EncryptionConfig *GoogleFirestoreAdminV1EncryptionConfig `json:"encryptionConfig,omitempty"`
// Tags: Optional. Immutable. Tags to be bound to the restored database. The
// tags should be provided in the format of `tagKeys/{tag_key_id} ->
// tagValues/{tag_value_id}`.
Tags map[string]string `json:"tags,omitempty"`
// ForceSendFields is a list of field names (e.g. "Backup") to unconditionally
// include in API requests. By default, fields with empty or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Backup") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s GoogleFirestoreAdminV1RestoreDatabaseRequest) MarshalJSON() ([]byte, error) {
type NoMethod GoogleFirestoreAdminV1RestoreDatabaseRequest
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// GoogleFirestoreAdminV1SearchConfig: The configuration for how to index a
// field for search.
type GoogleFirestoreAdminV1SearchConfig struct {
// GeoSpec: Optional. The specification for building a geo search index for a
// field.
GeoSpec *GoogleFirestoreAdminV1SearchGeoSpec `json:"geoSpec,omitempty"`
// TextSpec: Optional. The specification for building a text search index for a
// field.
TextSpec *GoogleFirestoreAdminV1SearchTextSpec `json:"textSpec,omitempty"`
// ForceSendFields is a list of field names (e.g. "GeoSpec") to unconditionally
// include in API requests. By default, fields with empty or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "GeoSpec") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s GoogleFirestoreAdminV1SearchConfig) MarshalJSON() ([]byte, error) {
type NoMethod GoogleFirestoreAdminV1SearchConfig
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// GoogleFirestoreAdminV1SearchGeoSpec: The specification for how to build a
// geo search index for a field.
type GoogleFirestoreAdminV1SearchGeoSpec struct {
// GeoJsonIndexingDisabled: Optional. Disables geoJSON indexing for the field.
// By default, geoJSON points are indexed. Firestore GeoPoints are indexed
// regardless of the value of this field.
GeoJsonIndexingDisabled bool `json:"geoJsonIndexingDisabled,omitempty"`
// ForceSendFields is a list of field names (e.g. "GeoJsonIndexingDisabled") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "GeoJsonIndexingDisabled") to
// include in API requests with the JSON null value. By default, fields with
// empty values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s GoogleFirestoreAdminV1SearchGeoSpec) MarshalJSON() ([]byte, error) {
type NoMethod GoogleFirestoreAdminV1SearchGeoSpec
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// GoogleFirestoreAdminV1SearchIndexOptions: Options for search indexes at the
// definition level.
type GoogleFirestoreAdminV1SearchIndexOptions struct {
// TextLanguage: Optional. The language to use for text search indexes. Used as
// the default language if not overridden at the document level by specifying
// the `text_language_override_field`. The language is specified as a BCP 47
// language code. For indexes with MONGODB_COMPATIBLE_API ApiScope: If
// unspecified, the default language is English. For indexes with `ANY_API`
// ApiScope: If unspecified, the default behavior is autodetect.
TextLanguage string `json:"textLanguage,omitempty"`
// TextLanguageOverrideFieldPath: Optional. The field in the document that
// specifies which language to use for that specific document. For indexes with
// MONGODB_COMPATIBLE_API ApiScope: if unspecified, the language is taken from
// the "language" field if it exists or from `text_language` if it does not.
TextLanguageOverrideFieldPath string `json:"textLanguageOverrideFieldPath,omitempty"`
// ForceSendFields is a list of field names (e.g. "TextLanguage") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "TextLanguage") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s GoogleFirestoreAdminV1SearchIndexOptions) MarshalJSON() ([]byte, error) {
type NoMethod GoogleFirestoreAdminV1SearchIndexOptions
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// GoogleFirestoreAdminV1SearchTextIndexSpec: Specification of how the field
// should be indexed for search text indexes.
type GoogleFirestoreAdminV1SearchTextIndexSpec struct {
// IndexType: Required. How to index the text field value.
//
// Possible values:
// "TEXT_INDEX_TYPE_UNSPECIFIED" - The index type is unspecified. Not a valid
// option.
// "TOKENIZED" - Field values are tokenized. This is the only way currently
// supported for MONGODB_COMPATIBLE_API.
IndexType string `json:"indexType,omitempty"`
// MatchType: Required. How to match the text field value.
//
// Possible values:
// "TEXT_MATCH_TYPE_UNSPECIFIED" - The match type is unspecified. Not a valid
// option.
// "MATCH_GLOBALLY" - Match on any indexed field. This is the only way
// currently supported for MONGODB_COMPATIBLE_API.
MatchType string `json:"matchType,omitempty"`
// ForceSendFields is a list of field names (e.g. "IndexType") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "IndexType") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s GoogleFirestoreAdminV1SearchTextIndexSpec) MarshalJSON() ([]byte, error) {
type NoMethod GoogleFirestoreAdminV1SearchTextIndexSpec
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// GoogleFirestoreAdminV1SearchTextSpec: The specification for how to build a
// text search index for a field.
type GoogleFirestoreAdminV1SearchTextSpec struct {
// IndexSpecs: Required. Specifications for how the field should be indexed.
// Repeated so that the field can be indexed in multiple ways.
IndexSpecs []*GoogleFirestoreAdminV1SearchTextIndexSpec `json:"indexSpecs,omitempty"`
// ForceSendFields is a list of field names (e.g. "IndexSpecs") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "IndexSpecs") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s GoogleFirestoreAdminV1SearchTextSpec) MarshalJSON() ([]byte, error) {
type NoMethod GoogleFirestoreAdminV1SearchTextSpec
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// GoogleFirestoreAdminV1SourceEncryptionOptions: The configuration options for
// using the same encryption method as the source.
type GoogleFirestoreAdminV1SourceEncryptionOptions struct {
}
// GoogleFirestoreAdminV1SourceInfo: Information about the provenance of this
// database.
type GoogleFirestoreAdminV1SourceInfo struct {
// Backup: If set, this database was restored from the specified backup (or a
// snapshot thereof).
Backup *GoogleFirestoreAdminV1BackupSource `json:"backup,omitempty"`
// Operation: The associated long-running operation. This field may not be set
// after the operation has completed. Format:
// `projects/{project}/databases/{database}/operations/{operation}`.
Operation string `json:"operation,omitempty"`
// ForceSendFields is a list of field names (e.g. "Backup") to unconditionally
// include in API requests. By default, fields with empty or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Backup") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s GoogleFirestoreAdminV1SourceInfo) MarshalJSON() ([]byte, error) {
type NoMethod GoogleFirestoreAdminV1SourceInfo
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// GoogleFirestoreAdminV1Stats: Backup specific statistics.
type GoogleFirestoreAdminV1Stats struct {
// DocumentCount: Output only. The total number of documents contained in the
// backup.
DocumentCount int64 `json:"documentCount,omitempty,string"`
// IndexCount: Output only. The total number of index entries contained in the
// backup.
IndexCount int64 `json:"indexCount,omitempty,string"`
// SizeBytes: Output only. Summation of the size of all documents and index
// entries in the backup, measured in bytes.
SizeBytes int64 `json:"sizeBytes,omitempty,string"`
// ForceSendFields is a list of field names (e.g. "DocumentCount") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "DocumentCount") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s GoogleFirestoreAdminV1Stats) MarshalJSON() ([]byte, error) {
type NoMethod GoogleFirestoreAdminV1Stats
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// GoogleFirestoreAdminV1TtlConfig: The TTL (time-to-live) configuration for
// documents that have this `Field` set. A timestamp stored in a TTL-enabled
// field will be used to determine the expiration time of the document. The
// expiration time is the sum of the timestamp value and the
// `expiration_offset`. For Enterprise edition databases, the timestamp value
// may alternatively be stored in an array value in the TTL-enabled field. An
// expiration time in the past indicates that the document is eligible for
// immediate expiration. Using any other data type or leaving the field absent
// will disable expiration for the individual document.
type GoogleFirestoreAdminV1TtlConfig struct {
// ExpirationOffset: Optional. The offset, relative to the timestamp value from
// the TTL-enabled field, used to determine the document's expiration time.
// `expiration_offset.seconds` must be between 0 and 2,147,483,647 inclusive.
// Values more precise than seconds are rejected. If unset, defaults to 0, in
// which case the expiration time is the same as the timestamp value from the
// TTL-enabled field.
ExpirationOffset string `json:"expirationOffset,omitempty"`
// State: Output only. The state of the TTL configuration.
//
// Possible values:
// "STATE_UNSPECIFIED" - The state is unspecified or unknown.
// "CREATING" - The TTL is being applied. There is an active long-running
// operation to track the change. Newly written documents will have TTLs
// applied as requested. Requested TTLs on existing documents are still being
// processed. When TTLs on all existing documents have been processed, the
// state will move to 'ACTIVE'.
// "ACTIVE" - The TTL is active for all documents.
// "NEEDS_REPAIR" - The TTL configuration could not be enabled for all
// existing documents. Newly written documents will continue to have their TTL
// applied. The LRO returned when last attempting to enable TTL for this
// `Field` has failed, and may have more details.
State string `json:"state,omitempty"`
// ForceSendFields is a list of field names (e.g. "ExpirationOffset") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ExpirationOffset") to include in
// API requests with the JSON null value. By default, fields with empty values
// are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s GoogleFirestoreAdminV1TtlConfig) MarshalJSON() ([]byte, error) {
type NoMethod GoogleFirestoreAdminV1TtlConfig
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// GoogleFirestoreAdminV1TtlConfigDelta: Information about a TTL configuration
// change.
type GoogleFirestoreAdminV1TtlConfigDelta struct {
// ChangeType: Specifies how the TTL configuration is changing.
//
// Possible values:
// "CHANGE_TYPE_UNSPECIFIED" - The type of change is not specified or known.
// "ADD" - The TTL config is being added.
// "REMOVE" - The TTL config is being removed.
ChangeType string `json:"changeType,omitempty"`
// ExpirationOffset: The offset, relative to the timestamp value in the
// TTL-enabled field, used determine the document's expiration time.
ExpirationOffset string `json:"expirationOffset,omitempty"`
// ForceSendFields is a list of field names (e.g. "ChangeType") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s GoogleFirestoreAdminV1TtlConfigDelta) MarshalJSON() ([]byte, error) {
type NoMethod GoogleFirestoreAdminV1TtlConfigDelta
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// GoogleFirestoreAdminV1UpdateDatabaseMetadata: Metadata related to the update
// database operation.
type GoogleFirestoreAdminV1UpdateDatabaseMetadata struct {
// EndTime: The time this operation completed. Will be unset if operation still
// in progress.
EndTime string `json:"endTime,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 or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s GoogleFirestoreAdminV1UpdateDatabaseMetadata) MarshalJSON() ([]byte, error) {
type NoMethod GoogleFirestoreAdminV1UpdateDatabaseMetadata
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// GoogleFirestoreAdminV1UserCreds: A Cloud Firestore User Creds.
type GoogleFirestoreAdminV1UserCreds struct {
// CreateTime: Output only. The time the user creds were created.
CreateTime string `json:"createTime,omitempty"`
// Name: Identifier. The resource name of the UserCreds. Format:
// `projects/{project}/databases/{database}/userCreds/{user_creds}`
Name string `json:"name,omitempty"`
// ResourceIdentity: Resource Identity descriptor.
ResourceIdentity *GoogleFirestoreAdminV1ResourceIdentity `json:"resourceIdentity,omitempty"`
// SecurePassword: Output only. The plaintext server-generated password for the
// user creds. Only populated in responses for CreateUserCreds and
// ResetUserPassword.
SecurePassword string `json:"securePassword,omitempty"`
// State: Output only. Whether the user creds are enabled or disabled. Defaults
// to ENABLED on creation.
//
// Possible values:
// "STATE_UNSPECIFIED" - The default value. Should not be used.
// "ENABLED" - The user creds are enabled.
// "DISABLED" - The user creds are disabled.
State string `json:"state,omitempty"`
// UpdateTime: Output only. The time the user creds were last updated.
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 or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s GoogleFirestoreAdminV1UserCreds) MarshalJSON() ([]byte, error) {
type NoMethod GoogleFirestoreAdminV1UserCreds
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// GoogleFirestoreAdminV1VectorConfig: The index configuration to support
// vector search operations
type GoogleFirestoreAdminV1VectorConfig struct {
// Dimension: Required. The vector dimension this configuration applies to. The
// resulting index will only include vectors of this dimension, and can be used
// for vector search with the same dimension.
Dimension int64 `json:"dimension,omitempty"`
// Flat: Indicates the vector index is a flat index.
Flat *GoogleFirestoreAdminV1FlatIndex `json:"flat,omitempty"`
// ForceSendFields is a list of field names (e.g. "Dimension") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Dimension") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s GoogleFirestoreAdminV1VectorConfig) MarshalJSON() ([]byte, error) {
type NoMethod GoogleFirestoreAdminV1VectorConfig
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// GoogleFirestoreAdminV1WeeklyRecurrence: Represents a recurring schedule that
// runs on a specified day of the week. The time zone is UTC.
type GoogleFirestoreAdminV1WeeklyRecurrence struct {
// Day: The day of week to run. DAY_OF_WEEK_UNSPECIFIED is not allowed.
//
// Possible values:
// "DAY_OF_WEEK_UNSPECIFIED" - The day of the week is unspecified.
// "MONDAY" - Monday
// "TUESDAY" - Tuesday
// "WEDNESDAY" - Wednesday
// "THURSDAY" - Thursday
// "FRIDAY" - Friday
// "SATURDAY" - Saturday
// "SUNDAY" - Sunday
Day string `json:"day,omitempty"`
// ForceSendFields is a list of field names (e.g. "Day") to unconditionally
// include in API requests. By default, fields with empty or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Day") to include in API requests
// with the JSON null value. By default, fields with empty values are omitted
// from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s GoogleFirestoreAdminV1WeeklyRecurrence) MarshalJSON() ([]byte, error) {
type NoMethod GoogleFirestoreAdminV1WeeklyRecurrence
return gensupport.MarshalJSON(NoMethod(s), 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"`
// Unreachable: Unordered list. Unreachable resources. Populated when the
// request sets `ListOperationsRequest.return_partial_success` and reads across
// collections. For example, when attempting to list all resources across all
// supported locations.
Unreachable []string `json:"unreachable,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 or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s GoogleLongrunningListOperationsResponse) MarshalJSON() ([]byte, error) {
type NoMethod GoogleLongrunningListOperationsResponse
return gensupport.MarshalJSON(NoMethod(s), 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, successful response of the operation. 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 or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s GoogleLongrunningOperation) MarshalJSON() ([]byte, error) {
type NoMethod GoogleLongrunningOperation
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// LatLng: An object that represents a latitude/longitude pair. This is
// expressed as a pair of doubles to represent degrees latitude and degrees
// longitude. Unless specified otherwise, this object 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 or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s LatLng) MarshalJSON() ([]byte, error) {
type NoMethod LatLng
return gensupport.MarshalJSON(NoMethod(s), 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"`
// ReadTime: Reads documents as they were at the given time. This must be a
// microsecond precision timestamp within the past one hour, or if
// Point-in-Time Recovery is enabled, can additionally be a whole minute
// timestamp within the past 7 days.
ReadTime string `json:"readTime,omitempty"`
// RequestOptions: Optional. The request options for this request.
RequestOptions *RequestOptions `json:"requestOptions,omitempty"`
// ForceSendFields is a list of field names (e.g. "PageSize") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s ListCollectionIdsRequest) MarshalJSON() ([]byte, error) {
type NoMethod ListCollectionIdsRequest
return gensupport.MarshalJSON(NoMethod(s), 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 or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s ListCollectionIdsResponse) MarshalJSON() ([]byte, error) {
type NoMethod ListCollectionIdsResponse
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// ListDocumentsResponse: The response for Firestore.ListDocuments.
type ListDocumentsResponse struct {
// Documents: The Documents found.
Documents []*Document `json:"documents,omitempty"`
// NextPageToken: A token to retrieve the next page of documents. If this field
// is omitted, there are no subsequent pages.
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 or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s ListDocumentsResponse) MarshalJSON() ([]byte, error) {
type NoMethod ListDocumentsResponse
return gensupport.MarshalJSON(NoMethod(s), 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 or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s ListLocationsResponse) MarshalJSON() ([]byte, error) {
type NoMethod ListLocationsResponse
return gensupport.MarshalJSON(NoMethod(s), 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"`
// RequestOptions: Optional. The request options for the request.
RequestOptions *RequestOptions `json:"requestOptions,omitempty"`
// ForceSendFields is a list of field names (e.g. "AddTarget") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s ListenRequest) MarshalJSON() ([]byte, error) {
type NoMethod ListenRequest
return gensupport.MarshalJSON(NoMethod(s), 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 or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s ListenResponse) MarshalJSON() ([]byte, error) {
type NoMethod ListenResponse
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// Location: A resource that represents a Google Cloud 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 or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s Location) MarshalJSON() ([]byte, error) {
type NoMethod Location
return gensupport.MarshalJSON(NoMethod(s), 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 or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s MapValue) MarshalJSON() ([]byte, error) {
type NoMethod MapValue
return gensupport.MarshalJSON(NoMethod(s), 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 or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s Order) MarshalJSON() ([]byte, error) {
type NoMethod Order
return gensupport.MarshalJSON(NoMethod(s), 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"`
// ReadTime: Reads documents as they were at the given time. This must be a
// microsecond precision timestamp within the past one hour, or if
// Point-in-Time Recovery is enabled, can additionally be a whole minute
// timestamp within the past 7 days.
ReadTime string `json:"readTime,omitempty"`
// RequestOptions: Optional. The request options for the request.
RequestOptions *RequestOptions `json:"requestOptions,omitempty"`
// 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 or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s PartitionQueryRequest) MarshalJSON() ([]byte, error) {
type NoMethod PartitionQueryRequest
return gensupport.MarshalJSON(NoMethod(s), 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, or that the query is not yet supported for partitioning.
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 or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s PartitionQueryResponse) MarshalJSON() ([]byte, error) {
type NoMethod PartitionQueryResponse
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// Pipeline: A Firestore query represented as an ordered list of operations /
// stages.
type Pipeline struct {
// Stages: Required. Ordered list of stages to evaluate.
Stages []*Stage `json:"stages,omitempty"`
// ForceSendFields is a list of field names (e.g. "Stages") to unconditionally
// include in API requests. By default, fields with empty or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Stages") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s Pipeline) MarshalJSON() ([]byte, error) {
type NoMethod Pipeline
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// PlanSummary: Planning phase information for the query.
type PlanSummary struct {
// IndexesUsed: The indexes selected for the query. For example: [
// {"query_scope": "Collection", "properties": "(foo ASC, __name__ ASC)"},
// {"query_scope": "Collection", "properties": "(bar ASC, __name__ ASC)"} ]
IndexesUsed []googleapi.RawMessage `json:"indexesUsed,omitempty"`
// ForceSendFields is a list of field names (e.g. "IndexesUsed") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "IndexesUsed") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s PlanSummary) MarshalJSON() ([]byte, error) {
type NoMethod PlanSummary
return gensupport.MarshalJSON(NoMethod(s), 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. Timestamp must be microsecond aligned.
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 or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s Precondition) MarshalJSON() ([]byte, error) {
type NoMethod Precondition
return gensupport.MarshalJSON(NoMethod(s), 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 or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s Projection) MarshalJSON() ([]byte, error) {
type NoMethod Projection
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// QueryTarget: A target specified by a query.
type QueryTarget struct {
// Parent: The parent resource name. In the format:
// `projects/{project_id}/databases/{database_id}/documents` or
// `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
// For example: `projects/my-project/databases/my-database/documents` or
// `projects/my-project/databases/my-database/documents/chatrooms/my-chatroom`
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 or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s QueryTarget) MarshalJSON() ([]byte, error) {
type NoMethod QueryTarget
return gensupport.MarshalJSON(NoMethod(s), 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 must be a microsecond
// precision timestamp within the past one hour, or if Point-in-Time Recovery
// is enabled, can additionally be a whole minute timestamp within the past 7
// days.
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 or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s ReadOnly) MarshalJSON() ([]byte, error) {
type NoMethod ReadOnly
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// ReadWrite: Options for a transaction that can be used to read and write
// documents.
type ReadWrite struct {
// ConcurrencyMode: Optional. The concurrency control mode to use for this
// transaction. A database is able to use different concurrency modes for
// different transactions simultaneously. 3rd party auth requests are only
// allowed to create optimistic read-write transactions and must specify that
// here even if the database-level setting is already configured to optimistic.
//
// Possible values:
// "CONCURRENCY_MODE_UNSPECIFIED" - Start the transaction with the
// database-level default concurrency mode.
// "OPTIMISTIC" - Use optimistic concurrency control for the new transaction.
// "PESSIMISTIC" - Use pessimistic concurrency control for the new
// transaction.
ConcurrencyMode string `json:"concurrencyMode,omitempty"`
// RetryTransaction: An optional transaction to retry.
RetryTransaction string `json:"retryTransaction,omitempty"`
// ForceSendFields is a list of field names (e.g. "ConcurrencyMode") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ConcurrencyMode") to include in
// API requests with the JSON null value. By default, fields with empty values
// are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s ReadWrite) MarshalJSON() ([]byte, error) {
type NoMethod ReadWrite
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// RequestOptions: Options for a request.
type RequestOptions struct {
// RequestTags: Optional. The request tags for the request. Request tags are
// user-provided strings used for usage monitoring, cost management, and
// observability. Callers can associate custom application context (such as
// component, microservice, feature name, or operation type) with database
// requests. These tags are collected and aggregated in usage and monitoring
// reports, allowing billable operations and usage metrics to be sliced and
// analyzed by tag. These tags *only* show up in monitoring and are visible in
// administrative operations (such as usage reports). They do not affect data
// storage, query semantics, or request execution. Cardinality and Best
// Practices: - Request tags are most effective when using a bounded set of
// distinct values (e.g., fewer than 100 distinct tags across an entire
// database). Using a large number of distinct tags may result in tags being
// omitted from top usage dashboards. - Use structured identifiers (for
// example: `app=cart`, `env=prod`, `service=checkout`) and avoid
// high-cardinality values such as UUIDs, request IDs, timestamps, user IDs, or
// document keys. - Do not include sensitive data or personally identifiable
// information (PII) in request tags, as they show up in administrative
// monitoring. The tags are processed as follows: - Leading and trailing
// whitespace is trimmed. - Empty tags (after trimming) are filtered out. -
// Truncated to a maximum of 510 characters. - Deduplicated within the same
// request. - Limited to a maximum of 50 tags per request (excess tags are
// silently discarded).
RequestTags []string `json:"requestTags,omitempty"`
// ForceSendFields is a list of field names (e.g. "RequestTags") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "RequestTags") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s RequestOptions) MarshalJSON() ([]byte, error) {
type NoMethod RequestOptions
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// RollbackRequest: The request for Firestore.Rollback.
type RollbackRequest struct {
// RequestOptions: Optional. The request options for this request.
RequestOptions *RequestOptions `json:"requestOptions,omitempty"`
// Transaction: Required. The transaction to roll back.
Transaction string `json:"transaction,omitempty"`
// ForceSendFields is a list of field names (e.g. "RequestOptions") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "RequestOptions") to include in
// API requests with the JSON null value. By default, fields with empty values
// are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s RollbackRequest) MarshalJSON() ([]byte, error) {
type NoMethod RollbackRequest
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// RunAggregationQueryRequest: The request for Firestore.RunAggregationQuery.
type RunAggregationQueryRequest struct {
// ExplainOptions: Optional. Explain options for the query. If set, additional
// query statistics will be returned. If not, only query results will be
// returned.
ExplainOptions *ExplainOptions `json:"explainOptions,omitempty"`
// NewTransaction: Starts a new transaction as part of the query, defaulting to
// read-only. The new transaction ID will be returned as the first response in
// the stream.
NewTransaction *TransactionOptions `json:"newTransaction,omitempty"`
// ReadTime: Executes the query at the given timestamp. This must be a
// microsecond precision timestamp within the past one hour, or if
// Point-in-Time Recovery is enabled, can additionally be a whole minute
// timestamp within the past 7 days.
ReadTime string `json:"readTime,omitempty"`
// RequestOptions: Optional. The request options for the request.
RequestOptions *RequestOptions `json:"requestOptions,omitempty"`
// StructuredAggregationQuery: An aggregation query.
StructuredAggregationQuery *StructuredAggregationQuery `json:"structuredAggregationQuery,omitempty"`
// Transaction: Run the aggregation within an already active transaction. The
// value here is the opaque transaction ID to execute the query in.
Transaction string `json:"transaction,omitempty"`
// ForceSendFields is a list of field names (e.g. "ExplainOptions") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ExplainOptions") to include in
// API requests with the JSON null value. By default, fields with empty values
// are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s RunAggregationQueryRequest) MarshalJSON() ([]byte, error) {
type NoMethod RunAggregationQueryRequest
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// RunAggregationQueryResponse: The response for Firestore.RunAggregationQuery.
type RunAggregationQueryResponse struct {
// ExplainMetrics: Query explain metrics. This is only present when the
// RunAggregationQueryRequest.explain_options is provided, and it is sent only
// once with the last response in the stream.
ExplainMetrics *ExplainMetrics `json:"explainMetrics,omitempty"`
// ReadTime: The time at which the aggregate result was computed. This is
// always monotonically increasing; in this case, the previous
// AggregationResult 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 `result` will be sent, and this represents
// the time at which the query was run.
ReadTime string `json:"readTime,omitempty"`
// Result: A single aggregation result. Not present when reporting partial
// progress.
Result *AggregationResult `json:"result,omitempty"`
// Transaction: The transaction that was started as part of this request. Only
// present on the first response when the request requested to start a new
// transaction.
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. "ExplainMetrics") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ExplainMetrics") to include in
// API requests with the JSON null value. By default, fields with empty values
// are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s RunAggregationQueryResponse) MarshalJSON() ([]byte, error) {
type NoMethod RunAggregationQueryResponse
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// RunQueryRequest: The request for Firestore.RunQuery.
type RunQueryRequest struct {
// ExplainOptions: Optional. Explain options for the query. If set, additional
// query statistics will be returned. If not, only query results will be
// returned.
ExplainOptions *ExplainOptions `json:"explainOptions,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 must be a
// microsecond precision timestamp within the past one hour, or if
// Point-in-Time Recovery is enabled, can additionally be a whole minute
// timestamp within the past 7 days.
ReadTime string `json:"readTime,omitempty"`
// RequestOptions: Optional. The request options for this request.
RequestOptions *RequestOptions `json:"requestOptions,omitempty"`
// StructuredQuery: A structured query.
StructuredQuery *StructuredQuery `json:"structuredQuery,omitempty"`
// Transaction: Run the query within an already active transaction. The value
// here is the opaque transaction ID to execute the query in.
Transaction string `json:"transaction,omitempty"`
// ForceSendFields is a list of field names (e.g. "ExplainOptions") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "ExplainOptions") to include in
// API requests with the JSON null value. By default, fields with empty values
// are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s RunQueryRequest) MarshalJSON() ([]byte, error) {
type NoMethod RunQueryRequest
return gensupport.MarshalJSON(NoMethod(s), 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"`
// Done: If present, Firestore has completely finished the request and no more
// documents will be returned.
Done bool `json:"done,omitempty"`
// ExplainMetrics: Query explain metrics. This is only present when the
// RunQueryRequest.explain_options is provided, and it is sent only once with
// the last response in the stream.
ExplainMetrics *ExplainMetrics `json:"explainMetrics,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 or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s RunQueryResponse) MarshalJSON() ([]byte, error) {
type NoMethod RunQueryResponse
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// Stage: A single operation within a pipeline. A stage is made up of a unique
// name, and a list of arguments. The exact number of arguments & types is
// dependent on the stage type. To give an example, the stage `filter(state =
// "MD")` would be encoded as: ``` name: "filter" args { function_value { name:
// "eq" args { field_reference_value: "state" } args { string_value: "MD" } } }
// ``` See public documentation for the full list.
type Stage struct {
// Args: Optional. Ordered list of arguments the given stage expects.
Args []*Value `json:"args,omitempty"`
// Name: Required. The name of the stage to evaluate. **Requires:** * must be
// in snake case (lower case with underscore separator).
Name string `json:"name,omitempty"`
// Options: Optional. Optional named arguments that certain functions may
// support.
Options map[string]Value `json:"options,omitempty"`
// ForceSendFields is a list of field names (e.g. "Args") to unconditionally
// include in API requests. By default, fields with empty or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Args") to include in API requests
// with the JSON null value. By default, fields with empty values are omitted
// from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s Stage) MarshalJSON() ([]byte, error) {
type NoMethod Stage
return gensupport.MarshalJSON(NoMethod(s), 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 or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s Status) MarshalJSON() ([]byte, error) {
type NoMethod Status
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// StructuredAggregationQuery: Firestore query for running an aggregation over
// a StructuredQuery.
type StructuredAggregationQuery struct {
// Aggregations: Optional. Series of aggregations to apply over the results of
// the `structured_query`. Requires: * A minimum of one and maximum of five
// aggregations per query.
Aggregations []*Aggregation `json:"aggregations,omitempty"`
// StructuredQuery: Nested structured query.
StructuredQuery *StructuredQuery `json:"structuredQuery,omitempty"`
// ForceSendFields is a list of field names (e.g. "Aggregations") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
ForceSendFields []string `json:"-"`
// NullFields is a list of field names (e.g. "Aggregations") to include in API
// requests with the JSON null value. By default, fields with empty values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s StructuredAggregationQuery) MarshalJSON() ([]byte, error) {
type NoMethod StructuredAggregationQuery
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// StructuredPipeline: A Firestore query represented as an ordered list of
// operations / stages. This is considered the top-level function which plans
// and executes a query. It is logically equivalent to `query(stages,
// options)`, but prevents the client from having to build a function wrapper.
type StructuredPipeline struct {
// Options: Optional. Optional query-level arguments.
Options map[string]Value `json:"options,omitempty"`
// Pipeline: Required. The pipeline query to execute.
Pipeline *Pipeline `json:"pipeline,omitempty"`
// ForceSendFields is a list of field names (e.g. "Options") to unconditionally
// include in API requests. By default, fields with empty or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s StructuredPipeline) MarshalJSON() ([]byte, error) {
type NoMethod StructuredPipeline
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// StructuredQuery: A Firestore query. The query stages are executed in the
// following order: 1. from 2. where 3. select 4. order_by + start_at + end_at
// 5. offset 6. limit 7. find_nearest
type StructuredQuery struct {
// EndAt: A potential prefix of a position in the result set to end the query
// at. This is similar to `START_AT` but with it controlling the end position
// rather than the start position. Requires: * The number of values cannot be
// greater than the number of fields specified in the `ORDER BY` clause.
EndAt *Cursor `json:"endAt,omitempty"`
// FindNearest: Optional. A potential nearest neighbors search. Applies after
// all other filters and ordering. Finds the closest vector embeddings to the
// given query vector.
FindNearest *FindNearest `json:"findNearest,omitempty"`
// From: The collections to query.
From []*CollectionSelector `json:"from,omitempty"`
// Limit: The maximum number of results to return. Applies after all other
// constraints. Requires: * The value must be greater than or equal to zero if
// specified.
Limit int64 `json:"limit,omitempty"`
// Offset: The number of documents to skip before returning the first result.
// This applies after the constraints specified by the `WHERE`, `START AT`, &
// `END AT` but before the `LIMIT` clause. Requires: * The value must be
// greater than or equal to zero if specified.
Offset int64 `json:"offset,omitempty"`
// OrderBy: The order to apply to the query results. Callers can provide a full
// ordering, a partial ordering, or no ordering at all. While Firestore will
// always respect the provided order, the behavior for queries without a full
// ordering is different per database edition: In Standard edition, Firestore
// guarantees a stable ordering through the following rules: * The `order_by`
// is required to reference all fields used with an inequality filter. * All
// fields that are required to be in the `order_by` but are not already present
// are appended in lexicographical ordering of the field name. * 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: * `ORDER BY a` becomes `ORDER BY a ASC,
// __name__ ASC` * `ORDER BY a DESC` becomes `ORDER BY a DESC, __name__ DESC` *
// `WHERE a > 1` becomes `WHERE a > 1 ORDER BY a ASC, __name__ ASC` * `WHERE
// __name__ > ... AND a > 1` becomes `WHERE __name__ > ... AND a > 1 ORDER BY a
// ASC, __name__ ASC` In Enterprise edition, Firestore does not guarantee a
// stable ordering. Instead it will pick the most efficient ordering based on
// the indexes available at the time of query execution. This will result in a
// different ordering for queries that are otherwise identical. To ensure a
// stable ordering, always include a unique field in the `order_by` clause,
// such as `__name__`.
OrderBy []*Order `json:"orderBy,omitempty"`
// Select: Optional sub-set of the fields to return. This acts as a
// DocumentMask over the documents returned from a query. When not set, assumes
// that the caller wants all fields returned.
Select *Projection `json:"select,omitempty"`
// StartAt: A potential prefix of a position in the result set to start the
// query at. The ordering of the result set is based on the `ORDER BY` clause
// of the original query. ``` SELECT * FROM k WHERE a = 1 AND b > 2 ORDER BY b
// ASC, __name__ ASC; ``` This query's results are ordered by `(b ASC, __name__
// ASC)`. Cursors can reference either the full ordering or a prefix of the
// location, though it cannot reference more fields than what are in the
// provided `ORDER BY`. Continuing off the example above, attaching the
// following start cursors will have varying impact: - `START BEFORE (2,
// /k/123)`: start the query right before `a = 1 AND b > 2 AND __name__ >
// /k/123`. - `START AFTER (10)`: start the query right after `a = 1 AND b >
// 10`. Unlike `OFFSET` which requires scanning over the first N results to
// skip, a start cursor allows the query to begin at a logical position. This
// position is not required to match an actual result, it will scan forward
// from this position to find the next document. Requires: * The number of
// values cannot be greater than the number of fields specified in the `ORDER
// BY` clause.
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 or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s StructuredQuery) MarshalJSON() ([]byte, error) {
type NoMethod StructuredQuery
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// Sum: Sum of the values of the requested field. * Only numeric values will be
// aggregated. All non-numeric values including `NULL` are skipped. * If the
// aggregated values contain `NaN`, returns `NaN`. Infinity math follows
// IEEE-754 standards. * If the aggregated value set is empty, returns 0. *
// Returns a 64-bit integer if all aggregated numbers are integers and the sum
// result does not overflow. Otherwise, the result is returned as a double.
// Note that even if all the aggregated values are integers, the result is
// returned as a double if it cannot fit within a 64-bit signed integer. When
// this occurs, the returned value will lose precision. * When underflow
// occurs, floating-point aggregation is non-deterministic. This means that
// running the same query repeatedly without any changes to the underlying
// values could produce slightly different results each time. In those cases,
// values should be stored as integers over floating-point numbers.
type Sum struct {
// Field: The field to aggregate on.
Field *FieldReference `json:"field,omitempty"`
// ForceSendFields is a list of field names (e.g. "Field") to unconditionally
// include in API requests. By default, fields with empty or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s Sum) MarshalJSON() ([]byte, error) {
type NoMethod Sum
return gensupport.MarshalJSON(NoMethod(s), 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"`
// ExpectedCount: The number of documents that last matched the query at the
// resume token or read time. This value is only relevant when a `resume_type`
// is provided. This value being present and greater than zero signals that the
// client wants `ExistenceFilter.unchanged_names` to be included in the
// response.
ExpectedCount int64 `json:"expectedCount,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. If `target_id` is 0 (or unspecified), the
// server will assign an ID for this target and return that in a
// `TargetChange::ADD` event. Once a target with `target_id=0` is added, all
// subsequent targets must also have `target_id=0`. If an `AddTarget` request
// with `target_id != 0` is sent to the server after a target with
// `target_id=0` is added, the server will immediately send a response with a
// `TargetChange::Remove` event. Note that if the client sends multiple
// `AddTarget` requests without an ID, the order of IDs returned in
// `TargetChange.target_ids` are undefined. Therefore, clients should provide a
// target ID instead of relying on the server to assign one. If `target_id` is
// non-zero, there must not be an existing active target on this stream with
// the same ID.
TargetId int64 `json:"targetId,omitempty"`
// ForceSendFields is a list of field names (e.g. "Documents") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s Target) MarshalJSON() ([]byte, error) {
type NoMethod Target
return gensupport.MarshalJSON(NoMethod(s), 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 or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s TargetChange) MarshalJSON() ([]byte, error) {
type NoMethod TargetChange
return gensupport.MarshalJSON(NoMethod(s), 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 or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s TransactionOptions) MarshalJSON() ([]byte, error) {
type NoMethod TransactionOptions
return gensupport.MarshalJSON(NoMethod(s), 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 or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s UnaryFilter) MarshalJSON() ([]byte, error) {
type NoMethod UnaryFilter
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
// Value: A message that can hold any of the supported value types.
type Value struct {
// ArrayValue: An array value. In Standard edition databases, an array value
// cannot directly contain another array value, though it can contain a map
// which contains another array. In Enterprise edition databases, an array
// value can contain another array value.
ArrayValue *ArrayValue `json:"arrayValue,omitempty"`
// BooleanValue: A boolean value.
BooleanValue bool `json:"booleanValue,omitempty"`
// BytesValue: A bytes value. In Standard edition databases: * The value must
// not exceed 1 MiB - 89 bytes. * Only the first 1,500 bytes are considered by
// queries. In Enterprise edition databases, there is no limit on the size of
// the value. However, it is still subject to document and index entry size
// limits.
BytesValue string `json:"bytesValue,omitempty"`
// DoubleValue: A double value.
DoubleValue float64 `json:"doubleValue,omitempty"`
// FieldReferenceValue: Value which references a field. This is considered
// relative (vs absolute) since it only refers to a field and not a field
// within a particular document. **Requires:** * Must follow field reference
// limitations. * Not allowed to be used when writing documents.
FieldReferenceValue string `json:"fieldReferenceValue,omitempty"`
// FunctionValue: A value that represents an unevaluated expression.
// **Requires:** * Not allowed to be used when writing documents.
FunctionValue *Function `json:"functionValue,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"`
// PipelineValue: A value that represents an unevaluated pipeline.
// **Requires:** * Not allowed to be used when writing documents.
PipelineValue *Pipeline `json:"pipelineValue,omitempty"`
// ReferenceValue: A reference to a document. For example:
// `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
ReferenceValue string `json:"referenceValue,omitempty"`
// StringValue: A string value. In Standard edition databases: * 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. In
// Enterprise edition databases, there is no limit on the size of the value.
// However, it is still subject to document and index entry size limits.
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"`
// VariableReferenceValue: Pointer to a variable defined elsewhere in a
// pipeline. Unlike `field_reference_value` which references a field within a
// document, this refers to a variable, defined in a separate namespace than
// the fields of a document.
VariableReferenceValue string `json:"variableReferenceValue,omitempty"`
// ForceSendFields is a list of field names (e.g. "ArrayValue") to
// unconditionally include in API requests. By default, fields with empty or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s Value) MarshalJSON() ([]byte, error) {
type NoMethod Value
return gensupport.MarshalJSON(NoMethod(s), 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_path}`.
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 or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s Write) MarshalJSON() ([]byte, error) {
type NoMethod Write
return gensupport.MarshalJSON(NoMethod(s), 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"`
// RequestOptions: Optional. The request options for the request.
RequestOptions *RequestOptions `json:"requestOptions,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 or default values are
// omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s WriteRequest) MarshalJSON() ([]byte, error) {
type NoMethod WriteRequest
return gensupport.MarshalJSON(NoMethod(s), 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 or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s WriteResponse) MarshalJSON() ([]byte, error) {
type NoMethod WriteResponse
return gensupport.MarshalJSON(NoMethod(s), 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 or
// default values are omitted from API requests. See
// https://pkg.go.dev/google.golang.org/api#hdr-ForceSendFields for more
// details.
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. See
// https://pkg.go.dev/google.golang.org/api#hdr-NullFields for more details.
NullFields []string `json:"-"`
}
func (s WriteResult) MarshalJSON() ([]byte, error) {
type NoMethod WriteResult
return gensupport.MarshalJSON(NoMethod(s), s.ForceSendFields, s.NullFields)
}
type ProjectsDatabasesBulkDeleteDocumentsCall struct {
s *Service
name string
googlefirestoreadminv1bulkdeletedocumentsrequest *GoogleFirestoreAdminV1BulkDeleteDocumentsRequest
urlParams_ gensupport.URLParams
ctx_ context.Context
header_ http.Header
}
// BulkDeleteDocuments: Bulk deletes a subset of documents from Google Cloud
// Firestore. Documents created or updated after the underlying system starts
// to process the request will not be deleted. The bulk delete occurs in the
// background and its progress can be monitored and managed via the Operation
// resource that is created. For more details on bulk delete behavior, refer
// to: https://cloud.google.com/firestore/docs/manage-data/bulk-delete
//
// - name: Database to operate. Should be of the form:
// `projects/{project_id}/databases/{database_id}`.
func (r *ProjectsDatabasesService) BulkDeleteDocuments(name string, googlefirestoreadminv1bulkdeletedocumentsrequest *GoogleFirestoreAdminV1BulkDeleteDocumentsRequest) *ProjectsDatabasesBulkDeleteDocumentsCall {
c := &ProjectsDatabasesBulkDeleteDocumentsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.name = name
c.googlefirestoreadminv1bulkdeletedocumentsrequest = googlefirestoreadminv1bulkdeletedocumentsrequest
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsDatabasesBulkDeleteDocumentsCall) Fields(s ...googleapi.Field) *ProjectsDatabasesBulkDeleteDocumentsCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsDatabasesBulkDeleteDocumentsCall) Context(ctx context.Context) *ProjectsDatabasesBulkDeleteDocumentsCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsDatabasesBulkDeleteDocumentsCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsDatabasesBulkDeleteDocumentsCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlefirestoreadminv1bulkdeletedocumentsrequest)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:bulkDeleteDocuments")
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,
})
c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "firestore.projects.databases.bulkDeleteDocuments", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "firestore.projects.databases.bulkDeleteDocuments" call.
// 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 *ProjectsDatabasesBulkDeleteDocumentsCall) 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, gensupport.WrapError(&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, gensupport.WrapError(err)
}
ret := &GoogleLongrunningOperation{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
b, err := gensupport.DecodeResponseBytes(target, res)
if err != nil {
return nil, err
}
c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "firestore.projects.databases.bulkDeleteDocuments", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
type ProjectsDatabasesCloneCall struct {
s *Service
parent string
googlefirestoreadminv1clonedatabaserequest *GoogleFirestoreAdminV1CloneDatabaseRequest
urlParams_ gensupport.URLParams
ctx_ context.Context
header_ http.Header
}
// Clone: Creates a new database by cloning an existing one. The new database
// must be in the same cloud region or multi-region location as the existing
// database. This behaves similar to FirestoreAdmin.CreateDatabase except
// instead of creating a new empty database, a new database is created with the
// database type, index configuration, and documents from an existing database.
// The long-running operation can be used to track the progress of the clone,
// with the Operation's metadata field type being the CloneDatabaseMetadata.
// The response type is the Database if the clone was successful. The new
// database is not readable or writeable until the LRO has completed.
//
// - parent: The project to clone the database in. Format is
// `projects/{project_id}`.
func (r *ProjectsDatabasesService) Clone(parent string, googlefirestoreadminv1clonedatabaserequest *GoogleFirestoreAdminV1CloneDatabaseRequest) *ProjectsDatabasesCloneCall {
c := &ProjectsDatabasesCloneCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.parent = parent
c.googlefirestoreadminv1clonedatabaserequest = googlefirestoreadminv1clonedatabaserequest
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsDatabasesCloneCall) Fields(s ...googleapi.Field) *ProjectsDatabasesCloneCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsDatabasesCloneCall) Context(ctx context.Context) *ProjectsDatabasesCloneCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsDatabasesCloneCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsDatabasesCloneCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlefirestoreadminv1clonedatabaserequest)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/databases:clone")
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{
"parent": c.parent,
})
c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "firestore.projects.databases.clone", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "firestore.projects.databases.clone" call.
// 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 *ProjectsDatabasesCloneCall) 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, gensupport.WrapError(&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, gensupport.WrapError(err)
}
ret := &GoogleLongrunningOperation{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
b, err := gensupport.DecodeResponseBytes(target, res)
if err != nil {
return nil, err
}
c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "firestore.projects.databases.clone", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
type ProjectsDatabasesCreateCall struct {
s *Service
parent string
googlefirestoreadminv1database *GoogleFirestoreAdminV1Database
urlParams_ gensupport.URLParams
ctx_ context.Context
header_ http.Header
}
// Create: Create a database.
//
// - parent: A parent name of the form `projects/{project_id}`.
func (r *ProjectsDatabasesService) Create(parent string, googlefirestoreadminv1database *GoogleFirestoreAdminV1Database) *ProjectsDatabasesCreateCall {
c := &ProjectsDatabasesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.parent = parent
c.googlefirestoreadminv1database = googlefirestoreadminv1database
return c
}
// DatabaseId sets the optional parameter "databaseId": Required. The ID to use
// for the database, which will become the final component of the database's
// resource name. This value should be 4-63 characters. Valid characters are
// /a-z-/ with first character a letter and the last a letter or a number. Must
// not be UUID-like /[0-9a-f]{8}(-[0-9a-f]{4}){3}-[0-9a-f]{12}/. "(default)"
// database ID is also valid if the database is Standard edition.
func (c *ProjectsDatabasesCreateCall) DatabaseId(databaseId string) *ProjectsDatabasesCreateCall {
c.urlParams_.Set("databaseId", databaseId)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsDatabasesCreateCall) Fields(s ...googleapi.Field) *ProjectsDatabasesCreateCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsDatabasesCreateCall) Context(ctx context.Context) *ProjectsDatabasesCreateCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsDatabasesCreateCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsDatabasesCreateCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlefirestoreadminv1database)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/databases")
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{
"parent": c.parent,
})
c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "firestore.projects.databases.create", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "firestore.projects.databases.create" call.
// 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 *ProjectsDatabasesCreateCall) 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, gensupport.WrapError(&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, gensupport.WrapError(err)
}
ret := &GoogleLongrunningOperation{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
b, err := gensupport.DecodeResponseBytes(target, res)
if err != nil {
return nil, err
}
c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "firestore.projects.databases.create", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
type ProjectsDatabasesDeleteCall struct {
s *Service
name string
urlParams_ gensupport.URLParams
ctx_ context.Context
header_ http.Header
}
// Delete: Deletes a database.
//
// - name: A name of the form `projects/{project_id}/databases/{database_id}`.
func (r *ProjectsDatabasesService) Delete(name string) *ProjectsDatabasesDeleteCall {
c := &ProjectsDatabasesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.name = name
return c
}
// Etag sets the optional parameter "etag": The current etag of the Database.
// If an etag is provided and does not match the current etag of the database,
// deletion will be blocked and a FAILED_PRECONDITION error will be returned.
func (c *ProjectsDatabasesDeleteCall) Etag(etag string) *ProjectsDatabasesDeleteCall {
c.urlParams_.Set("etag", etag)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsDatabasesDeleteCall) Fields(s ...googleapi.Field) *ProjectsDatabasesDeleteCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsDatabasesDeleteCall) Context(ctx context.Context) *ProjectsDatabasesDeleteCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsDatabasesDeleteCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsDatabasesDeleteCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("DELETE", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"name": c.name,
})
c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "firestore.projects.databases.delete", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "firestore.projects.databases.delete" call.
// 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 *ProjectsDatabasesDeleteCall) 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, gensupport.WrapError(&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, gensupport.WrapError(err)
}
ret := &GoogleLongrunningOperation{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
b, err := gensupport.DecodeResponseBytes(target, res)
if err != nil {
return nil, err
}
c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "firestore.projects.databases.delete", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
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. For more details on export behavior and output format, refer to:
// https://cloud.google.com/firestore/docs/manage-data/export-import
//
// - name: Database to export. Should be of the form:
// `projects/{project_id}/databases/{database_id}`.
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
// details.
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.
func (c *ProjectsDatabasesExportDocumentsCall) Context(ctx context.Context) *ProjectsDatabasesExportDocumentsCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// 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 := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlefirestoreadminv1exportdocumentsrequest)
if err != nil {
return nil, err
}
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,
})
c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "firestore.projects.databases.exportDocuments", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "firestore.projects.databases.exportDocuments" call.
// 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, gensupport.WrapError(&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, gensupport.WrapError(err)
}
ret := &GoogleLongrunningOperation{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
b, err := gensupport.DecodeResponseBytes(target, res)
if err != nil {
return nil, err
}
c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "firestore.projects.databases.exportDocuments", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
type ProjectsDatabasesGetCall struct {
s *Service
name string
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
// Get: Gets information about a database.
//
// - name: A name of the form `projects/{project_id}/databases/{database_id}`.
func (r *ProjectsDatabasesService) Get(name string) *ProjectsDatabasesGetCall {
c := &ProjectsDatabasesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.name = name
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsDatabasesGetCall) Fields(s ...googleapi.Field) *ProjectsDatabasesGetCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsDatabasesGetCall) IfNoneMatch(entityTag string) *ProjectsDatabasesGetCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsDatabasesGetCall) Context(ctx context.Context) *ProjectsDatabasesGetCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsDatabasesGetCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsDatabasesGetCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"name": c.name,
})
c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "firestore.projects.databases.get", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "firestore.projects.databases.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleFirestoreAdminV1Database.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 *ProjectsDatabasesGetCall) Do(opts ...googleapi.CallOption) (*GoogleFirestoreAdminV1Database, 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, gensupport.WrapError(&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, gensupport.WrapError(err)
}
ret := &GoogleFirestoreAdminV1Database{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
b, err := gensupport.DecodeResponseBytes(target, res)
if err != nil {
return nil, err
}
c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "firestore.projects.databases.get", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
type ProjectsDatabasesImportDocumentsCall struct {
s *Service
name string
googlefirestoreadminv1importdocumentsrequest *GoogleFirestoreAdminV1ImportDocumentsRequest
urlParams_ gensupport.URLParams
ctx_ context.Context
header_ http.Header
}
// ImportDocuments: Imports documents into Google Cloud Firestore. Existing
// documents with the same name are overwritten. The import occurs in the
// background and its progress can be monitored and managed via the Operation
// resource that is created. If an ImportDocuments operation is cancelled, it
// is possible that a subset of the data has already been imported to Cloud
// Firestore.
//
// - name: Database to import into. Should be of the form:
// `projects/{project_id}/databases/{database_id}`.
func (r *ProjectsDatabasesService) ImportDocuments(name string, googlefirestoreadminv1importdocumentsrequest *GoogleFirestoreAdminV1ImportDocumentsRequest) *ProjectsDatabasesImportDocumentsCall {
c := &ProjectsDatabasesImportDocumentsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.name = name
c.googlefirestoreadminv1importdocumentsrequest = googlefirestoreadminv1importdocumentsrequest
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsDatabasesImportDocumentsCall) Fields(s ...googleapi.Field) *ProjectsDatabasesImportDocumentsCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsDatabasesImportDocumentsCall) Context(ctx context.Context) *ProjectsDatabasesImportDocumentsCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsDatabasesImportDocumentsCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsDatabasesImportDocumentsCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlefirestoreadminv1importdocumentsrequest)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:importDocuments")
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,
})
c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "firestore.projects.databases.importDocuments", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "firestore.projects.databases.importDocuments" call.
// 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 *ProjectsDatabasesImportDocumentsCall) 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, gensupport.WrapError(&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, gensupport.WrapError(err)
}
ret := &GoogleLongrunningOperation{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
b, err := gensupport.DecodeResponseBytes(target, res)
if err != nil {
return nil, err
}
c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "firestore.projects.databases.importDocuments", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
type ProjectsDatabasesListCall struct {
s *Service
parent string
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
// List: List all the databases in the project.
//
// - parent: A parent name of the form `projects/{project_id}`.
func (r *ProjectsDatabasesService) List(parent string) *ProjectsDatabasesListCall {
c := &ProjectsDatabasesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.parent = parent
return c
}
// ShowDeleted sets the optional parameter "showDeleted": If true, also returns
// deleted resources.
func (c *ProjectsDatabasesListCall) ShowDeleted(showDeleted bool) *ProjectsDatabasesListCall {
c.urlParams_.Set("showDeleted", fmt.Sprint(showDeleted))
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsDatabasesListCall) Fields(s ...googleapi.Field) *ProjectsDatabasesListCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsDatabasesListCall) IfNoneMatch(entityTag string) *ProjectsDatabasesListCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsDatabasesListCall) Context(ctx context.Context) *ProjectsDatabasesListCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsDatabasesListCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsDatabasesListCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/databases")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"parent": c.parent,
})
c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "firestore.projects.databases.list", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "firestore.projects.databases.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleFirestoreAdminV1ListDatabasesResponse.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 *ProjectsDatabasesListCall) Do(opts ...googleapi.CallOption) (*GoogleFirestoreAdminV1ListDatabasesResponse, 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, gensupport.WrapError(&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, gensupport.WrapError(err)
}
ret := &GoogleFirestoreAdminV1ListDatabasesResponse{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
b, err := gensupport.DecodeResponseBytes(target, res)
if err != nil {
return nil, err
}
c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "firestore.projects.databases.list", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
type ProjectsDatabasesPatchCall struct {
s *Service
name string
googlefirestoreadminv1database *GoogleFirestoreAdminV1Database
urlParams_ gensupport.URLParams
ctx_ context.Context
header_ http.Header
}
// Patch: Updates a database.
//
// - name: The resource name of the Database. Format:
// `projects/{project}/databases/{database}`.
func (r *ProjectsDatabasesService) Patch(name string, googlefirestoreadminv1database *GoogleFirestoreAdminV1Database) *ProjectsDatabasesPatchCall {
c := &ProjectsDatabasesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.name = name
c.googlefirestoreadminv1database = googlefirestoreadminv1database
return c
}
// UpdateMask sets the optional parameter "updateMask": The list of fields to
// be updated.
func (c *ProjectsDatabasesPatchCall) UpdateMask(updateMask string) *ProjectsDatabasesPatchCall {
c.urlParams_.Set("updateMask", updateMask)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsDatabasesPatchCall) Fields(s ...googleapi.Field) *ProjectsDatabasesPatchCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsDatabasesPatchCall) Context(ctx context.Context) *ProjectsDatabasesPatchCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsDatabasesPatchCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsDatabasesPatchCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlefirestoreadminv1database)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("PATCH", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"name": c.name,
})
c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "firestore.projects.databases.patch", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "firestore.projects.databases.patch" call.
// 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 *ProjectsDatabasesPatchCall) 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, gensupport.WrapError(&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, gensupport.WrapError(err)
}
ret := &GoogleLongrunningOperation{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
b, err := gensupport.DecodeResponseBytes(target, res)
if err != nil {
return nil, err
}
c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "firestore.projects.databases.patch", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
type ProjectsDatabasesRestoreCall struct {
s *Service
parent string
googlefirestoreadminv1restoredatabaserequest *GoogleFirestoreAdminV1RestoreDatabaseRequest
urlParams_ gensupport.URLParams
ctx_ context.Context
header_ http.Header
}
// Restore: Creates a new database by restoring from an existing backup. The
// new database must be in the same cloud region or multi-region location as
// the existing backup. This behaves similar to FirestoreAdmin.CreateDatabase
// except instead of creating a new empty database, a new database is created
// with the database type, index configuration, and documents from an existing
// backup. The long-running operation can be used to track the progress of the
// restore, with the Operation's metadata field type being the
// RestoreDatabaseMetadata. The response type is the Database if the restore
// was successful. The new database is not readable or writeable until the LRO
// has completed.
//
// - parent: The project to restore the database in. Format is
// `projects/{project_id}`.
func (r *ProjectsDatabasesService) Restore(parent string, googlefirestoreadminv1restoredatabaserequest *GoogleFirestoreAdminV1RestoreDatabaseRequest) *ProjectsDatabasesRestoreCall {
c := &ProjectsDatabasesRestoreCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.parent = parent
c.googlefirestoreadminv1restoredatabaserequest = googlefirestoreadminv1restoredatabaserequest
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsDatabasesRestoreCall) Fields(s ...googleapi.Field) *ProjectsDatabasesRestoreCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsDatabasesRestoreCall) Context(ctx context.Context) *ProjectsDatabasesRestoreCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsDatabasesRestoreCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsDatabasesRestoreCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlefirestoreadminv1restoredatabaserequest)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/databases:restore")
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{
"parent": c.parent,
})
c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "firestore.projects.databases.restore", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "firestore.projects.databases.restore" call.
// 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 *ProjectsDatabasesRestoreCall) 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, gensupport.WrapError(&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, gensupport.WrapError(err)
}
ret := &GoogleLongrunningOperation{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
b, err := gensupport.DecodeResponseBytes(target, res)
if err != nil {
return nil, err
}
c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "firestore.projects.databases.restore", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
type ProjectsDatabasesBackupSchedulesCreateCall struct {
s *Service
parent string
googlefirestoreadminv1backupschedule *GoogleFirestoreAdminV1BackupSchedule
urlParams_ gensupport.URLParams
ctx_ context.Context
header_ http.Header
}
// Create: Creates a backup schedule on a database. At most two backup
// schedules can be configured on a database, one daily backup schedule and one
// weekly backup schedule.
//
// - parent: The parent database. Format
// `projects/{project}/databases/{database}`.
func (r *ProjectsDatabasesBackupSchedulesService) Create(parent string, googlefirestoreadminv1backupschedule *GoogleFirestoreAdminV1BackupSchedule) *ProjectsDatabasesBackupSchedulesCreateCall {
c := &ProjectsDatabasesBackupSchedulesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.parent = parent
c.googlefirestoreadminv1backupschedule = googlefirestoreadminv1backupschedule
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsDatabasesBackupSchedulesCreateCall) Fields(s ...googleapi.Field) *ProjectsDatabasesBackupSchedulesCreateCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsDatabasesBackupSchedulesCreateCall) Context(ctx context.Context) *ProjectsDatabasesBackupSchedulesCreateCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsDatabasesBackupSchedulesCreateCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsDatabasesBackupSchedulesCreateCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlefirestoreadminv1backupschedule)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/backupSchedules")
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{
"parent": c.parent,
})
c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "firestore.projects.databases.backupSchedules.create", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "firestore.projects.databases.backupSchedules.create" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleFirestoreAdminV1BackupSchedule.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 *ProjectsDatabasesBackupSchedulesCreateCall) Do(opts ...googleapi.CallOption) (*GoogleFirestoreAdminV1BackupSchedule, 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, gensupport.WrapError(&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, gensupport.WrapError(err)
}
ret := &GoogleFirestoreAdminV1BackupSchedule{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
b, err := gensupport.DecodeResponseBytes(target, res)
if err != nil {
return nil, err
}
c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "firestore.projects.databases.backupSchedules.create", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
type ProjectsDatabasesBackupSchedulesDeleteCall struct {
s *Service
name string
urlParams_ gensupport.URLParams
ctx_ context.Context
header_ http.Header
}
// Delete: Deletes a backup schedule.
//
// - name: The name of the backup schedule. Format
// `projects/{project}/databases/{database}/backupSchedules/{backup_schedule}`.
func (r *ProjectsDatabasesBackupSchedulesService) Delete(name string) *ProjectsDatabasesBackupSchedulesDeleteCall {
c := &ProjectsDatabasesBackupSchedulesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.name = name
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsDatabasesBackupSchedulesDeleteCall) Fields(s ...googleapi.Field) *ProjectsDatabasesBackupSchedulesDeleteCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsDatabasesBackupSchedulesDeleteCall) Context(ctx context.Context) *ProjectsDatabasesBackupSchedulesDeleteCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsDatabasesBackupSchedulesDeleteCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsDatabasesBackupSchedulesDeleteCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("DELETE", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"name": c.name,
})
c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "firestore.projects.databases.backupSchedules.delete", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "firestore.projects.databases.backupSchedules.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *Empty.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 *ProjectsDatabasesBackupSchedulesDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, 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, gensupport.WrapError(&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, gensupport.WrapError(err)
}
ret := &Empty{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
b, err := gensupport.DecodeResponseBytes(target, res)
if err != nil {
return nil, err
}
c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "firestore.projects.databases.backupSchedules.delete", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
type ProjectsDatabasesBackupSchedulesGetCall struct {
s *Service
name string
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
// Get: Gets information about a backup schedule.
//
// - name: The name of the backup schedule. Format
// `projects/{project}/databases/{database}/backupSchedules/{backup_schedule}`.
func (r *ProjectsDatabasesBackupSchedulesService) Get(name string) *ProjectsDatabasesBackupSchedulesGetCall {
c := &ProjectsDatabasesBackupSchedulesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.name = name
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsDatabasesBackupSchedulesGetCall) Fields(s ...googleapi.Field) *ProjectsDatabasesBackupSchedulesGetCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsDatabasesBackupSchedulesGetCall) IfNoneMatch(entityTag string) *ProjectsDatabasesBackupSchedulesGetCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsDatabasesBackupSchedulesGetCall) Context(ctx context.Context) *ProjectsDatabasesBackupSchedulesGetCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsDatabasesBackupSchedulesGetCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsDatabasesBackupSchedulesGetCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"name": c.name,
})
c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "firestore.projects.databases.backupSchedules.get", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "firestore.projects.databases.backupSchedules.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleFirestoreAdminV1BackupSchedule.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 *ProjectsDatabasesBackupSchedulesGetCall) Do(opts ...googleapi.CallOption) (*GoogleFirestoreAdminV1BackupSchedule, 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, gensupport.WrapError(&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, gensupport.WrapError(err)
}
ret := &GoogleFirestoreAdminV1BackupSchedule{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
b, err := gensupport.DecodeResponseBytes(target, res)
if err != nil {
return nil, err
}
c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "firestore.projects.databases.backupSchedules.get", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
type ProjectsDatabasesBackupSchedulesListCall struct {
s *Service
parent string
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
// List: List backup schedules.
//
// - parent: The parent database. Format is
// `projects/{project}/databases/{database}`.
func (r *ProjectsDatabasesBackupSchedulesService) List(parent string) *ProjectsDatabasesBackupSchedulesListCall {
c := &ProjectsDatabasesBackupSchedulesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.parent = parent
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsDatabasesBackupSchedulesListCall) Fields(s ...googleapi.Field) *ProjectsDatabasesBackupSchedulesListCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsDatabasesBackupSchedulesListCall) IfNoneMatch(entityTag string) *ProjectsDatabasesBackupSchedulesListCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsDatabasesBackupSchedulesListCall) Context(ctx context.Context) *ProjectsDatabasesBackupSchedulesListCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsDatabasesBackupSchedulesListCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsDatabasesBackupSchedulesListCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/backupSchedules")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"parent": c.parent,
})
c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "firestore.projects.databases.backupSchedules.list", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "firestore.projects.databases.backupSchedules.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleFirestoreAdminV1ListBackupSchedulesResponse.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 *ProjectsDatabasesBackupSchedulesListCall) Do(opts ...googleapi.CallOption) (*GoogleFirestoreAdminV1ListBackupSchedulesResponse, 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, gensupport.WrapError(&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, gensupport.WrapError(err)
}
ret := &GoogleFirestoreAdminV1ListBackupSchedulesResponse{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
b, err := gensupport.DecodeResponseBytes(target, res)
if err != nil {
return nil, err
}
c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "firestore.projects.databases.backupSchedules.list", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
type ProjectsDatabasesBackupSchedulesPatchCall struct {
s *Service
nameid string
googlefirestoreadminv1backupschedule *GoogleFirestoreAdminV1BackupSchedule
urlParams_ gensupport.URLParams
ctx_ context.Context
header_ http.Header
}
// Patch: Updates a backup schedule.
//
// - name: Output only. The unique backup schedule identifier across all
// locations and databases for the given project. This will be auto-assigned.
// Format is
// `projects/{project}/databases/{database}/backupSchedules/{backup_schedule}`.
func (r *ProjectsDatabasesBackupSchedulesService) Patch(nameid string, googlefirestoreadminv1backupschedule *GoogleFirestoreAdminV1BackupSchedule) *ProjectsDatabasesBackupSchedulesPatchCall {
c := &ProjectsDatabasesBackupSchedulesPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.nameid = nameid
c.googlefirestoreadminv1backupschedule = googlefirestoreadminv1backupschedule
return c
}
// UpdateMask sets the optional parameter "updateMask": The list of fields to
// be updated.
func (c *ProjectsDatabasesBackupSchedulesPatchCall) UpdateMask(updateMask string) *ProjectsDatabasesBackupSchedulesPatchCall {
c.urlParams_.Set("updateMask", updateMask)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsDatabasesBackupSchedulesPatchCall) Fields(s ...googleapi.Field) *ProjectsDatabasesBackupSchedulesPatchCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsDatabasesBackupSchedulesPatchCall) Context(ctx context.Context) *ProjectsDatabasesBackupSchedulesPatchCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsDatabasesBackupSchedulesPatchCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsDatabasesBackupSchedulesPatchCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlefirestoreadminv1backupschedule)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("PATCH", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"name": c.nameid,
})
c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "firestore.projects.databases.backupSchedules.patch", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "firestore.projects.databases.backupSchedules.patch" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleFirestoreAdminV1BackupSchedule.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 *ProjectsDatabasesBackupSchedulesPatchCall) Do(opts ...googleapi.CallOption) (*GoogleFirestoreAdminV1BackupSchedule, 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, gensupport.WrapError(&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, gensupport.WrapError(err)
}
ret := &GoogleFirestoreAdminV1BackupSchedule{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
b, err := gensupport.DecodeResponseBytes(target, res)
if err != nil {
return nil, err
}
c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "firestore.projects.databases.backupSchedules.patch", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
type ProjectsDatabasesChangeStreamsCreateCall struct {
s *Service
parent string
googlefirestoreadminv1changestream *GoogleFirestoreAdminV1ChangeStream
urlParams_ gensupport.URLParams
ctx_ context.Context
header_ http.Header
}
// Create: Creates a new change stream for the database.
//
// - parent: The parent database to create the change stream for. Format is
// `projects/{project}/databases/{database}`.
func (r *ProjectsDatabasesChangeStreamsService) Create(parent string, googlefirestoreadminv1changestream *GoogleFirestoreAdminV1ChangeStream) *ProjectsDatabasesChangeStreamsCreateCall {
c := &ProjectsDatabasesChangeStreamsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.parent = parent
c.googlefirestoreadminv1changestream = googlefirestoreadminv1changestream
return c
}
// ChangeStreamId sets the optional parameter "changeStreamId": Required. The
// ID to use for the change stream, which will become the final component of
// the change stream's resource name. This value should be 4-63 characters.
// Valid characters are lowercase letters, numbers, and hyphens. The first
// character must be a letter, and the last character must be a letter or a
// number.
func (c *ProjectsDatabasesChangeStreamsCreateCall) ChangeStreamId(changeStreamId string) *ProjectsDatabasesChangeStreamsCreateCall {
c.urlParams_.Set("changeStreamId", changeStreamId)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsDatabasesChangeStreamsCreateCall) Fields(s ...googleapi.Field) *ProjectsDatabasesChangeStreamsCreateCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsDatabasesChangeStreamsCreateCall) Context(ctx context.Context) *ProjectsDatabasesChangeStreamsCreateCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsDatabasesChangeStreamsCreateCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsDatabasesChangeStreamsCreateCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlefirestoreadminv1changestream)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/changeStreams")
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{
"parent": c.parent,
})
c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "firestore.projects.databases.changeStreams.create", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "firestore.projects.databases.changeStreams.create" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleFirestoreAdminV1ChangeStream.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 *ProjectsDatabasesChangeStreamsCreateCall) Do(opts ...googleapi.CallOption) (*GoogleFirestoreAdminV1ChangeStream, 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, gensupport.WrapError(&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, gensupport.WrapError(err)
}
ret := &GoogleFirestoreAdminV1ChangeStream{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
b, err := gensupport.DecodeResponseBytes(target, res)
if err != nil {
return nil, err
}
c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "firestore.projects.databases.changeStreams.create", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
type ProjectsDatabasesChangeStreamsDeleteCall struct {
s *Service
name string
urlParams_ gensupport.URLParams
ctx_ context.Context
header_ http.Header
}
// Delete: Deletes a change stream.
//
// - name: The name of the change stream to delete. Format is
// `projects/{project}/databases/{database}/changeStreams/{change_stream}`.
func (r *ProjectsDatabasesChangeStreamsService) Delete(name string) *ProjectsDatabasesChangeStreamsDeleteCall {
c := &ProjectsDatabasesChangeStreamsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.name = name
return c
}
// Etag sets the optional parameter "etag": The etag of the change stream to
// delete. If this is not the current etag of the change stream, the deletion
// will fail.
func (c *ProjectsDatabasesChangeStreamsDeleteCall) Etag(etag string) *ProjectsDatabasesChangeStreamsDeleteCall {
c.urlParams_.Set("etag", etag)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsDatabasesChangeStreamsDeleteCall) Fields(s ...googleapi.Field) *ProjectsDatabasesChangeStreamsDeleteCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsDatabasesChangeStreamsDeleteCall) Context(ctx context.Context) *ProjectsDatabasesChangeStreamsDeleteCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsDatabasesChangeStreamsDeleteCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsDatabasesChangeStreamsDeleteCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("DELETE", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"name": c.name,
})
c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "firestore.projects.databases.changeStreams.delete", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "firestore.projects.databases.changeStreams.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *Empty.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 *ProjectsDatabasesChangeStreamsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, 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, gensupport.WrapError(&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, gensupport.WrapError(err)
}
ret := &Empty{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
b, err := gensupport.DecodeResponseBytes(target, res)
if err != nil {
return nil, err
}
c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "firestore.projects.databases.changeStreams.delete", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
type ProjectsDatabasesChangeStreamsGetCall struct {
s *Service
name string
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
// Get: Gets information about a change stream.
//
// - name: The name of the change stream to retrieve. Format is
// `projects/{project}/databases/{database}/changeStreams/{change_stream}`.
func (r *ProjectsDatabasesChangeStreamsService) Get(name string) *ProjectsDatabasesChangeStreamsGetCall {
c := &ProjectsDatabasesChangeStreamsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.name = name
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsDatabasesChangeStreamsGetCall) Fields(s ...googleapi.Field) *ProjectsDatabasesChangeStreamsGetCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsDatabasesChangeStreamsGetCall) IfNoneMatch(entityTag string) *ProjectsDatabasesChangeStreamsGetCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsDatabasesChangeStreamsGetCall) Context(ctx context.Context) *ProjectsDatabasesChangeStreamsGetCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsDatabasesChangeStreamsGetCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsDatabasesChangeStreamsGetCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"name": c.name,
})
c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "firestore.projects.databases.changeStreams.get", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "firestore.projects.databases.changeStreams.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleFirestoreAdminV1ChangeStream.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 *ProjectsDatabasesChangeStreamsGetCall) Do(opts ...googleapi.CallOption) (*GoogleFirestoreAdminV1ChangeStream, 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, gensupport.WrapError(&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, gensupport.WrapError(err)
}
ret := &GoogleFirestoreAdminV1ChangeStream{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
b, err := gensupport.DecodeResponseBytes(target, res)
if err != nil {
return nil, err
}
c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "firestore.projects.databases.changeStreams.get", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
type ProjectsDatabasesChangeStreamsListCall struct {
s *Service
parent string
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
// List: Lists all change streams in a database.
//
// - parent: The parent database to list change streams from. Format is
// `projects/{project}/databases/{database}`.
func (r *ProjectsDatabasesChangeStreamsService) List(parent string) *ProjectsDatabasesChangeStreamsListCall {
c := &ProjectsDatabasesChangeStreamsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.parent = parent
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsDatabasesChangeStreamsListCall) Fields(s ...googleapi.Field) *ProjectsDatabasesChangeStreamsListCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsDatabasesChangeStreamsListCall) IfNoneMatch(entityTag string) *ProjectsDatabasesChangeStreamsListCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsDatabasesChangeStreamsListCall) Context(ctx context.Context) *ProjectsDatabasesChangeStreamsListCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsDatabasesChangeStreamsListCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsDatabasesChangeStreamsListCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/changeStreams")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"parent": c.parent,
})
c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "firestore.projects.databases.changeStreams.list", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "firestore.projects.databases.changeStreams.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleFirestoreAdminV1ListChangeStreamsResponse.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 *ProjectsDatabasesChangeStreamsListCall) Do(opts ...googleapi.CallOption) (*GoogleFirestoreAdminV1ListChangeStreamsResponse, 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, gensupport.WrapError(&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, gensupport.WrapError(err)
}
ret := &GoogleFirestoreAdminV1ListChangeStreamsResponse{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
b, err := gensupport.DecodeResponseBytes(target, res)
if err != nil {
return nil, err
}
c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "firestore.projects.databases.changeStreams.list", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
type ProjectsDatabasesCollectionGroupsFieldsGetCall struct {
s *Service
name string
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
// Get: Gets the metadata and configuration for a Field.
//
// - name: A name of the form
// `projects/{project_id}/databases/{database_id}/collectionGroups/{collection
// _id}/fields/{field_id}`.
func (r *ProjectsDatabasesCollectionGroupsFieldsService) Get(name string) *ProjectsDatabasesCollectionGroupsFieldsGetCall {
c := &ProjectsDatabasesCollectionGroupsFieldsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.name = name
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsDatabasesCollectionGroupsFieldsGetCall) Fields(s ...googleapi.Field) *ProjectsDatabasesCollectionGroupsFieldsGetCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsDatabasesCollectionGroupsFieldsGetCall) IfNoneMatch(entityTag string) *ProjectsDatabasesCollectionGroupsFieldsGetCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsDatabasesCollectionGroupsFieldsGetCall) Context(ctx context.Context) *ProjectsDatabasesCollectionGroupsFieldsGetCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsDatabasesCollectionGroupsFieldsGetCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsDatabasesCollectionGroupsFieldsGetCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"name": c.name,
})
c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "firestore.projects.databases.collectionGroups.fields.get", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "firestore.projects.databases.collectionGroups.fields.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleFirestoreAdminV1Field.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 *ProjectsDatabasesCollectionGroupsFieldsGetCall) Do(opts ...googleapi.CallOption) (*GoogleFirestoreAdminV1Field, 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, gensupport.WrapError(&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, gensupport.WrapError(err)
}
ret := &GoogleFirestoreAdminV1Field{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
b, err := gensupport.DecodeResponseBytes(target, res)
if err != nil {
return nil, err
}
c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "firestore.projects.databases.collectionGroups.fields.get", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
type ProjectsDatabasesCollectionGroupsFieldsListCall struct {
s *Service
parent string
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
// List: Lists the field configuration and metadata for this database.
// Currently, FirestoreAdmin.ListFields only supports listing fields that have
// been explicitly overridden. To issue this query, call
// FirestoreAdmin.ListFields with the filter set to
// `indexConfig.usesAncestorConfig:false` or `ttlConfig:*`.
//
// - parent: A parent name of the form
// `projects/{project_id}/databases/{database_id}/collectionGroups/{collection
// _id}`.
func (r *ProjectsDatabasesCollectionGroupsFieldsService) List(parent string) *ProjectsDatabasesCollectionGroupsFieldsListCall {
c := &ProjectsDatabasesCollectionGroupsFieldsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.parent = parent
return c
}
// Filter sets the optional parameter "filter": The filter to apply to list
// results. Currently, FirestoreAdmin.ListFields only supports listing fields
// that have been explicitly overridden. To issue this query, call
// FirestoreAdmin.ListFields with a filter that includes
// `indexConfig.usesAncestorConfig:false` or `ttlConfig:*`.
func (c *ProjectsDatabasesCollectionGroupsFieldsListCall) Filter(filter string) *ProjectsDatabasesCollectionGroupsFieldsListCall {
c.urlParams_.Set("filter", filter)
return c
}
// PageSize sets the optional parameter "pageSize": The number of results to
// return.
func (c *ProjectsDatabasesCollectionGroupsFieldsListCall) PageSize(pageSize int64) *ProjectsDatabasesCollectionGroupsFieldsListCall {
c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
return c
}
// PageToken sets the optional parameter "pageToken": A page token, returned
// from a previous call to FirestoreAdmin.ListFields, that may be used to get
// the next page of results.
func (c *ProjectsDatabasesCollectionGroupsFieldsListCall) PageToken(pageToken string) *ProjectsDatabasesCollectionGroupsFieldsListCall {
c.urlParams_.Set("pageToken", pageToken)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsDatabasesCollectionGroupsFieldsListCall) Fields(s ...googleapi.Field) *ProjectsDatabasesCollectionGroupsFieldsListCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsDatabasesCollectionGroupsFieldsListCall) IfNoneMatch(entityTag string) *ProjectsDatabasesCollectionGroupsFieldsListCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsDatabasesCollectionGroupsFieldsListCall) Context(ctx context.Context) *ProjectsDatabasesCollectionGroupsFieldsListCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsDatabasesCollectionGroupsFieldsListCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsDatabasesCollectionGroupsFieldsListCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/fields")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"parent": c.parent,
})
c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "firestore.projects.databases.collectionGroups.fields.list", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "firestore.projects.databases.collectionGroups.fields.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleFirestoreAdminV1ListFieldsResponse.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 *ProjectsDatabasesCollectionGroupsFieldsListCall) Do(opts ...googleapi.CallOption) (*GoogleFirestoreAdminV1ListFieldsResponse, 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, gensupport.WrapError(&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, gensupport.WrapError(err)
}
ret := &GoogleFirestoreAdminV1ListFieldsResponse{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
b, err := gensupport.DecodeResponseBytes(target, res)
if err != nil {
return nil, err
}
c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "firestore.projects.databases.collectionGroups.fields.list", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsDatabasesCollectionGroupsFieldsListCall) Pages(ctx context.Context, f func(*GoogleFirestoreAdminV1ListFieldsResponse) error) error {
c.ctx_ = ctx
defer c.PageToken(c.urlParams_.Get("pageToken"))
for {
x, err := c.Do()
if err != nil {
return err
}
if err := f(x); err != nil {
return err
}
if x.NextPageToken == "" {
return nil
}
c.PageToken(x.NextPageToken)
}
}
type ProjectsDatabasesCollectionGroupsFieldsPatchCall struct {
s *Service
name string
googlefirestoreadminv1field *GoogleFirestoreAdminV1Field
urlParams_ gensupport.URLParams
ctx_ context.Context
header_ http.Header
}
// Patch: Updates a field configuration. Currently, field updates apply only to
// single field index configuration. However, calls to
// FirestoreAdmin.UpdateField should provide a field mask to avoid changing any
// configuration that the caller isn't aware of. The field mask should be
// specified as: `{ paths: "index_config" }`. This call returns a
// google.longrunning.Operation which may be used to track the status of the
// field update. The metadata for the operation will be the type
// FieldOperationMetadata. To configure the default field settings for the
// database, use the special `Field` with resource name:
// `projects/{project_id}/databases/{database_id}/collectionGroups/__default__/f
// ields/*`.
//
// - name: A field name of the form:
// `projects/{project_id}/databases/{database_id}/collectionGroups/{collection
// _id}/fields/{field_path}` A field path can 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 can be quoted using “ ` “ (backtick).
// The only character that must 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: “
// `address.city` “ represents a field named `address.city`, not the map key
// `city` in the field `address`. “ `*` “ represents a field named `*`, not
// any field. A special `Field` contains the default indexing settings for
// all fields. This field's resource name is:
// `projects/{project_id}/databases/{database_id}/collectionGroups/__default__
// /fields/*` Indexes defined on this `Field` will be applied to all fields
// which do not have their own `Field` index configuration.
func (r *ProjectsDatabasesCollectionGroupsFieldsService) Patch(name string, googlefirestoreadminv1field *GoogleFirestoreAdminV1Field) *ProjectsDatabasesCollectionGroupsFieldsPatchCall {
c := &ProjectsDatabasesCollectionGroupsFieldsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.name = name
c.googlefirestoreadminv1field = googlefirestoreadminv1field
return c
}
// UpdateMask sets the optional parameter "updateMask": A mask, relative to the
// field. If specified, only configuration specified by this field_mask will be
// updated in the field.
func (c *ProjectsDatabasesCollectionGroupsFieldsPatchCall) UpdateMask(updateMask string) *ProjectsDatabasesCollectionGroupsFieldsPatchCall {
c.urlParams_.Set("updateMask", updateMask)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsDatabasesCollectionGroupsFieldsPatchCall) Fields(s ...googleapi.Field) *ProjectsDatabasesCollectionGroupsFieldsPatchCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsDatabasesCollectionGroupsFieldsPatchCall) Context(ctx context.Context) *ProjectsDatabasesCollectionGroupsFieldsPatchCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsDatabasesCollectionGroupsFieldsPatchCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsDatabasesCollectionGroupsFieldsPatchCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlefirestoreadminv1field)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("PATCH", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"name": c.name,
})
c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "firestore.projects.databases.collectionGroups.fields.patch", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "firestore.projects.databases.collectionGroups.fields.patch" call.
// 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 *ProjectsDatabasesCollectionGroupsFieldsPatchCall) 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, gensupport.WrapError(&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, gensupport.WrapError(err)
}
ret := &GoogleLongrunningOperation{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
b, err := gensupport.DecodeResponseBytes(target, res)
if err != nil {
return nil, err
}
c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "firestore.projects.databases.collectionGroups.fields.patch", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
type ProjectsDatabasesCollectionGroupsIndexesCreateCall struct {
s *Service
parent string
googlefirestoreadminv1index *GoogleFirestoreAdminV1Index
urlParams_ gensupport.URLParams
ctx_ context.Context
header_ http.Header
}
// Create: Creates a composite index. This returns a
// google.longrunning.Operation which may be used to track the status of the
// creation. The metadata for the operation will be the type
// IndexOperationMetadata.
//
// - parent: A parent name of the form
// `projects/{project_id}/databases/{database_id}/collectionGroups/{collection
// _id}`.
func (r *ProjectsDatabasesCollectionGroupsIndexesService) Create(parent string, googlefirestoreadminv1index *GoogleFirestoreAdminV1Index) *ProjectsDatabasesCollectionGroupsIndexesCreateCall {
c := &ProjectsDatabasesCollectionGroupsIndexesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.parent = parent
c.googlefirestoreadminv1index = googlefirestoreadminv1index
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsDatabasesCollectionGroupsIndexesCreateCall) Fields(s ...googleapi.Field) *ProjectsDatabasesCollectionGroupsIndexesCreateCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsDatabasesCollectionGroupsIndexesCreateCall) Context(ctx context.Context) *ProjectsDatabasesCollectionGroupsIndexesCreateCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsDatabasesCollectionGroupsIndexesCreateCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsDatabasesCollectionGroupsIndexesCreateCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlefirestoreadminv1index)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/indexes")
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{
"parent": c.parent,
})
c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "firestore.projects.databases.collectionGroups.indexes.create", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "firestore.projects.databases.collectionGroups.indexes.create" call.
// 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 *ProjectsDatabasesCollectionGroupsIndexesCreateCall) 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, gensupport.WrapError(&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, gensupport.WrapError(err)
}
ret := &GoogleLongrunningOperation{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
b, err := gensupport.DecodeResponseBytes(target, res)
if err != nil {
return nil, err
}
c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "firestore.projects.databases.collectionGroups.indexes.create", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
type ProjectsDatabasesCollectionGroupsIndexesDeleteCall struct {
s *Service
name string
urlParams_ gensupport.URLParams
ctx_ context.Context
header_ http.Header
}
// Delete: Deletes a composite index.
//
// - name: A name of the form
// `projects/{project_id}/databases/{database_id}/collectionGroups/{collection
// _id}/indexes/{index_id}`.
func (r *ProjectsDatabasesCollectionGroupsIndexesService) Delete(name string) *ProjectsDatabasesCollectionGroupsIndexesDeleteCall {
c := &ProjectsDatabasesCollectionGroupsIndexesDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.name = name
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsDatabasesCollectionGroupsIndexesDeleteCall) Fields(s ...googleapi.Field) *ProjectsDatabasesCollectionGroupsIndexesDeleteCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsDatabasesCollectionGroupsIndexesDeleteCall) Context(ctx context.Context) *ProjectsDatabasesCollectionGroupsIndexesDeleteCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsDatabasesCollectionGroupsIndexesDeleteCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsDatabasesCollectionGroupsIndexesDeleteCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("DELETE", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"name": c.name,
})
c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "firestore.projects.databases.collectionGroups.indexes.delete", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "firestore.projects.databases.collectionGroups.indexes.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *Empty.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 *ProjectsDatabasesCollectionGroupsIndexesDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, 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, gensupport.WrapError(&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, gensupport.WrapError(err)
}
ret := &Empty{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
b, err := gensupport.DecodeResponseBytes(target, res)
if err != nil {
return nil, err
}
c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "firestore.projects.databases.collectionGroups.indexes.delete", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
type ProjectsDatabasesCollectionGroupsIndexesGetCall struct {
s *Service
name string
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
// Get: Gets a composite index.
//
// - name: A name of the form
// `projects/{project_id}/databases/{database_id}/collectionGroups/{collection
// _id}/indexes/{index_id}`.
func (r *ProjectsDatabasesCollectionGroupsIndexesService) Get(name string) *ProjectsDatabasesCollectionGroupsIndexesGetCall {
c := &ProjectsDatabasesCollectionGroupsIndexesGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.name = name
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsDatabasesCollectionGroupsIndexesGetCall) Fields(s ...googleapi.Field) *ProjectsDatabasesCollectionGroupsIndexesGetCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsDatabasesCollectionGroupsIndexesGetCall) IfNoneMatch(entityTag string) *ProjectsDatabasesCollectionGroupsIndexesGetCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsDatabasesCollectionGroupsIndexesGetCall) Context(ctx context.Context) *ProjectsDatabasesCollectionGroupsIndexesGetCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsDatabasesCollectionGroupsIndexesGetCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsDatabasesCollectionGroupsIndexesGetCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"name": c.name,
})
c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "firestore.projects.databases.collectionGroups.indexes.get", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "firestore.projects.databases.collectionGroups.indexes.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleFirestoreAdminV1Index.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 *ProjectsDatabasesCollectionGroupsIndexesGetCall) Do(opts ...googleapi.CallOption) (*GoogleFirestoreAdminV1Index, 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, gensupport.WrapError(&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, gensupport.WrapError(err)
}
ret := &GoogleFirestoreAdminV1Index{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
b, err := gensupport.DecodeResponseBytes(target, res)
if err != nil {
return nil, err
}
c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "firestore.projects.databases.collectionGroups.indexes.get", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
type ProjectsDatabasesCollectionGroupsIndexesListCall struct {
s *Service
parent string
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
// List: Lists composite indexes.
//
// - parent: A parent name of the form
// `projects/{project_id}/databases/{database_id}/collectionGroups/{collection
// _id}`.
func (r *ProjectsDatabasesCollectionGroupsIndexesService) List(parent string) *ProjectsDatabasesCollectionGroupsIndexesListCall {
c := &ProjectsDatabasesCollectionGroupsIndexesListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.parent = parent
return c
}
// Filter sets the optional parameter "filter": The filter to apply to list
// results.
func (c *ProjectsDatabasesCollectionGroupsIndexesListCall) Filter(filter string) *ProjectsDatabasesCollectionGroupsIndexesListCall {
c.urlParams_.Set("filter", filter)
return c
}
// PageSize sets the optional parameter "pageSize": The number of results to
// return.
func (c *ProjectsDatabasesCollectionGroupsIndexesListCall) PageSize(pageSize int64) *ProjectsDatabasesCollectionGroupsIndexesListCall {
c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
return c
}
// PageToken sets the optional parameter "pageToken": A page token, returned
// from a previous call to FirestoreAdmin.ListIndexes, that may be used to get
// the next page of results.
func (c *ProjectsDatabasesCollectionGroupsIndexesListCall) PageToken(pageToken string) *ProjectsDatabasesCollectionGroupsIndexesListCall {
c.urlParams_.Set("pageToken", pageToken)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsDatabasesCollectionGroupsIndexesListCall) Fields(s ...googleapi.Field) *ProjectsDatabasesCollectionGroupsIndexesListCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsDatabasesCollectionGroupsIndexesListCall) IfNoneMatch(entityTag string) *ProjectsDatabasesCollectionGroupsIndexesListCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsDatabasesCollectionGroupsIndexesListCall) Context(ctx context.Context) *ProjectsDatabasesCollectionGroupsIndexesListCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsDatabasesCollectionGroupsIndexesListCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsDatabasesCollectionGroupsIndexesListCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/indexes")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"parent": c.parent,
})
c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "firestore.projects.databases.collectionGroups.indexes.list", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "firestore.projects.databases.collectionGroups.indexes.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleFirestoreAdminV1ListIndexesResponse.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 *ProjectsDatabasesCollectionGroupsIndexesListCall) Do(opts ...googleapi.CallOption) (*GoogleFirestoreAdminV1ListIndexesResponse, 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, gensupport.WrapError(&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, gensupport.WrapError(err)
}
ret := &GoogleFirestoreAdminV1ListIndexesResponse{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
b, err := gensupport.DecodeResponseBytes(target, res)
if err != nil {
return nil, err
}
c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "firestore.projects.databases.collectionGroups.indexes.list", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsDatabasesCollectionGroupsIndexesListCall) Pages(ctx context.Context, f func(*GoogleFirestoreAdminV1ListIndexesResponse) error) error {
c.ctx_ = ctx
defer c.PageToken(c.urlParams_.Get("pageToken"))
for {
x, err := c.Do()
if err != nil {
return err
}
if err := f(x); err != nil {
return err
}
if x.NextPageToken == "" {
return nil
}
c.PageToken(x.NextPageToken)
}
}
type ProjectsDatabasesDocumentsBatchGetCall struct {
s *Service
database string
batchgetdocumentsrequest *BatchGetDocumentsRequest
urlParams_ gensupport.URLParams
ctx_ context.Context
header_ http.Header
}
// BatchGet: Gets multiple documents. Documents returned by this method are not
// guaranteed to be returned in the same order that they were requested.
//
// - database: The database name. In the format:
// `projects/{project_id}/databases/{database_id}`.
func (r *ProjectsDatabasesDocumentsService) BatchGet(database string, batchgetdocumentsrequest *BatchGetDocumentsRequest) *ProjectsDatabasesDocumentsBatchGetCall {
c := &ProjectsDatabasesDocumentsBatchGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.database = database
c.batchgetdocumentsrequest = batchgetdocumentsrequest
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsDatabasesDocumentsBatchGetCall) Fields(s ...googleapi.Field) *ProjectsDatabasesDocumentsBatchGetCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsDatabasesDocumentsBatchGetCall) Context(ctx context.Context) *ProjectsDatabasesDocumentsBatchGetCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsDatabasesDocumentsBatchGetCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsDatabasesDocumentsBatchGetCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.batchgetdocumentsrequest)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+database}/documents:batchGet")
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{
"database": c.database,
})
c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "firestore.projects.databases.documents.batchGet", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "firestore.projects.databases.documents.batchGet" call.
// Any non-2xx status code is an error. Response headers are in either
// *BatchGetDocumentsResponse.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 *ProjectsDatabasesDocumentsBatchGetCall) Do(opts ...googleapi.CallOption) (*BatchGetDocumentsResponse, 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, gensupport.WrapError(&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, gensupport.WrapError(err)
}
ret := &BatchGetDocumentsResponse{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
b, err := gensupport.DecodeResponseBytes(target, res)
if err != nil {
return nil, err
}
c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "firestore.projects.databases.documents.batchGet", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
type ProjectsDatabasesDocumentsBatchWriteCall struct {
s *Service
database string
batchwriterequest *BatchWriteRequest
urlParams_ gensupport.URLParams
ctx_ context.Context
header_ http.Header
}
// BatchWrite: Applies a batch of write operations. The BatchWrite method does
// not apply the write operations atomically and can apply them out of order.
// Method does not allow more than one write per document. Each write succeeds
// or fails independently. See the BatchWriteResponse for the success status of
// each write. If you require an atomically applied set of writes, use Commit
// instead.
//
// - database: The database name. In the format:
// `projects/{project_id}/databases/{database_id}`.
func (r *ProjectsDatabasesDocumentsService) BatchWrite(database string, batchwriterequest *BatchWriteRequest) *ProjectsDatabasesDocumentsBatchWriteCall {
c := &ProjectsDatabasesDocumentsBatchWriteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.database = database
c.batchwriterequest = batchwriterequest
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsDatabasesDocumentsBatchWriteCall) Fields(s ...googleapi.Field) *ProjectsDatabasesDocumentsBatchWriteCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsDatabasesDocumentsBatchWriteCall) Context(ctx context.Context) *ProjectsDatabasesDocumentsBatchWriteCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsDatabasesDocumentsBatchWriteCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsDatabasesDocumentsBatchWriteCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.batchwriterequest)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+database}/documents:batchWrite")
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{
"database": c.database,
})
c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "firestore.projects.databases.documents.batchWrite", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "firestore.projects.databases.documents.batchWrite" call.
// Any non-2xx status code is an error. Response headers are in either
// *BatchWriteResponse.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 *ProjectsDatabasesDocumentsBatchWriteCall) Do(opts ...googleapi.CallOption) (*BatchWriteResponse, 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, gensupport.WrapError(&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, gensupport.WrapError(err)
}
ret := &BatchWriteResponse{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
b, err := gensupport.DecodeResponseBytes(target, res)
if err != nil {
return nil, err
}
c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "firestore.projects.databases.documents.batchWrite", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
type ProjectsDatabasesDocumentsBeginTransactionCall struct {
s *Service
database string
begintransactionrequest *BeginTransactionRequest
urlParams_ gensupport.URLParams
ctx_ context.Context
header_ http.Header
}
// BeginTransaction: Starts a new transaction.
//
// - database: The database name. In the format:
// `projects/{project_id}/databases/{database_id}`.
func (r *ProjectsDatabasesDocumentsService) BeginTransaction(database string, begintransactionrequest *BeginTransactionRequest) *ProjectsDatabasesDocumentsBeginTransactionCall {
c := &ProjectsDatabasesDocumentsBeginTransactionCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.database = database
c.begintransactionrequest = begintransactionrequest
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsDatabasesDocumentsBeginTransactionCall) Fields(s ...googleapi.Field) *ProjectsDatabasesDocumentsBeginTransactionCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsDatabasesDocumentsBeginTransactionCall) Context(ctx context.Context) *ProjectsDatabasesDocumentsBeginTransactionCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsDatabasesDocumentsBeginTransactionCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsDatabasesDocumentsBeginTransactionCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.begintransactionrequest)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+database}/documents:beginTransaction")
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{
"database": c.database,
})
c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "firestore.projects.databases.documents.beginTransaction", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "firestore.projects.databases.documents.beginTransaction" call.
// Any non-2xx status code is an error. Response headers are in either
// *BeginTransactionResponse.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 *ProjectsDatabasesDocumentsBeginTransactionCall) Do(opts ...googleapi.CallOption) (*BeginTransactionResponse, 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, gensupport.WrapError(&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, gensupport.WrapError(err)
}
ret := &BeginTransactionResponse{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
b, err := gensupport.DecodeResponseBytes(target, res)
if err != nil {
return nil, err
}
c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "firestore.projects.databases.documents.beginTransaction", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
type ProjectsDatabasesDocumentsCommitCall struct {
s *Service
database string
commitrequest *CommitRequest
urlParams_ gensupport.URLParams
ctx_ context.Context
header_ http.Header
}
// Commit: Commits a transaction, while optionally updating documents.
//
// - database: The database name. In the format:
// `projects/{project_id}/databases/{database_id}`.
func (r *ProjectsDatabasesDocumentsService) Commit(database string, commitrequest *CommitRequest) *ProjectsDatabasesDocumentsCommitCall {
c := &ProjectsDatabasesDocumentsCommitCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.database = database
c.commitrequest = commitrequest
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsDatabasesDocumentsCommitCall) Fields(s ...googleapi.Field) *ProjectsDatabasesDocumentsCommitCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsDatabasesDocumentsCommitCall) Context(ctx context.Context) *ProjectsDatabasesDocumentsCommitCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsDatabasesDocumentsCommitCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsDatabasesDocumentsCommitCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.commitrequest)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+database}/documents:commit")
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{
"database": c.database,
})
c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "firestore.projects.databases.documents.commit", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "firestore.projects.databases.documents.commit" call.
// Any non-2xx status code is an error. Response headers are in either
// *CommitResponse.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 *ProjectsDatabasesDocumentsCommitCall) Do(opts ...googleapi.CallOption) (*CommitResponse, 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, gensupport.WrapError(&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, gensupport.WrapError(err)
}
ret := &CommitResponse{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
b, err := gensupport.DecodeResponseBytes(target, res)
if err != nil {
return nil, err
}
c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "firestore.projects.databases.documents.commit", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
type ProjectsDatabasesDocumentsCreateDocumentCall struct {
s *Service
parent string
collectionId string
document *Document
urlParams_ gensupport.URLParams
ctx_ context.Context
header_ http.Header
}
// CreateDocument: Creates a new document.
//
// - collectionId: The collection ID, relative to `parent`, to list. For
// example: `chatrooms`.
// - parent: The parent resource. For example:
// `projects/{project_id}/databases/{database_id}/documents` or
// `projects/{project_id}/databases/{database_id}/documents/chatrooms/{chatroo
// m_id}`.
func (r *ProjectsDatabasesDocumentsService) CreateDocument(parent string, collectionId string, document *Document) *ProjectsDatabasesDocumentsCreateDocumentCall {
c := &ProjectsDatabasesDocumentsCreateDocumentCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.parent = parent
c.collectionId = collectionId
c.document = document
return c
}
// DocumentId sets the optional parameter "documentId": The client-assigned
// document ID to use for this document. If not specified, an ID will be
// assigned by the service.
func (c *ProjectsDatabasesDocumentsCreateDocumentCall) DocumentId(documentId string) *ProjectsDatabasesDocumentsCreateDocumentCall {
c.urlParams_.Set("documentId", documentId)
return c
}
// MaskFieldPaths sets the optional parameter "mask.fieldPaths": The list of
// field paths in the mask. See Document.fields for a field path syntax
// reference.
func (c *ProjectsDatabasesDocumentsCreateDocumentCall) MaskFieldPaths(maskFieldPaths ...string) *ProjectsDatabasesDocumentsCreateDocumentCall {
c.urlParams_.SetMulti("mask.fieldPaths", append([]string{}, maskFieldPaths...))
return c
}
// RequestOptionsRequestTags sets the optional parameter
// "requestOptions.requestTags": The request tags for the request. Request tags
// are user-provided strings used for usage monitoring, cost management, and
// observability. Callers can associate custom application context (such as
// component, microservice, feature name, or operation type) with database
// requests. These tags are collected and aggregated in usage and monitoring
// reports, allowing billable operations and usage metrics to be sliced and
// analyzed by tag. These tags *only* show up in monitoring and are visible in
// administrative operations (such as usage reports). They do not affect data
// storage, query semantics, or request execution. Cardinality and Best
// Practices: - Request tags are most effective when using a bounded set of
// distinct values (e.g., fewer than 100 distinct tags across an entire
// database). Using a large number of distinct tags may result in tags being
// omitted from top usage dashboards. - Use structured identifiers (for
// example: `app=cart`, `env=prod`, `service=checkout`) and avoid
// high-cardinality values such as UUIDs, request IDs, timestamps, user IDs, or
// document keys. - Do not include sensitive data or personally identifiable
// information (PII) in request tags, as they show up in administrative
// monitoring. The tags are processed as follows: - Leading and trailing
// whitespace is trimmed. - Empty tags (after trimming) are filtered out. -
// Truncated to a maximum of 510 characters. - Deduplicated within the same
// request. - Limited to a maximum of 50 tags per request (excess tags are
// silently discarded).
func (c *ProjectsDatabasesDocumentsCreateDocumentCall) RequestOptionsRequestTags(requestOptionsRequestTags ...string) *ProjectsDatabasesDocumentsCreateDocumentCall {
c.urlParams_.SetMulti("requestOptions.requestTags", append([]string{}, requestOptionsRequestTags...))
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsDatabasesDocumentsCreateDocumentCall) Fields(s ...googleapi.Field) *ProjectsDatabasesDocumentsCreateDocumentCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsDatabasesDocumentsCreateDocumentCall) Context(ctx context.Context) *ProjectsDatabasesDocumentsCreateDocumentCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsDatabasesDocumentsCreateDocumentCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsDatabasesDocumentsCreateDocumentCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.document)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/{collectionId}")
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{
"parent": c.parent,
"collectionId": c.collectionId,
})
c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "firestore.projects.databases.documents.createDocument", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "firestore.projects.databases.documents.createDocument" call.
// Any non-2xx status code is an error. Response headers are in either
// *Document.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 *ProjectsDatabasesDocumentsCreateDocumentCall) Do(opts ...googleapi.CallOption) (*Document, 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, gensupport.WrapError(&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, gensupport.WrapError(err)
}
ret := &Document{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
b, err := gensupport.DecodeResponseBytes(target, res)
if err != nil {
return nil, err
}
c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "firestore.projects.databases.documents.createDocument", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
type ProjectsDatabasesDocumentsDeleteCall struct {
s *Service
name string
urlParams_ gensupport.URLParams
ctx_ context.Context
header_ http.Header
}
// Delete: Deletes a document.
//
// - name: The resource name of the Document to delete. In the format:
// `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
func (r *ProjectsDatabasesDocumentsService) Delete(name string) *ProjectsDatabasesDocumentsDeleteCall {
c := &ProjectsDatabasesDocumentsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.name = name
return c
}
// CurrentDocumentExists sets the optional parameter "currentDocument.exists":
// When set to `true`, the target document must exist. When set to `false`, the
// target document must not exist.
func (c *ProjectsDatabasesDocumentsDeleteCall) CurrentDocumentExists(currentDocumentExists bool) *ProjectsDatabasesDocumentsDeleteCall {
c.urlParams_.Set("currentDocument.exists", fmt.Sprint(currentDocumentExists))
return c
}
// CurrentDocumentUpdateTime sets the optional parameter
// "currentDocument.updateTime": When set, the target document must exist and
// have been last updated at that time. Timestamp must be microsecond aligned.
func (c *ProjectsDatabasesDocumentsDeleteCall) CurrentDocumentUpdateTime(currentDocumentUpdateTime string) *ProjectsDatabasesDocumentsDeleteCall {
c.urlParams_.Set("currentDocument.updateTime", currentDocumentUpdateTime)
return c
}
// RequestOptionsRequestTags sets the optional parameter
// "requestOptions.requestTags": The request tags for the request. Request tags
// are user-provided strings used for usage monitoring, cost management, and
// observability. Callers can associate custom application context (such as
// component, microservice, feature name, or operation type) with database
// requests. These tags are collected and aggregated in usage and monitoring
// reports, allowing billable operations and usage metrics to be sliced and
// analyzed by tag. These tags *only* show up in monitoring and are visible in
// administrative operations (such as usage reports). They do not affect data
// storage, query semantics, or request execution. Cardinality and Best
// Practices: - Request tags are most effective when using a bounded set of
// distinct values (e.g., fewer than 100 distinct tags across an entire
// database). Using a large number of distinct tags may result in tags being
// omitted from top usage dashboards. - Use structured identifiers (for
// example: `app=cart`, `env=prod`, `service=checkout`) and avoid
// high-cardinality values such as UUIDs, request IDs, timestamps, user IDs, or
// document keys. - Do not include sensitive data or personally identifiable
// information (PII) in request tags, as they show up in administrative
// monitoring. The tags are processed as follows: - Leading and trailing
// whitespace is trimmed. - Empty tags (after trimming) are filtered out. -
// Truncated to a maximum of 510 characters. - Deduplicated within the same
// request. - Limited to a maximum of 50 tags per request (excess tags are
// silently discarded).
func (c *ProjectsDatabasesDocumentsDeleteCall) RequestOptionsRequestTags(requestOptionsRequestTags ...string) *ProjectsDatabasesDocumentsDeleteCall {
c.urlParams_.SetMulti("requestOptions.requestTags", append([]string{}, requestOptionsRequestTags...))
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsDatabasesDocumentsDeleteCall) Fields(s ...googleapi.Field) *ProjectsDatabasesDocumentsDeleteCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsDatabasesDocumentsDeleteCall) Context(ctx context.Context) *ProjectsDatabasesDocumentsDeleteCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsDatabasesDocumentsDeleteCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsDatabasesDocumentsDeleteCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("DELETE", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"name": c.name,
})
c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "firestore.projects.databases.documents.delete", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "firestore.projects.databases.documents.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *Empty.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 *ProjectsDatabasesDocumentsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, 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, gensupport.WrapError(&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, gensupport.WrapError(err)
}
ret := &Empty{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
b, err := gensupport.DecodeResponseBytes(target, res)
if err != nil {
return nil, err
}
c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "firestore.projects.databases.documents.delete", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
type ProjectsDatabasesDocumentsExecutePipelineCall struct {
s *Service
databaseid string
executepipelinerequest *ExecutePipelineRequest
urlParams_ gensupport.URLParams
ctx_ context.Context
header_ http.Header
}
// ExecutePipeline: Executes a pipeline query.
//
// - database: Database identifier, in the form
// `projects/{project}/databases/{database}`.
func (r *ProjectsDatabasesDocumentsService) ExecutePipeline(databaseid string, executepipelinerequest *ExecutePipelineRequest) *ProjectsDatabasesDocumentsExecutePipelineCall {
c := &ProjectsDatabasesDocumentsExecutePipelineCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.databaseid = databaseid
c.executepipelinerequest = executepipelinerequest
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsDatabasesDocumentsExecutePipelineCall) Fields(s ...googleapi.Field) *ProjectsDatabasesDocumentsExecutePipelineCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsDatabasesDocumentsExecutePipelineCall) Context(ctx context.Context) *ProjectsDatabasesDocumentsExecutePipelineCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsDatabasesDocumentsExecutePipelineCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsDatabasesDocumentsExecutePipelineCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.executepipelinerequest)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+database}/documents:executePipeline")
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{
"database": c.databaseid,
})
c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "firestore.projects.databases.documents.executePipeline", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "firestore.projects.databases.documents.executePipeline" call.
// Any non-2xx status code is an error. Response headers are in either
// *ExecutePipelineResponse.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 *ProjectsDatabasesDocumentsExecutePipelineCall) Do(opts ...googleapi.CallOption) (*ExecutePipelineResponse, 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, gensupport.WrapError(&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, gensupport.WrapError(err)
}
ret := &ExecutePipelineResponse{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
b, err := gensupport.DecodeResponseBytes(target, res)
if err != nil {
return nil, err
}
c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "firestore.projects.databases.documents.executePipeline", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
type ProjectsDatabasesDocumentsGetCall struct {
s *Service
name string
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
// Get: Gets a single document.
//
// - name: The resource name of the Document to get. In the format:
// `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
func (r *ProjectsDatabasesDocumentsService) Get(name string) *ProjectsDatabasesDocumentsGetCall {
c := &ProjectsDatabasesDocumentsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.name = name
return c
}
// MaskFieldPaths sets the optional parameter "mask.fieldPaths": The list of
// field paths in the mask. See Document.fields for a field path syntax
// reference.
func (c *ProjectsDatabasesDocumentsGetCall) MaskFieldPaths(maskFieldPaths ...string) *ProjectsDatabasesDocumentsGetCall {
c.urlParams_.SetMulti("mask.fieldPaths", append([]string{}, maskFieldPaths...))
return c
}
// ReadTime sets the optional parameter "readTime": Reads the version of the
// document at the given time. This must be a microsecond precision timestamp
// within the past one hour, or if Point-in-Time Recovery is enabled, can
// additionally be a whole minute timestamp within the past 7 days.
func (c *ProjectsDatabasesDocumentsGetCall) ReadTime(readTime string) *ProjectsDatabasesDocumentsGetCall {
c.urlParams_.Set("readTime", readTime)
return c
}
// RequestOptionsRequestTags sets the optional parameter
// "requestOptions.requestTags": The request tags for the request. Request tags
// are user-provided strings used for usage monitoring, cost management, and
// observability. Callers can associate custom application context (such as
// component, microservice, feature name, or operation type) with database
// requests. These tags are collected and aggregated in usage and monitoring
// reports, allowing billable operations and usage metrics to be sliced and
// analyzed by tag. These tags *only* show up in monitoring and are visible in
// administrative operations (such as usage reports). They do not affect data
// storage, query semantics, or request execution. Cardinality and Best
// Practices: - Request tags are most effective when using a bounded set of
// distinct values (e.g., fewer than 100 distinct tags across an entire
// database). Using a large number of distinct tags may result in tags being
// omitted from top usage dashboards. - Use structured identifiers (for
// example: `app=cart`, `env=prod`, `service=checkout`) and avoid
// high-cardinality values such as UUIDs, request IDs, timestamps, user IDs, or
// document keys. - Do not include sensitive data or personally identifiable
// information (PII) in request tags, as they show up in administrative
// monitoring. The tags are processed as follows: - Leading and trailing
// whitespace is trimmed. - Empty tags (after trimming) are filtered out. -
// Truncated to a maximum of 510 characters. - Deduplicated within the same
// request. - Limited to a maximum of 50 tags per request (excess tags are
// silently discarded).
func (c *ProjectsDatabasesDocumentsGetCall) RequestOptionsRequestTags(requestOptionsRequestTags ...string) *ProjectsDatabasesDocumentsGetCall {
c.urlParams_.SetMulti("requestOptions.requestTags", append([]string{}, requestOptionsRequestTags...))
return c
}
// Transaction sets the optional parameter "transaction": Reads the document in
// a transaction.
func (c *ProjectsDatabasesDocumentsGetCall) Transaction(transaction string) *ProjectsDatabasesDocumentsGetCall {
c.urlParams_.Set("transaction", transaction)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsDatabasesDocumentsGetCall) Fields(s ...googleapi.Field) *ProjectsDatabasesDocumentsGetCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsDatabasesDocumentsGetCall) IfNoneMatch(entityTag string) *ProjectsDatabasesDocumentsGetCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsDatabasesDocumentsGetCall) Context(ctx context.Context) *ProjectsDatabasesDocumentsGetCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsDatabasesDocumentsGetCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsDatabasesDocumentsGetCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"name": c.name,
})
c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "firestore.projects.databases.documents.get", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "firestore.projects.databases.documents.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *Document.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 *ProjectsDatabasesDocumentsGetCall) Do(opts ...googleapi.CallOption) (*Document, 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, gensupport.WrapError(&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, gensupport.WrapError(err)
}
ret := &Document{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
b, err := gensupport.DecodeResponseBytes(target, res)
if err != nil {
return nil, err
}
c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "firestore.projects.databases.documents.get", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
type ProjectsDatabasesDocumentsListCall struct {
s *Service
parent string
collectionId string
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
// List: Lists documents.
//
// - collectionId: Optional. The collection ID, relative to `parent`, to list.
// For example: `chatrooms` or `messages`. This is optional, and when not
// provided, Firestore will list documents from all collections under the
// provided `parent`.
// - parent: The parent resource name. In the format:
// `projects/{project_id}/databases/{database_id}/documents` or
// `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
// For example: `projects/my-project/databases/my-database/documents` or
// `projects/my-project/databases/my-database/documents/chatrooms/my-chatroom`.
func (r *ProjectsDatabasesDocumentsService) List(parent string, collectionId string) *ProjectsDatabasesDocumentsListCall {
c := &ProjectsDatabasesDocumentsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.parent = parent
c.collectionId = collectionId
return c
}
// MaskFieldPaths sets the optional parameter "mask.fieldPaths": The list of
// field paths in the mask. See Document.fields for a field path syntax
// reference.
func (c *ProjectsDatabasesDocumentsListCall) MaskFieldPaths(maskFieldPaths ...string) *ProjectsDatabasesDocumentsListCall {
c.urlParams_.SetMulti("mask.fieldPaths", append([]string{}, maskFieldPaths...))
return c
}
// OrderBy sets the optional parameter "orderBy": The optional ordering of the
// documents to return. For example: `priority desc, __name__ desc`. This
// mirrors the `ORDER BY` used in Firestore queries but in a string
// representation. When absent, documents are ordered based on `__name__ ASC`.
func (c *ProjectsDatabasesDocumentsListCall) OrderBy(orderBy string) *ProjectsDatabasesDocumentsListCall {
c.urlParams_.Set("orderBy", orderBy)
return c
}
// PageSize sets the optional parameter "pageSize": The maximum number of
// documents to return in a single response. Firestore may return fewer than
// this value.
func (c *ProjectsDatabasesDocumentsListCall) PageSize(pageSize int64) *ProjectsDatabasesDocumentsListCall {
c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
return c
}
// PageToken sets the optional parameter "pageToken": A page token, received
// from a previous `ListDocuments` response. Provide this to retrieve the
// subsequent page. When paginating, all other parameters (with the exception
// of `page_size`) must match the values set in the request that generated the
// page token.
func (c *ProjectsDatabasesDocumentsListCall) PageToken(pageToken string) *ProjectsDatabasesDocumentsListCall {
c.urlParams_.Set("pageToken", pageToken)
return c
}
// ReadTime sets the optional parameter "readTime": Perform the read at the
// provided time. This must be a microsecond precision timestamp within the
// past one hour, or if Point-in-Time Recovery is enabled, can additionally be
// a whole minute timestamp within the past 7 days.
func (c *ProjectsDatabasesDocumentsListCall) ReadTime(readTime string) *ProjectsDatabasesDocumentsListCall {
c.urlParams_.Set("readTime", readTime)
return c
}
// Recursive sets the optional parameter "recursive": If the list should
// recursively include all documents nested under the parent at any level. If
// the request specifies a `collection_id`, then the list will include all
// nested documents in the collection under the parent. This is optional, and
// when not provided, Firestore will only list documents nested immediately
// under the parent. Requests with `recursive` may not specify `show_missing`.
func (c *ProjectsDatabasesDocumentsListCall) Recursive(recursive bool) *ProjectsDatabasesDocumentsListCall {
c.urlParams_.Set("recursive", fmt.Sprint(recursive))
return c
}
// RequestOptionsRequestTags sets the optional parameter
// "requestOptions.requestTags": The request tags for the request. Request tags
// are user-provided strings used for usage monitoring, cost management, and
// observability. Callers can associate custom application context (such as
// component, microservice, feature name, or operation type) with database
// requests. These tags are collected and aggregated in usage and monitoring
// reports, allowing billable operations and usage metrics to be sliced and
// analyzed by tag. These tags *only* show up in monitoring and are visible in
// administrative operations (such as usage reports). They do not affect data
// storage, query semantics, or request execution. Cardinality and Best
// Practices: - Request tags are most effective when using a bounded set of
// distinct values (e.g., fewer than 100 distinct tags across an entire
// database). Using a large number of distinct tags may result in tags being
// omitted from top usage dashboards. - Use structured identifiers (for
// example: `app=cart`, `env=prod`, `service=checkout`) and avoid
// high-cardinality values such as UUIDs, request IDs, timestamps, user IDs, or
// document keys. - Do not include sensitive data or personally identifiable
// information (PII) in request tags, as they show up in administrative
// monitoring. The tags are processed as follows: - Leading and trailing
// whitespace is trimmed. - Empty tags (after trimming) are filtered out. -
// Truncated to a maximum of 510 characters. - Deduplicated within the same
// request. - Limited to a maximum of 50 tags per request (excess tags are
// silently discarded).
func (c *ProjectsDatabasesDocumentsListCall) RequestOptionsRequestTags(requestOptionsRequestTags ...string) *ProjectsDatabasesDocumentsListCall {
c.urlParams_.SetMulti("requestOptions.requestTags", append([]string{}, requestOptionsRequestTags...))
return c
}
// ShowMissing sets the optional parameter "showMissing": If the list should
// show missing documents. A document is missing if it does not exist, but
// there are sub-documents nested underneath it. When true, such missing
// documents will be returned with a key but will not have fields,
// `create_time`, or `update_time` set. Requests with `show_missing` may not
// specify `where` or `order_by`.
func (c *ProjectsDatabasesDocumentsListCall) ShowMissing(showMissing bool) *ProjectsDatabasesDocumentsListCall {
c.urlParams_.Set("showMissing", fmt.Sprint(showMissing))
return c
}
// Transaction sets the optional parameter "transaction": Perform the read as
// part of an already active transaction.
func (c *ProjectsDatabasesDocumentsListCall) Transaction(transaction string) *ProjectsDatabasesDocumentsListCall {
c.urlParams_.Set("transaction", transaction)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsDatabasesDocumentsListCall) Fields(s ...googleapi.Field) *ProjectsDatabasesDocumentsListCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsDatabasesDocumentsListCall) IfNoneMatch(entityTag string) *ProjectsDatabasesDocumentsListCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsDatabasesDocumentsListCall) Context(ctx context.Context) *ProjectsDatabasesDocumentsListCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsDatabasesDocumentsListCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsDatabasesDocumentsListCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/{collectionId}")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"parent": c.parent,
"collectionId": c.collectionId,
})
c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "firestore.projects.databases.documents.list", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "firestore.projects.databases.documents.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *ListDocumentsResponse.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 *ProjectsDatabasesDocumentsListCall) Do(opts ...googleapi.CallOption) (*ListDocumentsResponse, 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, gensupport.WrapError(&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, gensupport.WrapError(err)
}
ret := &ListDocumentsResponse{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
b, err := gensupport.DecodeResponseBytes(target, res)
if err != nil {
return nil, err
}
c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "firestore.projects.databases.documents.list", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsDatabasesDocumentsListCall) Pages(ctx context.Context, f func(*ListDocumentsResponse) error) error {
c.ctx_ = ctx
defer c.PageToken(c.urlParams_.Get("pageToken"))
for {
x, err := c.Do()
if err != nil {
return err
}
if err := f(x); err != nil {
return err
}
if x.NextPageToken == "" {
return nil
}
c.PageToken(x.NextPageToken)
}
}
type ProjectsDatabasesDocumentsListCollectionIdsCall struct {
s *Service
parent string
listcollectionidsrequest *ListCollectionIdsRequest
urlParams_ gensupport.URLParams
ctx_ context.Context
header_ http.Header
}
// ListCollectionIds: Lists all the collection IDs underneath a document.
//
// - parent: The parent document. In the format:
// `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
// For example:
// `projects/my-project/databases/my-database/documents/chatrooms/my-chatroom`
// Use `projects/{project_id}/databases/{database_id}/documents` to list
// top-level collections.
func (r *ProjectsDatabasesDocumentsService) ListCollectionIds(parent string, listcollectionidsrequest *ListCollectionIdsRequest) *ProjectsDatabasesDocumentsListCollectionIdsCall {
c := &ProjectsDatabasesDocumentsListCollectionIdsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.parent = parent
c.listcollectionidsrequest = listcollectionidsrequest
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsDatabasesDocumentsListCollectionIdsCall) Fields(s ...googleapi.Field) *ProjectsDatabasesDocumentsListCollectionIdsCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsDatabasesDocumentsListCollectionIdsCall) Context(ctx context.Context) *ProjectsDatabasesDocumentsListCollectionIdsCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsDatabasesDocumentsListCollectionIdsCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsDatabasesDocumentsListCollectionIdsCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.listcollectionidsrequest)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}:listCollectionIds")
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{
"parent": c.parent,
})
c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "firestore.projects.databases.documents.listCollectionIds", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "firestore.projects.databases.documents.listCollectionIds" call.
// Any non-2xx status code is an error. Response headers are in either
// *ListCollectionIdsResponse.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 *ProjectsDatabasesDocumentsListCollectionIdsCall) Do(opts ...googleapi.CallOption) (*ListCollectionIdsResponse, 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, gensupport.WrapError(&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, gensupport.WrapError(err)
}
ret := &ListCollectionIdsResponse{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
b, err := gensupport.DecodeResponseBytes(target, res)
if err != nil {
return nil, err
}
c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "firestore.projects.databases.documents.listCollectionIds", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsDatabasesDocumentsListCollectionIdsCall) Pages(ctx context.Context, f func(*ListCollectionIdsResponse) error) error {
c.ctx_ = ctx
defer func(pt string) { c.listcollectionidsrequest.PageToken = pt }(c.listcollectionidsrequest.PageToken)
for {
x, err := c.Do()
if err != nil {
return err
}
if err := f(x); err != nil {
return err
}
if x.NextPageToken == "" {
return nil
}
c.listcollectionidsrequest.PageToken = x.NextPageToken
}
}
type ProjectsDatabasesDocumentsListDocumentsCall struct {
s *Service
parent string
collectionId string
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
// ListDocuments: Lists documents.
//
// - collectionId: Optional. The collection ID, relative to `parent`, to list.
// For example: `chatrooms` or `messages`. This is optional, and when not
// provided, Firestore will list documents from all collections under the
// provided `parent`.
// - parent: The parent resource name. In the format:
// `projects/{project_id}/databases/{database_id}/documents` or
// `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
// For example: `projects/my-project/databases/my-database/documents` or
// `projects/my-project/databases/my-database/documents/chatrooms/my-chatroom`.
func (r *ProjectsDatabasesDocumentsService) ListDocuments(parent string, collectionId string) *ProjectsDatabasesDocumentsListDocumentsCall {
c := &ProjectsDatabasesDocumentsListDocumentsCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.parent = parent
c.collectionId = collectionId
return c
}
// MaskFieldPaths sets the optional parameter "mask.fieldPaths": The list of
// field paths in the mask. See Document.fields for a field path syntax
// reference.
func (c *ProjectsDatabasesDocumentsListDocumentsCall) MaskFieldPaths(maskFieldPaths ...string) *ProjectsDatabasesDocumentsListDocumentsCall {
c.urlParams_.SetMulti("mask.fieldPaths", append([]string{}, maskFieldPaths...))
return c
}
// OrderBy sets the optional parameter "orderBy": The optional ordering of the
// documents to return. For example: `priority desc, __name__ desc`. This
// mirrors the `ORDER BY` used in Firestore queries but in a string
// representation. When absent, documents are ordered based on `__name__ ASC`.
func (c *ProjectsDatabasesDocumentsListDocumentsCall) OrderBy(orderBy string) *ProjectsDatabasesDocumentsListDocumentsCall {
c.urlParams_.Set("orderBy", orderBy)
return c
}
// PageSize sets the optional parameter "pageSize": The maximum number of
// documents to return in a single response. Firestore may return fewer than
// this value.
func (c *ProjectsDatabasesDocumentsListDocumentsCall) PageSize(pageSize int64) *ProjectsDatabasesDocumentsListDocumentsCall {
c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
return c
}
// PageToken sets the optional parameter "pageToken": A page token, received
// from a previous `ListDocuments` response. Provide this to retrieve the
// subsequent page. When paginating, all other parameters (with the exception
// of `page_size`) must match the values set in the request that generated the
// page token.
func (c *ProjectsDatabasesDocumentsListDocumentsCall) PageToken(pageToken string) *ProjectsDatabasesDocumentsListDocumentsCall {
c.urlParams_.Set("pageToken", pageToken)
return c
}
// ReadTime sets the optional parameter "readTime": Perform the read at the
// provided time. This must be a microsecond precision timestamp within the
// past one hour, or if Point-in-Time Recovery is enabled, can additionally be
// a whole minute timestamp within the past 7 days.
func (c *ProjectsDatabasesDocumentsListDocumentsCall) ReadTime(readTime string) *ProjectsDatabasesDocumentsListDocumentsCall {
c.urlParams_.Set("readTime", readTime)
return c
}
// Recursive sets the optional parameter "recursive": If the list should
// recursively include all documents nested under the parent at any level. If
// the request specifies a `collection_id`, then the list will include all
// nested documents in the collection under the parent. This is optional, and
// when not provided, Firestore will only list documents nested immediately
// under the parent. Requests with `recursive` may not specify `show_missing`.
func (c *ProjectsDatabasesDocumentsListDocumentsCall) Recursive(recursive bool) *ProjectsDatabasesDocumentsListDocumentsCall {
c.urlParams_.Set("recursive", fmt.Sprint(recursive))
return c
}
// RequestOptionsRequestTags sets the optional parameter
// "requestOptions.requestTags": The request tags for the request. Request tags
// are user-provided strings used for usage monitoring, cost management, and
// observability. Callers can associate custom application context (such as
// component, microservice, feature name, or operation type) with database
// requests. These tags are collected and aggregated in usage and monitoring
// reports, allowing billable operations and usage metrics to be sliced and
// analyzed by tag. These tags *only* show up in monitoring and are visible in
// administrative operations (such as usage reports). They do not affect data
// storage, query semantics, or request execution. Cardinality and Best
// Practices: - Request tags are most effective when using a bounded set of
// distinct values (e.g., fewer than 100 distinct tags across an entire
// database). Using a large number of distinct tags may result in tags being
// omitted from top usage dashboards. - Use structured identifiers (for
// example: `app=cart`, `env=prod`, `service=checkout`) and avoid
// high-cardinality values such as UUIDs, request IDs, timestamps, user IDs, or
// document keys. - Do not include sensitive data or personally identifiable
// information (PII) in request tags, as they show up in administrative
// monitoring. The tags are processed as follows: - Leading and trailing
// whitespace is trimmed. - Empty tags (after trimming) are filtered out. -
// Truncated to a maximum of 510 characters. - Deduplicated within the same
// request. - Limited to a maximum of 50 tags per request (excess tags are
// silently discarded).
func (c *ProjectsDatabasesDocumentsListDocumentsCall) RequestOptionsRequestTags(requestOptionsRequestTags ...string) *ProjectsDatabasesDocumentsListDocumentsCall {
c.urlParams_.SetMulti("requestOptions.requestTags", append([]string{}, requestOptionsRequestTags...))
return c
}
// ShowMissing sets the optional parameter "showMissing": If the list should
// show missing documents. A document is missing if it does not exist, but
// there are sub-documents nested underneath it. When true, such missing
// documents will be returned with a key but will not have fields,
// `create_time`, or `update_time` set. Requests with `show_missing` may not
// specify `where` or `order_by`.
func (c *ProjectsDatabasesDocumentsListDocumentsCall) ShowMissing(showMissing bool) *ProjectsDatabasesDocumentsListDocumentsCall {
c.urlParams_.Set("showMissing", fmt.Sprint(showMissing))
return c
}
// Transaction sets the optional parameter "transaction": Perform the read as
// part of an already active transaction.
func (c *ProjectsDatabasesDocumentsListDocumentsCall) Transaction(transaction string) *ProjectsDatabasesDocumentsListDocumentsCall {
c.urlParams_.Set("transaction", transaction)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsDatabasesDocumentsListDocumentsCall) Fields(s ...googleapi.Field) *ProjectsDatabasesDocumentsListDocumentsCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsDatabasesDocumentsListDocumentsCall) IfNoneMatch(entityTag string) *ProjectsDatabasesDocumentsListDocumentsCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsDatabasesDocumentsListDocumentsCall) Context(ctx context.Context) *ProjectsDatabasesDocumentsListDocumentsCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsDatabasesDocumentsListDocumentsCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsDatabasesDocumentsListDocumentsCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/{collectionId}")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"parent": c.parent,
"collectionId": c.collectionId,
})
c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "firestore.projects.databases.documents.listDocuments", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "firestore.projects.databases.documents.listDocuments" call.
// Any non-2xx status code is an error. Response headers are in either
// *ListDocumentsResponse.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 *ProjectsDatabasesDocumentsListDocumentsCall) Do(opts ...googleapi.CallOption) (*ListDocumentsResponse, 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, gensupport.WrapError(&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, gensupport.WrapError(err)
}
ret := &ListDocumentsResponse{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
b, err := gensupport.DecodeResponseBytes(target, res)
if err != nil {
return nil, err
}
c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "firestore.projects.databases.documents.listDocuments", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsDatabasesDocumentsListDocumentsCall) Pages(ctx context.Context, f func(*ListDocumentsResponse) error) error {
c.ctx_ = ctx
defer c.PageToken(c.urlParams_.Get("pageToken"))
for {
x, err := c.Do()
if err != nil {
return err
}
if err := f(x); err != nil {
return err
}
if x.NextPageToken == "" {
return nil
}
c.PageToken(x.NextPageToken)
}
}
type ProjectsDatabasesDocumentsListenCall struct {
s *Service
database string
listenrequest *ListenRequest
urlParams_ gensupport.URLParams
ctx_ context.Context
header_ http.Header
}
// Listen: Listens to changes. This method is only available via gRPC or
// WebChannel (not REST).
//
// - database: The database name. In the format:
// `projects/{project_id}/databases/{database_id}`.
func (r *ProjectsDatabasesDocumentsService) Listen(database string, listenrequest *ListenRequest) *ProjectsDatabasesDocumentsListenCall {
c := &ProjectsDatabasesDocumentsListenCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.database = database
c.listenrequest = listenrequest
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsDatabasesDocumentsListenCall) Fields(s ...googleapi.Field) *ProjectsDatabasesDocumentsListenCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsDatabasesDocumentsListenCall) Context(ctx context.Context) *ProjectsDatabasesDocumentsListenCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsDatabasesDocumentsListenCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsDatabasesDocumentsListenCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.listenrequest)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+database}/documents:listen")
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{
"database": c.database,
})
c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "firestore.projects.databases.documents.listen", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "firestore.projects.databases.documents.listen" call.
// Any non-2xx status code is an error. Response headers are in either
// *ListenResponse.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 *ProjectsDatabasesDocumentsListenCall) Do(opts ...googleapi.CallOption) (*ListenResponse, 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, gensupport.WrapError(&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, gensupport.WrapError(err)
}
ret := &ListenResponse{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
b, err := gensupport.DecodeResponseBytes(target, res)
if err != nil {
return nil, err
}
c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "firestore.projects.databases.documents.listen", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
type ProjectsDatabasesDocumentsPartitionQueryCall struct {
s *Service
parent string
partitionqueryrequest *PartitionQueryRequest
urlParams_ gensupport.URLParams
ctx_ context.Context
header_ http.Header
}
// PartitionQuery: Partitions a query by returning partition cursors that can
// be used to run the query in parallel. The returned partition cursors are
// split points that can be used by RunQuery as starting/end points for the
// query results.
//
// - parent: The parent resource name. In the format:
// `projects/{project_id}/databases/{database_id}/documents`. Document
// resource names are not supported; only database resource names can be
// specified.
func (r *ProjectsDatabasesDocumentsService) PartitionQuery(parent string, partitionqueryrequest *PartitionQueryRequest) *ProjectsDatabasesDocumentsPartitionQueryCall {
c := &ProjectsDatabasesDocumentsPartitionQueryCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.parent = parent
c.partitionqueryrequest = partitionqueryrequest
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsDatabasesDocumentsPartitionQueryCall) Fields(s ...googleapi.Field) *ProjectsDatabasesDocumentsPartitionQueryCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsDatabasesDocumentsPartitionQueryCall) Context(ctx context.Context) *ProjectsDatabasesDocumentsPartitionQueryCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsDatabasesDocumentsPartitionQueryCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsDatabasesDocumentsPartitionQueryCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.partitionqueryrequest)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}:partitionQuery")
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{
"parent": c.parent,
})
c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "firestore.projects.databases.documents.partitionQuery", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "firestore.projects.databases.documents.partitionQuery" call.
// Any non-2xx status code is an error. Response headers are in either
// *PartitionQueryResponse.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 *ProjectsDatabasesDocumentsPartitionQueryCall) Do(opts ...googleapi.CallOption) (*PartitionQueryResponse, 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, gensupport.WrapError(&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, gensupport.WrapError(err)
}
ret := &PartitionQueryResponse{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
b, err := gensupport.DecodeResponseBytes(target, res)
if err != nil {
return nil, err
}
c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "firestore.projects.databases.documents.partitionQuery", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsDatabasesDocumentsPartitionQueryCall) Pages(ctx context.Context, f func(*PartitionQueryResponse) error) error {
c.ctx_ = ctx
defer func(pt string) { c.partitionqueryrequest.PageToken = pt }(c.partitionqueryrequest.PageToken)
for {
x, err := c.Do()
if err != nil {
return err
}
if err := f(x); err != nil {
return err
}
if x.NextPageToken == "" {
return nil
}
c.partitionqueryrequest.PageToken = x.NextPageToken
}
}
type ProjectsDatabasesDocumentsPatchCall struct {
s *Service
name string
document *Document
urlParams_ gensupport.URLParams
ctx_ context.Context
header_ http.Header
}
// Patch: Updates or inserts a document.
//
// - name: The resource name of the document, for example
// `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
func (r *ProjectsDatabasesDocumentsService) Patch(name string, document *Document) *ProjectsDatabasesDocumentsPatchCall {
c := &ProjectsDatabasesDocumentsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.name = name
c.document = document
return c
}
// CurrentDocumentExists sets the optional parameter "currentDocument.exists":
// When set to `true`, the target document must exist. When set to `false`, the
// target document must not exist.
func (c *ProjectsDatabasesDocumentsPatchCall) CurrentDocumentExists(currentDocumentExists bool) *ProjectsDatabasesDocumentsPatchCall {
c.urlParams_.Set("currentDocument.exists", fmt.Sprint(currentDocumentExists))
return c
}
// CurrentDocumentUpdateTime sets the optional parameter
// "currentDocument.updateTime": When set, the target document must exist and
// have been last updated at that time. Timestamp must be microsecond aligned.
func (c *ProjectsDatabasesDocumentsPatchCall) CurrentDocumentUpdateTime(currentDocumentUpdateTime string) *ProjectsDatabasesDocumentsPatchCall {
c.urlParams_.Set("currentDocument.updateTime", currentDocumentUpdateTime)
return c
}
// MaskFieldPaths sets the optional parameter "mask.fieldPaths": The list of
// field paths in the mask. See Document.fields for a field path syntax
// reference.
func (c *ProjectsDatabasesDocumentsPatchCall) MaskFieldPaths(maskFieldPaths ...string) *ProjectsDatabasesDocumentsPatchCall {
c.urlParams_.SetMulti("mask.fieldPaths", append([]string{}, maskFieldPaths...))
return c
}
// RequestOptionsRequestTags sets the optional parameter
// "requestOptions.requestTags": The request tags for the request. Request tags
// are user-provided strings used for usage monitoring, cost management, and
// observability. Callers can associate custom application context (such as
// component, microservice, feature name, or operation type) with database
// requests. These tags are collected and aggregated in usage and monitoring
// reports, allowing billable operations and usage metrics to be sliced and
// analyzed by tag. These tags *only* show up in monitoring and are visible in
// administrative operations (such as usage reports). They do not affect data
// storage, query semantics, or request execution. Cardinality and Best
// Practices: - Request tags are most effective when using a bounded set of
// distinct values (e.g., fewer than 100 distinct tags across an entire
// database). Using a large number of distinct tags may result in tags being
// omitted from top usage dashboards. - Use structured identifiers (for
// example: `app=cart`, `env=prod`, `service=checkout`) and avoid
// high-cardinality values such as UUIDs, request IDs, timestamps, user IDs, or
// document keys. - Do not include sensitive data or personally identifiable
// information (PII) in request tags, as they show up in administrative
// monitoring. The tags are processed as follows: - Leading and trailing
// whitespace is trimmed. - Empty tags (after trimming) are filtered out. -
// Truncated to a maximum of 510 characters. - Deduplicated within the same
// request. - Limited to a maximum of 50 tags per request (excess tags are
// silently discarded).
func (c *ProjectsDatabasesDocumentsPatchCall) RequestOptionsRequestTags(requestOptionsRequestTags ...string) *ProjectsDatabasesDocumentsPatchCall {
c.urlParams_.SetMulti("requestOptions.requestTags", append([]string{}, requestOptionsRequestTags...))
return c
}
// UpdateMaskFieldPaths sets the optional parameter "updateMask.fieldPaths":
// The list of field paths in the mask. See Document.fields for a field path
// syntax reference.
func (c *ProjectsDatabasesDocumentsPatchCall) UpdateMaskFieldPaths(updateMaskFieldPaths ...string) *ProjectsDatabasesDocumentsPatchCall {
c.urlParams_.SetMulti("updateMask.fieldPaths", append([]string{}, updateMaskFieldPaths...))
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsDatabasesDocumentsPatchCall) Fields(s ...googleapi.Field) *ProjectsDatabasesDocumentsPatchCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsDatabasesDocumentsPatchCall) Context(ctx context.Context) *ProjectsDatabasesDocumentsPatchCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsDatabasesDocumentsPatchCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsDatabasesDocumentsPatchCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.document)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("PATCH", urls, body)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"name": c.name,
})
c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "firestore.projects.databases.documents.patch", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "firestore.projects.databases.documents.patch" call.
// Any non-2xx status code is an error. Response headers are in either
// *Document.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 *ProjectsDatabasesDocumentsPatchCall) Do(opts ...googleapi.CallOption) (*Document, 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, gensupport.WrapError(&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, gensupport.WrapError(err)
}
ret := &Document{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
b, err := gensupport.DecodeResponseBytes(target, res)
if err != nil {
return nil, err
}
c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "firestore.projects.databases.documents.patch", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
type ProjectsDatabasesDocumentsRollbackCall struct {
s *Service
database string
rollbackrequest *RollbackRequest
urlParams_ gensupport.URLParams
ctx_ context.Context
header_ http.Header
}
// Rollback: Rolls back a transaction.
//
// - database: The database name. In the format:
// `projects/{project_id}/databases/{database_id}`.
func (r *ProjectsDatabasesDocumentsService) Rollback(database string, rollbackrequest *RollbackRequest) *ProjectsDatabasesDocumentsRollbackCall {
c := &ProjectsDatabasesDocumentsRollbackCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.database = database
c.rollbackrequest = rollbackrequest
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsDatabasesDocumentsRollbackCall) Fields(s ...googleapi.Field) *ProjectsDatabasesDocumentsRollbackCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsDatabasesDocumentsRollbackCall) Context(ctx context.Context) *ProjectsDatabasesDocumentsRollbackCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsDatabasesDocumentsRollbackCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsDatabasesDocumentsRollbackCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.rollbackrequest)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+database}/documents:rollback")
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{
"database": c.database,
})
c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "firestore.projects.databases.documents.rollback", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "firestore.projects.databases.documents.rollback" call.
// Any non-2xx status code is an error. Response headers are in either
// *Empty.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 *ProjectsDatabasesDocumentsRollbackCall) Do(opts ...googleapi.CallOption) (*Empty, 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, gensupport.WrapError(&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, gensupport.WrapError(err)
}
ret := &Empty{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
b, err := gensupport.DecodeResponseBytes(target, res)
if err != nil {
return nil, err
}
c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "firestore.projects.databases.documents.rollback", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
type ProjectsDatabasesDocumentsRunAggregationQueryCall struct {
s *Service
parent string
runaggregationqueryrequest *RunAggregationQueryRequest
urlParams_ gensupport.URLParams
ctx_ context.Context
header_ http.Header
}
// RunAggregationQuery: Runs an aggregation query. Rather than producing
// Document results like Firestore.RunQuery, this API allows running an
// aggregation to produce a series of AggregationResult server-side. High-Level
// Example: ``` -- Return the number of documents in table given a filter.
// SELECT COUNT(*) FROM ( SELECT * FROM k where a = true ); ```
//
// - parent: The parent resource name. In the format:
// `projects/{project_id}/databases/{database_id}/documents` or
// `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
// For example: `projects/my-project/databases/my-database/documents` or
// `projects/my-project/databases/my-database/documents/chatrooms/my-chatroom`.
func (r *ProjectsDatabasesDocumentsService) RunAggregationQuery(parent string, runaggregationqueryrequest *RunAggregationQueryRequest) *ProjectsDatabasesDocumentsRunAggregationQueryCall {
c := &ProjectsDatabasesDocumentsRunAggregationQueryCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.parent = parent
c.runaggregationqueryrequest = runaggregationqueryrequest
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsDatabasesDocumentsRunAggregationQueryCall) Fields(s ...googleapi.Field) *ProjectsDatabasesDocumentsRunAggregationQueryCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsDatabasesDocumentsRunAggregationQueryCall) Context(ctx context.Context) *ProjectsDatabasesDocumentsRunAggregationQueryCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsDatabasesDocumentsRunAggregationQueryCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsDatabasesDocumentsRunAggregationQueryCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.runaggregationqueryrequest)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}:runAggregationQuery")
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{
"parent": c.parent,
})
c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "firestore.projects.databases.documents.runAggregationQuery", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "firestore.projects.databases.documents.runAggregationQuery" call.
// Any non-2xx status code is an error. Response headers are in either
// *RunAggregationQueryResponse.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 *ProjectsDatabasesDocumentsRunAggregationQueryCall) Do(opts ...googleapi.CallOption) (*RunAggregationQueryResponse, 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, gensupport.WrapError(&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, gensupport.WrapError(err)
}
ret := &RunAggregationQueryResponse{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
b, err := gensupport.DecodeResponseBytes(target, res)
if err != nil {
return nil, err
}
c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "firestore.projects.databases.documents.runAggregationQuery", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
type ProjectsDatabasesDocumentsRunQueryCall struct {
s *Service
parent string
runqueryrequest *RunQueryRequest
urlParams_ gensupport.URLParams
ctx_ context.Context
header_ http.Header
}
// RunQuery: Runs a query.
//
// - parent: The parent resource name. In the format:
// `projects/{project_id}/databases/{database_id}/documents` or
// `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
// For example: `projects/my-project/databases/my-database/documents` or
// `projects/my-project/databases/my-database/documents/chatrooms/my-chatroom`.
func (r *ProjectsDatabasesDocumentsService) RunQuery(parent string, runqueryrequest *RunQueryRequest) *ProjectsDatabasesDocumentsRunQueryCall {
c := &ProjectsDatabasesDocumentsRunQueryCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.parent = parent
c.runqueryrequest = runqueryrequest
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsDatabasesDocumentsRunQueryCall) Fields(s ...googleapi.Field) *ProjectsDatabasesDocumentsRunQueryCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsDatabasesDocumentsRunQueryCall) Context(ctx context.Context) *ProjectsDatabasesDocumentsRunQueryCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsDatabasesDocumentsRunQueryCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsDatabasesDocumentsRunQueryCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.runqueryrequest)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}:runQuery")
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{
"parent": c.parent,
})
c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "firestore.projects.databases.documents.runQuery", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "firestore.projects.databases.documents.runQuery" call.
// Any non-2xx status code is an error. Response headers are in either
// *RunQueryResponse.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 *ProjectsDatabasesDocumentsRunQueryCall) Do(opts ...googleapi.CallOption) (*RunQueryResponse, 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, gensupport.WrapError(&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, gensupport.WrapError(err)
}
ret := &RunQueryResponse{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
b, err := gensupport.DecodeResponseBytes(target, res)
if err != nil {
return nil, err
}
c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "firestore.projects.databases.documents.runQuery", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
type ProjectsDatabasesDocumentsWriteCall struct {
s *Service
database string
writerequest *WriteRequest
urlParams_ gensupport.URLParams
ctx_ context.Context
header_ http.Header
}
// Write: Streams batches of document updates and deletes, in order. This
// method is only available via gRPC or WebChannel (not REST).
//
// - database: The database name. In the format:
// `projects/{project_id}/databases/{database_id}`. This is only required in
// the first message.
func (r *ProjectsDatabasesDocumentsService) Write(database string, writerequest *WriteRequest) *ProjectsDatabasesDocumentsWriteCall {
c := &ProjectsDatabasesDocumentsWriteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.database = database
c.writerequest = writerequest
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsDatabasesDocumentsWriteCall) Fields(s ...googleapi.Field) *ProjectsDatabasesDocumentsWriteCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsDatabasesDocumentsWriteCall) Context(ctx context.Context) *ProjectsDatabasesDocumentsWriteCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsDatabasesDocumentsWriteCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsDatabasesDocumentsWriteCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.writerequest)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+database}/documents:write")
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{
"database": c.database,
})
c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "firestore.projects.databases.documents.write", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "firestore.projects.databases.documents.write" call.
// Any non-2xx status code is an error. Response headers are in either
// *WriteResponse.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 *ProjectsDatabasesDocumentsWriteCall) Do(opts ...googleapi.CallOption) (*WriteResponse, 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, gensupport.WrapError(&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, gensupport.WrapError(err)
}
ret := &WriteResponse{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
b, err := gensupport.DecodeResponseBytes(target, res)
if err != nil {
return nil, err
}
c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "firestore.projects.databases.documents.write", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
type ProjectsDatabasesOperationsCancelCall struct {
s *Service
name string
googlelongrunningcanceloperationrequest *GoogleLongrunningCancelOperationRequest
urlParams_ gensupport.URLParams
ctx_ context.Context
header_ http.Header
}
// Cancel: Starts asynchronous cancellation on a long-running operation. The
// server makes a best effort to cancel the operation, but success is not
// guaranteed. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or
// other methods to check whether the cancellation succeeded or whether the
// operation completed despite cancellation. On successful cancellation, the
// operation is not deleted; instead, it becomes an operation with an
// Operation.error value with a google.rpc.Status.code of `1`, corresponding to
// `Code.CANCELLED`.
//
// - name: The name of the operation resource to be cancelled.
func (r *ProjectsDatabasesOperationsService) Cancel(name string, googlelongrunningcanceloperationrequest *GoogleLongrunningCancelOperationRequest) *ProjectsDatabasesOperationsCancelCall {
c := &ProjectsDatabasesOperationsCancelCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.name = name
c.googlelongrunningcanceloperationrequest = googlelongrunningcanceloperationrequest
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsDatabasesOperationsCancelCall) Fields(s ...googleapi.Field) *ProjectsDatabasesOperationsCancelCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsDatabasesOperationsCancelCall) Context(ctx context.Context) *ProjectsDatabasesOperationsCancelCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsDatabasesOperationsCancelCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsDatabasesOperationsCancelCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlelongrunningcanceloperationrequest)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:cancel")
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,
})
c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "firestore.projects.databases.operations.cancel", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "firestore.projects.databases.operations.cancel" call.
// Any non-2xx status code is an error. Response headers are in either
// *Empty.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 *ProjectsDatabasesOperationsCancelCall) Do(opts ...googleapi.CallOption) (*Empty, 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, gensupport.WrapError(&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, gensupport.WrapError(err)
}
ret := &Empty{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
b, err := gensupport.DecodeResponseBytes(target, res)
if err != nil {
return nil, err
}
c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "firestore.projects.databases.operations.cancel", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
type ProjectsDatabasesOperationsDeleteCall struct {
s *Service
name string
urlParams_ gensupport.URLParams
ctx_ context.Context
header_ http.Header
}
// Delete: Deletes a long-running operation. This method indicates that the
// client is no longer interested in the operation result. It does not cancel
// the operation. If the server doesn't support this method, it returns
// `google.rpc.Code.UNIMPLEMENTED`.
//
// - name: The name of the operation resource to be deleted.
func (r *ProjectsDatabasesOperationsService) Delete(name string) *ProjectsDatabasesOperationsDeleteCall {
c := &ProjectsDatabasesOperationsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.name = name
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsDatabasesOperationsDeleteCall) Fields(s ...googleapi.Field) *ProjectsDatabasesOperationsDeleteCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsDatabasesOperationsDeleteCall) Context(ctx context.Context) *ProjectsDatabasesOperationsDeleteCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsDatabasesOperationsDeleteCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsDatabasesOperationsDeleteCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("DELETE", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"name": c.name,
})
c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "firestore.projects.databases.operations.delete", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "firestore.projects.databases.operations.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *Empty.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 *ProjectsDatabasesOperationsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, 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, gensupport.WrapError(&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, gensupport.WrapError(err)
}
ret := &Empty{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
b, err := gensupport.DecodeResponseBytes(target, res)
if err != nil {
return nil, err
}
c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "firestore.projects.databases.operations.delete", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
type ProjectsDatabasesOperationsGetCall struct {
s *Service
name string
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
// Get: Gets the latest state of a long-running operation. Clients can use this
// method to poll the operation result at intervals as recommended by the API
// service.
//
// - name: The name of the operation resource.
func (r *ProjectsDatabasesOperationsService) Get(name string) *ProjectsDatabasesOperationsGetCall {
c := &ProjectsDatabasesOperationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.name = name
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsDatabasesOperationsGetCall) Fields(s ...googleapi.Field) *ProjectsDatabasesOperationsGetCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsDatabasesOperationsGetCall) IfNoneMatch(entityTag string) *ProjectsDatabasesOperationsGetCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsDatabasesOperationsGetCall) Context(ctx context.Context) *ProjectsDatabasesOperationsGetCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsDatabasesOperationsGetCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsDatabasesOperationsGetCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"name": c.name,
})
c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "firestore.projects.databases.operations.get", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "firestore.projects.databases.operations.get" call.
// 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 *ProjectsDatabasesOperationsGetCall) 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, gensupport.WrapError(&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, gensupport.WrapError(err)
}
ret := &GoogleLongrunningOperation{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
b, err := gensupport.DecodeResponseBytes(target, res)
if err != nil {
return nil, err
}
c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "firestore.projects.databases.operations.get", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
type ProjectsDatabasesOperationsListCall struct {
s *Service
name string
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
// List: Lists operations that match the specified filter in the request. If
// the server doesn't support this method, it returns `UNIMPLEMENTED`.
//
// - name: The name of the operation's parent resource.
func (r *ProjectsDatabasesOperationsService) List(name string) *ProjectsDatabasesOperationsListCall {
c := &ProjectsDatabasesOperationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.name = name
return c
}
// Filter sets the optional parameter "filter": The standard list filter.
func (c *ProjectsDatabasesOperationsListCall) Filter(filter string) *ProjectsDatabasesOperationsListCall {
c.urlParams_.Set("filter", filter)
return c
}
// PageSize sets the optional parameter "pageSize": The standard list page
// size.
func (c *ProjectsDatabasesOperationsListCall) PageSize(pageSize int64) *ProjectsDatabasesOperationsListCall {
c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
return c
}
// PageToken sets the optional parameter "pageToken": The standard list page
// token.
func (c *ProjectsDatabasesOperationsListCall) PageToken(pageToken string) *ProjectsDatabasesOperationsListCall {
c.urlParams_.Set("pageToken", pageToken)
return c
}
// ReturnPartialSuccess sets the optional parameter "returnPartialSuccess":
// When set to `true`, operations that are reachable are returned as normal,
// and those that are unreachable are returned in the
// ListOperationsResponse.unreachable field. This can only be `true` when
// reading across collections. For example, when `parent` is set to
// "projects/example/locations/-". This field is not supported by default and
// will result in an `UNIMPLEMENTED` error if set unless explicitly documented
// otherwise in service or product specific documentation.
func (c *ProjectsDatabasesOperationsListCall) ReturnPartialSuccess(returnPartialSuccess bool) *ProjectsDatabasesOperationsListCall {
c.urlParams_.Set("returnPartialSuccess", fmt.Sprint(returnPartialSuccess))
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsDatabasesOperationsListCall) Fields(s ...googleapi.Field) *ProjectsDatabasesOperationsListCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsDatabasesOperationsListCall) IfNoneMatch(entityTag string) *ProjectsDatabasesOperationsListCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsDatabasesOperationsListCall) Context(ctx context.Context) *ProjectsDatabasesOperationsListCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsDatabasesOperationsListCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsDatabasesOperationsListCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/operations")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"name": c.name,
})
c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "firestore.projects.databases.operations.list", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "firestore.projects.databases.operations.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleLongrunningListOperationsResponse.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 *ProjectsDatabasesOperationsListCall) Do(opts ...googleapi.CallOption) (*GoogleLongrunningListOperationsResponse, 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, gensupport.WrapError(&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, gensupport.WrapError(err)
}
ret := &GoogleLongrunningListOperationsResponse{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
b, err := gensupport.DecodeResponseBytes(target, res)
if err != nil {
return nil, err
}
c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "firestore.projects.databases.operations.list", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsDatabasesOperationsListCall) Pages(ctx context.Context, f func(*GoogleLongrunningListOperationsResponse) error) error {
c.ctx_ = ctx
defer c.PageToken(c.urlParams_.Get("pageToken"))
for {
x, err := c.Do()
if err != nil {
return err
}
if err := f(x); err != nil {
return err
}
if x.NextPageToken == "" {
return nil
}
c.PageToken(x.NextPageToken)
}
}
type ProjectsDatabasesUserCredsCreateCall struct {
s *Service
parent string
googlefirestoreadminv1usercreds *GoogleFirestoreAdminV1UserCreds
urlParams_ gensupport.URLParams
ctx_ context.Context
header_ http.Header
}
// Create: Create a user creds.
//
// - parent: A parent name of the form
// `projects/{project_id}/databases/{database_id}`.
func (r *ProjectsDatabasesUserCredsService) Create(parent string, googlefirestoreadminv1usercreds *GoogleFirestoreAdminV1UserCreds) *ProjectsDatabasesUserCredsCreateCall {
c := &ProjectsDatabasesUserCredsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.parent = parent
c.googlefirestoreadminv1usercreds = googlefirestoreadminv1usercreds
return c
}
// UserCredsId sets the optional parameter "userCredsId": Required. The ID to
// use for the user creds, which will become the final component of the user
// creds's resource name. This value should be 4-63 characters. Valid
// characters are /a-z-/ with first character a letter and the last a letter or
// a number. Must not be UUID-like /[0-9a-f]{8}(-[0-9a-f]{4}){3}-[0-9a-f]{12}/.
func (c *ProjectsDatabasesUserCredsCreateCall) UserCredsId(userCredsId string) *ProjectsDatabasesUserCredsCreateCall {
c.urlParams_.Set("userCredsId", userCredsId)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsDatabasesUserCredsCreateCall) Fields(s ...googleapi.Field) *ProjectsDatabasesUserCredsCreateCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsDatabasesUserCredsCreateCall) Context(ctx context.Context) *ProjectsDatabasesUserCredsCreateCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsDatabasesUserCredsCreateCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsDatabasesUserCredsCreateCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlefirestoreadminv1usercreds)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/userCreds")
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{
"parent": c.parent,
})
c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "firestore.projects.databases.userCreds.create", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "firestore.projects.databases.userCreds.create" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleFirestoreAdminV1UserCreds.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 *ProjectsDatabasesUserCredsCreateCall) Do(opts ...googleapi.CallOption) (*GoogleFirestoreAdminV1UserCreds, 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, gensupport.WrapError(&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, gensupport.WrapError(err)
}
ret := &GoogleFirestoreAdminV1UserCreds{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
b, err := gensupport.DecodeResponseBytes(target, res)
if err != nil {
return nil, err
}
c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "firestore.projects.databases.userCreds.create", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
type ProjectsDatabasesUserCredsDeleteCall struct {
s *Service
name string
urlParams_ gensupport.URLParams
ctx_ context.Context
header_ http.Header
}
// Delete: Deletes a user creds.
//
// - name: A name of the form
// `projects/{project_id}/databases/{database_id}/userCreds/{user_creds_id}`.
func (r *ProjectsDatabasesUserCredsService) Delete(name string) *ProjectsDatabasesUserCredsDeleteCall {
c := &ProjectsDatabasesUserCredsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.name = name
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsDatabasesUserCredsDeleteCall) Fields(s ...googleapi.Field) *ProjectsDatabasesUserCredsDeleteCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsDatabasesUserCredsDeleteCall) Context(ctx context.Context) *ProjectsDatabasesUserCredsDeleteCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsDatabasesUserCredsDeleteCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsDatabasesUserCredsDeleteCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("DELETE", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"name": c.name,
})
c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "firestore.projects.databases.userCreds.delete", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "firestore.projects.databases.userCreds.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *Empty.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 *ProjectsDatabasesUserCredsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, 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, gensupport.WrapError(&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, gensupport.WrapError(err)
}
ret := &Empty{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
b, err := gensupport.DecodeResponseBytes(target, res)
if err != nil {
return nil, err
}
c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "firestore.projects.databases.userCreds.delete", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
type ProjectsDatabasesUserCredsDisableCall struct {
s *Service
name string
googlefirestoreadminv1disableusercredsrequest *GoogleFirestoreAdminV1DisableUserCredsRequest
urlParams_ gensupport.URLParams
ctx_ context.Context
header_ http.Header
}
// Disable: Disables a user creds. No-op if the user creds are already
// disabled.
//
// - name: A name of the form
// `projects/{project_id}/databases/{database_id}/userCreds/{user_creds_id}`.
func (r *ProjectsDatabasesUserCredsService) Disable(name string, googlefirestoreadminv1disableusercredsrequest *GoogleFirestoreAdminV1DisableUserCredsRequest) *ProjectsDatabasesUserCredsDisableCall {
c := &ProjectsDatabasesUserCredsDisableCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.name = name
c.googlefirestoreadminv1disableusercredsrequest = googlefirestoreadminv1disableusercredsrequest
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsDatabasesUserCredsDisableCall) Fields(s ...googleapi.Field) *ProjectsDatabasesUserCredsDisableCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsDatabasesUserCredsDisableCall) Context(ctx context.Context) *ProjectsDatabasesUserCredsDisableCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsDatabasesUserCredsDisableCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsDatabasesUserCredsDisableCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlefirestoreadminv1disableusercredsrequest)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:disable")
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,
})
c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "firestore.projects.databases.userCreds.disable", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "firestore.projects.databases.userCreds.disable" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleFirestoreAdminV1UserCreds.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 *ProjectsDatabasesUserCredsDisableCall) Do(opts ...googleapi.CallOption) (*GoogleFirestoreAdminV1UserCreds, 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, gensupport.WrapError(&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, gensupport.WrapError(err)
}
ret := &GoogleFirestoreAdminV1UserCreds{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
b, err := gensupport.DecodeResponseBytes(target, res)
if err != nil {
return nil, err
}
c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "firestore.projects.databases.userCreds.disable", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
type ProjectsDatabasesUserCredsEnableCall struct {
s *Service
name string
googlefirestoreadminv1enableusercredsrequest *GoogleFirestoreAdminV1EnableUserCredsRequest
urlParams_ gensupport.URLParams
ctx_ context.Context
header_ http.Header
}
// Enable: Enables a user creds. No-op if the user creds are already enabled.
//
// - name: A name of the form
// `projects/{project_id}/databases/{database_id}/userCreds/{user_creds_id}`.
func (r *ProjectsDatabasesUserCredsService) Enable(name string, googlefirestoreadminv1enableusercredsrequest *GoogleFirestoreAdminV1EnableUserCredsRequest) *ProjectsDatabasesUserCredsEnableCall {
c := &ProjectsDatabasesUserCredsEnableCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.name = name
c.googlefirestoreadminv1enableusercredsrequest = googlefirestoreadminv1enableusercredsrequest
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsDatabasesUserCredsEnableCall) Fields(s ...googleapi.Field) *ProjectsDatabasesUserCredsEnableCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsDatabasesUserCredsEnableCall) Context(ctx context.Context) *ProjectsDatabasesUserCredsEnableCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsDatabasesUserCredsEnableCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsDatabasesUserCredsEnableCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlefirestoreadminv1enableusercredsrequest)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:enable")
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,
})
c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "firestore.projects.databases.userCreds.enable", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "firestore.projects.databases.userCreds.enable" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleFirestoreAdminV1UserCreds.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 *ProjectsDatabasesUserCredsEnableCall) Do(opts ...googleapi.CallOption) (*GoogleFirestoreAdminV1UserCreds, 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, gensupport.WrapError(&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, gensupport.WrapError(err)
}
ret := &GoogleFirestoreAdminV1UserCreds{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
b, err := gensupport.DecodeResponseBytes(target, res)
if err != nil {
return nil, err
}
c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "firestore.projects.databases.userCreds.enable", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
type ProjectsDatabasesUserCredsGetCall struct {
s *Service
name string
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
// Get: Gets a user creds resource. Note that the returned resource does not
// contain the secret value itself.
//
// - name: A name of the form
// `projects/{project_id}/databases/{database_id}/userCreds/{user_creds_id}`.
func (r *ProjectsDatabasesUserCredsService) Get(name string) *ProjectsDatabasesUserCredsGetCall {
c := &ProjectsDatabasesUserCredsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.name = name
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsDatabasesUserCredsGetCall) Fields(s ...googleapi.Field) *ProjectsDatabasesUserCredsGetCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsDatabasesUserCredsGetCall) IfNoneMatch(entityTag string) *ProjectsDatabasesUserCredsGetCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsDatabasesUserCredsGetCall) Context(ctx context.Context) *ProjectsDatabasesUserCredsGetCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsDatabasesUserCredsGetCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsDatabasesUserCredsGetCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"name": c.name,
})
c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "firestore.projects.databases.userCreds.get", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "firestore.projects.databases.userCreds.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleFirestoreAdminV1UserCreds.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 *ProjectsDatabasesUserCredsGetCall) Do(opts ...googleapi.CallOption) (*GoogleFirestoreAdminV1UserCreds, 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, gensupport.WrapError(&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, gensupport.WrapError(err)
}
ret := &GoogleFirestoreAdminV1UserCreds{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
b, err := gensupport.DecodeResponseBytes(target, res)
if err != nil {
return nil, err
}
c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "firestore.projects.databases.userCreds.get", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
type ProjectsDatabasesUserCredsListCall struct {
s *Service
parent string
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
// List: List all user creds in the database. Note that the returned resource
// does not contain the secret value itself.
//
// - parent: A parent database name of the form
// `projects/{project_id}/databases/{database_id}`.
func (r *ProjectsDatabasesUserCredsService) List(parent string) *ProjectsDatabasesUserCredsListCall {
c := &ProjectsDatabasesUserCredsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.parent = parent
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsDatabasesUserCredsListCall) Fields(s ...googleapi.Field) *ProjectsDatabasesUserCredsListCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsDatabasesUserCredsListCall) IfNoneMatch(entityTag string) *ProjectsDatabasesUserCredsListCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsDatabasesUserCredsListCall) Context(ctx context.Context) *ProjectsDatabasesUserCredsListCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsDatabasesUserCredsListCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsDatabasesUserCredsListCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/userCreds")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"parent": c.parent,
})
c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "firestore.projects.databases.userCreds.list", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "firestore.projects.databases.userCreds.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleFirestoreAdminV1ListUserCredsResponse.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 *ProjectsDatabasesUserCredsListCall) Do(opts ...googleapi.CallOption) (*GoogleFirestoreAdminV1ListUserCredsResponse, 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, gensupport.WrapError(&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, gensupport.WrapError(err)
}
ret := &GoogleFirestoreAdminV1ListUserCredsResponse{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
b, err := gensupport.DecodeResponseBytes(target, res)
if err != nil {
return nil, err
}
c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "firestore.projects.databases.userCreds.list", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
type ProjectsDatabasesUserCredsResetPasswordCall struct {
s *Service
name string
googlefirestoreadminv1resetuserpasswordrequest *GoogleFirestoreAdminV1ResetUserPasswordRequest
urlParams_ gensupport.URLParams
ctx_ context.Context
header_ http.Header
}
// ResetPassword: Resets the password of a user creds.
//
// - name: A name of the form
// `projects/{project_id}/databases/{database_id}/userCreds/{user_creds_id}`.
func (r *ProjectsDatabasesUserCredsService) ResetPassword(name string, googlefirestoreadminv1resetuserpasswordrequest *GoogleFirestoreAdminV1ResetUserPasswordRequest) *ProjectsDatabasesUserCredsResetPasswordCall {
c := &ProjectsDatabasesUserCredsResetPasswordCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.name = name
c.googlefirestoreadminv1resetuserpasswordrequest = googlefirestoreadminv1resetuserpasswordrequest
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsDatabasesUserCredsResetPasswordCall) Fields(s ...googleapi.Field) *ProjectsDatabasesUserCredsResetPasswordCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsDatabasesUserCredsResetPasswordCall) Context(ctx context.Context) *ProjectsDatabasesUserCredsResetPasswordCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsDatabasesUserCredsResetPasswordCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsDatabasesUserCredsResetPasswordCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "application/json", c.header_)
body, err := googleapi.WithoutDataWrapper.JSONBuffer(c.googlefirestoreadminv1resetuserpasswordrequest)
if err != nil {
return nil, err
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:resetPassword")
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,
})
c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "firestore.projects.databases.userCreds.resetPassword", "request", internallog.HTTPRequest(req, body.Bytes()))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "firestore.projects.databases.userCreds.resetPassword" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleFirestoreAdminV1UserCreds.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 *ProjectsDatabasesUserCredsResetPasswordCall) Do(opts ...googleapi.CallOption) (*GoogleFirestoreAdminV1UserCreds, 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, gensupport.WrapError(&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, gensupport.WrapError(err)
}
ret := &GoogleFirestoreAdminV1UserCreds{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
b, err := gensupport.DecodeResponseBytes(target, res)
if err != nil {
return nil, err
}
c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "firestore.projects.databases.userCreds.resetPassword", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
type ProjectsLocationsGetCall struct {
s *Service
name string
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
// Get: Gets information about a location.
//
// - name: Resource name for the location.
func (r *ProjectsLocationsService) Get(name string) *ProjectsLocationsGetCall {
c := &ProjectsLocationsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.name = name
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsGetCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsGetCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsGetCall) Context(ctx context.Context) *ProjectsLocationsGetCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsGetCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsLocationsGetCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"name": c.name,
})
c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "firestore.projects.locations.get", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "firestore.projects.locations.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *Location.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 *ProjectsLocationsGetCall) Do(opts ...googleapi.CallOption) (*Location, 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, gensupport.WrapError(&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, gensupport.WrapError(err)
}
ret := &Location{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
b, err := gensupport.DecodeResponseBytes(target, res)
if err != nil {
return nil, err
}
c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "firestore.projects.locations.get", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
type ProjectsLocationsListCall struct {
s *Service
name string
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
// List: Lists information about the supported locations for this service. This
// method lists locations based on the resource scope provided in the
// ListLocationsRequest.name field: * **Global locations**: If `name` is empty,
// the method lists the public locations available to all projects. *
// **Project-specific locations**: If `name` follows the format
// `projects/{project}`, the method lists locations visible to that specific
// project. This includes public, private, or other project-specific locations
// enabled for the project. For gRPC and client library implementations, the
// resource name is passed as the `name` field. For direct service calls, the
// resource name is incorporated into the request path based on the specific
// service implementation and version.
//
// - name: The resource that owns the locations collection, if applicable.
func (r *ProjectsLocationsService) List(name string) *ProjectsLocationsListCall {
c := &ProjectsLocationsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.name = name
return c
}
// ExtraLocationTypes sets the optional parameter "extraLocationTypes": Do not
// use this field unless explicitly documented otherwise. This is primarily for
// internal usage.
func (c *ProjectsLocationsListCall) ExtraLocationTypes(extraLocationTypes ...string) *ProjectsLocationsListCall {
c.urlParams_.SetMulti("extraLocationTypes", append([]string{}, extraLocationTypes...))
return c
}
// Filter sets the optional parameter "filter": A filter to narrow down results
// to a preferred subset. The filtering language accepts strings like
// "displayName=tokyo", and is documented in more detail in AIP-160
// (https://google.aip.dev/160).
func (c *ProjectsLocationsListCall) Filter(filter string) *ProjectsLocationsListCall {
c.urlParams_.Set("filter", filter)
return c
}
// PageSize sets the optional parameter "pageSize": The maximum number of
// results to return. If not set, the service selects a default.
func (c *ProjectsLocationsListCall) PageSize(pageSize int64) *ProjectsLocationsListCall {
c.urlParams_.Set("pageSize", fmt.Sprint(pageSize))
return c
}
// PageToken sets the optional parameter "pageToken": A page token received
// from the `next_page_token` field in the response. Send that page token to
// receive the subsequent page.
func (c *ProjectsLocationsListCall) PageToken(pageToken string) *ProjectsLocationsListCall {
c.urlParams_.Set("pageToken", pageToken)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsListCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsListCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsListCall) Context(ctx context.Context) *ProjectsLocationsListCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsListCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsLocationsListCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}/locations")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"name": c.name,
})
c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "firestore.projects.locations.list", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "firestore.projects.locations.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *ListLocationsResponse.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 *ProjectsLocationsListCall) Do(opts ...googleapi.CallOption) (*ListLocationsResponse, 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, gensupport.WrapError(&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, gensupport.WrapError(err)
}
ret := &ListLocationsResponse{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
b, err := gensupport.DecodeResponseBytes(target, res)
if err != nil {
return nil, err
}
c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "firestore.projects.locations.list", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
// Pages invokes f for each page of results.
// A non-nil error returned from f will halt the iteration.
// The provided context supersedes any context provided to the Context method.
func (c *ProjectsLocationsListCall) Pages(ctx context.Context, f func(*ListLocationsResponse) error) error {
c.ctx_ = ctx
defer c.PageToken(c.urlParams_.Get("pageToken"))
for {
x, err := c.Do()
if err != nil {
return err
}
if err := f(x); err != nil {
return err
}
if x.NextPageToken == "" {
return nil
}
c.PageToken(x.NextPageToken)
}
}
type ProjectsLocationsBackupsDeleteCall struct {
s *Service
name string
urlParams_ gensupport.URLParams
ctx_ context.Context
header_ http.Header
}
// Delete: Deletes a backup.
//
// - name: Name of the backup to delete. format is
// `projects/{project}/locations/{location}/backups/{backup}`.
func (r *ProjectsLocationsBackupsService) Delete(name string) *ProjectsLocationsBackupsDeleteCall {
c := &ProjectsLocationsBackupsDeleteCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.name = name
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsBackupsDeleteCall) Fields(s ...googleapi.Field) *ProjectsLocationsBackupsDeleteCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsBackupsDeleteCall) Context(ctx context.Context) *ProjectsLocationsBackupsDeleteCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsBackupsDeleteCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsLocationsBackupsDeleteCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("DELETE", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"name": c.name,
})
c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "firestore.projects.locations.backups.delete", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "firestore.projects.locations.backups.delete" call.
// Any non-2xx status code is an error. Response headers are in either
// *Empty.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 *ProjectsLocationsBackupsDeleteCall) Do(opts ...googleapi.CallOption) (*Empty, 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, gensupport.WrapError(&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, gensupport.WrapError(err)
}
ret := &Empty{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
b, err := gensupport.DecodeResponseBytes(target, res)
if err != nil {
return nil, err
}
c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "firestore.projects.locations.backups.delete", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
type ProjectsLocationsBackupsGetCall struct {
s *Service
name string
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
// Get: Gets information about a backup.
//
// - name: Name of the backup to fetch. Format is
// `projects/{project}/locations/{location}/backups/{backup}`.
func (r *ProjectsLocationsBackupsService) Get(name string) *ProjectsLocationsBackupsGetCall {
c := &ProjectsLocationsBackupsGetCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.name = name
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsBackupsGetCall) Fields(s ...googleapi.Field) *ProjectsLocationsBackupsGetCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsBackupsGetCall) IfNoneMatch(entityTag string) *ProjectsLocationsBackupsGetCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsBackupsGetCall) Context(ctx context.Context) *ProjectsLocationsBackupsGetCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsBackupsGetCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsLocationsBackupsGetCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"name": c.name,
})
c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "firestore.projects.locations.backups.get", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "firestore.projects.locations.backups.get" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleFirestoreAdminV1Backup.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 *ProjectsLocationsBackupsGetCall) Do(opts ...googleapi.CallOption) (*GoogleFirestoreAdminV1Backup, 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, gensupport.WrapError(&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, gensupport.WrapError(err)
}
ret := &GoogleFirestoreAdminV1Backup{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
b, err := gensupport.DecodeResponseBytes(target, res)
if err != nil {
return nil, err
}
c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "firestore.projects.locations.backups.get", "response", internallog.HTTPResponse(res, b))
return ret, nil
}
type ProjectsLocationsBackupsListCall struct {
s *Service
parent string
urlParams_ gensupport.URLParams
ifNoneMatch_ string
ctx_ context.Context
header_ http.Header
}
// List: Lists all the backups.
//
// - parent: The location to list backups from. Format is
// `projects/{project}/locations/{location}`. Use `{location} = '-'` to list
// backups from all locations for the given project. This allows listing
// backups from a single location or from all locations.
func (r *ProjectsLocationsBackupsService) List(parent string) *ProjectsLocationsBackupsListCall {
c := &ProjectsLocationsBackupsListCall{s: r.s, urlParams_: make(gensupport.URLParams)}
c.parent = parent
return c
}
// Filter sets the optional parameter "filter": An expression that filters the
// list of returned backups. A filter expression consists of a field name, a
// comparison operator, and a value for filtering. The value must be a string,
// a number, or a boolean. The comparison operator must be one of: `<`, `>`,
// `<=`, `>=`, `!=`, `=`, or `:`. Colon `:` is the contains operator. Filter
// rules are not case sensitive. The following fields in the Backup are
// eligible for filtering: * `database_uid` (supports `=` only)
func (c *ProjectsLocationsBackupsListCall) Filter(filter string) *ProjectsLocationsBackupsListCall {
c.urlParams_.Set("filter", filter)
return c
}
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse for more
// details.
func (c *ProjectsLocationsBackupsListCall) Fields(s ...googleapi.Field) *ProjectsLocationsBackupsListCall {
c.urlParams_.Set("fields", googleapi.CombineFields(s))
return c
}
// IfNoneMatch sets an optional parameter which makes the operation fail if the
// object's ETag matches the given value. This is useful for getting updates
// only after the object has changed since the last request.
func (c *ProjectsLocationsBackupsListCall) IfNoneMatch(entityTag string) *ProjectsLocationsBackupsListCall {
c.ifNoneMatch_ = entityTag
return c
}
// Context sets the context to be used in this call's Do method.
func (c *ProjectsLocationsBackupsListCall) Context(ctx context.Context) *ProjectsLocationsBackupsListCall {
c.ctx_ = ctx
return c
}
// Header returns a http.Header that can be modified by the caller to add
// headers to the request.
func (c *ProjectsLocationsBackupsListCall) Header() http.Header {
if c.header_ == nil {
c.header_ = make(http.Header)
}
return c.header_
}
func (c *ProjectsLocationsBackupsListCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := gensupport.SetHeaders(c.s.userAgent(), "", c.header_)
if c.ifNoneMatch_ != "" {
reqHeaders.Set("If-None-Match", c.ifNoneMatch_)
}
c.urlParams_.Set("alt", alt)
c.urlParams_.Set("prettyPrint", "false")
urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+parent}/backups")
urls += "?" + c.urlParams_.Encode()
req, err := http.NewRequest("GET", urls, nil)
if err != nil {
return nil, err
}
req.Header = reqHeaders
googleapi.Expand(req.URL, map[string]string{
"parent": c.parent,
})
c.s.logger.DebugContext(c.ctx_, "api request", "serviceName", apiName, "rpcName", "firestore.projects.locations.backups.list", "request", internallog.HTTPRequest(req, nil))
return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "firestore.projects.locations.backups.list" call.
// Any non-2xx status code is an error. Response headers are in either
// *GoogleFirestoreAdminV1ListBackupsResponse.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 *ProjectsLocationsBackupsListCall) Do(opts ...googleapi.CallOption) (*GoogleFirestoreAdminV1ListBackupsResponse, 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, gensupport.WrapError(&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, gensupport.WrapError(err)
}
ret := &GoogleFirestoreAdminV1ListBackupsResponse{
ServerResponse: googleapi.ServerResponse{
Header: res.Header,
HTTPStatusCode: res.StatusCode,
},
}
target := &ret
b, err := gensupport.DecodeResponseBytes(target, res)
if err != nil {
return nil, err
}
c.s.logger.DebugContext(c.ctx_, "api response", "serviceName", apiName, "rpcName", "firestore.projects.locations.backups.list", "response", internallog.HTTPResponse(res, b))
return ret, nil
}