Marketplace Slurm Periodic Usage Policies
Operations Summary
Core CRUD
List Marketplace Slurm Periodic Usage Policies
Retrieve
HTTPie Python TypeScript Path Parameters Responses
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 )
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
HTTPie Python TypeScript Request Body (required) Responses
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 )
Model Source: SlurmPeriodicUsagePolicyRequest
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
HTTPie Python TypeScript Path Parameters Request Body (required) Responses
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 )
Model Source: SlurmPeriodicUsagePolicyRequest
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
HTTPie Python TypeScript Path Parameters Request Body Responses
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 )
Model Source: PatchedSlurmPeriodicUsagePolicyRequest
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
Other Actions
List Marketplace Slurm Periodic Usage Policies Actions
List command history for this policy
List command history for this policy.
List evaluation logs for this policy
List evaluation logs for this policy.
Dry run
Staff-only. Dry-run evaluation: calculates usage percentages and shows what actions would be triggered, without applying any changes.
Evaluate
Staff-only. Run synchronous policy evaluation: calculates usage, applies actions (pause/downscale/notify), and creates evaluation logs.
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.
Preview impact
Preview policy impact without saving. Returns threshold calculations, carryover projections, and QoS trigger points.
HTTPie Python TypeScript Request Body Responses
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 )
Model Source: SlurmPolicyPreviewRequestRequest
API Source: marketplace_slurm_periodic_usage_policies_preview_impact
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 periodConstraints: 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 periodConstraints: 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 projectionsConstraints: 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.