Skip to content
Permalink
47c5e62f09
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Go to file
 
 
Cannot retrieve contributors at this time
439 lines (436 sloc) 9.96 KB
{
"asyncapi": "2.0.0",
"info": {
"title": "Federation Manager Async API",
"description": "Draft 08: Specification of the Async API for TAP-ICP Federation Manager Messaging",
"termsOfService": "https://fm.incommon.org/terms/",
"contact": {
"name": "API Support",
"url": "https://incommon.org/help",
"email": "help@incommon.org"
},
"license": {
"name": "Apache 2.0",
"url": "http://www.apache.org/licenses/LICENSE-2.0.html"
},
"version": "1.0.0"
},
"channels": {
"fmPerson": {
"publish": {
"message": {
"$ref": "#/components/messages/fmPerson"
},
"bindings": {
"amqp": {
"bindingVersion": "0.9.1"
}
}
},
"subscribe": {
"message": {
"$ref": "#/components/messages/fmPerson"
},
"bindings": {
"amqp": {
"bindingVersion": "0.9.1"
}
}
}
},
"fmOrg": {
"publish": {
"message": {
"$ref": "#/components/messages/fmOrg"
},
"bindings": {
"amqp": {
"bindingVersion": "0.9.1"
}
}
},
"subscribe": {
"message": {
"$ref": "#/components/messages/fmOrg"
},
"bindings": {
"amqp": {
"bindingVersion": "0.9.1"
}
}
}
},
"fmRole": {
"publish": {
"message": {
"$ref": "#/components/messages/fmRole"
},
"bindings": {
"amqp": {
"bindingVersion": "0.9.1"
}
}
},
"subscribe": {
"message": {
"$ref": "#/components/messages/fmRole"
},
"bindings": {
"amqp": {
"bindingVersion": "0.9.1"
}
}
}
},
"fmAssignment": {
"publish": {
"message": {
"$ref": "#/components/messages/fmAssignment"
},
"bindings": {
"amqp": {
"bindingVersion": "0.9.1"
}
}
},
"subscribe": {
"message": {
"$ref": "#/components/messages/fmAssignment"
},
"bindings": {
"amqp": {
"bindingVersion": "0.9.1"
}
}
}
}
},
"components": {
"schemas": {
"headers": {
"type": "object",
"properties": {
"header": {
"type": "string"
},
"lastModified": {
"type": "string"
},
"schemas": {
"type": "string"
},
"eventType": {
"type": "string",
"enum": [
"create",
"read",
"update",
"delete",
"personadd",
"personremove"
]
}
}
},
"fmRole": {
"type": "object",
"properties": {
"resourceType": {
"type": "string"
},
"resourceTypeVersion": {
"type": "string"
},
"roleName": {
"$ref": "#/components/schemas/roleName"
},
"identifier": {
"$ref": "#/components/schemas/identifier"
}
}
},
"fmOrg": {
"type": "object",
"properties": {
"resourceType": {
"type": "string"
},
"resourceTypeVersion": {
"type": "string"
},
"orgName": {
"$ref": "#/components/schemas/orgName"
},
"orgUrl": {
"$ref": "#/components/schemas/url"
},
"identifier": {
"$ref": "#/components/schemas/identifier"
}
}
},
"fmPerson": {
"type": "object",
"properties": {
"resourceType": {
"type": "string"
},
"resourceTypeVersion": {
"type": "string"
},
"name": {
"$ref": "#/components/schemas/name"
},
"identifier": {
"$ref": "#/components/schemas/identifier"
},
"email": {
"$ref": "#/components/schemas/email"
},
"telephoneNumber": {
"$ref": "#/components/schemas/telephoneNumber"
},
"fmIsIdentityProofed": {
"$ref": "#/components/schemas/fmIsIdentityProofed"
}
}
},
"fmAssignment": {
"type": "object",
"properties": {
"resourceType": {
"type": "string"
},
"resourceTypeVersion": {
"type": "string"
},
"identifier": {
"$ref": "#/components/schemas/identifier"
},
"role": {
"$ref": "#/components/schemas/fmRole"
},
"org": {
"$ref": "#/components/schemas/fmOrg"
},
"person": {
"type": "array",
"items": {
"$ref": "#/components/schemas/fmPerson"
}
}
}
},
"identifier": {
"type": "object",
"properties": {
"value": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"fm-user-pk",
"fm-role-pk",
"fm-org-pk",
"fm-assignment-pk"
]
}
}
},
"email": {
"type": "array",
"description": "same as emailAddress in Core Attribute Specification",
"items": {
"type": "object",
"properties": {
"address": {
"type": "string"
},
"type": {
"type": "string"
},
"verified": {
"type": "boolean"
}
}
}
},
"url": {
"type": "string"
},
"name": {
"type": "array",
"items": {
"type": "object",
"properties": {
"family": {
"type": "string"
},
"given": {
"type": "string"
},
"middle": {
"type": "string"
},
"displayName": {
"type": "string"
},
"type": {
"type": "string"
}
}
}
},
"orgName": {
"type": "object",
"properties": {
"value": {
"type": "string"
},
"type": {
"type": "string",
"enum": [
"legal",
"display",
"canonical"
]
}
}
},
"roleName": {
"type": "object",
"properties": {
"value": {
"type": "string",
"enum": [
"exec",
"site-admin",
"delegated-admin",
"registration-authority-admin",
"cert-rao"
]
},
"description": {
"type": "string"
}
}
},
"telephoneNumber": {
"type": "array",
"description": "same as telephoneNumber in Core Attribute Specification",
"items": {
"type": "object",
"properties": {
"number": {
"type": "string"
},
"type": {
"type": "string"
},
"verified": {
"type": "boolean"
}
}
}
},
"fmIsIdentityProofed": {
"type": "boolean"
}
},
"messages": {
"fmPerson": {
"summary": "Action taken on a Federation Manager person",
"description": "Describes a CRUD action on a person by the Federation Manager",
"tags": [
{
"name": "person"
},
{
"name": "fedMgr"
}
],
"bindings": {
"amqp": {
"clientId": "fmPersonCrudClient"
}
},
"headers": {
"$ref": "#/components/schemas/headers"
},
"payload": {
"$ref": "#/components/schemas/fmPerson"
}
},
"fmOrg": {
"summary": "Action taken on a Federation Manager organization",
"description": "Describes a CRUD action on an organization by the Federation Manager",
"tags": [
{
"name": "org"
},
{
"name": "fedMgr"
}
],
"bindings": {
"amqp": {
"clientId": "fmOrgCrudClient"
}
},
"headers": {
"$ref": "#/components/schemas/headers"
},
"payload": {
"$ref": "#/components/schemas/fmOrg"
}
},
"fmRole": {
"summary": "Action taken on a Federation Manager role",
"description": "Describes a CRUD action on a role by the Federation Manager",
"tags": [
{
"name": "role"
},
{
"name": "fedMgr"
}
],
"bindings": {
"amqp": {
"clientId": "fmRoleCrudClient"
}
},
"headers": {
"$ref": "#/components/schemas/headers"
},
"payload": {
"$ref": "#/components/schemas/fmRole"
}
},
"fmAssignment": {
"summary": "Action taken on a Federation Manager role assognment",
"description": "Describes a CRUD action on a role assignment by the Federation Manager",
"tags": [
{
"name": "assignment"
},
{
"name": "fedMgr"
}
],
"bindings": {
"amqp": {
"clientId": "fmAssignmentCrudClient"
}
},
"headers": {
"$ref": "#/components/schemas/headers"
},
"payload": {
"$ref": "#/components/schemas/fmAssignment"
}
}
}
}
}