Chapter 1. Creating a new service based on OAS
1.1. Introduction
This documentation outlines the features of OpenAPI 2.0 specification (OAS) in Red Hat 3scale 2.7 and provides steps to update an existing service or create a new one.
1.2. Prerequisites
- OpenAPI Specification (OAS)
-
A 3scale 2.7 instance tenant credentials (
token
orprovider_key
)
1.3. Features of OpenAPI Specification
ActiveDocs are created/updated when importing OpenAPI (OAS)
-
Service’s
system_name
can be passed as an option parameter and defaults to info.title field from OAS. Methods are created for each operation from the OAS.
-
Method names are taken from
operation.operationId
field.
-
Method names are taken from
All existing mapping rules are deleted before importing a new API definition.
- Methods will be not deleted if they exist before running the command.
- Mapping rules are created on each operation from the OAS.
The OpenAPI definition resource can be provided by one of the following channels:
- Filename in the available path
- URL format - toolbox will try to download from given address.
- Read from stdin standard input stream.
1.4. Using OpenAPI Specification
NAME openapi - Import API definition in OpenAPI specification USAGE 3scale import openapi [opts] -d <dst> <spec> DESCRIPTION Using an API definition format like OpenAPI, import to your 3scale API OPTIONS -d --destination=<value> 3scale target instance. Format: "http[s]://<authentication>@3scale_domain" -t --target_system_name=<value> Target system name OPTIONS FOR IMPORT -c --config-file=<value> 3scale toolbox configuration file (default: $HOME/.3scalerc.yaml) -h --help show help for this command -k --insecure Proceed and operate even for server connections otherwise considered insecure -v --version Prints the version of this command
1.4.1. Detecting OpenAPI definition from the filename path
The allowed formats are json and yaml. The format is automatically detected from filename extension.
$ 3scale import openapi -d <destination> /path/to/your/spec/file.[json|yaml|yml]
1.4.2. Detecting OpenAPI definition from a URL
The allowed formats are json
and yaml
. The format is automatically detected from URL’s path extension.
$ 3scale import openapi -d <destination> http[s]://domain/resource/path.[json|yaml|yml]
1.4.3. Detecting OpenAPI definition from stdin
The command line parameter for the OpenAPI resource is -
.
The allowed formats are json
and yaml
. The format is automatically detected internally with parsers.
$ tool_to_read_openapi_from_source | 3scale import openapi -d <destination> -