Gameye · Arazzo Workflow

Allocate a Gameye session and get its connection address

Version 1.0.0

Pick an available region for an image, start a session, and read its host/ports.

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

Provider

gameye

Workflows

allocate-session
Find a region, allocate a session, and describe it.
3 steps inputs: image, location, sessionId outputs: host, ports, sessionId, status
1
find-locations
get-available-locations
2
run-session
session-run
3
describe-session
describe-session

Source API Descriptions

Arazzo Workflow Specification

Raw ↑
arazzo: 1.0.1
info:
  title: Allocate a Gameye session and get its connection address
  version: 1.0.0
  summary: Pick an available region for an image, start a session, and read its host/ports.
sourceDescriptions:
- name: gameye
  url: ../openapi/gameye-session-openapi.yml
  type: openapi
workflows:
- workflowId: allocate-session
  summary: Find a region, allocate a session, and describe it.
  inputs:
    type: object
    required: [image]
    properties:
      image:
        type: string
        example: nginx
      location:
        type: string
        example: europe
      sessionId:
        type: string
        example: f7965a22-e327-4541-a30e-8262890d3a29
  steps:
  - stepId: find-locations
    operationId: get-available-locations
    parameters:
    - name: image
      in: path
      value: $inputs.image
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      locations: $response.body#/locations
  - stepId: run-session
    operationId: session-run
    requestBody:
      contentType: application/json
      payload:
        id: $inputs.sessionId
        location: $inputs.location
        image: $inputs.image
    successCriteria:
    - condition: $statusCode == 201
    outputs:
      sessionId: $response.body#/id
      host: $response.body#/host
      ports: $response.body#/ports
  - stepId: describe-session
    operationId: describe-session
    parameters:
    - name: id
      in: path
      value: $steps.run-session.outputs.sessionId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      status: $response.body#/status
  outputs:
    sessionId: $steps.run-session.outputs.sessionId
    host: $steps.run-session.outputs.host
    ports: $steps.run-session.outputs.ports
    status: $steps.describe-session.outputs.status