codegenerator/zuul.d/openapi.yaml
Artem Goncharov c2980a28c4 Add static object-store OpenAPI
Swift API is neither easy to generate from the code, nor is it changing
often to justify the effort doing so. Add a static OpenAPI spec into the
tree and maybe sometime in the future it can be generated from sources
or moved to the Swift itself.

Change-Id: I3a5381705ecce6d28c9bd8d173116614210cb346
2024-06-20 14:49:46 +02:00

310 lines
8.4 KiB
YAML

---
- job:
name: codegenerator-openapi-tips-base
parent: unittests
description: |
Base job for generation of the OpenAPI spec
The job expects following variables to be set:
.. zuul:jobvar:: openapi_service
OpenStack service to generate OpenAPI spec for.
Supported are:
- block-storage
- compute
- identity
- image
- load-balancer
- network
- placement
required-projects:
- name: openstack/codegenerator
attempts: 1
timeout: 600
pre-run:
- playbooks/openapi/pre.yaml
run:
- playbooks/openapi/run.yaml
post-run:
- playbooks/openapi/post.yaml
vars:
codegenerator_work_dir: "wrk"
install_additional_projects: []
- job:
name: codegenerator-openapi-block-storage-tips
parent: codegenerator-openapi-tips-base
description: |
Generate OpenAPI spec for Cinder
required-projects:
- name: openstack/cinder
vars:
openapi_service: volume
install_additional_projects:
- project: "opendev.org/openstack/cinder"
name: "."
- job:
name: codegenerator-openapi-block-storage-tips-with-api-ref
parent: codegenerator-openapi-block-storage-tips
description: |
Generate OpenAPI spec for Cinder consuming API-REF
required-projects:
- name: openstack/cinder
pre-run:
- playbooks/openapi/pre-api-ref.yaml
vars:
codegenerator_api_ref:
project: "opendev.org/openstack/cinder"
path: "/api-ref/build/html/v3/index.html"
- job:
name: codegenerator-openapi-compute-tips
parent: codegenerator-openapi-tips-base
description: |
Generate OpenAPI spec for nova
required-projects:
- name: openstack/nova
vars:
openapi_service: compute
install_additional_projects:
- project: "opendev.org/openstack/nova"
name: "."
- job:
name: codegenerator-openapi-compute-tips-with-api-ref
parent: codegenerator-openapi-compute-tips
description: |
Generate OpenAPI spec for nova consuming API-REF
required-projects:
- name: openstack/nova
pre-run:
- playbooks/openapi/pre-api-ref.yaml
vars:
codegenerator_api_ref:
project: "opendev.org/openstack/nova"
path: "/api-ref/build/html/index.html"
- job:
name: codegenerator-openapi-identity-tips
parent: codegenerator-openapi-tips-base
description: |
Generate OpenAPI spec for Keystone
required-projects:
- name: openstack/keystone
vars:
openapi_service: identity
install_additional_projects:
- project: "opendev.org/openstack/keystone"
name: "."
- job:
name: codegenerator-openapi-identity-tips-with-api-ref
parent: codegenerator-openapi-identity-tips
description: |
Generate OpenAPI spec for Keystone consuming API-REF
required-projects:
- name: openstack/keystone
pre-run:
- playbooks/openapi/pre-api-ref.yaml
vars:
codegenerator_api_ref:
project: "opendev.org/openstack/keystone"
path: "/api-ref/build/html/v3/index.html"
- job:
name: codegenerator-openapi-image-tips
parent: codegenerator-openapi-tips-base
description: |
Generate OpenAPI spec for Glance
required-projects:
- name: openstack/glance
vars:
openapi_service: image
install_additional_projects:
- project: "opendev.org/openstack/glance"
name: "."
- job:
name: codegenerator-openapi-image-tips-with-api-ref
parent: codegenerator-openapi-image-tips
description: |
Generate OpenAPI spec for Glance consuming API-REF
required-projects:
- name: openstack/glance
pre-run:
- playbooks/openapi/pre-api-ref.yaml
vars:
codegenerator_api_ref:
project: "opendev.org/openstack/glance"
path: "/api-ref/build/html/v2/index.html"
- job:
name: codegenerator-openapi-load-balancing-tips
parent: codegenerator-openapi-tips-base
description: |
Generate OpenAPI spec for Octavia
required-projects:
- name: openstack/octavia
vars:
openapi_service: load-balancer
install_additional_projects:
- project: "opendev.org/openstack/octavia"
name: "."
- job:
name: codegenerator-openapi-load-balancing-tips-with-api-ref
parent: codegenerator-openapi-load-balancing-tips
description: |
Generate OpenAPI spec for Octavia consuming API-REF
required-projects:
- name: openstack/octavia
pre-run:
- playbooks/openapi/pre-api-ref.yaml
vars:
codegenerator_api_ref:
project: "opendev.org/openstack/octavia"
path: "/api-ref/build/html/v2/index.html"
- job:
name: codegenerator-openapi-network-tips
parent: codegenerator-openapi-tips-base
description: |
Generate OpenAPI spec for Neutron
required-projects:
- name: openstack/neutron
- name: openstack/neutron-vpnaas
vars:
openapi_service: network
install_additional_projects:
- project: "opendev.org/openstack/neutron"
name: "."
- project: "opendev.org/openstack/neutron-vpnaas"
name: "."
- job:
name: codegenerator-openapi-network-tips-with-api-ref
parent: codegenerator-openapi-network-tips
description: |
Generate OpenAPI spec for Neutron consuming API-REF
required-projects:
- name: openstack/neutron-lib
pre-run:
- playbooks/openapi/pre-api-ref.yaml
vars:
codegenerator_api_ref:
project: "opendev.org/openstack/neutron-lib"
path: "/api-ref/build/html/v2/index.html"
- job:
name: codegenerator-openapi-object-store-static
parent: base
description: |
Generate OpenAPI spec for Swift
run:
- playbooks/openapi/static.yaml
vars:
codegenerator_work_dir: "wrk"
openapi_service: object-store
- job:
name: codegenerator-openapi-placement-tips
parent: codegenerator-openapi-tips-base
description: |
Generate OpenAPI spec for Placement
required-projects:
- name: openstack/placement
vars:
openapi_service: placement
install_additional_projects:
- project: "opendev.org/openstack/placement"
name: "."
- job:
name: codegenerator-openapi-placement-tips-with-api-ref
parent: codegenerator-openapi-placement-tips
description: |
Generate OpenAPI spec for Placement consuming API-REF
required-projects:
- name: openstack/placement
pre-run:
- playbooks/openapi/pre-api-ref.yaml
vars:
codegenerator_api_ref:
project: "opendev.org/openstack/placement"
path: "/api-ref/build/html/index.html"
- job:
name: codegenerator-openapi-shared-file-system-tips
parent: codegenerator-openapi-tips-base
description: |
Generate OpenAPI spec for Manila
required-projects:
- name: openstack/manila
vars:
openapi_service: shared-file-system
install_additional_projects:
- project: "opendev.org/openstack/manila"
name: "."
- job:
name: codegenerator-openapi-shared-file-system-tips-with-api-ref
parent: codegenerator-openapi-shared-file-system-tips
description: |
Generate OpenAPI spec for Manila consuming API-REF
required-projects:
- name: openstack/manila
pre-run:
- playbooks/openapi/pre-api-ref.yaml
vars:
codegenerator_api_ref:
project: "opendev.org/openstack/manila"
path: "/api-ref/build/html/index.html"
- job:
name: codegenerator-tox-publish-openapi-specs
parent: opendev-tox-docs
description: |
Published OpenAPI specs
dependencies:
- name: codegenerator-openapi-block-storage-tips-with-api-ref
soft: true
- name: codegenerator-openapi-compute-tips-with-api-ref
soft: true
- name: codegenerator-openapi-identity-tips-with-api-ref
soft: true
- name: codegenerator-openapi-image-tips-with-api-ref
soft: true
- name: codegenerator-openapi-load-balancing-tips-with-api-ref
soft: true
- name: codegenerator-openapi-network-tips-with-api-ref
soft: true
- name: codegenerator-openapi-object-store-static
soft: true
- name: codegenerator-openapi-placement-tips-with-api-ref
soft: true
- name: codegenerator-openapi-shared-file-system-tips-with-api-ref
soft: true
pre-run:
- playbooks/openapi/fetch.yaml
vars:
tox_envlist: publish-openapi-specs