Skip to main content

@swamp/gcp/firestore

v2026.04.23.1

Google Cloud firestore infrastructure models

Repository

https://github.com/systeminit/swamp-extensions

Labels

gcpgoogle-cloudfirestorecloudinfrastructure

Contents

Quality score

Verified by Swamp

How well-documented and verifiable this extension is.

100%

Grade A

  • Has README or module doc2/2earned
  • README has a code example1/1earned
  • README is substantive1/1earned
  • Most symbols documented1/1earned
  • No slow types1/1earned
  • Has description1/1earned
  • At least one platform tag (or universal)1/1earned
  • Two or more platform tags (or universal)1/1earned
  • License declared1/1earned
  • Verified public repository2/2earned

Install

$ swamp extension pull @swamp/gcp/firestore

@swamp/gcp/firestore/backupsv2026.04.23.1backups.ts

Global Arguments

ArgumentTypeDescription
namestringInstance name for this resource (used as the unique identifier in the factory pattern)
location?stringThe location for this resource (e.g., 'us', 'us-central1', 'europe-west1')
getGet a backups
ArgumentTypeDescription
identifierstringThe name of the backups
deleteDelete the backups
ArgumentTypeDescription
identifierstringThe name of the backups
syncSync backups state from GCP

Resources

state(infinite)— A Backup of a Cloud Firestore Database. The backup contains all documents and...
@swamp/gcp/firestore/databasesv2026.04.23.1databases.ts

Global Arguments

ArgumentTypeDescription
appEngineIntegrationMode?enumThe App Engine integration mode to use for this database.
cmekConfig?objectThe CMEK (Customer Managed Encryption Key) configuration for a Firestore database. If not present, the database is secured by the default Google encryption key.
concurrencyMode?enumThe concurrency control mode to use for this database. If unspecified in a CreateDatabase request, this will default based on the database edition: Optimistic for Enterprise and Pessimistic for all other databases.
databaseEdition?enumImmutable. The edition of the database.
deleteProtectionState?enumState of delete protection for the database.
firestoreDataAccessMode?enumOptional. The Firestore API data access mode to use for this database. If not set on write: - the default value is DATA_ACCESS_MODE_DISABLED for Enterprise Edition. - the default value is DATA_ACCESS_MODE_ENABLED for Standard Edition.
locationId?stringRequired. The location of the database. Available locations are listed at https://cloud.google.com/firestore/docs/locations.
mongodbCompatibleDataAccessMode?enumOptional. The MongoDB compatible API data access mode to use for this database. If not set on write, the default value is DATA_ACCESS_MODE_ENABLED for Enterprise Edition. The value is always DATA_ACCESS_MODE_DISABLED for Standard Edition.
name?stringThe resource name of the Database. Format: `projects/{project}/databases/{database}`
pointInTimeRecoveryEnablement?enumWhether to enable the PITR feature on this database.
realtimeUpdatesMode?enumImmutable. The default Realtime Updates mode to use for this database.
sourceInfo?objectInformation about the provenance of this database.
tags?recordOptional. Input only. Immutable. Tag keys/values directly bound to this resource. For example: "123/environment": "production", "123/costCenter": "marketing"
type?enumRequired. The type of the database. See https://cloud.google.com/datastore/docs/firestore-or-datastore for information about how to choose.
databaseId?stringRequired. The ID to use for the database, which will become the final component of the database\
location?stringThe location for this resource (e.g., 'us', 'us-central1', 'europe-west1')
createCreate a databases
getGet a databases
ArgumentTypeDescription
identifierstringThe name of the databases
updateUpdate databases attributes
deleteDelete the databases
ArgumentTypeDescription
identifierstringThe name of the databases
syncSync databases state from GCP
bulk_delete_documentsbulk delete documents
ArgumentTypeDescription
collectionIds?any
namespaceIds?any
cloneclone
ArgumentTypeDescription
databaseId?any
encryptionConfig?any
pitrSnapshot?any
tags?any
export_documentsexport documents
ArgumentTypeDescription
collectionIds?any
namespaceIds?any
outputUriPrefix?any
snapshotTime?any
import_documentsimport documents
ArgumentTypeDescription
collectionIds?any
inputUriPrefix?any
namespaceIds?any
restorerestore
ArgumentTypeDescription
backup?any
databaseId?any
encryptionConfig?any
tags?any

Resources

state(infinite)— A Cloud Firestore Database.
@swamp/gcp/firestore/databases-backupschedulesv2026.04.23.1databases_backupschedules.ts

Global Arguments

ArgumentTypeDescription
namestringInstance name for this resource (used as the unique identifier in the factory pattern)
dailyRecurrence?objectRepresents a recurring schedule that runs every day. The time zone is UTC.
retention?stringAt what relative time in the future, compared to its creation time, the backup should be deleted, e.g. keep backups for 7 days. The maximum supported retention period is 14 weeks.
weeklyRecurrence?objectRepresents a recurring schedule that runs on a specified day of the week. The time zone is UTC.
location?stringThe location for this resource (e.g., 'us', 'us-central1', 'europe-west1')
createCreate a backupSchedules
getGet a backupSchedules
ArgumentTypeDescription
identifierstringThe name of the backupSchedules
updateUpdate backupSchedules attributes
deleteDelete the backupSchedules
ArgumentTypeDescription
identifierstringThe name of the backupSchedules
syncSync backupSchedules state from GCP

Resources

state(infinite)— A backup schedule for a Cloud Firestore Database. This resource is owned by t...
@swamp/gcp/firestore/databases-collectiongroups-fieldsv2026.04.23.1databases_collectiongroups_fields.ts

Global Arguments

ArgumentTypeDescription
indexConfig?objectThe index configuration for this field.
name?stringRequired. A field name of the form: `projects/{project_id}/databases/{database_id}/collectionGroups/{collection_id}/fields/{field_path}` A field path can be a simple field name, e.g. `address` or a path to fields within `map_value`, e.g. `address.city`, or a special field path. The only valid special field is `*`, which represents any field. Field paths can be quoted using `` ` `` (backtick). The only character that must be escaped within a quoted field path is the backtick character itself, esc
ttlConfig?objectThe TTL (time-to-live) configuration for documents that have this `Field` set. A timestamp stored in a TTL-enabled field will be used to determine the expiration time of the document. The expiration time is the sum of the timestamp value and the `expiration_offset`. For Enterprise edition databases, the timestamp value may alternatively be stored in an array value in the TTL-enabled field. An expiration time in the past indicates that the document is eligible for immediate expiration. Using any
location?stringThe location for this resource (e.g., 'us', 'us-central1', 'europe-west1')
getGet a fields
ArgumentTypeDescription
identifierstringThe name of the fields
updateUpdate fields attributes
syncSync fields state from GCP

Resources

state(infinite)— Represents a single field in the database. Fields are grouped by their "Colle...
@swamp/gcp/firestore/databases-collectiongroups-indexesv2026.04.23.1databases_collectiongroups_indexes.ts

Global Arguments

ArgumentTypeDescription
namestringInstance name for this resource (used as the unique identifier in the factory pattern)
apiScope?enumThe API scope supported by this index.
density?enumImmutable. The density configuration of the index.
fields?arrayThe 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 wil
multikey?booleanOptional. Whether the index is multikey. By default, the index is not multikey. For non-multikey indexes, none of the paths in the index definition reach or traverse an array, except via an explicit array index. For multikey indexes, at most one of the paths in the index definition reach or traverse an array, except via an explicit array index. Violations will result in errors. Note this field only applies to index with MONGODB_COMPATIBLE_API ApiScope.
queryScope?enumIndexes 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.
searchIndexOptions?objectOptions for search indexes at the definition level.
shardCount?numberOptional. The number of shards for the index.
unique?booleanOptional. Whether it is an unique index. Unique index ensures all values for the indexed field(s) are unique across documents.
location?stringThe location for this resource (e.g., 'us', 'us-central1', 'europe-west1')
createCreate a indexes
ArgumentTypeDescription
waitForReady?booleanWait for the resource to reach a ready state after creation (default: true)
getGet a indexes
ArgumentTypeDescription
identifierstringThe name of the indexes
deleteDelete the indexes
ArgumentTypeDescription
identifierstringThe name of the indexes
syncSync indexes state from GCP

Resources

state(infinite)— Cloud Firestore indexes enable simple and complex queries against documents i...
@swamp/gcp/firestore/databases-documentsv2026.04.23.1databases_documents.ts

Global Arguments

ArgumentTypeDescription
createTime?stringOutput 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.
fields?recordThe document\
name?stringThe resource name of the document, for example `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
updateTime?stringOutput 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.
location?stringThe location for this resource (e.g., 'us', 'us-central1', 'europe-west1')
getGet a documents
ArgumentTypeDescription
identifierstringThe name of the documents
updateUpdate documents attributes
deleteDelete the documents
ArgumentTypeDescription
identifierstringThe name of the documents
syncSync documents state from GCP
batch_getbatch get
ArgumentTypeDescription
documents?any
mask?any
newTransaction?any
readTime?any
transaction?any
batch_writebatch write
ArgumentTypeDescription
labels?any
writes?any
begin_transactionbegin transaction
ArgumentTypeDescription
options?any
commitcommit
ArgumentTypeDescription
transaction?any
writes?any
create_documentcreate document
ArgumentTypeDescription
createTime?any
fields?any
name?any
updateTime?any
execute_pipelineexecute pipeline
ArgumentTypeDescription
newTransaction?any
readTime?any
structuredPipeline?any
transaction?any
list_collection_idslist collection ids
ArgumentTypeDescription
pageSize?any
pageToken?any
readTime?any
list_documentslist documents
listenlisten
ArgumentTypeDescription
addTarget?any
labels?any
removeTarget?any
partition_querypartition query
ArgumentTypeDescription
pageSize?any
pageToken?any
partitionCount?any
readTime?any
structuredQuery?any
rollbackrollback
ArgumentTypeDescription
transaction?any
run_aggregation_queryrun aggregation query
ArgumentTypeDescription
explainOptions?any
newTransaction?any
readTime?any
structuredAggregationQuery?any
transaction?any
run_queryrun query
ArgumentTypeDescription
explainOptions?any
newTransaction?any
readTime?any
structuredQuery?any
transaction?any
writewrite
ArgumentTypeDescription
labels?any
writes?any

Resources

state(infinite)— A Firestore document. Must not exceed 1 MiB - 4 bytes.
@swamp/gcp/firestore/databases-usercredsv2026.04.23.1databases_usercreds.ts

Global Arguments

ArgumentTypeDescription
name?stringIdentifier. The resource name of the UserCreds. Format: `projects/{project}/databases/{database}/userCreds/{user_creds}`
resourceIdentity?objectDescribes a Resource Identity principal.
userCredsId?stringRequired. The ID to use for the user creds, which will become the final component of the user creds's resource name. This value should be 4-63 characters. Valid characters are /a-z-/ with first character a letter and the last a letter or a number. Must not be UUID-like /[0-9a-f]{8}(-[0-9a-f]{4}){3}-[0-9a-f]{12}/.
location?stringThe location for this resource (e.g., 'us', 'us-central1', 'europe-west1')
createCreate a userCreds
ArgumentTypeDescription
waitForReady?booleanWait for the resource to reach a ready state after creation (default: true)
getGet a userCreds
ArgumentTypeDescription
identifierstringThe name of the userCreds
deleteDelete the userCreds
ArgumentTypeDescription
identifierstringThe name of the userCreds
syncSync userCreds state from GCP
disabledisable
enableenable
reset_passwordreset password

Resources

state(infinite)— A Cloud Firestore User Creds.
@swamp/gcp/firestore/locationsv2026.04.23.1locations.ts

Global Arguments

ArgumentTypeDescription
namestringInstance name for this resource (used as the unique identifier in the factory pattern)
getGet a locations
ArgumentTypeDescription
identifierstringThe name of the locations
syncSync locations state from GCP

Resources

state(infinite)— A resource that represents a Google Cloud location.