R&D/클라우드

OpenStack API 추출

sunshout 2025. 3. 17. 21:00
import yaml
import pandas as pd

# openapi.yaml 파일 읽기 (파일 경로와 이름을 상황에 맞게 변경)
with open("openapi.yaml", "r", encoding="utf-8") as f:
    openapi_spec = yaml.safe_load(f)


# API 목록을 저장할 리스트 생성
api_list = []
for path, details in openapi_spec.get("paths", {}).items():
    op_get = details.get("get", None)
    op_post = details.get("post", None)
    op_put = details.get("put", None)
    op_delete = details.get("delete", None)
    for item, value in details.items():
        if item == "get" or item == "post" or item == "put" or item == "delete":
            print(path, item)

 

각 서비스별 openapi.yaml 파일을 만드는 방법

https://opendev.org/openstack/codegenerator/src/branch/master 

 

codegenerator

Generate OpenAPI of API bindings for OpenStack services

opendev.org

 

서비스 git repo
nova https://github.com/openstack/nova
neutron https://github.com/openstack/neutron
keystone https://github.com/openstack/keystone
cinder https://github.com/openstack/cinder
glance https://github.com/openstack/glance
octavia https://github.com/openstack/octavia
neutron-vpnaas https://github.com/openstack/neutron-vpnaas

 

728x90