Skip to content

Marketplace Slurm Periodic Usage Policies

Operations Summary

Method Endpoint Description
Core CRUD
GET /api/marketplace-slurm-periodic-usage-policies/ List Marketplace Slurm Periodic Usage Policies
GET /api/marketplace-slurm-periodic-usage-policies/{uuid}/ Retrieve
POST /api/marketplace-slurm-periodic-usage-policies/ Create
PUT /api/marketplace-slurm-periodic-usage-policies/{uuid}/ Update
PATCH /api/marketplace-slurm-periodic-usage-policies/{uuid}/ Partial Update
DELETE /api/marketplace-slurm-periodic-usage-policies/{uuid}/ Delete
Other Actions
GET /api/marketplace-slurm-periodic-usage-policies/actions/ List Marketplace Slurm Periodic Usage Policies Actions
GET /api/marketplace-slurm-periodic-usage-policies/{uuid}/command-history/ List command history for this policy
GET /api/marketplace-slurm-periodic-usage-policies/{uuid}/evaluation-logs/ List evaluation logs for this policy
POST /api/marketplace-slurm-periodic-usage-policies/{uuid}/dry-run/ Dry run
POST /api/marketplace-slurm-periodic-usage-policies/{uuid}/evaluate/ Evaluate
POST /api/marketplace-slurm-periodic-usage-policies/{uuid}/force-period-reset/ Force period reset
POST /api/marketplace-slurm-periodic-usage-policies/preview_impact/ Preview impact
POST /api/marketplace-slurm-periodic-usage-policies/{uuid}/report-command-result/ Report command execution result from site agent

Core CRUD

List Marketplace Slurm Periodic Usage Policies

1
2
3
4
http \
  GET \
  https://api.example.com/api/marketplace-slurm-periodic-usage-policies/ \
  Authorization:"Token YOUR_API_TOKEN"
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
from waldur_api_client.client import AuthenticatedClient
from waldur_api_client.api.marketplace_slurm_periodic_usage_policies import marketplace_slurm_periodic_usage_policies_list # (1)

client = AuthenticatedClient(
    base_url="https://api.example.com", token="YOUR_API_TOKEN"
)
response = marketplace_slurm_periodic_usage_policies_list.sync(client=client)

for item in response:
    print(item)
  1. API Source: marketplace_slurm_periodic_usage_policies_list
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
import { marketplaceSlurmPeriodicUsagePoliciesList } from 'waldur-js-client';

try {
  const response = await marketplaceSlurmPeriodicUsagePoliciesList({
  auth: "Token YOUR_API_TOKEN"
});
  console.log('Success:', response);
} catch (error) {
  console.error('Error:', error);
}
Name Type Description
page integer A page number within the paginated result set.
page_size integer Number of results to return per page.
scope string (uri)
scope_uuid string (uuid)

200 -

The response body is an array of objects, where each object has the following structure:

Field Type Description
uuid string (uuid)
url string (uri)
scope string (uri)
scope_name string
scope_uuid string (uuid)
actions string
created string (date-time)
created_by_full_name string
created_by_username string
has_fired boolean
fired_datetime string (date-time)
options any Fields for saving actions extra data. Keys are name of actions.
organization_groups array of string (uri)s
apply_to_all boolean If True, policy applies to all customers. Mutually exclusive with organization_groups.
component_limits_set array of objects
component_limits_set.type string
component_limits_set.limit integer
period any
period_name string
limit_type any SLURM limit type to apply
tres_billing_enabled boolean Use TRES billing units instead of raw TRES values
tres_billing_weights any TRES billing weights (e.g., {"CPU": 0.015625, "Mem": 0.001953125, "GRES/gpu": 0.25})
carryover_factor integer Maximum percentage of base allocation that can carry over from unused previous period (0-100)
grace_ratio number (double) Grace period ratio (0.2 = 20% overconsumption allowed)
carryover_enabled boolean Enable unused allocation carryover to next period
raw_usage_reset boolean Reset raw usage at period transitions (PriorityUsageResetPeriod=None)
qos_strategy any QoS management strategy
warnings array of strings Warnings about misconfiguration, e.g. missing site agent queue registration.

Retrieve

1
2
3
4
http \
  GET \
  https://api.example.com/api/marketplace-slurm-periodic-usage-policies/a1b2c3d4-e5f6-7890-abcd-ef1234567890/ \
  Authorization:"Token YOUR_API_TOKEN"
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
from waldur_api_client.client import AuthenticatedClient
from waldur_api_client.api.marketplace_slurm_periodic_usage_policies import marketplace_slurm_periodic_usage_policies_retrieve # (1)

client = AuthenticatedClient(
    base_url="https://api.example.com", token="YOUR_API_TOKEN"
)
response = marketplace_slurm_periodic_usage_policies_retrieve.sync(
    uuid="a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    client=client
)

print(response)
  1. API Source: marketplace_slurm_periodic_usage_policies_retrieve
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
import { marketplaceSlurmPeriodicUsagePoliciesRetrieve } from 'waldur-js-client';

try {
  const response = await marketplaceSlurmPeriodicUsagePoliciesRetrieve({
  auth: "Token YOUR_API_TOKEN",
  path: {
    "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
  }
});
  console.log('Success:', response);
} catch (error) {
  console.error('Error:', error);
}
Name Type Required
uuid string (uuid)

200 -

Field Type Description
uuid string (uuid)
url string (uri)
scope string (uri)
scope_name string
scope_uuid string (uuid)
actions string
created string (date-time)
created_by_full_name string
created_by_username string
has_fired boolean
fired_datetime string (date-time)
options any Fields for saving actions extra data. Keys are name of actions.
organization_groups array of string (uri)s
apply_to_all boolean If True, policy applies to all customers. Mutually exclusive with organization_groups.
component_limits_set array of objects
component_limits_set.type string
component_limits_set.limit integer
period any
period_name string
limit_type any SLURM limit type to apply
tres_billing_enabled boolean Use TRES billing units instead of raw TRES values
tres_billing_weights any TRES billing weights (e.g., {"CPU": 0.015625, "Mem": 0.001953125, "GRES/gpu": 0.25})
carryover_factor integer Maximum percentage of base allocation that can carry over from unused previous period (0-100)
grace_ratio number (double) Grace period ratio (0.2 = 20% overconsumption allowed)
carryover_enabled boolean Enable unused allocation carryover to next period
raw_usage_reset boolean Reset raw usage at period transitions (PriorityUsageResetPeriod=None)
qos_strategy any QoS management strategy
warnings array of strings Warnings about misconfiguration, e.g. missing site agent queue registration.

Create

1
2
3
4
5
6
7
http \
  POST \
  https://api.example.com/api/marketplace-slurm-periodic-usage-policies/ \
  Authorization:"Token YOUR_API_TOKEN" \
  scope="https://api.example.com/api/scope/a1b2c3d4-e5f6-7890-abcd-ef1234567890/" \
  actions="string-value" \
  component_limits_set:='[]'
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
from waldur_api_client.client import AuthenticatedClient
from waldur_api_client.models.slurm_periodic_usage_policy_request import SlurmPeriodicUsagePolicyRequest # (1)
from waldur_api_client.api.marketplace_slurm_periodic_usage_policies import marketplace_slurm_periodic_usage_policies_create # (2)

client = AuthenticatedClient(
    base_url="https://api.example.com", token="YOUR_API_TOKEN"
)

body_data = SlurmPeriodicUsagePolicyRequest(
    scope="https://api.example.com/api/scope/a1b2c3d4-e5f6-7890-abcd-ef1234567890/",
    actions="string-value",
    component_limits_set=[]
)
response = marketplace_slurm_periodic_usage_policies_create.sync(
    client=client,
    body=body_data
)

print(response)
  1. Model Source: SlurmPeriodicUsagePolicyRequest
  2. API Source: marketplace_slurm_periodic_usage_policies_create
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
import { marketplaceSlurmPeriodicUsagePoliciesCreate } from 'waldur-js-client';

try {
  const response = await marketplaceSlurmPeriodicUsagePoliciesCreate({
  auth: "Token YOUR_API_TOKEN",
  body: {
    "scope": "https://api.example.com/api/scope/a1b2c3d4-e5f6-7890-abcd-ef1234567890/",
    "actions": "string-value",
    "component_limits_set": []
  }
});
  console.log('Success:', response);
} catch (error) {
  console.error('Error:', error);
}
Field Type Required Description
scope string (uri)
actions string
options any Fields for saving actions extra data. Keys are name of actions.
organization_groups array of string (uri)s
apply_to_all boolean If True, policy applies to all customers. Mutually exclusive with organization_groups.
component_limits_set array of objects
component_limits_set.type string
component_limits_set.limit integer
period any
limit_type any SLURM limit type to apply
tres_billing_enabled boolean Use TRES billing units instead of raw TRES values
tres_billing_weights any TRES billing weights (e.g., {"CPU": 0.015625, "Mem": 0.001953125, "GRES/gpu": 0.25})
carryover_factor integer Maximum percentage of base allocation that can carry over from unused previous period (0-100)
grace_ratio number (double) Grace period ratio (0.2 = 20% overconsumption allowed)
carryover_enabled boolean Enable unused allocation carryover to next period
raw_usage_reset boolean Reset raw usage at period transitions (PriorityUsageResetPeriod=None)
qos_strategy any QoS management strategy

201 -

Field Type Description
uuid string (uuid)
url string (uri)
scope string (uri)
scope_name string
scope_uuid string (uuid)
actions string
created string (date-time)
created_by_full_name string
created_by_username string
has_fired boolean
fired_datetime string (date-time)
options any Fields for saving actions extra data. Keys are name of actions.
organization_groups array of string (uri)s
apply_to_all boolean If True, policy applies to all customers. Mutually exclusive with organization_groups.
component_limits_set array of objects
component_limits_set.type string
component_limits_set.limit integer
period any
period_name string
limit_type any SLURM limit type to apply
tres_billing_enabled boolean Use TRES billing units instead of raw TRES values
tres_billing_weights any TRES billing weights (e.g., {"CPU": 0.015625, "Mem": 0.001953125, "GRES/gpu": 0.25})
carryover_factor integer Maximum percentage of base allocation that can carry over from unused previous period (0-100)
grace_ratio number (double) Grace period ratio (0.2 = 20% overconsumption allowed)
carryover_enabled boolean Enable unused allocation carryover to next period
raw_usage_reset boolean Reset raw usage at period transitions (PriorityUsageResetPeriod=None)
qos_strategy any QoS management strategy
warnings array of strings Warnings about misconfiguration, e.g. missing site agent queue registration.

Update

1
2
3
4
5
6
7
http \
  PUT \
  https://api.example.com/api/marketplace-slurm-periodic-usage-policies/a1b2c3d4-e5f6-7890-abcd-ef1234567890/ \
  Authorization:"Token YOUR_API_TOKEN" \
  scope="https://api.example.com/api/scope/a1b2c3d4-e5f6-7890-abcd-ef1234567890/" \
  actions="string-value" \
  component_limits_set:='[]'
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
from waldur_api_client.client import AuthenticatedClient
from waldur_api_client.models.slurm_periodic_usage_policy_request import SlurmPeriodicUsagePolicyRequest # (1)
from waldur_api_client.api.marketplace_slurm_periodic_usage_policies import marketplace_slurm_periodic_usage_policies_update # (2)

client = AuthenticatedClient(
    base_url="https://api.example.com", token="YOUR_API_TOKEN"
)

body_data = SlurmPeriodicUsagePolicyRequest(
    scope="https://api.example.com/api/scope/a1b2c3d4-e5f6-7890-abcd-ef1234567890/",
    actions="string-value",
    component_limits_set=[]
)
response = marketplace_slurm_periodic_usage_policies_update.sync(
    uuid="a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    client=client,
    body=body_data
)

print(response)
  1. Model Source: SlurmPeriodicUsagePolicyRequest
  2. API Source: marketplace_slurm_periodic_usage_policies_update
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
import { marketplaceSlurmPeriodicUsagePoliciesUpdate } from 'waldur-js-client';

try {
  const response = await marketplaceSlurmPeriodicUsagePoliciesUpdate({
  auth: "Token YOUR_API_TOKEN",
  path: {
    "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
  },
  body: {
    "scope": "https://api.example.com/api/scope/a1b2c3d4-e5f6-7890-abcd-ef1234567890/",
    "actions": "string-value",
    "component_limits_set": []
  }
});
  console.log('Success:', response);
} catch (error) {
  console.error('Error:', error);
}
Name Type Required
uuid string (uuid)
Field Type Required Description
scope string (uri)
actions string
options any Fields for saving actions extra data. Keys are name of actions.
organization_groups array of string (uri)s
apply_to_all boolean If True, policy applies to all customers. Mutually exclusive with organization_groups.
component_limits_set array of objects
component_limits_set.type string
component_limits_set.limit integer
period any
limit_type any SLURM limit type to apply
tres_billing_enabled boolean Use TRES billing units instead of raw TRES values
tres_billing_weights any TRES billing weights (e.g., {"CPU": 0.015625, "Mem": 0.001953125, "GRES/gpu": 0.25})
carryover_factor integer Maximum percentage of base allocation that can carry over from unused previous period (0-100)
grace_ratio number (double) Grace period ratio (0.2 = 20% overconsumption allowed)
carryover_enabled boolean Enable unused allocation carryover to next period
raw_usage_reset boolean Reset raw usage at period transitions (PriorityUsageResetPeriod=None)
qos_strategy any QoS management strategy

200 -

Field Type Description
uuid string (uuid)
url string (uri)
scope string (uri)
scope_name string
scope_uuid string (uuid)
actions string
created string (date-time)
created_by_full_name string
created_by_username string
has_fired boolean
fired_datetime string (date-time)
options any Fields for saving actions extra data. Keys are name of actions.
organization_groups array of string (uri)s
apply_to_all boolean If True, policy applies to all customers. Mutually exclusive with organization_groups.
component_limits_set array of objects
component_limits_set.type string
component_limits_set.limit integer
period any
period_name string
limit_type any SLURM limit type to apply
tres_billing_enabled boolean Use TRES billing units instead of raw TRES values
tres_billing_weights any TRES billing weights (e.g., {"CPU": 0.015625, "Mem": 0.001953125, "GRES/gpu": 0.25})
carryover_factor integer Maximum percentage of base allocation that can carry over from unused previous period (0-100)
grace_ratio number (double) Grace period ratio (0.2 = 20% overconsumption allowed)
carryover_enabled boolean Enable unused allocation carryover to next period
raw_usage_reset boolean Reset raw usage at period transitions (PriorityUsageResetPeriod=None)
qos_strategy any QoS management strategy
warnings array of strings Warnings about misconfiguration, e.g. missing site agent queue registration.

Partial Update

1
2
3
4
http \
  PATCH \
  https://api.example.com/api/marketplace-slurm-periodic-usage-policies/a1b2c3d4-e5f6-7890-abcd-ef1234567890/ \
  Authorization:"Token YOUR_API_TOKEN"
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
from waldur_api_client.client import AuthenticatedClient
from waldur_api_client.models.patched_slurm_periodic_usage_policy_request import PatchedSlurmPeriodicUsagePolicyRequest # (1)
from waldur_api_client.api.marketplace_slurm_periodic_usage_policies import marketplace_slurm_periodic_usage_policies_partial_update # (2)

client = AuthenticatedClient(
    base_url="https://api.example.com", token="YOUR_API_TOKEN"
)

body_data = PatchedSlurmPeriodicUsagePolicyRequest()
response = marketplace_slurm_periodic_usage_policies_partial_update.sync(
    uuid="a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    client=client,
    body=body_data
)

print(response)
  1. Model Source: PatchedSlurmPeriodicUsagePolicyRequest
  2. API Source: marketplace_slurm_periodic_usage_policies_partial_update
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
import { marketplaceSlurmPeriodicUsagePoliciesPartialUpdate } from 'waldur-js-client';

try {
  const response = await marketplaceSlurmPeriodicUsagePoliciesPartialUpdate({
  auth: "Token YOUR_API_TOKEN",
  path: {
    "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
  }
});
  console.log('Success:', response);
} catch (error) {
  console.error('Error:', error);
}
Name Type Required
uuid string (uuid)
Field Type Required Description
scope string (uri)
actions string
options any Fields for saving actions extra data. Keys are name of actions.
organization_groups array of string (uri)s
apply_to_all boolean If True, policy applies to all customers. Mutually exclusive with organization_groups.
component_limits_set array of objects
component_limits_set.type string
component_limits_set.limit integer
period any
limit_type any SLURM limit type to apply
tres_billing_enabled boolean Use TRES billing units instead of raw TRES values
tres_billing_weights any TRES billing weights (e.g., {"CPU": 0.015625, "Mem": 0.001953125, "GRES/gpu": 0.25})
carryover_factor integer Maximum percentage of base allocation that can carry over from unused previous period (0-100)
grace_ratio number (double) Grace period ratio (0.2 = 20% overconsumption allowed)
carryover_enabled boolean Enable unused allocation carryover to next period
raw_usage_reset boolean Reset raw usage at period transitions (PriorityUsageResetPeriod=None)
qos_strategy any QoS management strategy

200 -

Field Type Description
uuid string (uuid)
url string (uri)
scope string (uri)
scope_name string
scope_uuid string (uuid)
actions string
created string (date-time)
created_by_full_name string
created_by_username string
has_fired boolean
fired_datetime string (date-time)
options any Fields for saving actions extra data. Keys are name of actions.
organization_groups array of string (uri)s
apply_to_all boolean If True, policy applies to all customers. Mutually exclusive with organization_groups.
component_limits_set array of objects
component_limits_set.type string
component_limits_set.limit integer
period any
period_name string
limit_type any SLURM limit type to apply
tres_billing_enabled boolean Use TRES billing units instead of raw TRES values
tres_billing_weights any TRES billing weights (e.g., {"CPU": 0.015625, "Mem": 0.001953125, "GRES/gpu": 0.25})
carryover_factor integer Maximum percentage of base allocation that can carry over from unused previous period (0-100)
grace_ratio number (double) Grace period ratio (0.2 = 20% overconsumption allowed)
carryover_enabled boolean Enable unused allocation carryover to next period
raw_usage_reset boolean Reset raw usage at period transitions (PriorityUsageResetPeriod=None)
qos_strategy any QoS management strategy
warnings array of strings Warnings about misconfiguration, e.g. missing site agent queue registration.

Delete

1
2
3
4
http \
  DELETE \
  https://api.example.com/api/marketplace-slurm-periodic-usage-policies/a1b2c3d4-e5f6-7890-abcd-ef1234567890/ \
  Authorization:"Token YOUR_API_TOKEN"
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
from waldur_api_client.client import AuthenticatedClient
from waldur_api_client.api.marketplace_slurm_periodic_usage_policies import marketplace_slurm_periodic_usage_policies_destroy # (1)

client = AuthenticatedClient(
    base_url="https://api.example.com", token="YOUR_API_TOKEN"
)
response = marketplace_slurm_periodic_usage_policies_destroy.sync(
    uuid="a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    client=client
)

print(response)
  1. API Source: marketplace_slurm_periodic_usage_policies_destroy
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
import { marketplaceSlurmPeriodicUsagePoliciesDestroy } from 'waldur-js-client';

try {
  const response = await marketplaceSlurmPeriodicUsagePoliciesDestroy({
  auth: "Token YOUR_API_TOKEN",
  path: {
    "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
  }
});
  console.log('Success:', response);
} catch (error) {
  console.error('Error:', error);
}
Name Type Required
uuid string (uuid)

204 - No response body


Other Actions

List Marketplace Slurm Periodic Usage Policies Actions

1
2
3
4
http \
  GET \
  https://api.example.com/api/marketplace-slurm-periodic-usage-policies/actions/ \
  Authorization:"Token YOUR_API_TOKEN"
1
2
3
4
5
6
7
8
9
from waldur_api_client.client import AuthenticatedClient
from waldur_api_client.api.marketplace_slurm_periodic_usage_policies import marketplace_slurm_periodic_usage_policies_actions_retrieve # (1)

client = AuthenticatedClient(
    base_url="https://api.example.com", token="YOUR_API_TOKEN"
)
response = marketplace_slurm_periodic_usage_policies_actions_retrieve.sync(client=client)

print(response)
  1. API Source: marketplace_slurm_periodic_usage_policies_actions_retrieve
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
import { marketplaceSlurmPeriodicUsagePoliciesActionsRetrieve } from 'waldur-js-client';

try {
  const response = await marketplaceSlurmPeriodicUsagePoliciesActionsRetrieve({
  auth: "Token YOUR_API_TOKEN"
});
  console.log('Success:', response);
} catch (error) {
  console.error('Error:', error);
}

200 -

Field Type Description
uuid string (uuid)
url string (uri)
scope string (uri)
scope_name string
scope_uuid string (uuid)
actions string
created string (date-time)
created_by_full_name string
created_by_username string
has_fired boolean
fired_datetime string (date-time)
options any Fields for saving actions extra data. Keys are name of actions.
organization_groups array of string (uri)s
apply_to_all boolean If True, policy applies to all customers. Mutually exclusive with organization_groups.
component_limits_set array of objects
component_limits_set.type string
component_limits_set.limit integer
period any
period_name string
limit_type any SLURM limit type to apply
tres_billing_enabled boolean Use TRES billing units instead of raw TRES values
tres_billing_weights any TRES billing weights (e.g., {"CPU": 0.015625, "Mem": 0.001953125, "GRES/gpu": 0.25})
carryover_factor integer Maximum percentage of base allocation that can carry over from unused previous period (0-100)
grace_ratio number (double) Grace period ratio (0.2 = 20% overconsumption allowed)
carryover_enabled boolean Enable unused allocation carryover to next period
raw_usage_reset boolean Reset raw usage at period transitions (PriorityUsageResetPeriod=None)
qos_strategy any QoS management strategy
warnings array of strings Warnings about misconfiguration, e.g. missing site agent queue registration.

List command history for this policy

List command history for this policy.

1
2
3
4
http \
  GET \
  https://api.example.com/api/marketplace-slurm-periodic-usage-policies/a1b2c3d4-e5f6-7890-abcd-ef1234567890/command-history/ \
  Authorization:"Token YOUR_API_TOKEN"
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
from waldur_api_client.client import AuthenticatedClient
from waldur_api_client.api.marketplace_slurm_periodic_usage_policies import marketplace_slurm_periodic_usage_policies_command_history_list # (1)

client = AuthenticatedClient(
    base_url="https://api.example.com", token="YOUR_API_TOKEN"
)
response = marketplace_slurm_periodic_usage_policies_command_history_list.sync(
    uuid="a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    client=client
)

for item in response:
    print(item)
  1. API Source: marketplace_slurm_periodic_usage_policies_command_history_list
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
import { marketplaceSlurmPeriodicUsagePoliciesCommandHistoryList } from 'waldur-js-client';

try {
  const response = await marketplaceSlurmPeriodicUsagePoliciesCommandHistoryList({
  auth: "Token YOUR_API_TOKEN",
  path: {
    "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
  }
});
  console.log('Success:', response);
} catch (error) {
  console.error('Error:', error);
}
Name Type Required
uuid string (uuid)
Name Type Description
page integer A page number within the paginated result set.
page_size integer Number of results to return per page.
scope string (uri)
scope_uuid string (uuid)

200 -

The response body is an array of objects, where each object has the following structure:

Field Type Description
uuid string (uuid)
command_type string Type of command: fairshare, limits, qos, reset_usage
description string Human-readable description of what the command does
shell_command string Actual shell command that was/would be executed
parameters any Command parameters as key-value pairs
executed_at string (date-time)
execution_mode any Whether command was executed in production or emulator mode
success boolean Whether the command execution was successful
error_message string Error message if command execution failed

List evaluation logs for this policy

List evaluation logs for this policy.

1
2
3
4
http \
  GET \
  https://api.example.com/api/marketplace-slurm-periodic-usage-policies/a1b2c3d4-e5f6-7890-abcd-ef1234567890/evaluation-logs/ \
  Authorization:"Token YOUR_API_TOKEN"
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
from waldur_api_client.client import AuthenticatedClient
from waldur_api_client.api.marketplace_slurm_periodic_usage_policies import marketplace_slurm_periodic_usage_policies_evaluation_logs_list # (1)

client = AuthenticatedClient(
    base_url="https://api.example.com", token="YOUR_API_TOKEN"
)
response = marketplace_slurm_periodic_usage_policies_evaluation_logs_list.sync(
    uuid="a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    client=client
)

for item in response:
    print(item)
  1. API Source: marketplace_slurm_periodic_usage_policies_evaluation_logs_list
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
import { marketplaceSlurmPeriodicUsagePoliciesEvaluationLogsList } from 'waldur-js-client';

try {
  const response = await marketplaceSlurmPeriodicUsagePoliciesEvaluationLogsList({
  auth: "Token YOUR_API_TOKEN",
  path: {
    "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
  }
});
  console.log('Success:', response);
} catch (error) {
  console.error('Error:', error);
}
Name Type Required
uuid string (uuid)
Name Type Description
page integer A page number within the paginated result set.
page_size integer Number of results to return per page.
scope string (uri)
scope_uuid string (uuid)

200 -

The response body is an array of objects, where each object has the following structure:

Field Type Description
uuid string (uuid)
resource_uuid string (uuid)
resource_name string
billing_period string Billing period identifier, e.g. '2026-Q1'
usage_percentage number (double) Resource usage percentage at the time of evaluation
grace_limit_percentage number (double) Grace limit percentage threshold (e.g. 120 for 20% grace)
actions_taken any List of actions taken during this evaluation (e.g. ['pause', 'notify'])
previous_state any Resource state before evaluation:
new_state any Resource state after evaluation:
stomp_message_sent boolean Whether a STOMP message was sent to the site agent
site_agent_confirmed boolean Whether the site agent confirmed command execution (null = no response yet)
site_agent_response any Response payload from the site agent
evaluated_at string (date-time) When this evaluation was performed

Dry run

Staff-only. Dry-run evaluation: calculates usage percentages and shows what actions would be triggered, without applying any changes.

1
2
3
4
http \
  POST \
  https://api.example.com/api/marketplace-slurm-periodic-usage-policies/a1b2c3d4-e5f6-7890-abcd-ef1234567890/dry-run/ \
  Authorization:"Token YOUR_API_TOKEN"
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
from waldur_api_client.client import AuthenticatedClient
from waldur_api_client.models.slurm_policy_evaluate_request_request import SlurmPolicyEvaluateRequestRequest # (1)
from waldur_api_client.api.marketplace_slurm_periodic_usage_policies import marketplace_slurm_periodic_usage_policies_dry_run # (2)

client = AuthenticatedClient(
    base_url="https://api.example.com", token="YOUR_API_TOKEN"
)

body_data = SlurmPolicyEvaluateRequestRequest()
response = marketplace_slurm_periodic_usage_policies_dry_run.sync(
    uuid="a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    client=client,
    body=body_data
)

print(response)
  1. Model Source: SlurmPolicyEvaluateRequestRequest
  2. API Source: marketplace_slurm_periodic_usage_policies_dry_run
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
import { marketplaceSlurmPeriodicUsagePoliciesDryRun } from 'waldur-js-client';

try {
  const response = await marketplaceSlurmPeriodicUsagePoliciesDryRun({
  auth: "Token YOUR_API_TOKEN",
  path: {
    "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
  }
});
  console.log('Success:', response);
} catch (error) {
  console.error('Error:', error);
}
Name Type Required
uuid string (uuid)
Field Type Required Description
resource_uuid string (uuid) Evaluate a specific resource. If omitted, evaluates all offering resources.

200 -

Field Type
policy_uuid string (uuid)
billing_period string
grace_limit_percentage number (double)
resources array of objects
resources.resource_uuid string (uuid)
resources.resource_name string
resources.usage_percentage number (double)
resources.paused boolean
resources.downscaled boolean
resources.would_trigger array of strings

Evaluate

Staff-only. Run synchronous policy evaluation: calculates usage, applies actions (pause/downscale/notify), and creates evaluation logs.

1
2
3
4
http \
  POST \
  https://api.example.com/api/marketplace-slurm-periodic-usage-policies/a1b2c3d4-e5f6-7890-abcd-ef1234567890/evaluate/ \
  Authorization:"Token YOUR_API_TOKEN"
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
from waldur_api_client.client import AuthenticatedClient
from waldur_api_client.models.slurm_policy_evaluate_request_request import SlurmPolicyEvaluateRequestRequest # (1)
from waldur_api_client.api.marketplace_slurm_periodic_usage_policies import marketplace_slurm_periodic_usage_policies_evaluate # (2)

client = AuthenticatedClient(
    base_url="https://api.example.com", token="YOUR_API_TOKEN"
)

body_data = SlurmPolicyEvaluateRequestRequest()
response = marketplace_slurm_periodic_usage_policies_evaluate.sync(
    uuid="a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    client=client,
    body=body_data
)

print(response)
  1. Model Source: SlurmPolicyEvaluateRequestRequest
  2. API Source: marketplace_slurm_periodic_usage_policies_evaluate
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
import { marketplaceSlurmPeriodicUsagePoliciesEvaluate } from 'waldur-js-client';

try {
  const response = await marketplaceSlurmPeriodicUsagePoliciesEvaluate({
  auth: "Token YOUR_API_TOKEN",
  path: {
    "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
  }
});
  console.log('Success:', response);
} catch (error) {
  console.error('Error:', error);
}
Name Type Required
uuid string (uuid)
Field Type Required Description
resource_uuid string (uuid) Evaluate a specific resource. If omitted, evaluates all offering resources.

200 -

Field Type
policy_uuid string (uuid)
billing_period string
resources array of objects
resources.resource_uuid string (uuid)
resources.resource_name string
resources.usage_percentage number (double)
resources.actions_taken array of strings
resources.previous_state object (free-form)
resources.new_state object (free-form)

Force period reset

Staff-only. Force-trigger period reset: re-evaluates paused/downscaled resources whose usage in the current period is below thresholds. Useful after a Celery beat outage or to immediately unblock resources.

1
2
3
4
http \
  POST \
  https://api.example.com/api/marketplace-slurm-periodic-usage-policies/a1b2c3d4-e5f6-7890-abcd-ef1234567890/force-period-reset/ \
  Authorization:"Token YOUR_API_TOKEN"
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
from waldur_api_client.client import AuthenticatedClient
from waldur_api_client.models.slurm_policy_evaluate_request_request import SlurmPolicyEvaluateRequestRequest # (1)
from waldur_api_client.api.marketplace_slurm_periodic_usage_policies import marketplace_slurm_periodic_usage_policies_force_period_reset # (2)

client = AuthenticatedClient(
    base_url="https://api.example.com", token="YOUR_API_TOKEN"
)

body_data = SlurmPolicyEvaluateRequestRequest()
response = marketplace_slurm_periodic_usage_policies_force_period_reset.sync(
    uuid="a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    client=client,
    body=body_data
)

print(response)
  1. Model Source: SlurmPolicyEvaluateRequestRequest
  2. API Source: marketplace_slurm_periodic_usage_policies_force_period_reset
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
import { marketplaceSlurmPeriodicUsagePoliciesForcePeriodReset } from 'waldur-js-client';

try {
  const response = await marketplaceSlurmPeriodicUsagePoliciesForcePeriodReset({
  auth: "Token YOUR_API_TOKEN",
  path: {
    "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
  }
});
  console.log('Success:', response);
} catch (error) {
  console.error('Error:', error);
}
Name Type Required
uuid string (uuid)
Field Type Required Description
resource_uuid string (uuid) Evaluate a specific resource. If omitted, evaluates all offering resources.

200 -

Field Type
policy_uuid string (uuid)
billing_period string
resources array of objects
resources.resource_uuid string (uuid)
resources.resource_name string
resources.usage_percentage number (double)
resources.actions_taken array of strings
resources.previous_state object (free-form)
resources.new_state object (free-form)

Preview impact

Preview policy impact without saving. Returns threshold calculations, carryover projections, and QoS trigger points.

1
2
3
4
http \
  POST \
  https://api.example.com/api/marketplace-slurm-periodic-usage-policies/preview_impact/ \
  Authorization:"Token YOUR_API_TOKEN"
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
from waldur_api_client.client import AuthenticatedClient
from waldur_api_client.models.slurm_policy_preview_request_request import SlurmPolicyPreviewRequestRequest # (1)
from waldur_api_client.api.marketplace_slurm_periodic_usage_policies import marketplace_slurm_periodic_usage_policies_preview_impact # (2)

client = AuthenticatedClient(
    base_url="https://api.example.com", token="YOUR_API_TOKEN"
)

body_data = SlurmPolicyPreviewRequestRequest()
response = marketplace_slurm_periodic_usage_policies_preview_impact.sync(
    client=client,
    body=body_data
)

print(response)
  1. Model Source: SlurmPolicyPreviewRequestRequest
  2. API Source: marketplace_slurm_periodic_usage_policies_preview_impact
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
import { marketplaceSlurmPeriodicUsagePoliciesPreviewImpact } from 'waldur-js-client';

try {
  const response = await marketplaceSlurmPeriodicUsagePoliciesPreviewImpact({
  auth: "Token YOUR_API_TOKEN"
});
  console.log('Success:', response);
} catch (error) {
  console.error('Error:', error);
}
Field Type Required Description
allocation number (double) Base allocation for the period (in node-hours or billing units)
Constraints: default: 1000.0
grace_ratio number (double) Grace ratio for overconsumption allowance (0.2 = 20%)
Constraints: default: 0.2
previous_usage number (double) Usage from the previous period
Constraints: default: 0.0
carryover_factor integer Maximum percentage of base allocation that can carry over (0-100)
Constraints: default: 50
carryover_enabled boolean Whether unused allocation carries over to next period
Constraints: default: True
resource_uuid string (uuid) Optional resource UUID to use for current usage data
current_usage number (double) Current usage in this period (manual input or from resource)
Constraints: default: 0.0
daily_usage_rate number (double) Average daily usage rate for projections
Constraints: default: 0.0

200 -

Field Type Description
base_allocation number (double)
effective_allocation number (double)
carryover_enabled boolean
carryover any
thresholds object
thresholds.allocation number (double)
thresholds.grace_ratio number (double)
thresholds.notification_ratio number (double)
thresholds.notification_threshold number (double)
thresholds.slowdown_threshold number (double)
thresholds.blocked_threshold number (double)
grace_ratio number (double)
carryover_factor integer
current_usage number (double)
daily_usage_rate number (double)
usage_percentage number (double)
current_qos_status string
Enum: normal, notification, slowdown, blocked
date_projections object
date_projections.notification object
date_projections.notification.days integer
date_projections.notification.date string (date)
date_projections.notification.status string
Enum: never, exceeded, projected
date_projections.slowdown object
date_projections.slowdown.days integer
date_projections.slowdown.date string (date)
date_projections.slowdown.status string
Enum: never, exceeded, projected
date_projections.blocked object
date_projections.blocked.days integer
date_projections.blocked.date string (date)
date_projections.blocked.status string
Enum: never, exceeded, projected
preview_commands array of objects
preview_commands.type string Command type: fairshare, limits, qos, reset_usage
preview_commands.description string Human-readable description
preview_commands.command string Actual shell command
preview_commands.parameters object (free-form) Command parameters
command_history array of objects
command_history.uuid string (uuid)
command_history.command_type string Type of command: fairshare, limits, qos, reset_usage
command_history.description string Human-readable description of what the command does
command_history.shell_command string Actual shell command that was/would be executed
command_history.parameters any Command parameters as key-value pairs
command_history.executed_at string (date-time)
command_history.execution_mode any Whether command was executed in production or emulator mode
command_history.success boolean Whether the command execution was successful
command_history.error_message string Error message if command execution failed
billing_period_start string (date)
billing_period_end string (date)

Report command execution result from site agent

Report command execution result from site agent.

1
2
3
4
5
6
http \
  POST \
  https://api.example.com/api/marketplace-slurm-periodic-usage-policies/a1b2c3d4-e5f6-7890-abcd-ef1234567890/report-command-result/ \
  Authorization:"Token YOUR_API_TOKEN" \
  resource_uuid="a1b2c3d4-e5f6-7890-abcd-ef1234567890" \
  success=true
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
from waldur_api_client.client import AuthenticatedClient
from waldur_api_client.models.slurm_command_result_request import SlurmCommandResultRequest # (1)
from waldur_api_client.api.marketplace_slurm_periodic_usage_policies import marketplace_slurm_periodic_usage_policies_report_command_result # (2)

client = AuthenticatedClient(
    base_url="https://api.example.com", token="YOUR_API_TOKEN"
)

body_data = SlurmCommandResultRequest(
    resource_uuid="a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    success=true
)
response = marketplace_slurm_periodic_usage_policies_report_command_result.sync(
    uuid="a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    client=client,
    body=body_data
)

print(response)
  1. Model Source: SlurmCommandResultRequest
  2. API Source: marketplace_slurm_periodic_usage_policies_report_command_result
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
import { marketplaceSlurmPeriodicUsagePoliciesReportCommandResult } from 'waldur-js-client';

try {
  const response = await marketplaceSlurmPeriodicUsagePoliciesReportCommandResult({
  auth: "Token YOUR_API_TOKEN",
  path: {
    "uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
  },
  body: {
    "resource_uuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "success": true
  }
});
  console.log('Success:', response);
} catch (error) {
  console.error('Error:', error);
}
Name Type Required
uuid string (uuid)
Field Type Required Description
resource_uuid string (uuid) UUID of the resource the command was applied to
success boolean Whether the command was applied successfully
error_message string Error message if the command failed
Constraints: default: ``
mode any Execution mode of the command
Constraints: default: production
commands_executed array of strings List of shell commands actually executed by the site agent

200 - No response body