Guide: REST-API for accounting and resource management: Difference between revisions

From bwCloud-OS
Jump to navigation Jump to search
No edit summary
 
(2 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 memebers.
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 ==
Line 26: 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 ===
Line 42: Line 55:
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>
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</code><code>.</code>
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

⚠️ 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

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

⚠️ 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

⚠️ 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

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.