Guide: REST-API for accounting and resource management: Difference between revisions
Created page with "The bwCloud-OS provides an RESTful API that allows our customers to overview and manage the accounting data and resources of their memebers. == Testing == {| class="mw-message-box mw-message-box-warning" | style="vertical-align:middle;" |'''⚠️ Please Note:''' This API-Service is in a late testing phase and will be available soon. |} == Entitlement == === Entitlement validation === This endpoint can be used for validating syntax and checking the interpretation of a..." |
No edit summary |
||
| (4 intermediate revisions by the same user not shown) | |||
| Line 1: | Line 1: | ||
The bwCloud-OS provides an RESTful API that allows our customers to overview and manage the accounting data and resources of their | The bwCloud-OS provides an RESTful API that allows our customers to overview and manage the accounting data and resources of their members. Mainly, this means to manage [[Guide: Entitlement & Eligibility|entitlements and eligibilities]]. | ||
== Entitlement == | == Entitlement == | ||
=== Entitlement validation === | === Entitlement validation === | ||
This endpoint can be used for validating syntax and checking the interpretation of an entitlement string. | {| class="mw-message-box mw-message-box-warning" | ||
| style="vertical-align:middle;" |'''⚠️ Please Note:''' This endpoint is in a late testing phase and will be available soon. | |||
|}This endpoint can be used for validating syntax and checking the interpretation of an entitlement string. | |||
==== Entitlement validation example 2 ==== | ==== Entitlement validation example 2 ==== | ||
| Line 29: | Line 26: | ||
== Eligibility == | == Eligibility == | ||
=== Eligibility rules === | |||
{| class="mw-message-box mw-message-box-warning" | |||
| style="vertical-align:middle;" |'''⚠️ Please Note:''' Providing this functionalities is optional and still to plan. | |||
|} | |||
This endpoint may be extended to allow customers to manage eligibility. By defining rules that can be applied to bwCloud-OS users when matching certain criteria. ''E.g. If the user is a memer of the medicine faculty, grant the small quota flavor.'' However, the use cases and requirements for this are yet not cleare. | |||
* As a customer, I want a service where my local support can define rules for rolling out eligibility, such that new users from my organization gain automatic quotas. | |||
* As a customer, I want to control who is allowed to manage and see cost centers, user groups, and personal information, such that only privileged people can grant quotas. | |||
* As a customer, I forward (all?) information of my stuff to this external service, such that I can define precise rules.(?) | |||
* As a user, I want to see the eligibilities I am owning, such that I can plan how to debit these. | |||
There are plenty of questions the bwCloud-OS needs to address to their customers before it gets clear what kind of centralized service actually is needed and weather it will be accepted. | |||
=== Eligibility validation === | === Eligibility validation === | ||
This endpoint can be used for validating syntax and checking the interpretation of eligibility data. | {| class="mw-message-box mw-message-box-warning" | ||
| style="vertical-align:middle;" |'''⚠️ Please Note:''' This endpoint is in a late testing phase and will be available soon. | |||
|}This endpoint can be used for validating syntax and checking the interpretation of eligibility data. | |||
'''Eligibility validation example 1''' | '''Eligibility validation example 1''' | ||
| Line 41: | Line 53: | ||
'''Eligibility validation example 2''' | '''Eligibility validation example 2''' | ||
JSON Data: <code>{"quota_flavor": "large_1", "cost_center_id": "student", "first_day": "2026-01-01", "last_day": " | JSON Data: <code>{"quota_flavor": "large_1", "cost_center_id": "student", "first_day": "2026-01-01", "last_day": "2027-12-32", "max_booking_units": 5000}</code> | ||
Return: <code>Error parsing eligibility. Invalid last day of validation format: 2027-01-32 | Return: <code>Error parsing eligibility. Invalid last day of validation format: 2027-01-32.</code> | ||
Latest revision as of 10:48, 2 February 2026
The bwCloud-OS provides an RESTful API that allows our customers to overview and manage the accounting data and resources of their members. Mainly, this means to manage entitlements and eligibilities.
Entitlement
Entitlement validation
This endpoint can be used for validating syntax and checking the interpretation of an entitlement string.
Entitlement validation example 2
JSON Data: {"entitlement": "urn:geant:dfn.de:bwidm:bwcloud-os:group:xtiny_1:hfu_netze2"}
Return: {'quota_flavor': 'xtiny_1', 'cost_center_id': 'hfu_netze2', 'first_day_of_validation': '2025-12-19', 'last_day_of_validation': 'inf', 'max_number_of_booking_units': 'inf'}
Entitlement validation example 2
JSON Data: {"entitlement": "urn:geant:dfn.de:bwidm:bwcloud-os:group:xtiny_1:hfu_netze2"}
Return: {'quota_flavor': 'xtiny_1', 'cost_center_id': 'hfu_netze2', 'first_day_of_validation': '2026-02-01', 'last_day_of_validation': '2027-01-31', 'max_number_of_booking_units': 'inf'}
Entitlement validation example 3
JSON Data: {"entitlement": "urn:geant:dfn.de:bwidm:bwcloud-os:group:xtiny_1:hfu_netze2:null:2027-01-32:null"}
Return: Error parsing eligibility. Invalid last day of validation format: 2027-01-32.
Eligibility
Eligibility rules
This endpoint may be extended to allow customers to manage eligibility. By defining rules that can be applied to bwCloud-OS users when matching certain criteria. E.g. If the user is a memer of the medicine faculty, grant the small quota flavor. However, the use cases and requirements for this are yet not cleare.
- As a customer, I want a service where my local support can define rules for rolling out eligibility, such that new users from my organization gain automatic quotas.
- As a customer, I want to control who is allowed to manage and see cost centers, user groups, and personal information, such that only privileged people can grant quotas.
- As a customer, I forward (all?) information of my stuff to this external service, such that I can define precise rules.(?)
- As a user, I want to see the eligibilities I am owning, such that I can plan how to debit these.
There are plenty of questions the bwCloud-OS needs to address to their customers before it gets clear what kind of centralized service actually is needed and weather it will be accepted.
Eligibility validation
This endpoint can be used for validating syntax and checking the interpretation of eligibility data.
Eligibility validation example 1
JSON Data: {"quota_flavor": "large_1", "cost_center_id": "student", "first_day": "2026-01-01", "last_day": "2026-12-31", "max_booking_units": 5000}
Return: {'quota_flavor': 'large_1', 'cost_center_id': 'student', 'first_day_of_validation': '2026-01-01', 'last_day_of_validation': '2026-12-31', 'max_number_of_booking_units': 5000}
Eligibility validation example 2
JSON Data: {"quota_flavor": "large_1", "cost_center_id": "student", "first_day": "2026-01-01", "last_day": "2027-12-32", "max_booking_units": 5000}
Return: Error parsing eligibility. Invalid last day of validation format: 2027-01-32.