Skip to main content

Objects

The objects the operations of the Netface API take and return.

Reference​

A reference to another resource of the project, by id

FieldTypeRequiredDescription
idstring (uuid)Yes

NamedReference​

FieldTypeRequiredDescription
idstring (uuid)Yes
namestringYes(maximum length 64)

NullableNamedReference​

One of: NamedReference, null

Protection​

FieldTypeRequiredDescription
deletebooleanYes

ProtectionRequest​

FieldTypeRequiredDescription
deletebooleanYes

NameLabelsUpdateRequest​

FieldTypeRequiredDescription
namestringNo1-64 printable characters without @ (minimum length 1, maximum length 64)
labelsmap of stringNoAt most 32 keys; keys and values of 1-63 (values may be empty) letters, digits, ., _, -, starting and ending with a letter or digit

ErrorResponse​

FieldTypeRequiredDescription
errorErrorYes

Error​

FieldTypeRequiredDescription
codeunauthenticated, forbidden, resource_limit_exceeded, not_found, method_not_allowed, conflict, idempotency_in_progress, invalid_input, idempotency_key_mismatch, locked, rate_limit_exceeded, internal_error, unavailableYes
messagestringYesA fixed English text; clients localize by code
detailsobjectYesforbidden: reason (scope_missing, entitlement_inactive, entitlement_restricted); resource_limit_exceeded: metric, limit, used; invalid_input: fields ([{name, message}]); locked: action (the running action's id)

Meta​

FieldTypeRequiredDescription
paginationPaginationYes

Pagination​

FieldTypeRequiredDescription
pageintegerYes(minimum 1)
per_pageintegerYes(minimum 1, maximum 100)
previous_pageinteger or nullYes(minimum 1)
next_pageinteger or nullYes(minimum 1)
last_pageintegerYes(minimum 1)
total_entriesintegerYes(minimum 0)

Action​

FieldTypeRequiredDescription
idstring (uuid)Yes
commandstringYescreate_server, delete_server, poweron_server, ... (snake_case, closed per resource) (pattern ^[a-z][a-z0-9_]{1,63}$)
actorobjectYesWho started the action - a person through the Console (user) or an API key; never a name or address
actor.typeuser, api_keyYes
actor.idstring (uuid)Yes
statusrunning, success, errorYes
progressintegerYes(minimum 0, maximum 100)
startedstring (date-time)YesRFC 3339, UTC
finishedstring or null (date-time)Yes
errornull or objectYes
error.codestringYes(pattern ^[a-z][a-z0-9_]{1,63}$)
error.messagestringYes
resourcesarray of objectYes
resources[].idstring (uuid)Yes
resources[].typeserver, network, firewall, floating_ip, volume, snapshot, ssh_keyYes

ActionList​

FieldTypeRequiredDescription
actionsarray of ActionYes
metaMetaYes

Project​

FieldTypeRequiredDescription
idstring (uuid)Yes
slugstringYes(pattern ^[a-z0-9][a-z0-9-]{0,38}[a-z0-9]$)
namestringYes(maximum length 120)
labelsmap of stringYesAt most 32 keys; keys and values of 1-63 (values may be empty) letters, digits, ., _, -, starting and ending with a letter or digit
statusactive, archivedYes
createdstring (date-time)YesRFC 3339, UTC

ApiKey​

FieldTypeRequiredDescription
idstring (uuid)Yes
namestringYes1-64 printable characters without @ (minimum length 1, maximum length 64)
prefixstringYesnfk_<key version>_ and the first six characters of the secret (pattern ^nfk_[1-9][0-9]{0,5}_[A-Za-z0-9_-]{6}$)
scoperead, read_writeYes
statusactive, revokedYes
createdstring (date-time)YesRFC 3339, UTC
expiresstring or null (date-time)Yes
last_usedstring or null (date-time)Yes

Location​

FieldTypeRequiredDescription
idstring (uuid)Yes
namestringYesNetface region code, e.g. ist (pattern ^[a-z]{3}[0-9]?$)
descriptionstringYes(maximum length 120)
countrystringYesISO 3166-1 alpha-2 (pattern ^[A-Z]{2}$)
citystringYes(maximum length 64)
network_zonestringYes(maximum length 32)

ServerType​

FieldTypeRequiredDescription
idstring (uuid)Yes
namestringYes(pattern ^[a-z][a-z0-9-]{1,31}$)
descriptionstringYes(maximum length 120)
coresintegerYes(minimum 1)
memory_gbintegerYesGiB (minimum 1)
disk_gbintegerYesGB (minimum 1)
cpu_typeshared, dedicatedYes
architecturex86, armYes
deprecatedbooleanYes
locationsarray of NamedReferenceYesThe locations that offer this server type now
pricesarray of PriceYesThe monthly prices in force, one per currency (billed per month, prorated per day; taxes excluded). USD is canonical; other currencies are derived from it. Empty when the type has no price yet.

PriceEstimate​

FieldTypeRequiredDescription
currencystringYes(pattern ^[A-Z]{3}$)
currency_sourcebilling_profile, canonical, requestedYes
pricedbooleanYesfalse when a line has no price; the total is then null
linesarray of objectYes
lines[].resourceserver_type, volume, floating_ipYes
lines[].quantityintegerYes1 server (minimum 1)
lines[].unitmonth, gb_monthYes
lines[].unit_amount_minorinteger or nullYes(minimum 0)
lines[].amount_minorinteger or nullYes(minimum 0)
total_minorinteger or nullYesOne month in the currency's minor unit (minimum 0)

UnitPricing​

FieldTypeRequiredDescription
unitmonth, gb_monthYesmonth is per address and month; gb_month per GB and month
pricesarray of PriceYesOne per currency; empty when the resource has no price yet

Price​

FieldTypeRequiredDescription
currencystringYes(pattern ^[A-Z]{3}$)
monthly_amount_minorintegerYesThe amount for one month (per server, per GB or per address) in the currency's minor unit (minimum 0)
originlist, derived, syntheticYeslist is set directly and derived comes from the USD price; synthetic appears only in test environments
effective_fromstring (date-time)Yes

Image​

FieldTypeRequiredDescription
idstring (uuid)Yes
typesystemYes
statusavailable, unavailableYes
namestringYes(maximum length 64)
descriptionstringYes(maximum length 120)
os_flavorubuntu, debian, rocky, alma, fedora, otherYes
os_versionstringYes(maximum length 32)
architecturex86, armYes
disk_size_gbintegerYes(minimum 1)
default_userstring or nullNoThe user the image's cloud-init creates, for ssh <user>@<address>; null when it is not known. SSH uses the keys given at creation; a console password is optional (console_password_hash). (maximum length 32)
createdstring (date-time)YesRFC 3339, UTC
labelsmap of stringYesAt most 32 keys; keys and values of 1-63 (values may be empty) letters, digits, ., _, -, starting and ending with a letter or digit
locationsarray of NamedReferenceYesThe locations that offer this image now

SshKey​

FieldTypeRequiredDescription
idstring (uuid)Yes
namestringYes1-64 printable characters without @ (minimum length 1, maximum length 64)
fingerprintstringYesSHA256: and the base64 digest of the public key (maximum length 128)
public_keystringYes(maximum length 4096)
labelsmap of stringYesAt most 32 keys; keys and values of 1-63 (values may be empty) letters, digits, ., _, -, starting and ending with a letter or digit
createdstring (date-time)YesRFC 3339, UTC

SshKeyCreateRequest​

FieldTypeRequiredDescription
namestringYes1-64 printable characters without @ (minimum length 1, maximum length 64)
public_keystringYesssh-ed25519 ... or ssh-rsa ... (OpenSSH format) (maximum length 4096)
labelsmap of stringNoAt most 32 keys; keys and values of 1-63 (values may be empty) letters, digits, ., _, -, starting and ending with a letter or digit

Server​

FieldTypeRequiredDescription
idstring (uuid)Yes
namestringYes1-64 printable characters without @ (minimum length 1, maximum length 64)
statusinitializing, starting, running, stopping, off, deleting, rebuilding, migrating, unknownYes
createdstring (date-time)YesRFC 3339, UTC
server_typeNamedReferenceYes
imageNullableNamedReferenceYes
locationNamedReferenceYes
public_netobjectYes
public_net.ipv4null or objectYes
public_net.ipv4.ipstringYes(maximum length 15)
public_net.ipv4.dns_ptrstring or nullYes(maximum length 253)
public_net.ipv6null or objectYes
public_net.ipv6.ipstringYesAn IPv4 or IPv6 range in CIDR notation (maximum length 49)
public_net.floating_ipsarray of string (uuid)Yes
private_netarray of objectYes
private_net[].networkstring (uuid)Yes
private_net[].ipstringYes(maximum length 45)
volumesarray of string (uuid)Yes
firewallsarray of string (uuid)Yes
labelsmap of stringYesAt most 32 keys; keys and values of 1-63 (values may be empty) letters, digits, ., _, -, starting and ending with a letter or digit
lockedbooleanYesAn action is running on this server
protectionProtectionYes

ServerCreateRequest​

Exactly one of image and snapshot. A snapshot gives only its root disk; it must be of this project and location, and the server type's disk no smaller than the snapshot.

FieldTypeRequiredDescription
namestringYes1-64 printable characters without @ (minimum length 1, maximum length 64)
server_typeReferenceYes
imageReferenceNo
snapshotReferenceNo
locationReferenceYes
ssh_keysarray of ReferenceNo(at most items 20)
networksarray of ReferenceNo(at most items 10)
firewallsarray of ReferenceNo(at most items 5)
user_datastringNocloud-init user data; at most 24 KiB (24576 bytes in UTF-8). A longer value is 422 user_data malformed. (maximum length 24576)
start_after_createbooleanNo(default true)
labelsmap of stringNoAt most 32 keys; keys and values of 1-63 (values may be empty) letters, digits, ., _, -, starting and ending with a letter or digit
console_password_hashstringNoOptional console password for the image's default user (Image.default_user), as a SHA-512 crypt hash only: the password never reaches Netface. SSH stays key-only. The hash goes to the server's user data last, after user_data, and is taken away once the server has started; the two together are limited to 24576 bytes. Not offered for an image without a default user, nor with a user_data that is itself a MIME multipart. (pattern ^\$6\$(rounds=[1-9][0-9]{3,8}\$)?[./0-9A-Za-z]{1,16}\$[./0-9A-Za-z]{86}$)

Network​

FieldTypeRequiredDescription
idstring (uuid)Yes
namestringYes1-64 printable characters without @ (minimum length 1, maximum length 64)
ip_rangestringYesAn IPv4 or IPv6 range in CIDR notation (maximum length 49)
subnetsarray of objectYes
subnets[].ip_rangestringYesAn IPv4 or IPv6 range in CIDR notation (maximum length 49)
subnets[].gatewaystringYes(maximum length 45)
serversarray of string (uuid)Yes
labelsmap of stringYesAt most 32 keys; keys and values of 1-63 (values may be empty) letters, digits, ., _, -, starting and ending with a letter or digit
createdstring (date-time)YesRFC 3339, UTC
lockedbooleanYes
protectionProtectionYes

NetworkCreateRequest​

FieldTypeRequiredDescription
namestringYes1-64 printable characters without @ (minimum length 1, maximum length 64)
ip_rangestringYesAn IPv4 or IPv6 range in CIDR notation (maximum length 49)
subnetsarray of objectNo(at most items 50)
subnets[].ip_rangestringYesAn IPv4 or IPv6 range in CIDR notation (maximum length 49)
labelsmap of stringNoAt most 32 keys; keys and values of 1-63 (values may be empty) letters, digits, ., _, -, starting and ending with a letter or digit

FirewallRule​

FieldTypeRequiredDescription
directionin, outYes
protocoltcp, udp, icmp, esp, greYes
portstring or nullYes80 or 1024-2048; null for icmp, esp and gre (pattern ^[0-9]{1,5}(-[0-9]{1,5})?$)
source_ipsarray of stringYes(at most items 100)
destination_ipsarray of stringYes(at most items 100)
descriptionstring or nullYes(maximum length 200)

FirewallTarget​

FieldTypeRequiredDescription
typeserverYes
serverReferenceYes

Firewall​

FieldTypeRequiredDescription
idstring (uuid)Yes
namestringYes1-64 printable characters without @ (minimum length 1, maximum length 64)
rulesarray of FirewallRuleYes(at most items 50)
applied_toarray of FirewallTargetYes
labelsmap of stringYesAt most 32 keys; keys and values of 1-63 (values may be empty) letters, digits, ., _, -, starting and ending with a letter or digit
createdstring (date-time)YesRFC 3339, UTC
lockedbooleanYes

FirewallCreateRequest​

FieldTypeRequiredDescription
namestringYes1-64 printable characters without @ (minimum length 1, maximum length 64)
rulesarray of objectNo(at most items 50)
rules[].directionin, outYes
rules[].protocoltcp, udp, icmp, esp, greYes
rules[].portstring or nullNo(pattern ^[0-9]{1,5}(-[0-9]{1,5})?$)
rules[].source_ipsarray of stringNo(at most items 100)
rules[].destination_ipsarray of stringNo(at most items 100)
rules[].descriptionstring or nullNo(maximum length 200)
apply_toarray of FirewallTargetNo(at most items 100)
labelsmap of stringNoAt most 32 keys; keys and values of 1-63 (values may be empty) letters, digits, ., _, -, starting and ending with a letter or digit

FloatingIp​

FieldTypeRequiredDescription
idstring (uuid)Yes
namestringYes1-64 printable characters without @ (minimum length 1, maximum length 64)
descriptionstring or nullYes(maximum length 200)
ipstringYesThe address (IPv4) or the /64 range (IPv6) (maximum length 49)
typeipv4, ipv6Yes
servernull or string (uuid)Yes
locationNamedReferenceYes
dns_ptrarray of objectYes
dns_ptr[].ipstringYes(maximum length 45)
dns_ptr[].dns_ptrstringYes(maximum length 253)
labelsmap of stringYesAt most 32 keys; keys and values of 1-63 (values may be empty) letters, digits, ., _, -, starting and ending with a letter or digit
createdstring (date-time)YesRFC 3339, UTC
blockedbooleanYesBlocked by the platform (abuse)
lockedbooleanYes
protectionProtectionYes

FloatingIpCreateRequest​

FieldTypeRequiredDescription
typeipv4, ipv6Yes
locationReferenceNo
serverReferenceNo
namestringNo1-64 printable characters without @ (minimum length 1, maximum length 64)
descriptionstringNo(maximum length 200)
labelsmap of stringNoAt most 32 keys; keys and values of 1-63 (values may be empty) letters, digits, ., _, -, starting and ending with a letter or digit

Volume​

FieldTypeRequiredDescription
idstring (uuid)Yes
namestringYes1-64 printable characters without @ (minimum length 1, maximum length 64)
size_gbintegerYes(minimum 10, maximum 10000)
statuscreating, availableYes
servernull or string (uuid)Yes
locationNamedReferenceYes
formatext4, xfs, nullYes
linux_devicestring or nullYes(maximum length 128)
labelsmap of stringYesAt most 32 keys; keys and values of 1-63 (values may be empty) letters, digits, ., _, -, starting and ending with a letter or digit
createdstring (date-time)YesRFC 3339, UTC
lockedbooleanYes
protectionProtectionYes

VolumeCreateRequest​

FieldTypeRequiredDescription
namestringYes1-64 printable characters without @ (minimum length 1, maximum length 64)
size_gbintegerYes(minimum 10, maximum 10000)
locationReferenceNo
serverReferenceNo
automountbooleanNo(default false)
formatext4, xfsNo
labelsmap of stringNoAt most 32 keys; keys and values of 1-63 (values may be empty) letters, digits, ., _, -, starting and ending with a letter or digit

Snapshot​

FieldTypeRequiredDescription
idstring (uuid)Yes
namestringYes1-64 printable characters without @ (minimum length 1, maximum length 64)
statuscreating, available, deletingYes
serverNullableNamedReferenceYes
size_gbintegerYes(minimum 0)
labelsmap of stringYesAt most 32 keys; keys and values of 1-63 (values may be empty) letters, digits, ., _, -, starting and ending with a letter or digit
createdstring (date-time)YesRFC 3339, UTC
lockedbooleanYes