cloud_controller_ng icon indicating copy to clipboard operation
cloud_controller_ng copied to clipboard

Formal specs for CC API V3 enabling automated client generation & API ecosystem tooling

Open gberche-orange opened this issue 3 years ago • 5 comments

Issue

As an CAPI user

  • in order to leverage off-the-shelf API ecosystem tooling (API Web clients, API SDK, Pen testing tools ...)
  • I need CAPI to publish API documentation into a standard API specification processable by machine (typically openAPI)

Context

This enhancement request was tracked since 2015 on https://github.com/cloudfoundry/cc-api-v3-style-guide/issues/46 and postponed until CAPI V3 is out.

Reopening this issue since https://github.com/cloudfoundry/cc-api-v3-style-guide repo was archived on April 9th, 2021

Experimental community swagger CAPI V2 API specifications was contributed in the past at https://github.com/cloudfoundry-attic/cf-swagger

This was also requested in CC_NG in https://github.com/cloudfoundry/cloud_controller_ng/issues/939 which was closed in favor of https://github.com/cloudfoundry/cc-api-v3-style-guide/issues/46

gberche-orange avatar Apr 13 '21 08:04 gberche-orange

We have created an issue in Pivotal Tracker to manage this:

https://www.pivotaltracker.com/story/show/177739162

The labels on this github issue will be updated when the story is started.

cf-gitbot avatar Apr 13 '21 08:04 cf-gitbot

Would be great to see the API documented using Open API. I need to use the API in a Node.JS project running on SAP Business Technology Platform - Cloud Foundry Environment. There is a TypeScript project cf-http-client that currently has a very limited scope. Also there is @sap/cf-tools. But @sap/cf-tools requires the Cloud Foundry CLI to be installed.

gregorwolf avatar Jul 05 '21 06:07 gregorwolf

Our use case is that we think about exposing a subset of commands of the capi (for managing apps and services) to less secure origins by using an api management tool. In order to achieve that we require a swagger file of (a subset of functions of) the api.

One of my ideas was to look at https://github.com/cloudfoundry/cloud_controller_ng/tree/master/spec/api/documentation to generate a swagger file. What are your thoughts about it?

damzog avatar Sep 06 '21 08:09 damzog

There's now Terraform tooling for auto-generating a provider based on an OpenAPI spec. I got excited about that until I found this issue and realized there was no OpenAPI spec for the CC v3 API. 😞

mogul avatar Jan 15 '24 19:01 mogul