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