Gameye · Arazzo Workflow

Manage the player roster on a Gameye session

Version 1.0.0

Start a session, register players joining, then remove players leaving.

1 workflow 1 source API 1 provider
View Spec View on GitHub CompanyGame Server HostingGame Server OrchestrationMultiplayerContainersInfrastructureGamingEdge ComputingDevOpsArazzoWorkflows

Provider

gameye

Workflows

player-lifecycle
Allocate a session then track players joining and leaving.
3 steps inputs: image, location, players outputs: joinedCount, remainingCount, sessionId
1
run-session
session-run
2
join-players
join-session
3
leave-players
leave-session

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: Manage the player roster on a Gameye session
  version: 1.0.0
  summary: Start a session, register players joining, then remove players leaving.
sourceDescriptions:
- name: gameye
  url: ../openapi/gameye-session-openapi.yml
  type: openapi
workflows:
- workflowId: player-lifecycle
  summary: Allocate a session then track players joining and leaving.
  inputs:
    type: object
    required: [image, players]
    properties:
      image:
        type: string
        example: nginx
      location:
        type: string
        example: europe
      players:
        type: array
        items:
          type: string
        example: [player-1, player-2]
  steps:
  - stepId: run-session
    operationId: session-run
    requestBody:
      contentType: application/json
      payload:
        location: $inputs.location
        image: $inputs.image
    successCriteria:
    - condition: $statusCode == 201
    outputs:
      sessionId: $response.body#/id
  - stepId: join-players
    operationId: join-session
    requestBody:
      contentType: application/json
      payload:
        session: $steps.run-session.outputs.sessionId
        players: $inputs.players
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      count: $response.body#/count
  - stepId: leave-players
    operationId: leave-session
    requestBody:
      contentType: application/json
      payload:
        players: $inputs.players
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      count: $response.body#/count
  outputs:
    sessionId: $steps.run-session.outputs.sessionId
    joinedCount: $steps.join-players.outputs.count
    remainingCount: $steps.leave-players.outputs.count