Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

This operation builds api specification file(s) from a SCM repository and validates the file contents by uploading to OCI API. The apiBuild operation can only be used with a FlexDeploy package-based deployment project of type Oracle Api Gateway.

...

This operation will execute on any one of the selected endpoints and will be random in the determination of which one.

Special Considerations

...

Artifact file(s) can be .yaml or .json and in 2 formats:

  1. Openapi 3.x - In this case, the file(s) are validated by OCI SDK. This means for each api specification an api on OCI is created or updated with the contents of the api specification artifact file. The display name of the api on OCI is set to display name attribute on the file. If that is not set, then FlexDeploy will auto generate an api display name for you in the format fd-apigateway-<FILE_NAME>

  2. Native API Specification - In this case the file(s) are validated by parsing the json or yaml file for invalid tokens.

openapi example:

Code Block
openapi: 3.0.1
info:
  title: ECHO
  version: v03
servers:
  - url: https://dev-oic-vbcs-poc-idzor6zhmigm-ia.integration.ocp.oraclecloud.com:443/ic/api/integration/v1/flows/rest/ECHO/1.0
paths:
  "/{message}":
    get:
      parameters:
        - name: message
          in: path
          required: true
          schema:
            type: string
      responses:
        "500":
          description: Faults
          content: {}
        default:
          description: A sample description of the Response
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/response-wrapper"
      security:
        - oauth2Authentication: []
        - basicAuthentication: []

native example

Code Block
{
  "requestPolicies": {},
  "routes": [
    {
      "path": "<api-route-path>",
      "methods": ["<method-list>"],
      "backend": {
        "type": "<backend-type>",
        "<backend-target>": "<identifier>"
      },
      "requestPolicies": {}
    }
  ]
}