// 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/v1beta2" // ... // 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/v1beta2" 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:v1beta2" const apiName = "firestore" const apiVersion = "v1beta2" 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) return rs } type ProjectsService struct { s *Service Databases *ProjectsDatabasesService } func NewProjectsDatabasesService(s *Service) *ProjectsDatabasesService { rs := &ProjectsDatabasesService{s: s} rs.CollectionGroups = NewProjectsDatabasesCollectionGroupsService(s) return rs } type ProjectsDatabasesService struct { s *Service CollectionGroups *ProjectsDatabasesCollectionGroupsService } 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 } // 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:"-"` } // GoogleFirestoreAdminV1CreateDatabaseMetadata: Metadata related to the create // database operation. type GoogleFirestoreAdminV1CreateDatabaseMetadata struct { } // GoogleFirestoreAdminV1DeleteDatabaseMetadata: Metadata related to the delete // database operation. type GoogleFirestoreAdminV1DeleteDatabaseMetadata 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) } // GoogleFirestoreAdminV1UpdateDatabaseMetadata: Metadata related to the update // database operation. type GoogleFirestoreAdminV1UpdateDatabaseMetadata struct { } // GoogleFirestoreAdminV1beta2ExportDocumentsMetadata: Metadata for // google.longrunning.Operation results from FirestoreAdmin.ExportDocuments. type GoogleFirestoreAdminV1beta2ExportDocumentsMetadata struct { // CollectionIds: Which collection ids are being exported. CollectionIds []string `json:"collectionIds,omitempty"` // EndTime: The time this operation completed. Will be unset if operation still // in progress. EndTime string `json:"endTime,omitempty"` // OperationState: The state of the export operation. // // Possible values: // "OPERATION_STATE_UNSPECIFIED" - Unspecified. // "INITIALIZING" - Request is being prepared for processing. // "PROCESSING" - Request is actively being processed. // "CANCELLING" - Request is in the process of being cancelled after user // called google.longrunning.Operations.CancelOperation on the operation. // "FINALIZING" - Request has been processed and is in its finalization // stage. // "SUCCESSFUL" - Request has completed successfully. // "FAILED" - Request has finished being processed, but encountered an error. // "CANCELLED" - Request has finished being cancelled after user called // google.longrunning.Operations.CancelOperation. OperationState string `json:"operationState,omitempty"` // OutputUriPrefix: Where the entities are being exported to. OutputUriPrefix string `json:"outputUriPrefix,omitempty"` // ProgressBytes: The progress, in bytes, of this operation. ProgressBytes *GoogleFirestoreAdminV1beta2Progress `json:"progressBytes,omitempty"` // ProgressDocuments: The progress, in documents, of this operation. ProgressDocuments *GoogleFirestoreAdminV1beta2Progress `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 *GoogleFirestoreAdminV1beta2ExportDocumentsMetadata) MarshalJSON() ([]byte, error) { type NoMethod GoogleFirestoreAdminV1beta2ExportDocumentsMetadata return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // GoogleFirestoreAdminV1beta2ExportDocumentsRequest: The request for // FirestoreAdmin.ExportDocuments. type GoogleFirestoreAdminV1beta2ExportDocumentsRequest struct { // CollectionIds: Which collection ids to export. Unspecified means all // collections. CollectionIds []string `json:"collectionIds,omitempty"` // OutputUriPrefix: The output URI. Currently only supports Google Cloud // Storage URIs of the form: `gs://BUCKET_NAME[/NAMESPACE_PATH]`, where // `BUCKET_NAME` is the name of the Google Cloud Storage bucket and // `NAMESPACE_PATH` is an optional Google Cloud Storage namespace path. When // choosing a name, be sure to consider Google Cloud Storage naming guidelines: // https://cloud.google.com/storage/docs/naming. If the URI is a bucket // (without a namespace path), a prefix will be generated based on the start // time. OutputUriPrefix string `json:"outputUriPrefix,omitempty"` // ForceSendFields is a list of field names (e.g. "CollectionIds") to // unconditionally include in API requests. By default, fields with empty 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 *GoogleFirestoreAdminV1beta2ExportDocumentsRequest) MarshalJSON() ([]byte, error) { type NoMethod GoogleFirestoreAdminV1beta2ExportDocumentsRequest return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // GoogleFirestoreAdminV1beta2ExportDocumentsResponse: Returned in the // google.longrunning.Operation response field. type GoogleFirestoreAdminV1beta2ExportDocumentsResponse 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 *GoogleFirestoreAdminV1beta2ExportDocumentsResponse) MarshalJSON() ([]byte, error) { type NoMethod GoogleFirestoreAdminV1beta2ExportDocumentsResponse return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // GoogleFirestoreAdminV1beta2Field: 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 GoogleFirestoreAdminV1beta2Field 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 *GoogleFirestoreAdminV1beta2IndexConfig `json:"indexConfig,omitempty"` // Name: 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"` // 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 *GoogleFirestoreAdminV1beta2Field) MarshalJSON() ([]byte, error) { type NoMethod GoogleFirestoreAdminV1beta2Field return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // GoogleFirestoreAdminV1beta2FieldOperationMetadata: Metadata for // google.longrunning.Operation results from FirestoreAdmin.UpdateField. type GoogleFirestoreAdminV1beta2FieldOperationMetadata struct { // BytesProgress: The progress, in bytes, of this operation. BytesProgress *GoogleFirestoreAdminV1beta2Progress `json:"bytesProgress,omitempty"` // DocumentProgress: The progress, in documents, of this operation. DocumentProgress *GoogleFirestoreAdminV1beta2Progress `json:"documentProgress,omitempty"` // 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 []*GoogleFirestoreAdminV1beta2IndexConfigDelta `json:"indexConfigDeltas,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. "BytesProgress") 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. "BytesProgress") 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 *GoogleFirestoreAdminV1beta2FieldOperationMetadata) MarshalJSON() ([]byte, error) { type NoMethod GoogleFirestoreAdminV1beta2FieldOperationMetadata return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // GoogleFirestoreAdminV1beta2ImportDocumentsMetadata: Metadata for // google.longrunning.Operation results from FirestoreAdmin.ImportDocuments. type GoogleFirestoreAdminV1beta2ImportDocumentsMetadata struct { // CollectionIds: Which collection ids are being imported. CollectionIds []string `json:"collectionIds,omitempty"` // EndTime: The time this operation completed. Will be unset if operation still // in progress. EndTime string `json:"endTime,omitempty"` // InputUriPrefix: The location of the documents being imported. InputUriPrefix string `json:"inputUriPrefix,omitempty"` // OperationState: The state of the import operation. // // Possible values: // "OPERATION_STATE_UNSPECIFIED" - Unspecified. // "INITIALIZING" - Request is being prepared for processing. // "PROCESSING" - Request is actively being processed. // "CANCELLING" - Request is in the process of being cancelled after user // called google.longrunning.Operations.CancelOperation on the operation. // "FINALIZING" - Request has been processed and is in its finalization // stage. // "SUCCESSFUL" - Request has completed successfully. // "FAILED" - Request has finished being processed, but encountered an error. // "CANCELLED" - Request has finished being cancelled after user called // google.longrunning.Operations.CancelOperation. OperationState string `json:"operationState,omitempty"` // ProgressBytes: The progress, in bytes, of this operation. ProgressBytes *GoogleFirestoreAdminV1beta2Progress `json:"progressBytes,omitempty"` // ProgressDocuments: The progress, in documents, of this operation. ProgressDocuments *GoogleFirestoreAdminV1beta2Progress `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 *GoogleFirestoreAdminV1beta2ImportDocumentsMetadata) MarshalJSON() ([]byte, error) { type NoMethod GoogleFirestoreAdminV1beta2ImportDocumentsMetadata return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // GoogleFirestoreAdminV1beta2ImportDocumentsRequest: The request for // FirestoreAdmin.ImportDocuments. type GoogleFirestoreAdminV1beta2ImportDocumentsRequest 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.v1beta2.ExportDocumentsResponse.output_uri_prefix. InputUriPrefix string `json:"inputUriPrefix,omitempty"` // ForceSendFields is a list of field names (e.g. "CollectionIds") to // unconditionally include in API requests. By default, fields with empty 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 *GoogleFirestoreAdminV1beta2ImportDocumentsRequest) MarshalJSON() ([]byte, error) { type NoMethod GoogleFirestoreAdminV1beta2ImportDocumentsRequest return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // GoogleFirestoreAdminV1beta2Index: Cloud Firestore indexes enable simple and // complex queries against documents in a database. type GoogleFirestoreAdminV1beta2Index struct { // Fields: The fields supported by this index. For composite indexes, this is // always 2 or more fields. The last field entry is always for the field path // `__name__`. If, on creation, `__name__` was not specified as the last field, // it will be added automatically with the same direction as that of the last // field defined. If the final field in a composite index is not directional, // the `__name__` will be ordered ASCENDING (unless explicitly specified). For // single field indexes, this will always be exactly one entry with a field // path equal to the field path of the associated field. Fields []*GoogleFirestoreAdminV1beta2IndexField `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. QueryScope string `json:"queryScope,omitempty"` // State: Output only. The serving state of the index. // // Possible values: // "STATE_UNSPECIFIED" - The state is unspecified. // "CREATING" - The index is being created. There is an active long-running // operation for the index. The index is updated when writing a document. Some // index data may exist. // "READY" - The index is ready to be used. The index is updated when writing // a document. The index is fully populated from all stored documents it // applies to. // "NEEDS_REPAIR" - The index was being created, but something went wrong. // There is no active long-running operation for the index, and the most // recently finished long-running operation failed. The index is not updated // when writing a document. Some index data may exist. Use the // google.longrunning.Operations API to determine why the operation that last // attempted to create this index failed, then re-create the index. State string `json:"state,omitempty"` // ServerResponse contains the HTTP response code and headers from the server. googleapi.ServerResponse `json:"-"` // ForceSendFields is a list of field names (e.g. "Fields") to unconditionally // include in API requests. By default, fields with empty 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 *GoogleFirestoreAdminV1beta2Index) MarshalJSON() ([]byte, error) { type NoMethod GoogleFirestoreAdminV1beta2Index return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // GoogleFirestoreAdminV1beta2IndexConfig: The index configuration for this // field. type GoogleFirestoreAdminV1beta2IndexConfig 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 []*GoogleFirestoreAdminV1beta2Index `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 *GoogleFirestoreAdminV1beta2IndexConfig) MarshalJSON() ([]byte, error) { type NoMethod GoogleFirestoreAdminV1beta2IndexConfig return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // GoogleFirestoreAdminV1beta2IndexConfigDelta: Information about an index // configuration change. type GoogleFirestoreAdminV1beta2IndexConfigDelta 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 *GoogleFirestoreAdminV1beta2Index `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 *GoogleFirestoreAdminV1beta2IndexConfigDelta) MarshalJSON() ([]byte, error) { type NoMethod GoogleFirestoreAdminV1beta2IndexConfigDelta return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // GoogleFirestoreAdminV1beta2IndexField: A field in an index. The field_path // describes which field is indexed, the value_mode describes how the field // value is indexed. type GoogleFirestoreAdminV1beta2IndexField struct { // ArrayConfig: Indicates that this field supports operations on // `array_value`s. // // Possible values: // "ARRAY_CONFIG_UNSPECIFIED" - The index does not support additional array // queries. // "CONTAINS" - The index supports array containment queries. ArrayConfig string `json:"arrayConfig,omitempty"` // FieldPath: Can be __name__. For single field indexes, this must match the // name of the field or may be omitted. FieldPath string `json:"fieldPath,omitempty"` // Order: Indicates that this field supports ordering by the specified order or // comparing using =, <, <=, >, >=. // // Possible values: // "ORDER_UNSPECIFIED" - The ordering is unspecified. Not a valid option. // "ASCENDING" - The field is ordered by ascending field value. // "DESCENDING" - The field is ordered by descending field value. Order string `json:"order,omitempty"` // ForceSendFields is a list of field names (e.g. "ArrayConfig") to // unconditionally include in API requests. By default, fields with empty 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 *GoogleFirestoreAdminV1beta2IndexField) MarshalJSON() ([]byte, error) { type NoMethod GoogleFirestoreAdminV1beta2IndexField return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // GoogleFirestoreAdminV1beta2IndexOperationMetadata: Metadata for // google.longrunning.Operation results from FirestoreAdmin.CreateIndex. type GoogleFirestoreAdminV1beta2IndexOperationMetadata 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 *GoogleFirestoreAdminV1beta2Progress `json:"progressBytes,omitempty"` // ProgressDocuments: The progress, in documents, of this operation. ProgressDocuments *GoogleFirestoreAdminV1beta2Progress `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 *GoogleFirestoreAdminV1beta2IndexOperationMetadata) MarshalJSON() ([]byte, error) { type NoMethod GoogleFirestoreAdminV1beta2IndexOperationMetadata return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // GoogleFirestoreAdminV1beta2ListFieldsResponse: The response for // FirestoreAdmin.ListFields. type GoogleFirestoreAdminV1beta2ListFieldsResponse struct { // Fields: The requested fields. Fields []*GoogleFirestoreAdminV1beta2Field `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 *GoogleFirestoreAdminV1beta2ListFieldsResponse) MarshalJSON() ([]byte, error) { type NoMethod GoogleFirestoreAdminV1beta2ListFieldsResponse return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // GoogleFirestoreAdminV1beta2ListIndexesResponse: The response for // FirestoreAdmin.ListIndexes. type GoogleFirestoreAdminV1beta2ListIndexesResponse struct { // Indexes: The requested indexes. Indexes []*GoogleFirestoreAdminV1beta2Index `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 *GoogleFirestoreAdminV1beta2ListIndexesResponse) MarshalJSON() ([]byte, error) { type NoMethod GoogleFirestoreAdminV1beta2ListIndexesResponse return gensupport.MarshalJSON(NoMethod(*s), s.ForceSendFields, s.NullFields) } // GoogleFirestoreAdminV1beta2Progress: Describes the progress of the // operation. Unit of work is generic and must be interpreted based on where // Progress is used. type GoogleFirestoreAdminV1beta2Progress 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 *GoogleFirestoreAdminV1beta2Progress) MarshalJSON() ([]byte, error) { type NoMethod GoogleFirestoreAdminV1beta2Progress 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) } // 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) } type ProjectsDatabasesExportDocumentsCall struct { s *Service name string googlefirestoreadminv1beta2exportdocumentsrequest *GoogleFirestoreAdminV1beta2ExportDocumentsRequest 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. // // - name: Database to export. Should be of the form: // `projects/{project_id}/databases/{database_id}`. func (r *ProjectsDatabasesService) ExportDocuments(name string, googlefirestoreadminv1beta2exportdocumentsrequest *GoogleFirestoreAdminV1beta2ExportDocumentsRequest) *ProjectsDatabasesExportDocumentsCall { c := &ProjectsDatabasesExportDocumentsCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.name = name c.googlefirestoreadminv1beta2exportdocumentsrequest = googlefirestoreadminv1beta2exportdocumentsrequest 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.googlefirestoreadminv1beta2exportdocumentsrequest) if err != nil { return nil, err } c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta2/{+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 ProjectsDatabasesImportDocumentsCall struct { s *Service name string googlefirestoreadminv1beta2importdocumentsrequest *GoogleFirestoreAdminV1beta2ImportDocumentsRequest 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, googlefirestoreadminv1beta2importdocumentsrequest *GoogleFirestoreAdminV1beta2ImportDocumentsRequest) *ProjectsDatabasesImportDocumentsCall { c := &ProjectsDatabasesImportDocumentsCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.name = name c.googlefirestoreadminv1beta2importdocumentsrequest = googlefirestoreadminv1beta2importdocumentsrequest 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.googlefirestoreadminv1beta2importdocumentsrequest) if err != nil { return nil, err } c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta2/{+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 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, "v1beta2/{+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 // *GoogleFirestoreAdminV1beta2Field.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) (*GoogleFirestoreAdminV1beta2Field, 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 := &GoogleFirestoreAdminV1beta2Field{ 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`. // // - 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 the filter set to // `indexConfig.usesAncestorConfig:false`. 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, "v1beta2/{+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 // *GoogleFirestoreAdminV1beta2ListFieldsResponse.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) (*GoogleFirestoreAdminV1beta2ListFieldsResponse, 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 := &GoogleFirestoreAdminV1beta2ListFieldsResponse{ 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(*GoogleFirestoreAdminV1beta2ListFieldsResponse) 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 googlefirestoreadminv1beta2field *GoogleFirestoreAdminV1beta2Field 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, googlefirestoreadminv1beta2field *GoogleFirestoreAdminV1beta2Field) *ProjectsDatabasesCollectionGroupsFieldsPatchCall { c := &ProjectsDatabasesCollectionGroupsFieldsPatchCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.name = name c.googlefirestoreadminv1beta2field = googlefirestoreadminv1beta2field 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.googlefirestoreadminv1beta2field) if err != nil { return nil, err } c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta2/{+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 googlefirestoreadminv1beta2index *GoogleFirestoreAdminV1beta2Index 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, googlefirestoreadminv1beta2index *GoogleFirestoreAdminV1beta2Index) *ProjectsDatabasesCollectionGroupsIndexesCreateCall { c := &ProjectsDatabasesCollectionGroupsIndexesCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.parent = parent c.googlefirestoreadminv1beta2index = googlefirestoreadminv1beta2index 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.googlefirestoreadminv1beta2index) if err != nil { return nil, err } c.urlParams_.Set("alt", alt) c.urlParams_.Set("prettyPrint", "false") urls := googleapi.ResolveRelative(c.s.BasePath, "v1beta2/{+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, "v1beta2/{+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, "v1beta2/{+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 // *GoogleFirestoreAdminV1beta2Index.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) (*GoogleFirestoreAdminV1beta2Index, 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 := &GoogleFirestoreAdminV1beta2Index{ 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, "v1beta2/{+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 // *GoogleFirestoreAdminV1beta2ListIndexesResponse.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) (*GoogleFirestoreAdminV1beta2ListIndexesResponse, 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 := &GoogleFirestoreAdminV1beta2ListIndexesResponse{ 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(*GoogleFirestoreAdminV1beta2ListIndexesResponse) 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) } }