Generate standard api_reference
The api_reference for a service_type should usually be 'https://developer.openstack.org/api-ref/{service_type}/'. With this change set, the source yaml may omit the api_reference field, whereupon it will be generated according to the above format. (At this time it is recommended, though not enforced, that the api_reference field *should* be omitted if it conforms to the above format.) Change-Id: I860c1373c72765d4abad1ce8744c8174e5c64de0
This commit is contained in:
parent
c1bd90f8f7
commit
5a9eab7684
|
@ -33,8 +33,8 @@ api_reference (required)
|
|||
------------------------
|
||||
|
||||
A published API reference document for the API identified by this
|
||||
service type. By default this should be
|
||||
`http://developer.openstack.org/api-ref/{service-type}/`.
|
||||
service type. If not specified in the source yaml file, it will be generated
|
||||
as `http://developer.openstack.org/api-ref/{service-type}/`.
|
||||
|
||||
api_reference_project (optional)
|
||||
--------------------------------
|
||||
|
|
|
@ -1,39 +1,29 @@
|
|||
services:
|
||||
- service_type: identity
|
||||
project: keystone
|
||||
api_reference: https://developer.openstack.org/api-ref/identity/
|
||||
- service_type: compute
|
||||
project: nova
|
||||
api_reference: https://developer.openstack.org/api-ref/compute/
|
||||
- service_type: image
|
||||
project: glance
|
||||
api_reference: https://developer.openstack.org/api-ref/image/
|
||||
- service_type: load-balancer
|
||||
project: octavia
|
||||
api_reference: https://developer.openstack.org/api-ref/load-balancer/
|
||||
- service_type: object-store
|
||||
project: swift
|
||||
api_reference: https://developer.openstack.org/api-ref/object-storage/
|
||||
- service_type: clustering
|
||||
project: senlin
|
||||
api_reference: https://developer.openstack.org/api-ref/clustering/
|
||||
aliases:
|
||||
- resource-cluster
|
||||
- service_type: data-processing
|
||||
project: sahara
|
||||
api_reference: https://developer.openstack.org/api-ref/data-processing/
|
||||
- service_type: baremetal
|
||||
project: ironic
|
||||
api_reference: https://developer.openstack.org/api-ref/baremetal/
|
||||
- service_type: baremetal-introspection
|
||||
project: ironic-inspector
|
||||
api_reference: https://docs.openstack.org/developer/ironic-inspector/http-api.html
|
||||
- service_type: key-manager
|
||||
project: barbican
|
||||
api_reference: https://developer.openstack.org/api-ref/key-manager/
|
||||
- service_type: ec2-api
|
||||
project: ec2-api
|
||||
api_reference: https://developer.openstack.org/api-ref/ec2-api/
|
||||
- service_type: resource-optimization
|
||||
project: watcher
|
||||
api_reference: https://docs.openstack.org/developer/watcher/webapi/v1.html
|
||||
|
@ -41,23 +31,18 @@ services:
|
|||
- infra-optim
|
||||
- service_type: message
|
||||
project: zaqar
|
||||
api_reference: https://developer.openstack.org/api-ref/messaging/
|
||||
aliases:
|
||||
- messaging
|
||||
- service_type: application-catalog
|
||||
project: murano
|
||||
api_reference: https://developer.openstack.org/api-ref/application-catalog/
|
||||
- service_type: container-infrastructure-management
|
||||
project: magnum
|
||||
api_reference: https://developer.openstack.org/api-ref/container-infrastructure-management/
|
||||
aliases:
|
||||
- container-infrastructure
|
||||
- service_type: search
|
||||
project: searchlight
|
||||
api_reference: https://developer.openstack.org/api-ref/search/
|
||||
- service_type: dns
|
||||
project: designate
|
||||
api_reference: https://developer.openstack.org/api-ref/dns/
|
||||
- service_type: workflow
|
||||
project: mistral
|
||||
api_reference: https://docs.openstack.org/developer/mistral/developer/webapi/index.html
|
||||
|
@ -73,19 +58,15 @@ services:
|
|||
- policy
|
||||
- service_type: shared-file-system
|
||||
project: manila
|
||||
api_reference: https://developer.openstack.org/api-ref/shared-file-systems/
|
||||
aliases:
|
||||
- sharev2
|
||||
- share
|
||||
- service_type: data-protection-orchestration
|
||||
project: karbor
|
||||
api_reference: https://developer.openstack.org/api-ref/data-protection-orchestration/
|
||||
- service_type: orchestration
|
||||
project: heat
|
||||
api_reference: https://developer.openstack.org/api-ref/orchestration/
|
||||
- service_type: block-storage
|
||||
project: cinder
|
||||
api_reference: https://developer.openstack.org/api-ref/block-storage/
|
||||
aliases:
|
||||
- volumev3
|
||||
- volumev2
|
||||
|
@ -117,7 +98,6 @@ services:
|
|||
- tricircle
|
||||
- service_type: database
|
||||
project: trove
|
||||
api_reference: https://developer.openstack.org/api-ref/database/
|
||||
- service_type: application-container
|
||||
project: zun
|
||||
api_reference: https://git.openstack.org/cgit/openstack/zun/tree/api-ref/source
|
||||
|
@ -130,26 +110,19 @@ services:
|
|||
- rca
|
||||
- service_type: nfv-orchestration
|
||||
project: tacker
|
||||
api_reference: https://developer.openstack.org/api-ref/nfv-orchestration/
|
||||
- service_type: network
|
||||
project: neutron
|
||||
api_reference: https://developer.openstack.org/api-ref/networking/
|
||||
api_reference_project: neutron-lib
|
||||
- service_type: backup
|
||||
project: freezer-api
|
||||
api_reference: https://developer.openstack.org/api-ref/backup/
|
||||
- service_type: monitoring-logging
|
||||
project: monasca-log-api
|
||||
api_reference: https://developer.openstack.org/api-ref/monitoring-log-api/
|
||||
aliases:
|
||||
- monitoring-log-api
|
||||
- service_type: monitoring
|
||||
project: monasca-api
|
||||
api_reference: https://developer.openstack.org/api-ref/monitoring/
|
||||
- service_type: monitoring-events
|
||||
project: monasca-events-api
|
||||
api_reference: https://developer.openstack.org/api-ref/monitoring-events-api/
|
||||
- service_type: placement
|
||||
project: nova
|
||||
api_reference: https://developer.openstack.org/api-ref/placement/
|
||||
secondary: true
|
||||
|
|
|
@ -38,6 +38,9 @@ import yaml
|
|||
import validate
|
||||
|
||||
|
||||
API_REF_FMT = 'https://developer.openstack.org/api-ref/{service}/'
|
||||
|
||||
|
||||
class LocalResolver(jsonschema.RefResolver):
|
||||
"""Local Resolver class that uses the spec from this repo.
|
||||
|
||||
|
@ -87,6 +90,9 @@ def main():
|
|||
if service_type not in project_types:
|
||||
project_types.append(service_type)
|
||||
mapping['service_types_by_project'][name] = project_types
|
||||
# Generate api_reference if not specified
|
||||
if not service.get('api_reference'):
|
||||
service['api_reference'] = API_REF_FMT.format(service=service_type)
|
||||
|
||||
schema = json.load(open('published-schema.json', 'r'))
|
||||
resolver = LocalResolver.from_schema(schema)
|
||||
|
|
Loading…
Reference in New Issue