Skip to main content

@swamp/gcp/storage

v2026.04.23.1

Google Cloud storage infrastructure models

Repository

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

Labels

gcpgoogle-cloudstoragecloudinfrastructure

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/storage

objects.tsv2026.04.23.1

Global Arguments

ArgumentTypeDescription
acl?arrayThe name of the bucket.
bucket?stringThe name of the bucket containing this object.
cacheControl?stringCache-Control directive for the object data. If omitted, and the object is accessible to all anonymous users, the default will be public, max-age=3600.
componentCount?numberNumber of underlying components that make up this object. Components are accumulated by compose operations.
contentDisposition?stringContent-Disposition of the object data.
contentEncoding?stringContent-Encoding of the object data.
contentLanguage?stringContent-Language of the object data.
contentType?stringContent-Type of the object data. If an object is stored without a Content-Type, it is served as application/octet-stream.
contexts?objectThe time at which the object context was created in RFC 3339 format.
crc32c?stringCRC32c checksum, as described in RFC 4960, Appendix B; encoded using base64 in big-endian byte order. For more information about using the CRC32c checksum, see [Data Validation and Change Detection](https://cloud.google.com/storage/docs/data-validation).
customTime?stringA timestamp in RFC 3339 format specified by the user for an object.
customerEncryption?objectThe encryption algorithm.
eventBasedHold?booleanWhether an object is under event-based hold. Event-based hold is a way to retain objects until an event occurs, which is signified by the hold's release (i.e. this value is set to false). After being released (set to false), such objects will be subject to bucket-level retention (if any). One sample use case of this flag is for banks to hold loan documents for at least 3 years after loan is paid in full. Here, bucket-level retention is 3 years and the event is the loan being paid in full. In this example, these objects will be held intact for any number of years until the event has occurred (event-based hold on the object is released) and then 3 more years after that. That means retention duration of the objects begins from the moment event-based hold transitioned from true to false.
generation?stringThe content generation of this object. Used for object versioning.
hardDeleteTime?stringThis is the time (in the future) when the soft-deleted object will no longer be restorable. It is equal to the soft delete time plus the current soft delete retention duration of the bucket.
id?stringThe ID of the object, including the bucket name, object name, and generation number.
kmsKeyName?stringNot currently supported. Specifying the parameter causes the request to fail with status code 400 - Bad Request.
md5Hash?stringMD5 hash of the data; encoded using base64. For more information about using the MD5 hash, see [Data Validation and Change Detection](https://cloud.google.com/storage/docs/data-validation).
mediaLink?stringMedia download link.
metadata?recordUser-provided metadata, in key/value pairs.
metageneration?stringThe version of the metadata for this object at this generation. Used for preconditions and for detecting changes in metadata. A metageneration number is only meaningful in the context of a particular generation of a particular object.
name?stringThe name of the object. Required if not specified by URL parameter.
owner?objectThe entity, in the form user-userId.
restoreToken?stringRestore token used to differentiate deleted objects with the same name and generation. This field is only returned for deleted objects in hierarchical namespace buckets.
retention?objectThe bucket's object retention mode, can only be Unlocked or Locked.
retentionExpirationTime?stringA server-determined value that specifies the earliest time that the object's retention period expires. This value is in RFC 3339 format. Note 1: This field is not provided for objects with an active event-based hold, since retention expiration is unknown until the hold is removed. Note 2: This value can be provided even when temporary hold is set (so that the user can reason about policy without having to first unset the temporary hold).
size?stringContent-Length of the data in bytes.
softDeleteTime?stringThe time at which the object became soft-deleted in RFC 3339 format.
storageClass?stringStorage class of the object.
temporaryHold?booleanWhether an object is under temporary hold. While this flag is set to true, the object is protected against deletion and overwrites. A common use case of this flag is regulatory investigations where objects need to be retained while the investigation is ongoing. Note that unlike event-based hold, temporary hold does not impact retention expiration time of an object.
timeCreated?stringThe creation time of the object in RFC 3339 format.
timeDeleted?stringThe time at which the object became noncurrent in RFC 3339 format. Will be returned if and only if this version of the object has been deleted.
timeFinalized?stringThe time when the object was finalized.
timeStorageClassUpdated?stringThe time at which the object's storage class was last changed. When the object is initially created, it will be set to timeCreated.
updated?stringThe modification time of the object metadata in RFC 3339 format. Set initially to object creation time and then updated whenever any metadata of the object changes. This includes changes made by a requester, such as modifying custom metadata, as well as changes made by Cloud Storage on behalf of a requester, such as changing the storage class based on an Object Lifecycle Configuration.
ifGenerationMatch?stringMakes the operation conditional on whether the object's current generation matches the given value. Setting to 0 makes the operation succeed only if there are no live versions of the object.
ifGenerationNotMatch?stringMakes the operation conditional on whether the object's current generation does not match the given value. If no live object exists, the precondition fails. Setting to 0 makes the operation succeed only if there is a live version of the object.
ifMetagenerationMatch?stringMakes the operation conditional on whether the object's current metageneration matches the given value.
ifMetagenerationNotMatch?stringMakes the operation conditional on whether the object's current metageneration does not match the given value.
predefinedAcl?stringApply a predefined set of access controls to this object.
projection?stringSet of properties to return. Defaults to noAcl, unless the object resource specifies the acl property, when it defaults to full.
userProject?stringThe project to be billed for this request. Required for Requester Pays buckets.
createCreate a objects
getGet a objects
ArgumentTypeDescription
identifierstringThe name of the objects
updateUpdate objects attributes
deleteDelete the objects
ArgumentTypeDescription
identifierstringThe name of the objects
syncSync objects state from GCP
bulk_restorebulk restore
ArgumentTypeDescription
allowOverwrite?any
copySourceAcl?any
createdAfterTime?any
createdBeforeTime?any
matchGlobs?any
softDeletedAfterTime?any
softDeletedBeforeTime?any
composecompose
ArgumentTypeDescription
deleteSourceObjects?any
destination?any
kind?any
sourceObjects?any
copycopy
ArgumentTypeDescription
acl?any
bucket?any
cacheControl?any
componentCount?any
contentDisposition?any
contentEncoding?any
contentLanguage?any
contentType?any
contexts?any
crc32c?any
customTime?any
customerEncryption?any
etag?any
eventBasedHold?any
generation?any
hardDeleteTime?any
id?any
kind?any
kmsKeyName?any
md5Hash?any
mediaLink?any
metadata?any
metageneration?any
name?any
owner?any
restoreToken?any
retention?any
retentionExpirationTime?any
selfLink?any
size?any
softDeleteTime?any
storageClass?any
temporaryHold?any
timeCreated?any
timeDeleted?any
timeFinalized?any
timeStorageClassUpdated?any
updated?any
movemove
restorerestore
ArgumentTypeDescription
allowOverwrite?any
copySourceAcl?any
createdAfterTime?any
createdBeforeTime?any
matchGlobs?any
softDeletedAfterTime?any
softDeletedBeforeTime?any
rewriterewrite
ArgumentTypeDescription
acl?any
bucket?any
cacheControl?any
componentCount?any
contentDisposition?any
contentEncoding?any
contentLanguage?any
contentType?any
contexts?any
crc32c?any
customTime?any
customerEncryption?any
etag?any
eventBasedHold?any
generation?any
hardDeleteTime?any
id?any
kind?any
kmsKeyName?any
md5Hash?any
mediaLink?any
metadata?any
metageneration?any
name?any
owner?any
restoreToken?any
retention?any
retentionExpirationTime?any
selfLink?any
size?any
softDeleteTime?any
storageClass?any
temporaryHold?any
timeCreated?any
timeDeleted?any
timeFinalized?any
timeStorageClassUpdated?any
updated?any
watch_allwatch all
ArgumentTypeDescription
address?any
expiration?any
id?any
kind?any
params?any
payload?any
resourceId?any
resourceUri?any
token?any
type?any
objectaccesscontrols.tsv2026.04.23.1

Global Arguments

ArgumentTypeDescription
namestringInstance name for this resource (used as the unique identifier in the factory pattern)
bucket?stringThe name of the bucket.
domain?stringThe domain associated with the entity, if any.
email?stringThe email address associated with the entity, if any.
entitystringThe entity holding the permission, in one of the following forms: - user-userId - user-email - group-groupId - group-email - domain-domain - project-team-projectId - allUsers - allAuthenticatedUsers Examples: - The user liz@example.com would be user-liz@example.com. - The group example@googlegroups.com would be group-example@googlegroups.com. - To refer to all members of the Google Apps for Business domain example.com, the entity would be domain-example.com.
entityId?stringThe ID for the entity, if any.
generation?stringThe content generation of the object, if applied to an object.
id?stringThe ID of the access-control entry.
object?stringThe name of the object, if applied to an object.
projectTeam?objectThe project number.
rolestringThe access permission for the entity.
userProject?stringThe project to be billed for this request. Required for Requester Pays buckets.
createCreate a objectAccessControls
getGet a objectAccessControls
ArgumentTypeDescription
identifierstringThe name of the objectAccessControls
updateUpdate objectAccessControls attributes
deleteDelete the objectAccessControls
ArgumentTypeDescription
identifierstringThe name of the objectAccessControls
syncSync objectAccessControls state from GCP
folders.tsv2026.04.23.1

Global Arguments

ArgumentTypeDescription
bucket?stringThe name of the bucket containing this folder.
createTime?stringThe creation time of the folder in RFC 3339 format.
id?stringThe ID of the folder, including the bucket name, folder name.
metageneration?stringThe version of the metadata for this folder. Used for preconditions and for detecting changes in metadata.
name?stringThe name of the folder. Required if not specified by URL parameter.
pendingRenameInfo?objectThe ID of the rename folder operation.
updateTime?stringThe modification time of the folder metadata in RFC 3339 format.
recursive?stringIf true, any parent folder which doesn't exist will be created automatically.
createCreate a folders
getGet a folders
ArgumentTypeDescription
identifierstringThe name of the folders
deleteDelete the folders
ArgumentTypeDescription
identifierstringThe name of the folders
syncSync folders state from GCP
renamerename
serviceaccount.tsv2026.04.23.1

Global Arguments

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

Global Arguments

ArgumentTypeDescription
namestringInstance name for this resource (used as the unique identifier in the factory pattern)
bucket?stringThe name of the bucket.
domain?stringThe domain associated with the entity, if any.
email?stringThe email address associated with the entity, if any.
entitystringThe entity holding the permission, in one of the following forms: - user-userId - user-email - group-groupId - group-email - domain-domain - project-team-projectId - allUsers - allAuthenticatedUsers Examples: - The user liz@example.com would be user-liz@example.com. - The group example@googlegroups.com would be group-example@googlegroups.com. - To refer to all members of the Google Apps for Business domain example.com, the entity would be domain-example.com.
entityId?stringThe ID for the entity, if any.
generation?stringThe content generation of the object, if applied to an object.
id?stringThe ID of the access-control entry.
object?stringThe name of the object, if applied to an object.
projectTeam?objectThe project number.
rolestringThe access permission for the entity.
userProject?stringThe project to be billed for this request. Required for Requester Pays buckets.
createCreate a defaultObjectAccessControls
getGet a defaultObjectAccessControls
ArgumentTypeDescription
identifierstringThe name of the defaultObjectAccessControls
updateUpdate defaultObjectAccessControls attributes
deleteDelete the defaultObjectAccessControls
ArgumentTypeDescription
identifierstringThe name of the defaultObjectAccessControls
syncSync defaultObjectAccessControls state from GCP
notifications.tsv2026.04.23.1

Global Arguments

ArgumentTypeDescription
namestringInstance name for this resource (used as the unique identifier in the factory pattern)
custom_attributes?recordAn optional list of additional attributes to attach to each Cloud PubSub message published for this notification subscription.
event_types?arrayIf present, only send notifications about listed event types. If empty, sent notifications for all event types.
id?stringThe ID of the notification.
object_name_prefix?stringIf present, only apply this notification configuration to object names that begin with this prefix.
payload_formatstringThe desired content of the Payload.
topicstringThe Cloud PubSub topic to which this subscription publishes. Formatted as: '//pubsub.googleapis.com/projects/{project-identifier}/topics/{my-topic}'
bucketstringThe parent bucket of the notification.
userProject?stringThe project to be billed for this request. Required for Requester Pays buckets.
createCreate a notifications
getGet a notifications
ArgumentTypeDescription
identifierstringThe name of the notifications
deleteDelete the notifications
ArgumentTypeDescription
identifierstringThe name of the notifications
syncSync notifications state from GCP
anywherecaches.tsv2026.04.23.1

Global Arguments

ArgumentTypeDescription
namestringInstance name for this resource (used as the unique identifier in the factory pattern)
admissionPolicy?stringThe cache-level entry admission policy.
anywhereCacheId?stringThe ID of the Anywhere cache instance.
bucket?stringThe name of the bucket containing this cache instance.
createTime?stringThe creation time of the cache instance in RFC 3339 format.
id?stringThe ID of the resource, including the project number, bucket name and anywhere cache ID.
ingestOnWrite?booleanSpecifies whether objects are ingested into the cache upon write.
pendingUpdate?booleanTrue if the cache instance has an active Update long-running operation.
state?stringThe current state of the cache instance.
ttl?stringThe TTL of all cache entries in whole seconds. e.g., "7200s".
updateTime?stringThe modification time of the cache instance metadata in RFC 3339 format.
zone?stringThe zone in which the cache instance is running. For example, us-central1-a.
createCreate a anywhereCaches
getGet a anywhereCaches
ArgumentTypeDescription
identifierstringThe name of the anywhereCaches
updateUpdate anywhereCaches attributes
syncSync anywhereCaches state from GCP
disabledisable
pausepause
resumeresume
managedfolders.tsv2026.04.23.1

Global Arguments

ArgumentTypeDescription
bucket?stringThe name of the bucket containing this managed folder.
createTime?stringThe creation time of the managed folder in RFC 3339 format.
id?stringThe ID of the managed folder, including the bucket name and managed folder name.
metageneration?stringThe version of the metadata for this managed folder. Used for preconditions and for detecting changes in metadata.
name?stringThe name of the managed folder. Required if not specified by URL parameter.
updateTime?stringThe last update time of the managed folder metadata in RFC 3339 format.
createCreate a managedFolders
getGet a managedFolders
ArgumentTypeDescription
identifierstringThe name of the managedFolders
deleteDelete the managedFolders
ArgumentTypeDescription
identifierstringThe name of the managedFolders
syncSync managedFolders state from GCP
hmackeys.tsv2026.04.23.1

Global Arguments

ArgumentTypeDescription
namestringInstance name for this resource (used as the unique identifier in the factory pattern)
accessId?stringThe ID of the HMAC Key.
etag?stringHTTP 1.1 Entity tag for the HMAC key.
id?stringThe ID of the HMAC key, including the Project ID and the Access ID.
kind?stringThe kind of item this is. For HMAC Key metadata, this is always storage#hmacKeyMetadata.
projectId?stringProject ID owning the service account to which the key authenticates.
selfLink?stringThe link to this resource.
serviceAccountEmail?stringThe email address of the key's associated service account.
state?stringThe state of the key. Can be one of ACTIVE, INACTIVE, or DELETED.
timeCreated?stringThe creation time of the HMAC key in RFC 3339 format.
updated?stringThe last modification time of the HMAC key metadata in RFC 3339 format.
userProject?stringThe project to be billed for this request.
createCreate a hmacKeys
getGet a hmacKeys
ArgumentTypeDescription
identifierstringThe name of the hmacKeys
updateUpdate hmacKeys attributes
deleteDelete the hmacKeys
ArgumentTypeDescription
identifierstringThe name of the hmacKeys
syncSync hmacKeys state from GCP
bucketaccesscontrols.tsv2026.04.23.1

Global Arguments

ArgumentTypeDescription
namestringInstance name for this resource (used as the unique identifier in the factory pattern)
bucket?stringThe name of the bucket.
domain?stringThe domain associated with the entity, if any.
email?stringThe email address associated with the entity, if any.
entitystringThe entity holding the permission, in one of the following forms: - user-userId - user-email - group-groupId - group-email - domain-domain - project-team-projectId - allUsers - allAuthenticatedUsers Examples: - The user liz@example.com would be user-liz@example.com. - The group example@googlegroups.com would be group-example@googlegroups.com. - To refer to all members of the Google Apps for Business domain example.com, the entity would be domain-example.com.
entityId?stringThe ID for the entity, if any.
id?stringThe ID of the access-control entry.
projectTeam?objectThe project number.
rolestringThe access permission for the entity.
userProject?stringThe project to be billed for this request. Required for Requester Pays buckets.
createCreate a bucketAccessControls
getGet a bucketAccessControls
ArgumentTypeDescription
identifierstringThe name of the bucketAccessControls
updateUpdate bucketAccessControls attributes
deleteDelete the bucketAccessControls
ArgumentTypeDescription
identifierstringThe name of the bucketAccessControls
syncSync bucketAccessControls state from GCP
buckets.tsv2026.04.23.1

Global Arguments

ArgumentTypeDescription
acl?arrayThe name of the bucket.
autoclass?objectWhether or not Autoclass is enabled on this bucket
billing?objectWhen set to true, Requester Pays is enabled for this bucket.
cors?arrayThe value, in seconds, to return in the Access-Control-Max-Age header used in preflight responses.
customPlacementConfig?objectThe list of regional locations in which data is placed.
defaultEventBasedHold?booleanThe default value for event-based hold on newly created objects in this bucket. Event-based hold is a way to retain objects indefinitely until an event occurs, signified by the hold's release. After being released, such objects will be subject to bucket-level retention (if any). One sample use case of this flag is for banks to hold loan documents for at least 3 years after loan is paid in full. Here, bucket-level retention is 3 years and the event is loan being paid in full. In this example, these objects will be held intact for any number of years until the event has occurred (event-based hold on the object is released) and then 3 more years after that. That means retention duration of the objects begins from the moment event-based hold transitioned from true to false. Objects under event-based hold cannot be deleted, overwritten or archived until the hold is removed.
defaultObjectAcl?arrayThe name of the bucket.
encryption?objectServer-determined value that indicates the time from which configuration was enforced and effective. This value is in RFC 3339 format.
generation?stringThe generation of this bucket.
hardDeleteTime?stringThe hard delete time of the bucket in RFC 3339 format.
hierarchicalNamespace?objectWhen set to true, hierarchical namespace is enabled for this bucket.
iamConfiguration?objectIf set, access is controlled only by bucket-level or above IAM policies.
id?stringThe ID of the bucket. For buckets, the id and name properties are the same.
ipFilter?objectWhether to allow all service agents to access the bucket regardless of the IP filter configuration.
labels?recordUser-provided labels, in key/value pairs.
lifecycle?objectTarget storage class. Required iff the type of the action is SetStorageClass.
location?stringThe location of the bucket. Object data for objects in the bucket resides in physical storage within this region. Defaults to US. See the [Developer's Guide](https://cloud.google.com/storage/docs/locations) for the authoritative list.
locationType?stringThe type of the bucket location.
logging?objectThe destination bucket where the current bucket's logs should be placed.
metageneration?stringThe metadata generation of this bucket.
namestringThe name of the bucket.
objectRetention?objectThe bucket's object retention mode. Can be Enabled.
owner?objectThe entity, in the form project-owner-projectId.
projectNumber?stringThe project number of the project the bucket belongs to.
retentionPolicy?objectServer-determined value that indicates the time from which policy was enforced and effective. This value is in RFC 3339 format.
rpo?stringThe Recovery Point Objective (RPO) of this bucket. Set to ASYNC_TURBO to turn on Turbo Replication on a bucket.
satisfiesPZI?booleanReserved for future use.
satisfiesPZS?booleanReserved for future use.
softDeletePolicy?objectServer-determined value that indicates the time from which the policy, or one with a greater retention, was effective. This value is in RFC 3339 format.
softDeleteTime?stringThe soft delete time of the bucket in RFC 3339 format.
storageClass?stringThe bucket's default storage class, used whenever no storageClass is specified for a newly-created object. This defines how objects in the bucket are stored and determines the SLA and the cost of storage. Values include MULTI_REGIONAL, REGIONAL, STANDARD, NEARLINE, COLDLINE, ARCHIVE, and DURABLE_REDUCED_AVAILABILITY. If this value is not specified when the bucket is created, it will default to STANDARD. For more information, see [Storage Classes](https://cloud.google.com/storage/docs/storage-classes).
timeCreated?stringThe creation time of the bucket in RFC 3339 format.
updated?stringThe modification time of the bucket in RFC 3339 format.
versioning?objectWhile set to true, versioning is fully enabled for this bucket.
website?objectIf the requested object path is missing, the service will ensure the path has a trailing '/', append this suffix, and attempt to retrieve the resulting object. This allows the creation of index.html objects to represent directory pages.
enableObjectRetention?stringWhen set to true, object retention is enabled for this bucket.
predefinedAcl?stringApply a predefined set of access controls to this bucket.
predefinedDefaultObjectAcl?stringApply a predefined set of default object access controls to this bucket.
project?stringA valid API project identifier.
projection?stringSet of properties to return. Defaults to noAcl, unless the bucket resource specifies acl or defaultObjectAcl properties, when it defaults to full.
userProject?stringThe project to be billed for this request.
createCreate a buckets
getGet a buckets
ArgumentTypeDescription
identifierstringThe name of the buckets
updateUpdate buckets attributes
deleteDelete the buckets
ArgumentTypeDescription
identifierstringThe name of the buckets
syncSync buckets state from GCP
get_storage_layoutget storage layout
lock_retention_policylock retention policy
relocaterelocate
ArgumentTypeDescription
destinationCustomPlacementConfig?any
destinationKmsKeyName?any
destinationLocation?any
validateOnly?any
restorerestore