Subtenant Resource Profiles

Resources used to restrict resource allocation on hosts for tenants.

Create a new tenant resource profile

Resource profiles used to restrict resource allocation on hosts for tenants.

SecurityaccessToken
Request
path Parameters
tenant-name
required
string <name> ^[a-z0-9]([a-z0-9\-]*[a-z0-9])?$

name of tenant

query Parameters
validate
string <enumeration>

Validate the request but do not actually perform the requested operation

Value: "true"
Request Body schema:
name
required
string <name> ^[a-z0-9]([a-z0-9\-]*[a-z0-9])?$
object

Memory allocation limits, default values etc on hosts for a specific tenant. Used by top site provider or tenants to control memory resources.

object

CPU allocation limits and default values on hosts for a specific tenant. Used by a top site provider or other tenants to control CPU resources.

object

Memory allocation limits and default values for hosts. Used by top site provider to control memory resources.

Array of objects

Allowed device labels.

Array of objects

Allowed GPU labels.

Array of objects

Allowed system volumes.

object
Responses
201

Created

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

409

Conflict (instance exists)

503

Service Unavailable (strongbox sealed)

post/v1/config/tenants/{tenant-name}/resource-profiles
Request samples
name: large
memory:
  memory-limit: 8GiB
  container-memory-default: 4GiB
cpus:
  cpus-limit: 4.0
  container-cpus-default: 2.0
  cpu-shares-limit: 2048
  container-cpu-shares-default: 2048
container-storage:
  container-layer-storage-limit: 500MiB
  container-layer-size-default: 100MiB
device-labels:
  - name: rtc
  - name: tty
gpu-labels:
  - name: nvidia
system-volumes:
  - name: systemd-socket
ingress-ipv4-ranges:
  allowed: scope = global
  default: scope = global

Retrieve the configuration of all tenant resource profiles

Resource profiles used to restrict resource allocation on hosts for tenants.

SecurityaccessToken
Request
path Parameters
tenant-name
required
string <name> ^[a-z0-9]([a-z0-9\-]*[a-z0-9])?$

name of tenant

query Parameters
fields
string

Retrieve only requested fields from the resource

See section fields

validate
string <enumeration>

Validate the request but do not actually perform the requested operation

Value: "true"
keys
string <enumeration>

Retrieve only the keys for the list

Value: "true"
count
string <enumeration>

Retrieve only the number of elements in the list

Value: "true"
Responses
200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

412

Precondition Failed

503

Service Unavailable (strongbox sealed)

get/v1/config/tenants/{tenant-name}/resource-profiles
Response samples
- name: large
  memory:
    memory-limit: 8GiB
    container-memory-default: 4GiB
  cpus:
    cpus-limit: 4.0
    container-cpus-default: 2.0
    cpu-shares-limit: 2048
    container-cpu-shares-default: 2048
  container-storage:
    container-layer-storage-limit: 500MiB
    container-layer-size-default: 100MiB
  device-labels:
    - name: rtc
    - name: tty
  gpu-labels:
    - name: nvidia
  system-volumes:
    - name: systemd-socket
  ingress-ipv4-ranges:
    allowed: scope = global
    default: scope = global
  

Update a tenant resource profile

Resource profiles used to restrict resource allocation on hosts for tenants.

SecurityaccessToken
Request
path Parameters
tenant-name
required
string <name> ^[a-z0-9]([a-z0-9\-]*[a-z0-9])?$

name of tenant

tenant-resource-profile-name
required
string <name> ^[a-z0-9]([a-z0-9\-]*[a-z0-9])?$

name of tenant-resource-profile

query Parameters
validate
string <enumeration>

Validate the request but do not actually perform the requested operation

Value: "true"
Request Body schema:
name
required
string <name> ^[a-z0-9]([a-z0-9\-]*[a-z0-9])?$
object

Memory allocation limits, default values etc on hosts for a specific tenant. Used by top site provider or tenants to control memory resources.

object

CPU allocation limits and default values on hosts for a specific tenant. Used by a top site provider or other tenants to control CPU resources.

object

Memory allocation limits and default values for hosts. Used by top site provider to control memory resources.

Array of objects

Allowed device labels.

Array of objects

Allowed GPU labels.

Array of objects

Allowed system volumes.

object
Responses
204

No Content

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

412

Precondition Failed

503

Service Unavailable (strongbox sealed)

patch/v1/config/tenants/{tenant-name}/resource-profiles/{tenant-resource-profile-name}
Request samples
name: large
memory:
  memory-limit: 8GiB
  container-memory-default: 4GiB
cpus:
  cpus-limit: 4.0
  container-cpus-default: 2.0
  cpu-shares-limit: 2048
  container-cpu-shares-default: 2048
container-storage:
  container-layer-storage-limit: 500MiB
  container-layer-size-default: 100MiB
device-labels:
  - name: rtc
  - name: tty
gpu-labels:
  - name: nvidia
system-volumes:
  - name: systemd-socket
ingress-ipv4-ranges:
  allowed: scope = global
  default: scope = global

Delete a tenant resource profile

Resource profiles used to restrict resource allocation on hosts for tenants.

SecurityaccessToken
Request
path Parameters
tenant-name
required
string <name> ^[a-z0-9]([a-z0-9\-]*[a-z0-9])?$

name of tenant

tenant-resource-profile-name
required
string <name> ^[a-z0-9]([a-z0-9\-]*[a-z0-9])?$

name of tenant-resource-profile

query Parameters
validate
string <enumeration>

Validate the request but do not actually perform the requested operation

Value: "true"
Responses
204

No Content

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

412

Precondition Failed

503

Service Unavailable (strongbox sealed)

delete/v1/config/tenants/{tenant-name}/resource-profiles/{tenant-resource-profile-name}

Replace or create a new tenant resource profile

Resource profiles used to restrict resource allocation on hosts for tenants.

SecurityaccessToken
Request
path Parameters
tenant-name
required
string <name> ^[a-z0-9]([a-z0-9\-]*[a-z0-9])?$

name of tenant

tenant-resource-profile-name
required
string <name> ^[a-z0-9]([a-z0-9\-]*[a-z0-9])?$

name of tenant-resource-profile

query Parameters
validate
string <enumeration>

Validate the request but do not actually perform the requested operation

Value: "true"
Request Body schema:
name
required
string <name> ^[a-z0-9]([a-z0-9\-]*[a-z0-9])?$
object

Memory allocation limits, default values etc on hosts for a specific tenant. Used by top site provider or tenants to control memory resources.

object

CPU allocation limits and default values on hosts for a specific tenant. Used by a top site provider or other tenants to control CPU resources.

object

Memory allocation limits and default values for hosts. Used by top site provider to control memory resources.

Array of objects

Allowed device labels.

Array of objects

Allowed GPU labels.

Array of objects

Allowed system volumes.

object
Responses
201

Created

204

No Content

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

412

Precondition Failed

503

Service Unavailable (strongbox sealed)

put/v1/config/tenants/{tenant-name}/resource-profiles/{tenant-resource-profile-name}
Request samples
name: large
memory:
  memory-limit: 8GiB
  container-memory-default: 4GiB
cpus:
  cpus-limit: 4.0
  container-cpus-default: 2.0
  cpu-shares-limit: 2048
  container-cpu-shares-default: 2048
container-storage:
  container-layer-storage-limit: 500MiB
  container-layer-size-default: 100MiB
device-labels:
  - name: rtc
  - name: tty
gpu-labels:
  - name: nvidia
system-volumes:
  - name: systemd-socket
ingress-ipv4-ranges:
  allowed: scope = global
  default: scope = global

Retrieve the configuration of a tenant resource profile

Resource profiles used to restrict resource allocation on hosts for tenants.

SecurityaccessToken
Request
path Parameters
tenant-name
required
string <name> ^[a-z0-9]([a-z0-9\-]*[a-z0-9])?$

name of tenant

tenant-resource-profile-name
required
string <name> ^[a-z0-9]([a-z0-9\-]*[a-z0-9])?$

name of tenant-resource-profile

query Parameters
fields
string

Retrieve only requested fields from the resource

See section fields

validate
string <enumeration>

Validate the request but do not actually perform the requested operation

Value: "true"
Responses
200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

412

Precondition Failed

503

Service Unavailable (strongbox sealed)

get/v1/config/tenants/{tenant-name}/resource-profiles/{tenant-resource-profile-name}
Response samples
name: large
memory:
  memory-limit: 8GiB
  container-memory-default: 4GiB
cpus:
  cpus-limit: 4.0
  container-cpus-default: 2.0
  cpu-shares-limit: 2048
  container-cpu-shares-default: 2048
container-storage:
  container-layer-storage-limit: 500MiB
  container-layer-size-default: 100MiB
device-labels:
  - name: rtc
  - name: tty
gpu-labels:
  - name: nvidia
system-volumes:
  - name: systemd-socket
ingress-ipv4-ranges:
  allowed: scope = global
  default: scope = global

Retrieve the state of all tenant resource profiles

Resource profiles used to restrict resource allocation on hosts for tenants.

SecurityaccessToken
Request
path Parameters
tenant-name
required
string <name> ^[a-z0-9]([a-z0-9\-]*[a-z0-9])?$

name of tenant

query Parameters
fields
string

Retrieve only requested fields from the resource

See section fields

site
string

Send the request to the specfifed site

content
string <enumeration>

Filter descendant nodes in the response

Enum: "config" "nonconfig"
keys
string <enumeration>

Retrieve only the keys for the list

Value: "true"
count
string <enumeration>

Retrieve only the number of elements in the list

Value: "true"
Responses
200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

503

Service Unavailable (strongbox sealed)

get/v1/state/tenants/{tenant-name}/resource-profiles
Response samples
- name: large
  memory:
    memory-limit: 8GiB
    container-memory-default: 4GiB
  cpus:
    cpus-limit: 4.0
    container-cpus-default: 2.0
    cpu-shares-limit: 2048
    container-cpu-shares-default: 2048
  container-storage:
    container-layer-storage-limit: 500MiB
    container-layer-size-default: 100MiB
  device-labels:
    - name: rtc
    - name: tty
  gpu-labels:
    - name: nvidia
  system-volumes:
    - name: systemd-socket
  ingress-ipv4-ranges:
    allowed: scope = global
    default: scope = global
  

Retrieve the state of a tenant resource profile

Resource profiles used to restrict resource allocation on hosts for tenants.

SecurityaccessToken
Request
path Parameters
tenant-name
required
string <name> ^[a-z0-9]([a-z0-9\-]*[a-z0-9])?$

name of tenant

tenant-resource-profile-name
required
string <name> ^[a-z0-9]([a-z0-9\-]*[a-z0-9])?$

name of tenant-resource-profile

query Parameters
fields
string

Retrieve only requested fields from the resource

See section fields

site
string

Send the request to the specfifed site

content
string <enumeration>

Filter descendant nodes in the response

Enum: "config" "nonconfig"
Responses
200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

503

Service Unavailable (strongbox sealed)

get/v1/state/tenants/{tenant-name}/resource-profiles/{tenant-resource-profile-name}
Response samples
name: large
memory:
  memory-limit: 8GiB
  container-memory-default: 4GiB
cpus:
  cpus-limit: 4.0
  container-cpus-default: 2.0
  cpu-shares-limit: 2048
  container-cpu-shares-default: 2048
container-storage:
  container-layer-storage-limit: 500MiB
  container-layer-size-default: 100MiB
device-labels:
  - name: rtc
  - name: tty
gpu-labels:
  - name: nvidia
system-volumes:
  - name: systemd-socket
ingress-ipv4-ranges:
  allowed: scope = global
  default: scope = global