Skip to main content

Openstack

@dataverket/openstackv2026.09.20.1· 1d agoMODELS
01README

OpenStack for swamp, through the official openstack CLI. Sixteen model types cover the compute, storage, network and identity primitives of a project: servers (create with NICs, ports, block devices and config drive; update, start/stop/reboot, attach/detach interfaces, delete), images (upload, find newest, update, delete), keypairs, server groups, volumes (create, extend, attach/detach, delete), volume snapshots, security groups with inline rules, networks, subnets, routers (gateway, subnet interfaces, static routes), ports (fixed IPs, allowed addresses), floating IPs (allocate, bind to server or port, unbind, release), application credentials (create with one-time secret, delete), and read-only lookups for flavors, availability zones and volume types. Every list fans out show so stored resources are always the full object, and every mutating method re-reads and stores the result. Transport is python-openstackclient (10.x) reading -f json; the CLI handles Keystone auth types, the service catalog and microversions. Authenticate with a named clouds.yaml cloud or an application credential from a vault (env overrides, secret redacted from errors). Creates reuse an existing resource of the same name; deletes are no-ops when already gone.

02Models16
@dataverket/openstack/serverv2026.09.20.1server.ts
fn list(name?: string, status?: string)
Discover servers in the project (optionally filtered by name regex or status) and store each one
ArgumentTypeDescription
name?stringRegex filter on server name
status?stringFilter on status, e.g. ACTIVE
fn get()
Read one server by name or ID and store it
fn create(name: string, flavor: string, image?: string, volume?: string, bootFromVolume?: number, networks?: array, ports?: array, nics?: array, blockDevices?: array, configDrive?: boolean, hints?: record, keyName?: string, securityGroups?: array, userData?: string, availabilityZone?: string, serverGroup?: string, properties?: record, tags?: array, description?: string, wait: boolean)
Create a server (image or volume boot) and wait for it; an existing server of the same name is reused
ArgumentTypeDescription
namestringServer name; reused if it already exists
flavorstringFlavor name or ID
image?stringBoot image name or ID
volume?stringBoot volume name or ID
bootFromVolume?numberCreate a boot volume of this many GB from the image
networks?arrayNetworks (name or ID) to attach a NIC to, in order
ports?arrayPre-created ports (name or ID) to attach, in order
nics?arrayNICs with fixed addresses; network or port names are resolved to ids
blockDevices?arrayBlock device mappings beyond the boot disk
configDrive?booleanForce (true) or forbid (false) a config drive; cloud default when omitted
hints?recordScheduler hints, e.g. different_host=<id>
keyName?stringKeypair name to inject
securityGroups?array
userData?stringcloud-init user data, passed to the CLI through a private temp file; empty means none
availabilityZone?string
serverGroup?stringServer group name or ID
properties?record
tags?array
description?string
waitbooleanWait for the build to finish
fn update(name?: string, description?: string, properties?: record, removeProperties?: array)
Rename, describe or set/unset properties on a server
ArgumentTypeDescription
name?stringNew name
description?string
properties?recordProperties to set (others are left alone)
removeProperties?array
fn delete(force: boolean, wait: boolean)
Delete a server (no-op when it is already gone) and drop its stored resource
ArgumentTypeDescription
forceboolean
waitboolean
fn attachInterface(network?: string, port?: string, tag?: string)
Attach a NIC on a network, or an existing port, to a running server and store it
ArgumentTypeDescription
network?stringAttach a new NIC on this network (name or ID)
port?stringAttach this existing port (name or ID)
tag?string
fn detachInterface(network?: string, port?: string)
Detach a port, or every NIC on a network, from a running server and store it
ArgumentTypeDescription
network?stringDetach every NIC on this network (name or ID)
port?stringDetach this port (name or ID)
fn start()
Start a stopped server and store its new state
fn stop()
Stop a running server and store its new state
fn reboot(hard: boolean, wait: boolean)
Soft (default) or hard reboot a server and store its new state
ArgumentTypeDescription
hardboolean
waitboolean

Resources

server(infinite)— A Nova server: state, addresses, host hash, image, flavor, keypair, groups and attached volumes
@dataverket/openstack/imagev2026.09.18.1image.ts
fn list(name?: string, visibility?: enum, status?: string)
Discover images visible to the project and store each one
ArgumentTypeDescription
name?stringExact name filter
visibility?enumLimit to one visibility, or all
status?string
fn get()
Read one image by name or ID and store it
fn create(name: string, file: string, containerFormat: string, minDiskGb?: number, minRamMb?: number, protected?: boolean, properties?: record, tags?: array)
Upload a local file as a new image; an existing image of the same name is reused
ArgumentTypeDescription
namestringImage name; reused if it already exists
filestringLocal image file to upload; relative paths resolve against the repository
containerFormatstring
minDiskGb?number
minRamMb?number
protected?boolean
properties?record
tags?array
fn find(name?: string, nameRegex?: string, tags?: array, properties?: record, visibility?: enum, status: string)
Find the newest image matching name, regex, tags and properties (like a data source) and store just that one
ArgumentTypeDescription
name?stringExact name (server-side filter)
nameRegex?stringRegular expression on the name (client-side)
tags?arrayEvery tag must be present
properties?recordProperty values that must match, e.g. os_distro=debian
visibility?enum
statusstring
fn update(name?: string, minDiskGb?: number, minRamMb?: number, protected?: boolean, properties?: record, tags?: array)
Change an image's name, limits, visibility, protection, properties or tags
ArgumentTypeDescription
name?string
minDiskGb?number
minRamMb?number
protected?boolean
properties?record
tags?array
fn delete()
Delete an image (no-op when already gone) and drop its stored resource

Resources

image(infinite)— A Glance image: format, size, visibility, OS metadata and tags
@dataverket/openstack/keypairv2026.09.18.1keypair.ts
fn list()
Discover the caller's keypairs and store each one
fn get()
Read one keypair by name and store it
fn create(publicKey?: string, type?: enum)
Import a public key, or let Nova generate a keypair (private key stored sensitively); an existing name is reused
ArgumentTypeDescription
publicKey?stringOpenSSH public key line to import; omit to have Nova generate an ed25519 key
type?enum
fn delete()
Delete a keypair (no-op when already gone) and drop its stored resource

Resources

keypair(infinite)— An SSH keypair registered with Nova (public half)
privateKey(infinite)— The private key of a keypair Nova generated; written once at create
@dataverket/openstack/server-groupv2026.09.18.1server_group.ts
fn list()
Discover the project's server groups and store each one
fn get()
Read one server group by name or ID and store it
fn create(name: string, policy: enum, maxServerPerHost?: number)
Create a server group with a placement policy; an existing name is reused
ArgumentTypeDescription
namestringGroup name; an existing group is reused
policyenum
maxServerPerHost?numberRule for anti-affinity: how many members may share a host
fn delete()
Delete a server group (no-op when already gone) and drop its stored resource

Resources

serverGroup(infinite)— A Nova server group: placement policy, rules and members
@dataverket/openstack/flavorv2026.09.18.1flavor.ts
fn list(all: boolean, minRamMb?: number, minDiskGb?: number)
Discover flavors (public by default) and store each one
ArgumentTypeDescription
allbooleanInclude private flavors the project can see
minRamMb?number
minDiskGb?number
fn get(flavor: string)
Read one flavor by name or ID and store it
ArgumentTypeDescription
flavorstringFlavor name or ID

Resources

flavor(infinite)— A Nova flavor: vCPUs, RAM, disk and extra specs
@dataverket/openstack/availability-zonev2026.09.18.1availability_zone.ts
fn list(service: enum)
Discover the zones of one service (compute by default) and store each one
ArgumentTypeDescription
serviceenum

Resources

zone(infinite)— An availability zone of one service and its status
@dataverket/openstack/volumev2026.09.18.1volume.ts
fn list(name?: string, status?: string)
Discover the project's volumes and store each one
ArgumentTypeDescription
name?stringExact name filter
status?string
fn get()
Read one volume by name or ID and store it
fn create(name: string, sizeGb?: number, type?: string, image?: string, snapshot?: string, source?: string, description?: string, availabilityZone?: string, bootable?: boolean, properties?: record, wait: boolean)
Create a volume (blank, from an image, snapshot or another volume) and wait for it; an existing name is reused
ArgumentTypeDescription
namestringVolume name; an existing volume is reused
sizeGb?numberSize in GB; required unless cloning a snapshot or volume
type?stringVolume type
image?stringPopulate from this image (name or ID)
snapshot?stringPopulate from this snapshot
source?stringClone this volume
description?string
availabilityZone?string
bootable?boolean
properties?record
waitbooleanWait until the volume is available
fn update(name?: string, description?: string, sizeGb?: number, bootable?: boolean, properties?: record)
Rename, describe, extend, toggle bootable or set properties on a volume
ArgumentTypeDescription
name?string
description?string
sizeGb?numberExtend to this size
bootable?boolean
properties?record
fn delete(force: boolean, wait: boolean)
Delete a volume (no-op when already gone), wait for it to vanish and drop its stored resource
ArgumentTypeDescription
forcebooleanDelete regardless of state
waitboolean
fn attach(server: string, device?: string, deleteOnTermination?: boolean)
Attach a volume to a server and store the volume with its new attachment
ArgumentTypeDescription
serverstringServer name or ID
device?stringDevice name inside the server
deleteOnTermination?boolean
fn detach(server: string)
Detach a volume from a server and store the volume
ArgumentTypeDescription
serverstringServer name or ID

Resources

volume(infinite)— A Cinder volume: size, type, status and server attachments
@dataverket/openstack/volume-typev2026.09.18.1volume_type.ts
fn list()
Discover the volume types the project can use and store each one
fn get(volumeType: string)
Read one volume type by name or ID and store it
ArgumentTypeDescription
volumeTypestringVolume type name or ID

Resources

volumeType(infinite)— A Cinder volume type and its extra specs
@dataverket/openstack/volume-snapshotv2026.09.18.1snapshot.ts
fn list(volume?: string, name?: string, status?: string)
Discover snapshots (optionally of one volume) and store each one
ArgumentTypeDescription
volume?stringOnly snapshots of this volume (name or ID)
name?stringExact name filter
status?string
fn get()
Read one snapshot by name or ID and store it
fn create(name: string, volume: string, description?: string, force: boolean, properties?: record, wait: boolean)
Snapshot a volume and wait until the snapshot is available; an existing name is reused
ArgumentTypeDescription
namestringSnapshot name; an existing snapshot is reused
volumestringVolume to snapshot (name or ID)
description?string
forcebooleanAllow snapshotting an attached volume
properties?record
waitboolean
fn delete(wait: boolean)
Delete a snapshot (no-op when already gone), wait until it vanishes and drop its stored resource
ArgumentTypeDescription
waitboolean

Resources

snapshot(infinite)— A Cinder volume snapshot: source volume, size and status
@dataverket/openstack/security-groupv2026.09.18.1security_group.ts
fn list(name?: string)
Discover the project's security groups (with rules) and store each one
ArgumentTypeDescription
name?stringKeep only groups with exactly this name
fn get()
Read one security group by name or ID and store it
fn create(name: string, description?: string, stateless: boolean, tags?: array)
Create a security group; an existing group of the same name is reused
ArgumentTypeDescription
namestringGroup name; an existing group is reused
description?string
statelessboolean
tags?array
fn update(name?: string, description?: string)
Rename or re-describe a security group
ArgumentTypeDescription
name?string
description?string
fn delete()
Delete a security group (no-op when already gone) and drop its stored resource
fn addRule(direction: enum, protocol?: string, portRange?: string, remoteIp?: string, remoteGroup?: string, ethertype?: enum, icmpType?: number, icmpCode?: number, description?: string)
Add a rule to a security group (an identical existing rule is fine) and store the group
ArgumentTypeDescription
directionenum
protocol?stringtcp, udp, icmp, ... default any
portRange?stringDestination port or range, e.g. 22 or 137:139
remoteIp?stringRemote CIDR, default 0.0.0.0/0 or ::/0
remoteGroup?stringRemote security group (name or ID)
ethertype?enum
icmpType?number
icmpCode?number
description?string
fn removeRule(rule: string)
Remove a rule by ID (no-op when already gone) and store the group
ArgumentTypeDescription
rulestringRule ID

Resources

securityGroup(infinite)— A Neutron security group with its rules inline
@dataverket/openstack/networkv2026.09.18.1network.ts
fn list(name?: string, external?: boolean, status?: string)
Discover networks visible to the project (own, shared and external) and store each one
ArgumentTypeDescription
name?stringExact name filter
external?booleantrue: only external networks; false: only internal
status?string
fn get()
Read one network by name or ID and store it
fn create(name: string, description?: string, shared?: boolean, portSecurity?: boolean, mtu?: number, dnsDomain?: string, availabilityZoneHints?: array, tags?: array)
Create a network; an existing network of the same name is reused
ArgumentTypeDescription
namestringNetwork name; an existing network is reused
description?string
shared?boolean
portSecurity?booleanDefault port security for ports on it
mtu?number
dnsDomain?string
availabilityZoneHints?array
tags?array
fn update(name?: string, description?: string, shared?: boolean, portSecurity?: boolean, mtu?: number, dnsDomain?: string)
Rename, describe or change sharing, port security, MTU or DNS domain of a network
ArgumentTypeDescription
name?string
description?string
shared?boolean
portSecurity?boolean
mtu?number
dnsDomain?string
fn delete()
Delete a network (no-op when already gone) and drop its stored resource

Resources

network(infinite)— A Neutron network: external flag, subnets, MTU, port security and status
@dataverket/openstack/subnetv2026.09.18.1subnet.ts
fn list(network?: string, name?: string, ipVersion?: union)
Discover subnets (optionally of one network) and store each one
ArgumentTypeDescription
network?stringOnly subnets of this network (name or ID)
name?stringExact name filter
ipVersion?union
fn get()
Read one subnet by name or ID and store it
fn create(name: string, network: string, cidr: string, ipVersion: union, gateway?: string, dhcp: boolean, dnsNameservers?: array, allocationPools?: array, hostRoutes?: array, description?: string, tags?: array)
Create a subnet on a network; an existing subnet of the same name is reused
ArgumentTypeDescription
namestringSubnet name; an existing subnet is reused
networkstringParent network (name or ID)
cidrstringSubnet range, e.g. 192.0.2.0/24
ipVersionunion
gateway?stringGateway address, or "none" for no gateway (default: first address)
dhcpboolean
dnsNameservers?array
allocationPools?array
hostRoutes?array
description?string
tags?array
fn update(name?: string, description?: string, gateway?: string, dhcp?: boolean, dnsNameservers?: array, allocationPools?: array, hostRoutes?: array)
Change a subnet's name, description, gateway, DHCP, DNS servers, pools or host routes
ArgumentTypeDescription
name?string
description?string
gateway?stringNew gateway address or "none"
dhcp?boolean
dnsNameservers?arrayReplaces the current list
allocationPools?arrayReplaces the current pools
hostRoutes?arrayReplaces the current routes
fn delete()
Delete a subnet (no-op when already gone) and drop its stored resource

Resources

subnet(infinite)— A Neutron subnet: CIDR, gateway, DHCP, pools, DNS and host routes
@dataverket/openstack/routerv2026.09.18.1router.ts
fn list(name?: string)
Discover the project's routers and store each one
ArgumentTypeDescription
name?stringExact name filter
fn get()
Read one router by name or ID and store it
fn create(name: string, externalGateway?: string, snat?: boolean, description?: string, availabilityZoneHints?: array, tags?: array)
Create a router, optionally with an external gateway; an existing name is reused
ArgumentTypeDescription
namestringRouter name; an existing router is reused
externalGateway?stringExternal network (name or ID) to use as gateway
snat?booleanSource NAT on the gateway (cloud default when omitted)
description?string
availabilityZoneHints?array
tags?array
fn update(name?: string, description?: string, externalGateway?: string, clearExternalGateway: boolean, snat?: boolean)
Rename or describe a router, or set/clear its external gateway and SNAT
ArgumentTypeDescription
name?string
description?string
externalGateway?stringSet the gateway network (name or ID)
clearExternalGatewayboolean
snat?boolean
fn addSubnet(subnet: string)
Attach a subnet as an internal interface (no-op when already attached) and store the router
ArgumentTypeDescription
subnetstringSubnet name or ID
fn removeSubnet(subnet: string)
Detach a subnet interface (no-op when not attached) and store the router
ArgumentTypeDescription
subnetstringSubnet name or ID
fn addRoute()
Add a static route (no-op when present) and store the router
fn removeRoute()
Remove a static route (no-op when absent) and store the router
fn delete()
Delete a router (no-op when already gone) and drop its stored resource; detach subnets first

Resources

router(infinite)— A Neutron router: external gateway, attached subnets, static routes and status
@dataverket/openstack/portv2026.09.18.1port.ts
fn list(network?: string, server?: string, device?: string, name?: string, status?: enum)
Discover ports (optionally of one network, server or device) and store each one
ArgumentTypeDescription
network?stringOnly ports on this network (name or ID)
server?stringOnly ports of this server (name or ID)
device?stringOnly ports owned by this device ID
name?stringExact name filter
status?enum
fn get()
Read one port by name or ID and store it
fn create(name: string, network: string, fixedIps?: array, securityGroups?: array, portSecurity?: boolean, allowedAddresses?: array, description?: string, tags?: array)
Create a port on a network with optional fixed IPs and security groups; an existing name is reused
ArgumentTypeDescription
namestringPort name; an existing port of the same name is reused
networkstringNetwork (name or ID)
fixedIps?arrayRequested addresses; omit for DHCP-style allocation
securityGroups?arrayEmpty list means no security group
portSecurity?boolean
allowedAddresses?array
description?string
tags?array
fn update(name?: string, description?: string, securityGroups?: array, allowedAddresses?: array, portSecurity?: boolean, fixedIps?: array)
Change a port's name, description, security groups, allowed addresses, port security or fixed IPs
ArgumentTypeDescription
name?string
description?string
securityGroups?arrayReplaces the current groups; empty clears them
allowedAddresses?arrayReplaces the current pairs; empty clears them
portSecurity?boolean
fixedIps?arrayReplaces the current fixed IPs
fn delete()
Delete a port (no-op when already gone) and drop its stored resource

Resources

port(infinite)— A Neutron port: network, fixed IPs, MAC, owner device, security groups and allowed address pairs
@dataverket/openstack/floating-ipv2026.09.18.1floating_ip.ts
fn list(network?: string, status?: enum)
Discover the project's floating IPs and store each one
ArgumentTypeDescription
network?stringOnly IPs from this floating network (name or ID)
status?enum
fn get()
Read one floating IP by address or ID and store it
fn allocate(network: string, description?: string, address?: string, subnet?: string, tags?: array)
Allocate a floating IP from an external network; a matching address or description is reused
ArgumentTypeDescription
networkstringExternal network to allocate from (name or ID)
description?stringDescription; when set, an existing IP on the network with the same description is reused
address?stringRequest a specific address; reused if already allocated
subnet?string
tags?array
fn bind(server?: string, port?: string, fixedIpAddress?: string)
Associate a floating IP with a server (its first port) or directly with a port, and store the IP
ArgumentTypeDescription
server?stringServer (name or ID) whose first port receives the IP
port?stringPort (name or ID) to associate directly, e.g. a load balancer VIP
fixedIpAddress?stringWhich fixed IP on the server or port to map
fn unbind(server?: string)
Disassociate a floating IP from its server or port (keeping the allocation) and store the IP
ArgumentTypeDescription
server?stringServer (name or ID) to remove it from; omit to disassociate whatever port holds it
fn release()
Release a floating IP back to the pool (no-op when already gone) and drop its stored resource

Resources

floatingIp(infinite)— A Neutron floating IP and what it is bound to
@dataverket/openstack/application-credentialv2026.09.18.1application_credential.ts
fn list()
Discover the caller's application credentials and store each one
fn get()
Read one application credential by name or ID and store it
fn create(name: string, roles?: array, description?: string, expiration?: string, unrestricted: boolean)
Create an application credential and store its one-time secret sensitively; an existing name is reused without a secret
ArgumentTypeDescription
namestringCredential name; an existing one of the same name is reused (its secret is not recoverable)
roles?arrayRoles to grant; default is every role the user holds on the project
description?string
expiration?stringISO-8601 expiry, e.g. 2027-01-01T00:00:00
unrestrictedboolean
fn delete()
Delete an application credential (no-op when already gone) and drop its stored resources

Resources

applicationCredential(infinite)— A Keystone application credential: roles, restrictions and expiry (never the secret)
secret(infinite)— The secret of a credential created by this model; written once at create
03Previous Versions1
2026.09.18.1
04Stats
A
100 / 100
Downloads
1
Archive size
81.2 KB
  • Has README or module doc2/2earned
  • README has a code example1/1earned
  • README is substantive1/1earned
  • Most symbols documented1/1earned
  • No slow types (deprecated)1/1earned
  • Dependencies pass trust audit2/2earned
  • Has description1/1earned
  • Platform support declared (or universal)2/2earned
  • License declared1/1earned
  • Verified public repository2/2earned
05Platforms
06Labels