// Copyright 2024 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" "net/http" "net/url" "strconv" "strings" 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 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, err := New(client) if err != nil { return nil, err } if endpoint != "" { s.BasePath = endpoint } return s, nil } // New creates a new Service. It uses the provided http.Client for requests. // // Deprecated: please use NewService instead. // To provide a custom HTTP client, use option.WithHTTPClient. // If you are using google.golang.org/api/googleapis/transport.APIKey, use option.WithAPIKey with NewService instead. func New(client *http.Client) (*Service, error) { if client == nil { return nil, errors.New("client is nil") } s := &Service{client: client, BasePath: basePath} s.Projects = NewProjectsService(s) return s, nil } type Service struct { client *http.Client BasePath string // API endpoint base URL UserAgent string // optional additional User-Agent fragment Projects *ProjectsService } func (s *Service) userAgent() string { if s.UserAgent == "" { return googleapi.UserAgent } return googleapi.UserAgent + " " + s.UserAgent } func NewProjectsService(s *Service) *ProjectsService { rs := &ProjectsService{s: s} rs.Databases = NewProjectsDatabasesService(s) rs.Locations = NewProjectsLocationsService(s) return rs } type ProjectsService struct { s *Service Databases *ProjectsDatabasesService Locations *ProjectsLocationsService } func NewProjectsDatabasesService(s *Service) *ProjectsDatabasesService { rs := &ProjectsDatabasesService{s: s} rs.BackupSchedules = NewProjectsDatabasesBackupSchedulesService(s) rs.CollectionGroups = NewProjectsDatabasesCollectionGroupsService(s) rs.Documents = NewProjectsDatabasesDocumentsService(s) rs.Operations = NewProjectsDatabasesOperationsService(s) return rs } type ProjectsDatabasesService struct { s *Service BackupSchedules *ProjectsDatabasesBackupSchedulesService CollectionGroups *ProjectsDatabasesCollectionGroupsService Documents *ProjectsDatabasesDocumentsService Operations *ProjectsDatabasesOperationsService } func NewProjectsDatabasesBackupSchedulesService(s *Service) *ProjectsDatabasesBackupSchedulesService { rs := &ProjectsDatabasesBackupSchedulesService{s: s} return rs } type ProjectsDatabasesBackupSchedulesService 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 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"` // 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"` // 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"` // 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 { // Transaction: If set, applies all writes in this transaction, and commits it. Transaction string `json:"transaction,omitempty"` // Writes: The writes to apply. Always executed atomically and in order. Writes []*Write `json:"writes,omitempty"` // ForceSendFields is a list of field names (e.g. "Transaction") to // unconditionally include in API requests. By default, fields with empty 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 *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. For PipelineQueryTargets, // `document` will be in the new pipeline format, For a Listen stream with both // QueryTargets and PipelineQueryTargets present, if a document matches both // types of queries, then a separate DocumentChange messages will be sent out // one for each set. 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:"-"` } // 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) } // 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. 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 // "COSINE" - 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. // "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. DistanceMeasure string `json:"distanceMeasure,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) } // 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}`. 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. 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) } // 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) } // GoogleFirestoreAdminV1CreateDatabaseMetadata: Metadata related to the create // database operation. type GoogleFirestoreAdminV1CreateDatabaseMetadata struct { } // 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 concurrency control mode to use for this database. // // Possible values: // "CONCURRENCY_MODE_UNSPECIFIED" - Not used. // "OPTIMISTIC" - Use optimistic concurrency control by default. This mode is // available for Cloud Firestore databases. // "PESSIMISTIC" - Use pessimistic concurrency control by default. This mode // is available for Cloud Firestore databases. This is the default setting for // Cloud Firestore. // "OPTIMISTIC_WITH_ENTITY_GROUPS" - Use optimistic concurrency control with // entity groups by default. This is the only available mode for Cloud // Datastore. This mode is also available for Cloud Firestore with Datastore // Mode but is not recommended. 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"` // 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 soft // deleted. Only set if the database has been soft 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"` // 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: The location of the database. Available locations are listed at // https://cloud.google.com/firestore/docs/locations. LocationId string `json:"locationId,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"` // Type: 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" - The default value. This value is used if the // database type is omitted. // "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) } // GoogleFirestoreAdminV1DatabaseSnapshot: A consistent snapshot of a database // at a specific point in time. type GoogleFirestoreAdminV1DatabaseSnapshot struct { // Database: Required. A name of the form // `projects/{project_id}/databases/{database_id}` Database string `json:"database,omitempty"` // SnapshotTime: Required. The timestamp at which the database snapshot is // taken. The requested timestamp must be a whole minute within the PITR // window. 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 *GoogleFirestoreAdminV1DatabaseSnapshot) MarshalJSON() ([]byte, error) { type NoMethod GoogleFirestoreAdminV1DatabaseSnapshot return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // GoogleFirestoreAdminV1DeleteDatabaseMetadata: Metadata related to the delete // database operation. type GoogleFirestoreAdminV1DeleteDatabaseMetadata struct { } // 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: Which collection ids to export. Unspecified means all // collections. 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 may be a simple field name, e.g. // `address` or a path to fields within map_value , e.g. `address.city`, or a // special field path. The only valid special field is `*`, which represents // any field. Field paths may be quoted using ` (backtick). The only character // that needs to be escaped within a quoted field path is the backtick // character itself, escaped using a backslash. Special characters in field // paths that must be quoted include: `*`, `.`, ``` (backtick), `[`, `]`, as // well as any ascii symbolic characters. Examples: (Note: Comments here are // written in markdown syntax, so there is an additional layer of backticks to // represent a code block) `\`address.city\`` represents a field named // `address.city`, not the map key `city` in the field `address`. `\`*\`` // represents a field named `*`, not any field. A special `Field` contains the // default indexing settings for all fields. This field's resource name is: // `projects/{project_id}/databases/{database_id}/collectionGroups/__default__/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 { } // 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: Which collection ids to import. Unspecified means all // collections included in the import. CollectionIds []string `json:"collectionIds,omitempty"` // InputUriPrefix: Location of the exported files. This must match the // output_uri_prefix of an ExportDocumentsResponse from an export that has // completed successfully. See: // google.firestore.admin.v1.ExportDocumentsResponse.output_uri_prefix. InputUriPrefix string `json:"inputUriPrefix,omitempty"` // 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. 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. ApiScope string `json:"apiScope,omitempty"` // Fields: The fields supported by this index. For composite indexes, this // requires a minimum of 2 and a maximum of 100 fields. The last field entry is // always for the field path `__name__`. If, on creation, `__name__` was not // specified as the last field, it will be added automatically with the same // direction as that of the last field defined. If the final field in a // composite index is not directional, the `__name__` will be ordered ASCENDING // (unless explicitly specified). For single field indexes, this will always be // exactly one entry with a field path equal to the field path of the // associated field. Fields []*GoogleFirestoreAdminV1IndexField `json:"fields,omitempty"` // Name: Output only. A server defined name for this index. The form of this // name for composite indexes will be: // `projects/{project_id}/databases/{database_id}/collectionGroups/{collection_i // d}/indexes/{composite_index_id}` For single field indexes, this field will // be empty. Name string `json:"name,omitempty"` // QueryScope: Indexes with a collection query scope specified allow queries // against a collection that is the child of a specific document, specified at // query time, and that has the same collection id. Indexes with a collection // group query scope specified allow queries against all collections descended // from a specific document, specified at query time, and that have the same // collection id as this index. // // Possible values: // "QUERY_SCOPE_UNSPECIFIED" - The query scope is unspecified. Not a valid // option. // "COLLECTION" - Indexes with a collection query scope specified allow // queries against a collection that is the child of a specific document, // specified at query time, and that has the collection id specified by the // index. // "COLLECTION_GROUP" - Indexes with a collection group query scope specified // allow queries against all collections that has the collection id specified // by the index. // "COLLECTION_RECURSIVE" - Include all the collections's ancestor in the // index. Only available for Datastore Mode databases. QueryScope string `json:"queryScope,omitempty"` // State: Output only. The serving state of the index. // // Possible values: // "STATE_UNSPECIFIED" - The state is unspecified. // "CREATING" - The index is being created. There is an active long-running // operation for the index. The index is updated when writing a document. Some // index data may exist. // "READY" - The index is ready to be used. The index is updated when writing // a document. The index is fully populated from all stored documents it // applies to. // "NEEDS_REPAIR" - The index was being created, but something went wrong. // There is no active long-running operation for the index, and the most // recently finished long-running operation failed. The index is not updated // when writing a document. Some index data may exist. Use the // google.longrunning.Operations API to determine why the operation that last // attempted to create this index failed, then re-create the index. State string `json:"state,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "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"` // 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) } // 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) } // GoogleFirestoreAdminV1LocationMetadata: The metadata message for // google.cloud.location.Location.metadata. type GoogleFirestoreAdminV1LocationMetadata struct { } // GoogleFirestoreAdminV1Progress: Describes the progress of the operation. // Unit of work is generic and must be interpreted based on where Progress is // used. type GoogleFirestoreAdminV1Progress struct { // CompletedWork: The amount of work completed. CompletedWork int64 `json:"completedWork,omitempty,string"` // EstimatedWork: The amount of work estimated. EstimatedWork int64 `json:"estimatedWork,omitempty,string"` // ForceSendFields is a list of field names (e.g. "CompletedWork") to // unconditionally include in API requests. By default, fields with empty 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) } // 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: Backup to restore from. Must be from the same project as the parent. // 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. DatabaseId string `json:"databaseId,omitempty"` // DatabaseSnapshot: Database snapshot to restore from. The source database // must exist and have enabled PITR. The restored database will be created in // the same location as the source database. DatabaseSnapshot *GoogleFirestoreAdminV1DatabaseSnapshot `json:"databaseSnapshot,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) } // 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. Storing a timestamp value into a // TTL-enabled field will be treated as the document's absolute expiration // time. Timestamp values in the past indicate 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 { // 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. "State") 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. "State") 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"` // 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 { } // 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"` // 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"` // 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"` // 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"` // 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) } // 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. Firestore does not allow 3rd party auth requests to create // read-write. transactions. type ReadWrite struct { // RetryTransaction: An optional transaction to retry. RetryTransaction string `json:"retryTransaction,omitempty"` // ForceSendFields is a list of field names (e.g. "RetryTransaction") to // unconditionally include in API requests. By default, fields with empty 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. "RetryTransaction") 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) } // RollbackRequest: The request for Firestore.Rollback. type RollbackRequest struct { // Transaction: Required. The transaction to roll back. Transaction string `json:"transaction,omitempty"` // ForceSendFields is a list of field names (e.g. "Transaction") to // unconditionally include in API requests. By default, fields with empty 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 *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"` // 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"` // 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) } // 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) } // 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 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. Firestore allows callers // to provide a full ordering, a partial ordering, or no ordering at all. In // all cases, 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` 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 // `TargetChage.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. Cannot directly contain another array value, // though can contain a map which contains another array. ArrayValue *ArrayValue `json:"arrayValue,omitempty"` // BooleanValue: A boolean value. BooleanValue bool `json:"booleanValue,omitempty"` // BytesValue: A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first // 1,500 bytes are considered by queries. BytesValue string `json:"bytesValue,omitempty"` // DoubleValue: A double value. DoubleValue float64 `json:"doubleValue,omitempty"` // GeoPointValue: A geo point value representing a point on the surface of // Earth. GeoPointValue *LatLng `json:"geoPointValue,omitempty"` // IntegerValue: An integer value. IntegerValue int64 `json:"integerValue,omitempty,string"` // MapValue: A map value. MapValue *MapValue `json:"mapValue,omitempty"` // NullValue: A null value. // // Possible values: // "NULL_VALUE" - Null value. NullValue string `json:"nullValue,omitempty"` // ReferenceValue: A reference to a document. For example: // `projects/{project_id}/databases/{database_id}/documents/{document_path}`. ReferenceValue string `json:"referenceValue,omitempty"` // StringValue: A string value. The string, represented as UTF-8, must not // exceed 1 MiB - 89 bytes. Only the first 1,500 bytes of the UTF-8 // representation are considered by queries. StringValue string `json:"stringValue,omitempty"` // TimestampValue: A timestamp value. Precise only to microseconds. When // stored, any additional precision is rounded down. TimestampValue string `json:"timestampValue,omitempty"` // ForceSendFields is a list of field names (e.g. "ArrayValue") to // unconditionally include in API requests. By default, fields with empty 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"` // 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 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. 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_) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(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, }) 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 if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } 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_) var body io.Reader = nil 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, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "name": c.name, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "firestore.projects.databases.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 if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } 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_) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(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, }) 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 if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } 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_) } var body io.Reader = nil 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, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "name": c.name, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "firestore.projects.databases.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 if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } 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_) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(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, }) 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 if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } 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_) } var body io.Reader = nil 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, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "parent": c.parent, }) 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 if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } 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_) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(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, }) 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 if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } 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_) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(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, }) 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 if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } 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_) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(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, }) 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 if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } 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_) var body io.Reader = nil 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, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "name": c.name, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "firestore.projects.databases.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 if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } 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_) } var body io.Reader = nil 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, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "name": c.name, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "firestore.projects.databases.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 if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } 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_) } var body io.Reader = nil 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, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "parent": c.parent, }) 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 if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } 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_) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(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, }) 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 if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } 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_) } var body io.Reader = nil 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, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "name": c.name, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "firestore.projects.databases.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 if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } 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_) } var body io.Reader = nil 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, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "parent": c.parent, }) 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 if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } 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 may be a simple field name, e.g. // `address` or a path to fields within map_value , e.g. `address.city`, or a // special field path. The only valid special field is `*`, which represents // any field. Field paths may be quoted using ` (backtick). The only // character that needs to be escaped within a quoted field path is the // backtick character itself, escaped using a backslash. Special characters // in field paths that must be quoted include: `*`, `.`, ``` (backtick), `[`, // `]`, as well as any ascii symbolic characters. Examples: (Note: Comments // here are written in markdown syntax, so there is an additional layer of // backticks to represent a code block) `\`address.city\“ represents a field // named `address.city`, not the map key `city` in the field `address`. // `\`*\“ represents a field named `*`, not any field. A special `Field` // contains the default indexing settings for all fields. This field's // resource name is: // `projects/{project_id}/databases/{database_id}/collectionGroups/__default__ // /fields/*` Indexes defined on this `Field` will be applied to all fields // which do not have their own `Field` index configuration. 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_) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(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, }) 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 if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } 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_) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(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, }) 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 if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } 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_) var body io.Reader = nil 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, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "name": c.name, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "firestore.projects.databases.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 if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } 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_) } var body io.Reader = nil 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, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "name": c.name, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "firestore.projects.databases.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 if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } 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_) } var body io.Reader = nil 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, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "parent": c.parent, }) 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 if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } 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_) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(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, }) 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 if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } 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_) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(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, }) 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 if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } 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_) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(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, }) 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 if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } 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_) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(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, }) 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 if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } 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 } // 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_) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(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, }) 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 if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } 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 } // 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_) var body io.Reader = nil 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, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "name": c.name, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "firestore.projects.databases.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 if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } 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 } // 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_) } var body io.Reader = nil 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, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "name": c.name, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "firestore.projects.databases.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 if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } 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 } // 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_) } var body io.Reader = nil 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, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "parent": c.parent, "collectionId": c.collectionId, }) 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 if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } 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`. 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_) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(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, }) 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 if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } 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 } // 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_) } var body io.Reader = nil 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, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "parent": c.parent, "collectionId": c.collectionId, }) 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 if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } 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_) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(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, }) 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 if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } 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_) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(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, }) 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 if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } 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 } // 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_) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(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, }) 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 if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } 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_) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(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, }) 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 if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } 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_) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(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, }) 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 if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } 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_) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(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, }) 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 if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } 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_) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(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, }) 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 if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } 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_) var body io.Reader = nil body, err := googleapi.WithoutDataWrapper.JSONReader(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, }) 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 if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } 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_) var body io.Reader = nil 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, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "name": c.name, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "firestore.projects.databases.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 if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } 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_) } var body io.Reader = nil 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, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "name": c.name, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "firestore.projects.databases.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 if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } 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 } // 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_) } var body io.Reader = nil 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, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "name": c.name, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "firestore.projects.databases.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 if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } 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 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_) } var body io.Reader = nil 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, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "name": c.name, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "firestore.projects.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 if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } 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. // // - 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 } // 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_) } var body io.Reader = nil 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, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "name": c.name, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "firestore.projects.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 if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } 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_) var body io.Reader = nil 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, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "name": c.name, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "firestore.projects.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 if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } 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_) } var body io.Reader = nil 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, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "name": c.name, }) return gensupport.SendRequest(c.ctx_, c.s.client, req) } // Do executes the "firestore.projects.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 if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } 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 } // 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_) } var body io.Reader = nil 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, body) if err != nil { return nil, err } req.Header = reqHeaders googleapi.Expand(req.URL, map[string]string{ "parent": c.parent, }) 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 if err := gensupport.DecodeResponse(target, res); err != nil { return nil, err } return ret, nil }