volume_instance_backups
Creates, updates, deletes, gets or lists a volume_instance_backups resource.
Overview​
| Name | volume_instance_backups |
| Type | Resource |
| Id | railway.storage.volume_instance_backups |
Fields​
The following fields are returned by SELECT queries:
- list
One row per VolumeInstanceBackup.
| Name | Datatype | Description |
|---|---|---|
id | string | |
name | string | |
creator_id | string | |
external_id | string | |
schedule_id | string | |
created_at | string (date-time) | |
expires_at | string (date-time) | |
referenced_mb | integer | |
used_mb | integer | |
volume_instance_size_mb | integer |
Methods​
The following methods are available for this resource:
| Name | Accessible by | Required Params | Optional Params | Description |
|---|---|---|---|---|
list | select | volume_instance_id | List backups of a volume instance. Backed by the Railway GraphQL query volumeInstanceBackupList. | |
create | insert | volume_instance_id | Create backup of a volume instance. Backed by the Railway GraphQL mutation volumeInstanceBackupCreate. | |
delete | delete | volume_instance_backup_id, volume_instance_id | Deletes volume instance backup. Backed by the Railway GraphQL mutation volumeInstanceBackupDelete. | |
lock | exec | volume_instance_backup_id, volume_instance_id | Removes backup expiration date. Backed by the Railway GraphQL mutation volumeInstanceBackupLock. | |
restore | exec | volume_instance_backup_id, volume_instance_id | replica_service_ids, wipe_service_ids | Restore a volume instance from a backup. Backed by the Railway GraphQL mutation volumeInstanceBackupRestore. |
Parameters​
Parameters can be passed in the WHERE clause of a query. Check the Methods section to see which parameters are required or optional for each operation.
| Name | Datatype | Description |
|---|---|---|
volume_instance_id | string | The id of the volume instance to list the backups of. |
replica_service_ids | array | Optional: for HA cluster restores, service IDs of replicas that should also receive the backup. |
volume_instance_backup_id | string | The volume instance's backup id. |
wipe_service_ids | array | Service IDs whose volumes should be wiped (replaced with fresh empty volumes) as part of this restore. |
SELECT examples​
- list
List backups of a volume instance. Backed by the Railway GraphQL query volumeInstanceBackupList.
SELECT
id,
name,
creator_id,
external_id,
schedule_id,
created_at,
expires_at,
referenced_mb,
used_mb,
volume_instance_size_mb
FROM railway.storage.volume_instance_backups
WHERE volume_instance_id = '{{ volume_instance_id }}' -- required
;
INSERT examples​
- create
- Manifest
Create backup of a volume instance. Backed by the Railway GraphQL mutation volumeInstanceBackupCreate.
INSERT INTO railway.storage.volume_instance_backups (
name,
volume_instance_id
)
SELECT
'{{ name }}',
'{{ volume_instance_id }}' /* required */
RETURNING
workflow_id,
archive_continuity_unverified_reason,
archive_continuity_verified
;
# Description fields are for documentation purposes
- name: volume_instance_backups
props:
- name: name
value: "{{ name }}"
description: |
Optional name/label for the backup. Defaults to 'Manual' if not provided.
- name: volume_instance_id
value: "{{ volume_instance_id }}"
description: |
The id of the volume instance to create a backup of.
DELETE examples​
- delete
Deletes volume instance backup. Backed by the Railway GraphQL mutation volumeInstanceBackupDelete.
DELETE FROM railway.storage.volume_instance_backups
WHERE
volume_instance_backup_id = '{{ volume_instance_backup_id }}' --required
AND volume_instance_id = '{{ volume_instance_id }}' --required
;
Lifecycle Methods​
- lock
- restore
Removes backup expiration date. Backed by the Railway GraphQL mutation volumeInstanceBackupLock.
EXEC railway.storage.volume_instance_backups.lock
@volume_instance_backup_id='{{ volume_instance_backup_id }}', --required
@volume_instance_id='{{ volume_instance_id }}' --required
;
Restore a volume instance from a backup. Backed by the Railway GraphQL mutation volumeInstanceBackupRestore.
EXEC railway.storage.volume_instance_backups.restore
@volume_instance_backup_id='{{ volume_instance_backup_id }}', --required
@volume_instance_id='{{ volume_instance_id }}', --required
@replica_service_ids='{{ replica_service_ids }}',
@wipe_service_ids='{{ wipe_service_ids }}'
;