diff options
Diffstat (limited to 'laas_api_documentation.yaml')
-rw-r--r-- | laas_api_documentation.yaml | 424 |
1 files changed, 0 insertions, 424 deletions
diff --git a/laas_api_documentation.yaml b/laas_api_documentation.yaml deleted file mode 100644 index d8f6186..0000000 --- a/laas_api_documentation.yaml +++ /dev/null @@ -1,424 +0,0 @@ -swagger: '2.0' -info: - description: |- - Details for all endpoints for LaaS automation API. This serves to allow users - to create bookings outside of the web UI hosted at labs.lfnetworking.org. - All included setup is referencing the development server hosted while in - beta testing for the API. - version: 1.0.0 - title: LaaS Automation API - termsOfService: 'http://labs.lfnetworking.org' - contact: - email: opnfv@iol.unh.edu - license: - name: MIT License -host: 10.10.30.55 -basePath: /api -tags: - - name: Bookings - description: View and edit existing bookings - - name: Resource Inventory - description: Examine and manage resources in a lab - - name: Users - description: All actions for referencing -schemes: - - http -security: - - AutomationAPI: [] -paths: - /booking: - get: - tags: - - Bookings - summary: Get all bookings belonging to user - description: Get all bookings belonging to the user authenticated by API key. - operationId: retrieveBookings - produces: - - application/json - responses: - '200': - description: successful operation - schema: - type: array - items: - $ref: '#/definitions/Booking' - '401': - description: Unauthorized API key - /booking/makeBooking: - put: - tags: - - Bookings - summary: Make booking by specifying information - description: Exposes same functionality as quick booking form from dashboard - operationId: makeBooking - consumes: - - application/json - produces: - - application/json - parameters: - - in: body - name: booking - description: the booking to create - schema: - $ref: '#/definitions/MakeBookingTemplate' - responses: - '200': - description: successful operation - schema: - $ref: '#/definitions/Booking' - '400': - description: Error in booking info - '401': - description: Unauthorized API key - '/booking/{bookingID}': - get: - tags: - - Bookings - summary: See all info for specific booking - description: '' - operationId: specificBooking - parameters: - - in: path - name: bookingID - required: true - type: integer - produces: - - application/json - responses: - '200': - description: successful operation - schema: - $ref: '#/definitions/Booking' - '404': - description: Booking does not exist - '401': - description: Unauthorized API key - delete: - tags: - - Bookings - summary: Cancel booking - description: '' - operationId: cancelBooking - parameters: - - in: path - name: bookingID - required: true - type: integer - produces: - - application/json - responses: - '200': - description: successfully canceled booking - '404': - description: Booking does not exist - '400': - description: Cannnot cancel booking - '401': - description: Unauthorized API key - '/booking/{bookingID}/details': - get: - tags: - - Bookings - summary: Get booking details - description: '' - operationID: bookingDetails - parameters: - - in: path - name: bookingID - required: true - type: integer - produces: - - application/json - responses: - '200': - description: successful operation - schema: - $ref: '#/definitions/Booking' - '404': - description: Booking does not exist - '401': - description: Unauthorized API key - '/booking/{bookingID}/extendBooking/{days}': - post: - tags: - - Bookings - summary: Extend end date of booking - description: '' - operationId: extendBooking - parameters: - - in: path - name: bookingID - required: true - type: integer - - in: path - name: days - required: true - type: integer - responses: - '200': - description: successful operation - schema: - $ref: '#/definitions/Booking' - '404': - description: Booking to extend does not exist - '400': - description: Cannot extend Booking - '401': - description: Unauthorized API key - '/resource_inventory/{templateLabID}/images': - get: - tags: - - Resource Inventory - summary: See valid images for a resource template - description: '' - operationId: viewImages - parameters: - - in: path - name: templateLabID - required: true - type: integer - produces: - - application/json - responses: - '200': - description: successful operation - schema: - $ref: '#/definitions/Image' - '404': - description: Resource Template does not exist - '401': - description: Unauthorized API key - /resource_inventory/availableTemplates: - get: - tags: - - Resource Inventory - summary: All Resource Templates currently available - description: '' - operationId: listTemplates - produces: - - application/json - responses: - '200': - description: successful operation - schema: - $ref: '#/definitions/ResourceTemplate' - '401': - description: Unauthorized API key - /users: - get: - tags: - - Users - summary: See all public users that can be added to a booking - description: '' - operationId: getUsers - produces: - - application/json - responses: - '200': - description: successful operation - schema: - type: array - items: - $ref: '#/definitions/UserProfile' - '401': - description: Unauthorized API key - /labs: - get: - tags: - - Lab - summary: List all labs and some of their info - description: '' - operationId: listLabs - produces: - - application/json - responses: - '200': - description: successful operation - schema: - type: array - items: - $ref: '#/definitions/Lab' - '401': - description: Unauthorized API Key - /labs/{labID}/users: - get: - tags: - - Lab - summary: Get all users that are visible to a lab for operational purposes - description: '' - operationId: labUsers - consumes: - - application/json - produces: - - application/json - parameters: - - in: path - name: labID - required: true - type: string - responses: - '200': - description: successful - schema: array - items: - $ref: '#/definitions/UserProfile' - '400': - description: invalid lab id -securityDefinitions: - AutomationAPI: - type: apiKey - in: header - name: auth-token -definitions: - Lab: - type: object - required: - - id - - name - properties: - id: - type: integer - format: int64 - name: - type: string - MakeBookingTemplate: - type: object - required: - - templateID - - purpose - - project - - collaborators - - hostname - - length - - imageLabID - properties: - templateID: - type: integer - purpose: - type: string - project: - type: string - collaborators: - type: array - items: - type: string - description: username of the referred user - hostname: - type: string - length: - type: integer - description: length of the booking in days (max 21, min 1) - imageLabID: - type: integer - Booking: - type: object - required: - - id - - owner - - collaborators - - start - - end - - lab - - purpose - - project - - resourceBundle - properties: - id: - type: integer - format: int64 - owner: - type: string - collaborators: - type: array - items: - $ref: '#/definitions/UserProfile' - start: - type: string - format: date-time - end: - type: string - format: date-time - lab: - $ref: '#/definitions/Lab' - purpose: - type: string - resourceBundle: - $ref: '#/definitions/ResourceBundle' - project: - type: string - Image: - type: object - required: - - labID - - resources - properties: - labID: - type: integer - format: int64 - name: - type: string - ResourceBundle: - type: object - required: - - id - - resources - properties: - id: - type: integer - format: int64 - resources: - type: array - items: - $ref: '#/definitions/Server' - ResourceProfile: - type: object - required: - - id - - name - properties: - id: - type: integer - format: int64 - name: - type: string - UserProfile: - type: object - required: - - id - - name - properties: - id: - type: integer - format: int64 - name: - type: string - ResourceTemplate: - type: object - required: - - id - - name - - resourceProfiles - properties: - id: - type: integer - format: int64 - name: - type: string - resourceProfiles: - type: array - items: - $ref: '#/definitions/ResourceProfile' - Server: - type: object - required: - - id - - labid - - profile - properties: - id: - type: integer - format: int64 - profile: - $ref: '#/definitions/ResourceProfile' - labid: - type: string |