FURMS messaging API for site agents 1.0.0

Introduction to the Async API is available here

Operations

  • PUB site/site_id/community/add/req

    Provision a community to site

    Operation IDCommunityInstallationRequest

    Accepts the following message:

    CommunityInstallationRequest
    object
    object

    Examples

  • PUB site/site_id/community/add/ack

    Acknowledge community addition

    Operation IDCommunityInstallationRequestAck

    Accepts the following message:

    CommunityInstallationRequestAck
    object
    uid: emptyObject
    object

    Examples

  • PUB site/site_id/community/update/req

    Update a community on a site

    Operation IDCommunityUpdateRequest

    Accepts the following message:

    CommunityUpdateRequest
    object
    object

    Examples

  • PUB site/site_id/community/update/ack

    Acknowledge community update

    Operation IDCommunityUpdateRequestAck

    Accepts the following message:

    CommunityUpdateRequestAck
    object
    uid: emptyObject
    object

    Examples

  • PUB site/site_id/community/removal/req

    Remove a community on a site

    Operation IDCommunityRemovalRequest

    Accepts the following message:

    CommunityRemovalRequest
    object
    object

    Examples

  • PUB site/site_id/community/removal/ack

    Acknowledge removing community

    Operation IDCommunityRemovalRequestAck

    Accepts the following message:

    CommunityRemovalRequestAck
    object
    uid: emptyObject
    object

    Examples

  • SUB site/site_id/project/provision/req

    Provision a project to site

    Installation of a project on a site will happen when the first resource of the site is allocated to the project.

    Operation IDProjectInstallationRequest

    Accepts the following message:

    ProjectInstallationRequest
    object
    object

    Examples

  • PUB site/site_id/project/provision/ack

    Acknowledge request

    Operation IDProjectInstallationRequestAck

    Accepts the following message:

    ProjectInstallationRequestAck
    object
    uid: emptyObject
    object

    Examples

  • PUB site/site_id/project/provision/resp

    Acknowledge project installation on site

    Site agents must send information to FURMS whenever a project is installed on a site or if project installation fails.

    Operation IDProjectInstallationResult

    Accepts the following message:

    ProjectInstallationResult
    object
    object

    Examples

  • SUB site/site_id/project/removal/req

    Remove a project from a site

    Project removal will be requested by FURMS when previously installed project lifetime ends.

    Operation IDProjectRemovalRequest

    Accepts the following message:

    ProjectRemovalRequest
    object
    object

    Examples

  • PUB site/site_id/project/removal/ack

    Acknowledge removal request

    Operation IDProjectRemovalRequestAck

    Accepts the following message:

    ProjectRemovalRequestAck
    object
    uid: emptyObject
    object

    Examples

  • PUB site/site_id/project/removal/resp

    Acknowledge project removal on a site

    Project removal or removal failure must be communicated to FURMS with the following message.

    Operation IDProjectRemovalResult

    Accepts the following message:

    ProjectRemovalResult
    object
    uid: emptyObject
    object

    Examples

  • SUB site/site_id/project/update/req

    Update a project on a site

    Project metadata can change in FURMS. In such cases, a project update request will be sent to a site.

    Operation IDProjectUpdateRequest

    Accepts the following message:

    ProjectUpdateRequest
    object
    object

    Examples

  • PUB site/site_id/project/update/ack

    Acknowledge update request

    Operation IDProjectUpdateRequestAck

    Accepts the following message:

    ProjectUpdateRequestAck
    object
    uid: emptyObject
    object

    Examples

  • PUB site/site_id/project/update/resp

    Acknowledge project update on site

    Site agents must send information to FURMS whenever the project is updated or if the project update fails.

    Operation IDProjectUpdateResult

    Accepts the following message:

    ProjectUpdateResult
    object
    uid: emptyObject
    object

    Examples

  • SUB site/site_id/user/status/req

    Suspend/enable user on site

    Shall be used by FURMS to signal the site that user access to the site should be suspended or re-enabled.

    Operation IDSetUserStatusRequest

    Accepts the following message:

    SetUserStatusRequest
    object
    object

    Examples

  • PUB site/site_id/user/status/ack

    Acknowledge status update request

    Operation IDSetUserStatusRequestAck

    Accepts the following message:

    SetUserStatusRequestAck
    object
    uid: emptyObject
    object

    Examples

  • PUB site/site_id/user/status/resp

    Acknowledge user status change on a site

    Operation IDSetUserStatusResult

    Accepts the following message:

    SetUserStatusResult
    object
    uid: emptyObject
    object

    Examples

  • SUB site/site_id/sshkey/add/req

    Install user's SSH key

    Is used to request SSH key installation on a site

    Operation IDUserSSHKeyAddRequest

    Accepts the following message:

    UserSSHKeyAddRequest
    object
    object

    Examples

  • PUB site/site_id/sshkey/add/ack

    Acknowledge SSH key add request

    Operation IDUserSSHKeyAddRequestAck

    Accepts the following message:

    UserSSHKeyAddRequestAck
    object
    uid: emptyObject
    object

    Examples

  • PUB site/site_id/sshkey/add/resp

    Acknowledge adding SSH key

    Operation IDUserSSHKeyAddResult

    Accepts the following message:

    UserSSHKeyAddResult
    object
    uid: emptyObject
    object

    Examples

  • SUB site/site_id/sshkey/update/req

    Update user's SSH key

    Is used to request SSH key update on a site

    Operation IDUserSSHKeyUpdateRequest

    Accepts the following message:

    UserSSHKeyUpdateRequest
    object
    object

    Examples

  • PUB site/site_id/sshkey/update/ack

    Acknowledge SSH key update request

    Operation IDUserSSHKeyUpdateRequestAck

    Accepts the following message:

    UserSSHKeyUpdateRequestAck
    object
    uid: emptyObject
    object

    Examples

  • PUB site/site_id/sshkey/update/resp

    Acknowledge updating SSH key

    Operation IDUserSSHKeyUpdateResult

    Accepts the following message:

    UserSSHKeyUpdateResult
    object
    uid: emptyObject
    object

    Examples

  • SUB site/site_id/sshkey/remove/req

    Remove user's SSH key

    Used to request SSH key removal on a site

    Operation IDUserSSHKeyRemovalRequest

    Accepts the following message:

    UserSSHKeyRemovalRequest
    object
    object

    Examples

  • PUB site/site_id/sshkey/remove/ack

    Acknowledge SSH key removal request

    Operation IDUserSSHKeyRemovalRequestAck

    Accepts the following message:

    UserSSHKeyRemovalRequestAck
    object
    uid: emptyObject
    object

    Examples

  • PUB site/site_id/sshkey/remove/resp

    Acknowledge adding SSH key

    Operation IDUserSSHKeyRemovalResult

    Accepts the following message:

    UserSSHKeyRemovalResult
    object
    uid: emptyObject
    object

    Examples

  • SUB site/site_id/project/user_add/req

    Add user to a project

    Sent by FURMS to request adding a user to a project.

    Operation IDUserProjectAddRequest

    Accepts the following message:

    UserProjectAddRequest
    object
    object

    Examples

  • PUB site/site_id/project/user_add/ack

    Acknowledge user add to project request

    Operation IDUserProjectAddRequestAck

    Accepts the following message:

    UserProjectAddRequestAck
    object
    uid: emptyObject
    object

    Examples

  • PUB site/site_id/project/user_add/resp

    User to project add result

    Should be sent by the site agent to indicate user addition (or failure of) to a project.

    Operation IDUserProjectAddResult

    Accepts the following message:

    UserProjectAddResult
    object
    object

    Examples

  • SUB site/site_id/project/user_remove/req

    Remove user from a project

    Should be sent by FURMS to request removal of a user from a project.

    Operation IDUserProjectRemovalRequest

    Accepts the following message:

    UserProjectRemovalRequest
    object
    object

    Examples

  • PUB site/site_id/project/user_remove/ack

    Acknowledge user removal from project request

    Operation IDUserProjectRemovalRequestAck

    Accepts the following message:

    UserProjectRemovalRequestAck
    object
    uid: emptyObject
    object

    Examples

  • PUB site/site_id/project/user_remove/resp

    User removal from project result

    Should be sent by the site agent when a user was removed from a project or removal failed.

    Operation IDUserProjectRemovalResult

    Accepts the following message:

    UserProjectRemovalResult
    object
    uid: emptyObject
    object

    Examples

  • SUB site/site_id/resource/allocate/req

    Request resource allocation to a project

    Will be sent by FURMS to inform the site that part of resource credit defined by the site admin in FURMS was allocated to a (previously provisioned) project. Note that this may be either an initial allocation or an update of the allocation. In the latter case the allocationIdentifier parameter should be already known to the site.

    Operation IDProjectResourceAllocationRequest

    Accepts the following message:

    ProjectResourceAllocationRequest
    object
    object

    Examples

  • PUB site/site_id/resource/allocate/ack

    Acknowledge allocate resource to a project request

    Operation IDProjectResourceAllocationRequestAck

    Accepts the following message:

    ProjectResourceAllocationRequestAck
    object
    uid: emptyObject
    object

    Examples

  • PUB site/site_id/resource/allocate/status/result

    Confirm allocation installation or update

    Operation IDProjectResourceAllocationStatusResult

    Accepts the following message:

    ProjectResourceAllocationStatusResult
    object
    uid: emptyObject
    object

    Examples

  • PUB site/site_id/resource/allocate/resp

    Information about allocated resources

    In case when a request is generally accepted, the site should actually allocate resources. Since the allocation scheme can vary from site to site, the site agent can report multiple allocations, with different amounts then the requested ones. Reporting of allocation is communicated with the message ResourceAllocationResult. In case when an allocation failed, only the first ResourceAllocationResult can be used to send an error status, subsequent responses won't be accepted.

    Operation IDProjectResourceAllocationResult

    Accepts the following message:

    ProjectResourceAllocationResult
    object
    object

    Examples

  • PUB site/site_id/resource/allocate/update

    Update of allocated resources

    Carries an update of a previously sent allocation with the ResourceAllocationResult message. Messages with failed status won't be accepted.

    Operation IDProjectResourceAllocationUpdate

    Accepts the following message:

    ProjectResourceAllocationUpdate
    object
    object

    Examples

  • SUB site/site_id/resource/deallocate/req

    Remove resource allocation from a project

    Will be sent by FURMS to inform the site that a formerly allocated resource allocation was removed from a project

    Operation IDProjectResourceDeallocationRequest

    Accepts the following message:

    ProjectResourceDeallocationRequest
    object
    object

    Examples

  • PUB site/site_id/resource/deallocate/ack

    Acknowledge deallocation request

    Operation IDProjectResourceDeallocationRequestAck

    Accepts the following message:

    ProjectResourceDeallocationRequestAck
    object
    uid: emptyObject
    object

    Examples

  • SUB site/site_id/allocation/user_add/req

    Request to grant user access to allocation

    Sent by FURMS to request granting user rights to an allocation within a project.

    Operation IDUserAllocationGrantAccessRequest

    Accepts the following message:

    UserAllocationGrantAccessRequest
    object
    object

    Examples

  • PUB site/site_id/allocation/user_add/ack

    Acknowledge grant user access to allocation request

    Operation IDUserAllocationGrantAccessRequestAck

    Accepts the following message:

    UserAllocationGrantAccessRequestAck
    object
    uid: emptyObject
    object

    Examples

  • PUB site/site_id/allocation/user_add/resp

    Grant user access to allocation

    Should be sent by the site agent to indicate granting user access to allocation.

    Operation IDUserAllocationGrantAccessResult

    Accepts the following message:

    UserAllocationGrantAccessResult
    object
    uid: emptyObject
    object

    Examples

  • SUB site/site_id/allocation/user_remove/req

    Request removal of user's access to allocation

    Sent by FURMS to request removing the previously granted access to an allocation for a user.

    Operation IDUserAllocationBlockAccessRequest

    Accepts the following message:

    UserAllocationBlockAccessRequest
    object
    object

    Examples

  • PUB site/site_id/allocation/user_remove/ack

    Acknowledge remove user's access to allocation request

    Operation IDUserAllocationBlockAccessRequestAck

    Accepts the following message:

    UserAllocationBlockAccessRequestAck
    object
    uid: emptyObject
    object

    Examples

  • PUB site/site_id/allocation/user_remove/resp

    Signal removal of user's access to allocation

    Should be sent by the site agent to indicate that user's access to an allocation was blocked.

    Operation IDUserAllocationBlockAccessResult

    Accepts the following message:

    UserAllocationBlockAccessResult
    object
    uid: emptyObject
    object

    Examples

  • PUB site/site_id/resource_usage/cumulative

    Cumulative allocation usage record

    Sent from the site agent to FURMS to report per-project and allocation resource consumption.

    Operation IDCumulativeResourceUsageRecord

    Accepts the following message:

    CumulativeResourceUsageRecord
    object
    object

    Examples

  • PUB site/site_id/resource_usage/user

    Per-user allocation usage record

    Sent from the site agent to FURMS to report per-project, user and allocation resource consumption.

    Operation IDUserResourceUsageRecord

    Accepts the following message:

    UserResourceUsageRecord
    object
    object

    Examples

  • SUB site/site_id/error/info

    Error info callback

    Sent from FURMS to site agent to report message handling errors.

    Operation IDAgentMessageErrorInfo

    Accepts the following message:

    AgentMessageErrorInfo
    object
    object

    Examples

  • SUB site/site_id/ping/req

    Ping agent

    Used by FURMS to check if the site agent is on-line. The request has an empty body, and RequestAck is used to determine availability.

    Operation IDAgentPingRequest

    Accepts the following message:

    AgentPingRequest
    object
    uid: emptyObject
    object

    Examples

  • PUB site/site_id/ping/ack

    Acknowledge ping request

    Operation IDAgentPingRequestAck

    Accepts the following message:

    AgentPingRequestAck
    object
    uid: emptyObject
    object

    Examples

  • SUB site/site_id/policy/acceptance_update

    Policy acceptance update

    Used by FURMS to inform site agent that user's policies acceptance status has been changed.

    Operation IDUserPolicyAcceptanceUpdate

    Accepts the following message:

    UserPolicyAcceptanceUpdate
    object
    object

    Examples

  • PUB site/site_id/policy/acceptance_update/ack

    Acknowledge acceptance update request

    Operation IDUserPolicyAcceptanceUpdateAck

    Accepts the following message:

    UserPolicyAcceptanceUpdateAck
    object
    uid: emptyObject
    object

    Examples

  • SUB site/site_id/policy/update

    Policy document update

    Used by FURMS to inform site agent that a policy has been updated

    Operation IDPolicyUpdate

    Accepts the following message:

    PolicyUpdate
    object
    object

    Examples

  • PUB site/site_id/policy/update/ack

    Acknowledge policy update request

    Operation IDPolicyUpdateAck

    Accepts the following message:

    PolicyUpdateAck
    object
    uid: emptyObject
    object

    Examples

Messages

  • #1requestAck
    object
    object
    uid: responseMeta

Schemas

  • uid
    string
    uid: uid

    Local site-assigned account id aka Unix user id.

  • allocationIdentifier
    string
    uid: allocationIdentifier

    FURMS assigned, unique identifier of a particular project allocation. Single resource credit can have many allocations.

  • fenixUserId
    string
    uid: fenixUserId

    Fenix-wide identifier of a person, managed by Fenix Central IdP

  • projectIdentifier
    string
    uid: projectIdentifier

    FURMS assigned, unique identifier of a project.

  • object
    uid: responseMeta
  • object
    uid: emptyObject
  • object
    uid: userRecord
  • object
    uid: policyAcceptanceContent
  • object
    uid: policyAcceptance
  • array<object>
    uid: policiesAcceptance