type: object
required:
  - name
  - type
  - port
  - numberOfConnections
  - acknowledgment
  - autoretry
  - swapRedBlue
  - readOnly
properties:
  name:
    type: string
  type:
    type: string
    enum:
      - SCREEN
  connection:
    type: string
    enum:
      - SSH
  port:
    type: integer
    default: 22
    minimum: 0
    maximum: 65535
  numberOfConnections:
    type: integer
    default: 1
    minimum: 1
    maximum: 100
  acknowledgment:
    type: string
    default: "No"
  autoretry:
    type: integer
    default: 1
    maximum: 3
  swapRedBlue:
    type: boolean
    default: false
  readOnly:
    type: boolean
    default: false
  hostname:
    type: string
    optional: true
    minLength: 1
    maxLength: 40
    pattern: ^[a-zA-Z0-9][a-zA-Z0-9_.-]*$
  username:
    type: string
    optional: true
    maxLength: 40
    pattern: ^[^\u0000-\u001f\u007f-\u009f:]*$
  password:
    type: string
    optional: true
  privateKey:
    type: string
    optional: true
  serviceName:
    type: string
    optional: true
    minLength: 1
    maxLength: 40
    pattern: ^[a-zA-Z0-9][a-zA-Z0-9_-]*$
  cursor:
    type: string
    enum:
      - EMPTYSTR
      - LOCAL
      - REMOTE
    optional: true
