grants
« Previous section Next section »
UCloud Developer Guide / Accounting and Project Management / Grants / Allocation Process
Allocation Process
Grants provide a way for users of UCloud to apply for resources.
Rationale
In order for any user to use UCloud they must have credits. Credits are required for use of any compute or storage. There are only two ways of receiving any credits, either through an admin directly granting you the credits or by receiving them from a project.
Grants acts as a more user-friendly gateway to receiving resources from a project. Every GrantApplication
goes through the following steps:
User submits application to relevant project
All grant givers must review the application
User and reviewer can comment on the application
User and reviewer can perform edits to the application
Reviewer either approve or reject
If the
GrantApplication
was approved then resources are granted to the recipient
Table of Contents
Remote Procedure Calls
browse
browse
Request | Response | Error |
---|---|---|
retrieve
retrieve
Request | Response | Error |
---|---|---|
retrieveLogo
retrieveLogo
Request | Response | Error |
---|---|---|
retrieveRequestSettings
retrieveRequestSettings
Request | Response | Error |
---|---|---|
deleteComment
deleteComment
Request | Response | Error |
---|---|---|
postComment
postComment
Request | Response | Error |
---|---|---|
retrieveGrantGivers
retrieveGrantGivers
Request | Response | Error |
---|---|---|
submitRevision
submitRevision
Request | Response | Error |
---|---|---|
transfer
transfer
Request | Response | Error |
---|---|---|
updateRequestSettings
updateRequestSettings
Request | Response | Error |
---|---|---|
updateState
updateState
Request | Response | Error |
---|---|---|
uploadLogo
uploadLogo
Request | Response | Error |
---|---|---|
Data Models
GrantApplication
GrantApplication
GrantApplication.Comment
GrantApplication.Comment
GrantApplication.Document
GrantApplication.Document
GrantApplication.Form
GrantApplication.Form
GrantApplication.Form.GrantGiverInitiated
GrantApplication.Form.GrantGiverInitiated
GrantApplication.Form.PlainText
GrantApplication.Form.PlainText
GrantApplication.GrantGiverApprovalState
GrantApplication.GrantGiverApprovalState
GrantApplication.Period
GrantApplication.Period
GrantApplication.Recipient
GrantApplication.Recipient
GrantApplication.Recipient.ExistingProject
GrantApplication.Recipient.ExistingProject
GrantApplication.Recipient.NewProject
GrantApplication.Recipient.NewProject
GrantApplication.Recipient.PersonalWorkspace
GrantApplication.Recipient.PersonalWorkspace
GrantApplication.Revision
GrantApplication.Revision
Contains information about a specific revision of the application.
The primary contents of the revision is stored in the document. The document describes the contents of the application, including which resource allocations are requested and by whom. Every time a change is made to the application, a new revision is created. Each revision contains the full document. Changes between versions can be computed by comparing with the previous revision.
GrantApplication.State
GrantApplication.State
GrantApplication.Status
GrantApplication.Status
GrantApplicationFilter
GrantApplicationFilter
GrantGiver
GrantGiver
Templates
Templates
Templates.PlainText
Templates.PlainText
UserCriteria
UserCriteria
Describes some criteria which match a user
This is used in conjunction with actions that require authorization.
UserCriteria.Anyone
UserCriteria.Anyone
Matches any user
UserCriteria.EmailDomain
UserCriteria.EmailDomain
Matches any user with an email domain equal to domain
UserCriteria.WayfOrganization
UserCriteria.WayfOrganization
Matches any user with an organization matching org
The organization is currently derived from the information we receive from WAYF.
GrantApplication.AllocationRequest
GrantApplication.AllocationRequest
GrantRequestSettings
GrantRequestSettings
GrantsV2.Browse.Request
GrantsV2.Browse.Request
The base type for requesting paginated content.
Paginated content can be requested with one of the following consistency
guarantees, this greatly changes the semantics of the call:
Consistency | Description |
---|---|
| Consistency is preferred but not required. An inconsistent snapshot might be returned. |
| Consistency is required. A request will fail if consistency is no longer guaranteed. |
The consistency
refers to if collecting all the results via the pagination API are consistent. We consider the results to be consistent if it contains a complete view at some point in time. In practice this means that the results must contain all the items, in the correct order and without duplicates.
If you use the PREFER
consistency then you may receive in-complete results that might appear out-of-order and can contain duplicate items. UCloud will still attempt to serve a snapshot which appears mostly consistent. This is helpful for user-interfaces which do not strictly depend on consistency but would still prefer something which is mostly consistent.
The results might become inconsistent if the client either takes too long, or a service instance goes down while fetching the results. UCloud attempts to keep each next
token alive for at least one minute before invalidating it. This does not mean that a client must collect all results within a minute but rather that they must fetch the next page within a minute of the last page. If this is not feasible and consistency is not required then PREFER
should be used.
📝 NOTE: Services are allowed to ignore extra criteria of the request if the next
token is supplied. This is needed in order to provide a consistent view of the results. Clients should provide the same criterion as they paginate through the results.
GrantsV2.DeleteComment.Request
GrantsV2.DeleteComment.Request
GrantsV2.PostComment.Request
GrantsV2.PostComment.Request
GrantsV2.RetrieveGrantGivers.Request
GrantsV2.RetrieveGrantGivers.Request
GrantsV2.RetrieveGrantGivers.Request.ExistingApplication
GrantsV2.RetrieveGrantGivers.Request.ExistingApplication
GrantsV2.RetrieveGrantGivers.Request.ExistingProject
GrantsV2.RetrieveGrantGivers.Request.ExistingProject
GrantsV2.RetrieveGrantGivers.Request.NewProject
GrantsV2.RetrieveGrantGivers.Request.NewProject
GrantsV2.RetrieveGrantGivers.Request.PersonalWorkspace
GrantsV2.RetrieveGrantGivers.Request.PersonalWorkspace
GrantsV2.RetrieveLogo.Request
GrantsV2.RetrieveLogo.Request
GrantsV2.SubmitRevision.Request
GrantsV2.SubmitRevision.Request
GrantsV2.Transfer.Request
GrantsV2.Transfer.Request
GrantsV2.UpdateState.Request
GrantsV2.UpdateState.Request
GrantsV2.RetrieveGrantGivers.Response
GrantsV2.RetrieveGrantGivers.Response
Last updated