Skip to content

Instantly share code, notes, and snippets.

@udhos
Created November 26, 2018 14:06
Show Gist options
  • Save udhos/49ac930ca74e53dede1a9dc36c570b53 to your computer and use it in GitHub Desktop.
Save udhos/49ac930ca74e53dede1a9dc36c570b53 to your computer and use it in GitHub Desktop.
apigee-load-balancing-spec
swagger: '2.0'
info:
version: "0.0.12"
title: Load Balancing
description: |
Load Balancing API
basePath: /load-balancing
host: evertonmarques-eval-test.apigee.net
schemes:
- http
consumes:
- application/json
produces:
- application/json
paths:
/at2/node/{nodeId}/backend:
get:
description: |
Gets `Backend` objects.
Optional query param of **debug** sends a debug response.
parameters:
# An example parameter that is in query and is required
- name: debug
in: query
description: Send debug response
required: false
type: boolean
- name: nodeId
in: path
required: true
type: string
description: The node ID
responses:
"200":
description: Success
schema:
$ref: "#/definitions/BackendResponse"
default:
description: Error
schema:
type: string
delete:
description: |
Deletes `Backend` object.
Optional query param of **debug** sends a debug response.
parameters:
- name: debug
in: query
description: Send debug response
required: false
type: boolean
- name: nodeId
in: path
required: true
type: string
description: The node ID
- name: backend
in: body
required: true
schema:
$ref: "#/definitions/BackendDeleteBody"
responses:
"200":
description: Success
schema:
type: string
default:
description: Error
schema:
type: string
post:
description: |
Creates/updates `Backend` object.
Optional query param of **debug** sends a debug response.
parameters:
- name: debug
in: query
description: Send debug response
required: false
type: boolean
- name: nodeId
in: path
required: true
type: string
description: The node ID
- name: backend
in: body
required: true
schema:
$ref: "#/definitions/BackendPostBody"
responses:
"200":
description: Success
schema:
type: string
default:
description: Error
schema:
type: string
definitions:
BackendPostBody:
required:
- BackendName
properties:
BackendName:
type: string
BackendAddress:
type: string
BackendPorts:
title: ArrayOfBackendPorts
type: array
items:
$ref: "#/definitions/BackendPort"
VirtualServers:
title: ArrayOfBackendVirtualServers
type: array
items:
$ref: "#/definitions/BackendVirtualServer"
ServiceGroups:
title: ArrayOfBackendServiceGroups
type: array
items:
$ref: "#/definitions/BackendServiceGroup"
BackendVirtualServer:
required:
- Name
properties:
Name:
type: string
Address:
type: string
VirtualPorts:
type: array
items:
$ref: "#/definitions/BackendVirtualPort"
BackendVirtualPort:
required:
- Port
- Protocol
- ServiceGroup
properties:
Port:
type: string
Protocol:
type: string
ServiceGroup:
type: string
BackendDeleteBody:
required:
- BackendName
properties:
BackendName:
type: string
ServiceGroups:
title: ArrayOfBackendServiceGroups
type: array
items:
$ref: "#/definitions/BackendServiceGroup"
BackendServiceGroup:
required:
- Name
properties:
Name:
type: string
Protocol:
type: string
Members:
title: ArrayOfBackendSGMembers
type: array
items:
$ref: "#/definitions/BackendSGMember"
BackendSGMember:
required:
- Name
- Port
properties:
Name:
type: string
Port:
type: string
BackendResponse:
required:
- BackendName
- BackendAddress
- BackendPorts
properties:
BackendName:
type: string
BackendAddress:
type: string
BackendPorts:
title: ArrayOfBackendPorts
type: array
items:
$ref: "#/definitions/BackendPort"
BackendPort:
required:
- Port
- Protocol
properties:
Port:
type: string
Protocol:
type: string
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment