RAML: Add/fix response description for 3 requests

#%RAML 0.8
title: Okapi Core API
version: 0.1
baseUri: https://okapi.io
## mediaType:  application/json
schemas:
  - ModuleDescriptor: !include ModuleDescriptor.json
  - TenantDescriptor: !include TenantDescriptor.json
  - TenantModuleDescriptor: !include TenantModuleDescriptor.json
  - TenantModules: !include TenantModules.json

#resourceTypes:
#traits:

# The following are a set of APIs that module web service must accept/consume
# to allow okapi environment to orchestrate it
#
# This version assumes that a module instance may be shared by multiple
# tenants, e.g we have a global set of module instances

# TODO we will most likely need a web service to list and browse module types

/_/modules:
  post:
    description: Creates an instance of a given module type, includes all
      necessary mechanics to put the module into operation (launching
      a process, binding to a port, setting up routing)
     # most likely we will want to read some initial configuration
    body:
      application/json:
        schema: ModuleDescriptor
    responses:
      201:
        headers:
          Location:
            description: URI to the created module instance
        body:
          application/json:
            schema: ModuleDescriptor
  /{module_id}:
    get:
      description: Retrieve information about the module instance
      responses:
        200:
          body:
            application/json:
              schema: ModuleDescriptor
    put:
      description: Update the module instance.
      responses:
        200:
          body:
            application/json:
              schema: ModuleDescriptor
    delete:
      description: Remove module instance from operation
        (shutdown process etc)
      responses:
        204:

/_/tenants:
  post:
    description: create a new tenant
    body:
      application/json:
        schema: TenantDescriptor
    responses:
      201:
        description: tenant has been created
        headers:
          Location:
            description: URI to the created tenant
        body:
          application/json:
            schema: TenantDescriptor

  /{tenant_id}:
    get:
      description: retrieve tenant
      responses:
        200:
          body:
            application/json:
              schema: TenantDescriptor
    put:
      description: update tenant
      responses:
        200:
          body:
            application/json:
              schema: TenantDescriptor
    delete:
      description: remove tenant
      responses:
        204:

    /modules:
      get:
        description: Map of module instances accessible by the tenant
        responses:
          200:
            body:
              application/json:
                schema: TenantModules
      post:
        description: Link a module instance to the specified tenant
        responses:
          201:
            body:
              application/json:
                schema: TenantModuleDescriptor

      /{module_tenant_id}:
        get:
          description: look up tenant-module mapping
          responses:
            200:
              body:
                application/json:
                  schema: TenantModuleDescriptor
        delete:
          description: remove tenant-module registration
          responses:
            204:

/_/health:
  get:
    description: health status
    responses:
      200:
        description: guess what

#%RAML 0.8
title: Okapi Core API
version: 0.1
baseUri: https://okapi.io
## mediaType:  application/json
schemas:
  - ModuleDescriptor: !include ModuleDescriptor.json
  - TenantDescriptor: !include TenantDescriptor.json
  - TenantModuleDescriptor: !include TenantModuleDescriptor.json
  - TenantModules: !include TenantModules.json

#resourceTypes:
#traits:

# The following are a set of APIs that module web service must accept/consume
# to allow okapi environment to orchestrate it
#
# This version assumes that a module instance may be shared by multiple
# tenants, e.g we have a global set of module instances

# TODO we will most likely need a web service to list and browse module types

/_/modules:
  post:
    description: Creates an instance of a given module type, includes all
      necessary mechanics to put the module into operation (launching
      a process, binding to a port, setting up routing)
     # most likely we will want to read some initial configuration
    body:
      application/json:
        schema: ModuleDescriptor
    responses:
      201:
        headers:
          Location:
            description: URI to the created module instance
        body:
          application/json:
            schema: ModuleDescriptor
  /{module_id}:
    get:
      description: Retrieve information about the module instance
      responses:
        200:
          body:
            application/json:
              schema: ModuleDescriptor
    put:
      description: Update the module instance.
      responses:
        200:
          body:
            application/json:
              schema: ModuleDescriptor
    delete:
      description: Remove module instance from operation
        (shutdown process etc)
      responses:
        204:

/_/tenants:
  post:
    description: create a new tenant
    body:
      application/json:
        schema: TenantDescriptor
    responses:
      201:
        description: tenant has been created
        headers:
          Location:
            description: URI to the created tenant
        body:
          application/json:
            schema: TenantDescriptor

  /{tenant_id}:
    get:
      description: retrieve tenant
      responses:
        200:
          body:
            application/json:
              schema: TenantDescriptor
    put:
      description: update tenant
      responses:
        200:
          body:
            application/json:
              schema: TenantDescriptor
    delete:
      description: remove tenant

    /modules:
      get:
        description: Map of module instances accessible by the tenant
        responses:
          200:
            body:
              application/json:
                schema: TenantModules
      post:
        description: Link a module instance to the specified tenant
        body:
          application/json:
            schema: TenantModuleDescriptor

      /{module_tenant_id}:
        get:
          description: look up tenant-module mapping
          responses:
            200:
              body:
                application/json:
                  schema: TenantModuleDescriptor
        delete:
          description: remove tenant-module registration

/_/health:
  get:
    description: health status
    responses:
      200:
        description: guess what


Add Parse Provider

Add Parse Provider

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/merktassel/officer-assistant.git/'


API spec - initial commit

API spec - initial commit

#%RAML 0.8
baseUri: http://mocksvc.mulesoft.com/mocks/9a495536-2183-4b15-a248-8dd76468a9a3
title: bh
version: 0.1
mediaType:  application/json
/user/{user_id}:
  description: User management
  get:
    description: Get the user details by id
    responses:
      404:
        description: The specified user_id can not be found
      200:
        description: Returns the user object
        body:
          application/json:
            example: |
              {"id": "5450b900ab97c91c7a26af2f",
              "email": "dannybmail@gmail.com",
              "mjs": {}
              }

  post:
    description: Create a new user
  put:
    description: Update details for an existing user
  delete:
    description: Delete existing user

error: pathspec 'api.raml' did not match any file(s) known to git


Create API REST model.

Create API REST model.

#%RAML 0.8
---
title: "Holy bible REST API"
baseUri: http://localhost:8081/verbum_domini/apirest
version: v1
schemas:
  - bible: |
      {  "$schema": "http://json-schema.org/draft-03/schema",
         "type": "object",
         "description": "Holy bible",
         "$linkedData": {
           "books": {
             "schema": "book",
             "type": "collection",
             "path": ["/bibles", "/{language}"]
           }
         },
         "properties": {
           "id": { "type": "integer", "required": true },
           "name": { "type": "string", "required": true },
           "language": { "type": "string", "required": true },
           "url": { "type": "string", "required": false },
           "edition": { "type": "string", "required": false },
           "printedSource": { "type": "string", "required": true },
           "eletronicTranscriptionSource": { "type": "string", "required": false },
           "eletronicTranscriptionSourceUrl": { "type": "string", "required": false },
           "copyright": { "type": "string", "required": false }
         }
      }
  - bibles: |
      {  "$schema": "http://json-schema.org/draft-03/schema",
         "type": "object",
         "description": "Available Holy Bible collection",
         "properties": {
           "size":  { "type": "integer", "required": true },
           "bibles": {
             "type": "array",
             "items": { "$ref": "bible" }
           }
         }
       }

resourceTypes:
  - base:
      get?:
        responses: &standardResponses
          200:
            description: OK
  - collection:
      type: base
      get:
        is: [ paged ]
  - typedCollection:
      type: collection
      get:
        responses:
          200:
            body:
              application/json:
                schema: <<collectionSchema>>
  - member:
      type: base
      get:
  - typedMember:
      type: member
      get:
        responses:
          200:
            body:
              application/json:
                schema: <<schema>>

traits:
  - paged:
      displayName: paged
      queryParameters:
        start:
          displayName: start
          description: The first page to return
          type: integer
        pages:
          displayName: pages
          description: The number of pages to return
          type: integer

/bibles: &bibles
  type: { typedCollection: { schema: bible, collectionSchema: bibles } }
  /{language}:
    type: { typedMember: { schema: bible } }

error: pathspec 'src/main/webapp/api/model/verbum-domini.raml' did not match any file(s) known to git


add fixture

add fixture

#%RAML 0.8

/songs:
  get:
    description: Get a list of available songs

error: pathspec 'test/fixture/methodDescription.raml' did not match any file(s) known to git


made a base RAML file to describe the API

#%RAML 0.8

title: rpi-rest-leds
baseUri: http://localhost:8080/node-api
version: v01

/leds:
  description: All the LEDs
  get:
    description: Get the data for all LEDs
    responses:
      200:
        body:
          application/json:
            example: |
                [
                  {
                    "id": "0",
                    "BCM_gpio":"9",
                    "state": "0",
                    "color": "red",
                    "blinking": false,
                    "blink_rate": 0
                  },
                  {
                    "id": "1",
                    "BCM_gpio":"10",
                    "state":"1",
                    "color":"yellow",
                    "blinking":true,
                    "blink_rate": 500
                  },
                  {
                    "id": "2",
                    "BCM_gpio":"11",
                    "state":"1",
                    "color":"green",
                    "blinking":false,
                    "blink_rate": 200
                  }

                ]
  /{led_id}:
    description: LED entity
    get:
      description: Get data for LED with `id = {led_id}`
      responses:
        200:
          body:
            application/json:
              schema: led_data
              example: |
                {
                    "id": "1",
                    "BCM_gpio":"10",
                    "state":"1",
                    "color":"yellow",
                    "blinking":true,
                    "blink_rate": 500
                }
        404:
          body:
            application/json:
              example: |
                {
                  "message":"LED with id not found!"
                }
    put:
      description: Change parameters of an LED with `id = {led_id}`
      body:
        application/json:
          schema: led_data_put
          example: |
            {
                "state":"1",
                "blinking":true,
                "blink_rate":600
            }
      responses:
        200:
          body:
            application/json:
        400:
          body:
            application/json:
              example: |
                {
                    "message": "invalid value for <item>"
                }

schemas:
 - led_data: |
    {
    "type": "object",
    "$schema": "http://json-schema.org/draft-04/schema#",
    "title":"led_data",
    "description": "An LEDs data",
    "properties": {
        "id": {
            "description": "id number for the led, same as led_id",
            "type":"string"
        },
        "BCM_gpio": {
            "description": "the Broadcom GPIO pin nunber for the LED",
            "type":"string"
        },
        "state": {
            "description": " '0' for OFF, '1' for ON",
            "type":"string"
        },
        "color": {
            "description": "The LED's color",
            "type":"string"
        },
        "blinking": {
            "description": "If the LED is set to blink",
            "type":"boolean"
        },
        "blink_rate": {
            "description": "The delay in milleseconds between toggling the LED",
            "type":"integer"
        },
        "required": [
            "id","BCM_gpio","state","blinking","blink_rate"
        ]
    }
    }

 - led_data_put: |
    {
    "type": "object",
    "$schema": "http://json-schema.org/draft-04/schema#",
    "title":"led_data_put",
    "description": "An LEDs data, schema for PUT",
    "properties": {
        "state": {
            "description": " '0' for OFF, '1' for ON",
            "type":"string"
        },
        "blinking": {
            "description": "If the LED is set to blink",
            "type":"boolean"
        },
        "blink_rate": {
            "description": "The delay in milleseconds between toggling the LED",
            "type":"integer"
        },
        "required": []
    }

    }

error: pathspec 'raml-doc/rpi-rest-leds.raml' did not match any file(s) known to git


Fix api .raml file parse error

Fix api .raml file parse error

#%RAML 0.8
# vim: set ft=yaml:
baseUri: http://server/broker/rest
title: OpenShiftV3 -- Draft
version: alpha
mediaType: application/json
documentation:
 - title: Overview
   content: !include doc/overview.md
/projects:
  get:
    description: |
      List all projects for your account.

      Projects are a similar concept to v2 domains. A project is a grouping of services
      with shared access control and resource limits. Applications can be assembled
      from services in a project by linking them together via service endpoints.
    responses:
      200:
        body:
          example: !include examples/project-list.json
  post:
    description: Create a new project
    body:
      example: !include examples/project.json

/project/{projectID}:
    get:
      description: Get a specific project
      responses:
        200:
          body:
            example: !include examples/project.json
    put:
      description: Update a project
      body:
        example: !include examples/project-put.json
    delete:
      description: Delete a project
      responses:
        200:
          body:
            example: |
              {
                "success": true
              }
    post:
      description: Instantiate a template in the given project
      body:
        example: !include examples/project-post.json
/image-repositories:
  get:
    queryParameters:
      projectId:
        description: Filter list by project
        type: string
      visibility:
        description: Filter by visibility (public, private)
        type: string
    description: |
      Lists all image repositories that you have access to.

      An image repository is a collection of images that share the same metadata. It contains
      multiple versions of an image as it evolves over time with new builds of the codebase.
      An image repository may be associated with a build which can be triggered by an event such
      as a commit to a source repository. The build will then push a new image on to the repository.
    responses:
      200:
        body:
          example: !include examples/image-repositories.json
  post:
    description: Create a new image repository
    body:
      example: !include examples/image-repository.json
/image-repository/{repositoryID}:
    get:
      description: Get information about an image repository
      body:
        example: !include examples/image-repository.json
    put:
      description: Update an image repository
      body:
        example: !include examples/image-repository.json
    delete:
      description: Delete an image repository
      responses:
        200:
          body:
            example: |
              {
                "success": true
              }
/images:
  get:
    queryParameters:
      repositoryId:
        description: Filter list by repository
        type: string
    description: |
      Lists images visible to you

      Images can be stored in Openshift servers or can be references to images from
      an external repository. The metadata that Openshift stores for an image will augment
      the metadata that has already been specified in the image through its Dockerfile.
    responses:
      200:
        body:
          example: !include examples/images.json
  post:
    description: Create a new image definition
    body:
      example: !include examples/create-image.json
/image/{imageID}:
    get:
      description: Get image definition
      body:
        example: !include examples/image.json

/services:
  get:
    description: |
      Lists all services that your account has access to

      Services can be public or owned by a project. They contain a template of a pod and
      reference image repositories that supply the images for those templates. A service may
      be configured to react to an image being pushed to an image repository by initiating a
      deployment. Deployments are associated with a service and make use of
      Kubernetes replication controllers to manage pods in a cluster.
      For deployments, a service contains a policy that constrains how deployments can occur.
      For example, it may require that there exist at least 2 operational pods at all times.
      A deployment needs to operate under those constraints when making changes.
    queryParameters:
      projectId:
        description: filter the services owned by a particular project
    responses:
      200:
        body:
          example: !include examples/services.json
  post:
    description: Create a new service
    body:
      example: !include examples/create-service.json
/service/{serviceID}:
    get:
      description: Get a specific service definition
      body:
        example: !include examples/service.json
    put:
      description: Update a service
      body:
        example: !include examples/service.json
    delete:
      description: Delete a service
      responses:
        200:
          body:
            example: |
              {
                "success": true
              }
    /environment-variables:
      get:
        description: Environment variables associated with this service
        responses:
          200:
            body:
              example: !include examples/envvars.json
      post:
        description: Create/update environment variables
        body:
          example: !include examples/envvars.json
      /{variableName}:
        get:
          description: Get environment variable
          body:
            example: !include examples/envvar.json
        put:
          description: Update an environment variable's value
          body:
            example: !include examples/envvar.json
        delete:
          description: Delete an environment variable
          responses:
            200:
              body:
                example: |
                  {
                    "success": true
                  }
/deployments:
  get:
    description: |
      Lists active deployments in the current project

      Deployments effect change in a service such as scaling up, down, updating the
      current image, etc. Deployments may use different policies for carrying out
      the change. For example, a rolling update with a single pod change at a time, or
      a batch update, etc. Deployments make use of Kubernetes replicationControllers
      to bring about the changes.
    responses:
      200:
        body:
          example: !include examples/deployments.json
  post:
    description: Create a new deployment
    body:
      example: !include examples/create-deployment.json
/deployment/{deploymentID}:
  get:
    description: Get deployment details
    body:
      example: !include examples/deployment.json
/links:
  get:
    description: |
      List of links between services in your account

      Unlike a Docker link, a Link in OpenShift defines a relationship between services
      which may be composed by multiple Docker images. A link may include additional metadata
      about the relationship such as the algorithm to use to distribute requests.
    queryParameters:
      projectId:
        description: filter the links owned by a particular project
      serviceId:
        description: filter the links attached to a particular service
    responses:
      200:
        body:
          example: !include examples/links.json
  post:
    description: Create a new link between this service and a different service
    body:
      example: !include examples/link.json
/link/{linkID}:
  get:
    description: Get link details
    body:
      example: !include examples/link.json
  put:
    description: Update a link
    body:
      example: !include examples/link.json
  delete:
    description: Delete a link
    responses:
      200:
        body:
          example: |
            {
              "success": true
            }
/aliases:
  get:
    description: |
      List all aliases visible to you

      Aliases in v3 perform the same function as aliases in v2. The main difference
      is that in v3 an alias is associated with a service, not an application.
    queryParameters:
      serviceId:
        description: filter aliases by associated service
    responses:
      200:
        body:
          example: !include examples/aliases.json
  post:
    description: Create an alias for this service
    body:
      example: !include examples/alias.json
/alias/{aliasID}:
  get:
    description: Get alias
    body:
      example: !include examples/alias.json
  put:
    description: Update an alias
    body:
      example: !include examples/alias.json
  delete:
    description: Delete an alias
    responses:
      200:
        body:
          example: |
            {
              "success": true
            }
/builds:
  get:
    description: |
      Retrieves a list of builds visible to you

      A build is associated with an image repository and can be triggered by a webhook
      on Github. It can either be a Docker build or a source build based on a
      specified image. When a build completes, it posts a new image to the image
      repository that it's associated with.
    responses:
      200:
        body:
          example: !include examples/builds.json
  post:
    description: Create a new build
    body:
      example: !include examples/build.json
/build/{buildId}:
  get:
    description: Retrieve a single build definition
    responses:
      200:
        body:
          example: !include examples/build.json
  put:
    description: Update a build definition
    body:
      example: !include examples/build.json
  delete:
    description: Delete a build definition
    responses:
      200:
        body:
          example: |
            {
              "success": true
            }
  post:
    description: Launch a build
    body:
      example: !include examples/launch-build.json
  /results:
    get:
      description: Retrieves list of build results
      responses:
        200:
          body:
            example: !include examples/build-results.json
/buildConfigHooks/{buildId}/{secret}/{plugin}:
  post:
    description: Webhook on push event from external repository

      buildId specifies which build to trigger, whereas plugin defines source of
      the request, this might be github, bitbucket or others.
    responses:
      204:
        description: No content

/templates:
  get:
    description: |
      Lists all templates that your account has access to

      A template defines 0..n services and 0..m links. When it is applied
      to an existing project, those services and links are instantiated for
      that project.
    responses:
      200:
        body:
          example: !include examples/templates.json
  post:
    description: Create a new template
    body:
      example: !include examples/template.json
/template/{templateID}:
  get:
    description: Get a specific template
    body:
      example: !include examples/template.json
  put:
    description: Update a template
    body:
      example: !include examples/template.json
  delete:
    description: Delete a template
    responses:
      200:
        body:
          example: |
            {
              "success": true
            }
/pods:
  get:
    description: List all pods on this cluster
    responses:
      200:
        body:
          example: !include examples/pod-list.json
  post:
    description: Create a new pod. currentState is ignored if present.
    body:
      schema: !include doc/pod-schema.json
      example: !include examples/pod.json

  /{podId}:
    get:
      description: Get a specific pod
      responses:
        200:
          body:
            example: !include examples/pod.json
    put:
      description: Update a pod
      body:
        schema: !include doc/pod-schema.json
        example: !include examples/pod.json
    delete:
      description: Delete a specific pod
      responses:
        200:
          body:
            example: |
              {
                "success": true
              }

/replicationControllers:
  get:
    description: List all replicationControllers on this cluster
    responses:
      200:
        body:
          example: !include examples/controller-list.json
  post:
    description: Create a new controller. currentState is ignored if present.
    body:
      schema: !include doc/controller-schema.json
      example: !include examples/controller.json

  /{controllerId}:
    get:
      description: Get a specific controller
      responses:
        200:
          body:
            example: !include examples/controller.json
    put:
      description: Update a controller
      body:
        schema: !include doc/controller-schema.json
        example: !include examples/controller.json
    delete:
      description: Delete a specific controller
      responses:
        200:
          body:
            example: |
              {
                "success": true
              }

/lbservices:
  get:
    description: List all services on this cluster
    responses:
      200:
        body:
          example: !include examples/service-list.json
  post:
    description: Create a new service
    body:
      schema: !include doc/service-schema.json
      example: !include examples/lbservice.json

  /{serviceId}:
    get:
      description: Get a specific service
      responses:
        200:
          body:
            example: !include examples/service.json
    put:
      description: Update a service
      body:
        schema: !include doc/service-schema.json
        example: !include examples/service.json
    delete:
      description: Delete a specific service
      responses:
        200:
          body:
            example: |
              {
                "success": true
              }


Included the about endpoint

Included the about endpoint

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/monchitos82/shop.git/'


adding 404 page to api docs

adding 404 page to api docs

#%RAML 0.8

title: Ephemeral Container Service (ECS) (%ECS_VERSION%)
version: v99.999
documentation:
  - title: Oops ...
    content: |
      Sorry - we couldn't find that page:-(

error: pathspec 'api_docs/404.raml' did not match any file(s) known to git


Fix the raml spec

Fix the raml spec

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/lucasvanhalst/identityserver.git/'


Update descriptons

Update descriptons

Signed-off-by: Jo De Boeck <8aae4f96b4b8e986d268fd26b5ab7bae28223566@gmail.com>

fatal: unable to access 'https://github.com/zero-os/0-orchestrator.git/': The requested URL returned error: 403


first draft of a RAML specification

first draft of a RAML specification

#%RAML 1.0
title: restful-zookeeper-properties
version: 1.0
description: The REST API to access property sets stored in ZooKeeper
/properties:
  get:
    description: List all property set names
    responses:
      200:
        description: Will return a list with all known names
        body:
          application/json:
            example: |
                ["system","my-props","some-other-props"]
  /{propertyName}:
    get:
      description: Get all properties for named property set
      responses:
        200:
          description: A successful fetch of the properties
          body:
            application/json:
              example: |
                {port:"6969",host:"127.0.0.1"}
        404:
          description: No property set with the provided name exists
    delete:
      description: Delete an entire named property set
      responses:
        204:
          description: The property set was successfully deleted
    put:
      description: Sets all properties for a named property set
      body:
        application/json:
          example: |
            {port:"6969",host:"127.0.0.1"}
      responses:
        201:
          description: The property set was successfully created
        400:
          description: If no name is provided for the property set

error: pathspec 'src/main/resources/raml/rest-api.raml' did not match any file(s) known to git


Use absolute URI for Oauth2

Use absolute URI for Oauth2

Base URI is https://itsyou.online/api and we don't want `api` suffix in Oauth2


REST specification

REST specification

fatal: unable to access 'https://github.com/rvep/dev_backend.git/': The requested URL returned error: 403


Improve python client example

Improve python client example

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/Jumpscale/go-raml.git/'


Fix errors in the users raml spec

Fix errors in the users raml spec


update at rest encryption details in security.raml

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/simonsdave/cloudfeaster-services.git/'


new raml to test

new raml to test

#%RAML 0.8
title: No API Version Example
baseUri: https://api.spotify.com/{version}
/foo:
  description: FooBar
  get:
    description: Get some FooBar

error: pathspec 'tests/data/validate/no-version-base-uri.raml' did not match any file(s) known to git


Added first raml sample

Added first raml sample

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/maviteixeira/mapple.git/'


Create raml2java.raml

Create raml2java.raml

#%RAML 1.0 Library
uses:
  commons: https://raw.githubusercontent.com/apiregistry/commons/master/commons.raml
usage: |
  This library contains set of annotations which may be used to, customize mapping
  of RAML types to Java as well as a set of similar languages (Scala,e.t.c)
annotationTypes:
  package:
    type: string
    description: |
      This annotation allows to specify desired package name for the generated types
      When applied to type container works as the default package
      name for all types in scope
    allowedTargets: [Library,TypeDeclaration,API,Overlay,Extension]
  primarySuperType:
    type: TypeName
    allowedTargets: TypeDeclaration
    description: |
      When RAML type with multiple super types is mapped to language without
      support for multiple inheritance only one of super types may be used
      as a real super type in the target language. This annotation allows to specify
      the name of super type which should be used as primary super type in this case.
  container:
     type: string
     enum: [array, list, set]
     allowedTargets: [Library,TypeDeclaration,API,Overlay,Extension]
     description: |
       Trivial mapping of RAML array types, is to map them to array types of the target language
       however this behavior is not always desired. This annotation allows to customize
       desired type of the container type when mapping array types. When used on type container
       serves as default for all contained types.
     default: array
types:
  JavaPackage: string
  TypeName: string
(commons.Authors):
  - name: Pavel Petrochenko
    email: pavel@onpositive.com
    profiles: [ https://github.com/petrochenko-pavel-a/ ]
(commons.Id): org.aml.java.mapping
(commons.Version): 0.0.1
(commons.Links):
   - title: RAML2Java Tool
     url: https://github.com/OnPositive/aml
     role: Tool Location

error: pathspec 'raml2java.raml' did not match any file(s) known to git


Add retry to AYSRun raml object.

Add retry to AYSRun raml object.

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/Jumpscale/ays9.git/'


parameterizing examples in index.raml

parameterizing examples in index.raml


tabs -> spaces in .raml api docs

tabs -> spaces in .raml api docs


Delete unrelevant resource folder refers to CST-770

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/UlfS/epages-docs.git/'


Initial partial company definition

Initial partial company definition

#%RAML 1.0
title: ItsYouOnline
version: 0.1
baseUri: /companies
securitySchemes:
  - oauth_2_0: !include securitySchemes/oauth_2_0.raml
types:
  company:
    properties:
        globalid: string
        expire?: date
        organizations?: string[]
        info: string[]
        taxnr?: string
    example:
        globalid: ILikeCandy
        expire: 2018-10-20
        info:
          - info@ilikecandy.com
        taxnr: BE1234123412341234

  companyview: company

/users:
  post:
    description: Register a new company
    body:
        application/json:
            type: company
  /{globalid}/info:
    securedBy: [ oauth_2_0 ]
    get:
        responses:
            200:
                body:
                    application/json:
                        type: companyview
  /{globalid}/validate:
    get:
        queryParameters:
            token: string

error: pathspec 'specifications/api/companies.raml' did not match any file(s) known to git


security oriented updates to API docs

security oriented updates to API docs


Added the test raml file

Added the test raml file

#%RAML 0.8
---

title: Sample Product API
version: 0.6
baseUri: http://www.example.org/api/product/{version}
protocols: [ HTTP, HTTPS ]
mediaType: application/json
documentation:
  - title: Product API
    content: Sample cars

/cache:
  /status:
    get:
      description: Cache entries
      responses:
        200:
          body:
            example: lol
  /clear:
    get:
      description: Clear cache entries
      queryParameters:
        all:
          description: Clear all entries
          type: boolean
        stem:
          description: Clear all entries by URI
        key:
          description: Clear one entry by its key
        context:
          enum: [preview, publish]
      responses:
        200:
          body:
            example: lol

/:
  get:
    description: API entry point, version 0.6
/used-families:
  get:
    description: TBD

  /{familyName}:
    get:
      description: TBD
    uriParameters:
      familyName:
        description: Family Name
        type: string
        example: 'mustang'

    /{externalId}/{type}:
      get:
        description: TBD
      uriParameters:
        externalId:
          description: Car model ID
          type: integer
          example: 1151
        type:
          description: Action to perform
          enum: [add, remove]

    /{modelName}/{type}:
      get:
        description: TBD
      uriParameters:
        modelName:
          description: Car model name
          type: string
          example: 'mustang'
        type:
          description: Action to perform
          enum: [add, remove]

/current-and-forthcoming-models:
  get:
    description: TBD

/modelsWithHeroOffers:
  get:
    description: TBD

/models:
  get:
    description: TBD

  /stockonly-and-current:
    get:
      description: TBD

  /current-forthcoming/{externalId}:
    get:
      description: TBD
    uriParameters:
      externalId:
        description: Car model ID
        type: integer
        example: 1151

  /current-forthcoming/{modelName}:
    get:
      description: TBD
    uriParameters:
      modelName:
        description: Car model name
        type: string
        example: 'mustang'

  /discontinued-stockonly-and-current:
    get:
      description: TBD

  /discontinued-stockonly-and-current/{externalId}:
    get:
      description: TBD
    uriParameters:
      externalId:
        description: Car model ID
        type: integer
        example: 1151

  /discontinued-stockonly-and-current/{modelName}:
    get:
      description: TBD
    uriParameters:
      modelName:
        description: Car model name
        type: string
        example: 'mustang'

  /{externalId}:
    get:
      description: TBD
    uriParameters:
      externalId:
        description: Car model ID
        type: integer
        example: 1151

    /trims:
      get:
        description: TBD

    /currentTrims:
      get:
        description: TBD

    /standardSpecOptions:
      get:
        description: TBD

    /derivativeOptionGroupConfigs:
      get:
        description: TBD

    /currentDerivatives:
      get:
        description: TBD

    /derivativeOptions:
      get:
        description: TBD

    /derivativeFeatureCombos/{featureList}:
      get:
        description: TBD
      uriParameters:
        featureList:
          description: Dot separated list of features.
          example: 'vedBand.fuelType'
          type: string

    /offers:
      get:
        description: TBD

    /hero/paints:
      get:
        description: TBD

    /hierarchy:
      get:
        description: TBD

  /{modelName}:
    get:
      description: TBD
    uriParameters:
      modelName:
        description: Car model name
        type: string
        example: 'mustang'

    /trims:
      get:
        description: TBD

    /currentTrims:
      get:
        description: TBD

    /standardSpecOptions:
      get:
        description: TBD

    /derivativeOptions:
      get:
        description: TBD

    /offers:
      get:
        description: TBD

  /validate/{externalId}:
    get:
      description: TBD
    uriParameters:
      externalId:
        description: Car model ID
        type: integer
        example: 1151

  /validate/{modelName}:
    get:
      description: TBD
    uriParameters:
      modelName:
        description: Car model name
        type: string
        example: 'mustang'

  /trims/derivatives:
    get:
      description: TBD

    /mfrcode/{manufacturerCode}:
      get:
        description: TBD
      uriParameters:
        manufacturerCode:
          type: string
          example: '138TGS3PLAPLREYNSU12WZRC0TD9IE'

/mms:
  get:
    description: TBD

  /models:
    get:
      description: TBD

    /{externalId}:
      get:
        description: TBD
      uriParameters:
        externalId:
          description: Car model ID
          type: integer
          example: 1151

/trims:
  get:
    description: TBD

  /{externalId}:
    get:
      description: TBD
    uriParameters:
      externalId:
        description: Car model ID
        type: integer
        example: 1151

    /derivatives:
      get:
        description: TBD

    /currentDerivatives:
      get:
        description: TBD

    /uspOptions:
      get:
        description: TBD

    /standardSpecOptions:
      get:
        description: TBD

    /paints:
      get:
        description: TBD

/derivatives:
  get:
    description: TBD

  /{externalId}:
    get:
      description: TBD
    uriParameters:
      externalId:
        description: Car model ID
        type: integer
        example: 1151

    /status:
      get:
        description: TBD

    /options:
      get:
        description: TBD

      /{optionExternalId}/rules:
        get:
          description: TBD
        uriParameters:
          optionExternalId:
            description: Derivative option ID
            type: integer
            example: 2402

    /offers:
      get:
        description: TBD

/offers:
  get:
    description: TBD

  /{offerExternalId}:
    get:
      description: TBD
    uriParameters:
      offerExternalId:
        description: Offer ID
        type: integer
        example: 523

  /{offerTypeName}:
    get:
      description: TBD
    uriParameters:
      offerTypeName:
        description: Offer type
        required: true
        example: 'finance-advanced'

/vedBands:
  get:
    description: TBD

/fuelTypes:
  get:
    description: TBD

/numberOfDoors:
  get:
    description: TBD

/transmissionTypes:
  get:
    description: TBD

/bodyStyleTypes:
  get:
    description: TBD

error: pathspec 'raml2swagger-lib/src/test/resources/product-api.raml' did not match any file(s) known to git


First draft of raml file

First draft of raml file

#%RAML 1.0
title: Circular Works
version: v1
baseUri: http://api.circular.works
/tasks:
  get:
    # TODO authentication
    body:
      application/json:
        # Example for showing the index in the app. Maybe we should use a param for this case?
        example: |
          [
            {
              "title": "Cleaning the space",
              "recurrence": 2,
              "current_turn": [
                {
                  "id": 3,
                  "name": "Pepe y Lola"
                }
              ]
            },
            {
              "title": "Monthly meeting",
              "recurrence": 3
            }
          ]

  post:
    # TODO authentication
    body:
      application/json:
        example: |
          {
            "title": "Cleaning the space",
            "description": "Weekly cleaning of the space",
            "recurrence": 2,
            "turns": [
              [
                # A new group inside a turn
                {
                  "name": "Pepe y Lola",
                  # Force array or allow \n and , ?
                  "emails": "pepe@mat.com\nlola.mat.com"
                },
                # An existing group inside a turn
                {
                  id: 3
                }
              ]
            ],
            "email": "space@lists.mat.com",
            "notification_subject": "@responsible_users have to clean the space",
            "notification_body": "This is the monthly reminder for @responsible_users to clean the space"
          }
  /{taskId}:
    get:
      # TODO authentication
      body:
        application/json:
          example: |
            {
              "id": 7,
              "title": "Cleaning the space",
              "description": "Weekly cleaning of the space",
              "recurrence": 2,
              "turns": [
                [
                  {
                    "id": 4,
                    "name": "Pepe y Lola",
                    "emails": [
                      "pepe@mat.com",
                      "lola.mat.com"
                    ]
                  },
                  # An existing group inside a turn
                  {
                    id: 3,
                    "name": "Lucas",
                    "emails": [
                      "lucas@mat.com"
                    ]
                  }
                ]
              ],
              "email": "space@lists.mat.com",
              "notification_subject": "@responsible_users have to clean the space",
              "notification_body": "This is the monthly reminder for @responsible_users to clean the space"
            }

    delete:
    patch:
      body:
        application/json:
          example: |
            {
              "title": "A new title for this task"
            }

error: pathspec 'api.raml' did not match any file(s) known to git


Close #535 Remove contract and company api calls from docs (#537)

remote: Support for password authentication was removed on August 13, 2021.
remote: Please see https://docs.github.com/en/get-started/getting-started-with-git/about-remote-repositories#cloning-with-https-urls for information on currently recommended modes of authentication.
fatal: Authentication failed for 'https://github.com/itsyouonline/identityserver.git/'