diff --git a/Makefile b/Makefile index 5110335..b9e280c 100644 --- a/Makefile +++ b/Makefile @@ -12,9 +12,13 @@ PUSH_LATEST ?= 1 COMPOSE_RELEASE ?= $(COMPOSE) -f docker-compose.release.yml HELM_CHART ?= ./helm/openstack-api-simulator +OVERRIDE_EXAMPLE ?= docker-compose.override.example.yml +OVERRIDE_FILE ?= docker-compose.override.yml +COMPOSE_LOCAL ?= $(COMPOSE) -f docker-compose.yml -f $(OVERRIDE_FILE) -.PHONY: help install format lint typecheck test test-unit test-integration test-contract test-compatibility test-surface evidence coverage run dev up down restart logs docker-build docker-up docker-down docker-logs docker-restart db-up db-down db-migrate db-reset api-import api-diff seed seed-demo smoke clean ci ci-all shell release release-build release-up release-down release-seed helm-deps helm-template \ - test-pulumi-smoke test-pulumi pulumi-tests test-smoke-all-lab test-all-lab clean-test-resources +.PHONY: help install format lint typecheck test test-unit test-integration test-contract test-compatibility test-surface evidence coverage run dev up up-local down down-local restart logs docker-build docker-up docker-down docker-logs docker-restart db-up db-down db-migrate db-reset api-import api-diff seed seed-demo smoke clean ci ci-all shell push release release-build release-up release-down release-seed helm-deps helm-template \ + test-pulumi-smoke test-pulumi pulumi-tests test-smoke-all-lab test-all-lab clean-test-resources \ + request-bodies-generate request-bodies-import request-bodies-coverage help: ## Show available commands @awk 'BEGIN {FS = ":.*## "}; /^[a-zA-Z0-9_-]+:.*## / {printf "%-22s %s\n", $$1, $$2}' $(MAKEFILE_LIST) @@ -72,9 +76,27 @@ up: ## Start PostgreSQL, simulator, and TLS gateway @test -f .env || cp .env.example .env $(COMPOSE) up -d --build --wait +up-local: ## Start stack with gitignored port overrides (Keystone/console on :15000) + @test -f .env || cp .env.example .env + @if [ ! -f "$(OVERRIDE_FILE)" ]; then \ + cp "$(OVERRIDE_EXAMPLE)" "$(OVERRIDE_FILE)"; \ + echo "Created $(OVERRIDE_FILE) from $(OVERRIDE_EXAMPLE) (gitignored)."; \ + else \ + echo "Using existing $(OVERRIDE_FILE) (gitignored)."; \ + fi + $(COMPOSE_LOCAL) up -d --build --wait + @echo "Local console: http://127.0.0.1:15000/" + down: ## Stop local services $(COMPOSE) down +down-local: ## Stop stack started with make up-local + @if [ -f "$(OVERRIDE_FILE)" ]; then \ + $(COMPOSE_LOCAL) down; \ + else \ + $(COMPOSE) -f docker-compose.yml -f $(OVERRIDE_EXAMPLE) down; \ + fi + restart: ## Rebuild and restart the stack @test -f .env || cp .env.example .env $(COMPOSE) up -d --build --force-recreate --wait @@ -122,13 +144,22 @@ api-import: ## Import an API snapshot api-diff: ## Compare API snapshots $(COMPOSE) run --rm --no-deps $(SERVICE_DEV) openstack-api-contract diff $(ARGS) +request-bodies-generate: ## Regenerate contracts/openstack/request_bodies from api-ref catalog + $(COMPOSE) run --rm --no-deps $(SERVICE_DEV) python tools/os_api_inventory/generate_request_bodies.py + +request-bodies-import: ## Merge Tier-1 request schemas from gtema/openstack-openapi + $(COMPOSE) run --rm --no-deps $(SERVICE_DEV) sh -c 'pip install -q pyyaml && python tools/os_api_inventory/import_openapi_bodies.py' + +request-bodies-coverage: ## Fail if any write op lacks a request_schema + $(COMPOSE) run --rm --no-deps $(SERVICE_DEV) python tools/os_api_inventory/generate_request_bodies.py --coverage + seed: ## Seed minimal OpenStack lab data @test -f .env || cp .env.example .env SEED_PROFILE="$${PROFILE:-minimal}" $(COMPOSE) run --rm --entrypoint python $(SERVICE_SIM) -m app.openstack.seed_cli --profile "$${PROFILE:-minimal}" -seed-demo: ## Seed full OpenStack demo cloud (~1000 servers) +seed-demo: ## Seed demo cloud (SIZE=small|large|big, default large = 1000 VMs) @test -f .env || cp .env.example .env - $(COMPOSE) run --rm --entrypoint python $(SERVICE_SIM) -m app.openstack.seed_cli --profile demo + $(COMPOSE) run --rm --entrypoint python $(SERVICE_SIM) -m app.openstack.seed_cli --profile "demo-$${SIZE:-large}" smoke: ## Keystone → multi-service OpenStack smoke @test -f .env || cp .env.example .env @@ -138,6 +169,26 @@ smoke: ## Keystone → multi-service OpenStack smoke shell: ## Open an interactive shell in the development container $(COMPOSE) run --rm --no-deps $(SERVICE_DEV) bash +push: ## git add ., ask for commit message, push to origin + antropoff + @git add . + @if git diff --cached --quiet; then \ + echo "Nothing to commit (working tree clean after git add .)."; \ + else \ + if [ -n "$(MSG)" ]; then \ + msg="$(MSG)"; \ + else \ + printf "Commit message: "; \ + IFS= read -r msg < /dev/tty; \ + fi; \ + if [ -z "$$msg" ]; then \ + echo "Empty commit message; aborting." >&2; \ + exit 1; \ + fi; \ + git commit -m "$$msg"; \ + fi + git push origin HEAD + git push antropoff HEAD + clean: ## Remove generated local artifacts rm -rf .coverage coverage.xml htmlcov .mypy_cache .pytest_cache .ruff_cache diff --git a/app/lifespan.py b/app/lifespan.py index 11851c0..7bff31b 100644 --- a/app/lifespan.py +++ b/app/lifespan.py @@ -38,7 +38,7 @@ def create_lifespan( await database.connect() app.state.database = database if isinstance(database, AsyncpgDatabase): - from app.openstack.demo_cloud import DEMO_PROFILE + from app.openstack.demo_cloud import is_demo_profile from app.openstack.seed import seed_openstack async with database.pool.acquire() as connection: @@ -49,7 +49,7 @@ def create_lifespan( ) except Exception: profile = None - if profile != DEMO_PROFILE: + if not is_demo_profile(profile): await seed_openstack(connection) workers = tuple(factory(database) for factory in worker_factories) worker_tasks = tuple(asyncio.create_task(worker.run()) for worker in workers) diff --git a/app/openstack/contract_loader.py b/app/openstack/contract_loader.py index 1884465..ec0ec35 100644 --- a/app/openstack/contract_loader.py +++ b/app/openstack/contract_loader.py @@ -9,6 +9,7 @@ from pathlib import Path from typing import Any from app.openstack.opspec import OperationSpec, SeriesManifest, ServicePack +from app.openstack.request_bodies import attach_request_schemas, clear_request_body_cache _CONTRACTS_ROOT = Path(__file__).resolve().parents[2] / "contracts" / "openstack" @@ -43,6 +44,17 @@ def list_series() -> list[dict[str, Any]]: if not man.is_file(): continue data = json.loads(man.read_text()) + microversions = [ + { + "name": str(svc.get("name") or ""), + "default_microversion": svc.get("default_microversion"), + "max_microversion": svc.get("max_microversion"), + } + for svc in data.get("services") or [] + if isinstance(svc, dict) + and svc.get("name") + and (svc.get("default_microversion") or svc.get("max_microversion")) + ] result.append( { "series": data.get("series", path.name), @@ -51,6 +63,7 @@ def list_series() -> list[dict[str, Any]]: "service_count": data.get("service_count", 0), "checksum": data.get("checksum", ""), "generated_at": data.get("generated_at", ""), + "microversions": microversions, } ) return result @@ -92,6 +105,7 @@ def load_series_pack(series: str) -> dict[str, ServicePack]: data = json.loads(api.read_text()) name = str(data["service"]) ops = [_op_from_dict(name, raw) for raw in data.get("operations") or []] + ops = attach_request_schemas(name, ops) packs[name] = ServicePack( name=name, typ=str(data.get("type") or name), @@ -129,9 +143,13 @@ class ContractRuntime: def reload(self, series: str | None = None) -> dict[str, Any]: with self._lock: + clear_request_body_cache() target = (series or self.series).lower() + series_changed = target != self.series self.packs = load_series_pack(target) self.series = target + if series_changed: + self.microversion_overrides.clear() man = load_manifest(target) return { "series": man.series, diff --git a/app/openstack/demo_cloud.py b/app/openstack/demo_cloud.py index c3c6568..fff9fe6 100644 --- a/app/openstack/demo_cloud.py +++ b/app/openstack/demo_cloud.py @@ -1,8 +1,9 @@ -"""Enterprise-scale OpenStack demo cloud seed (~1000 servers + full topology).""" +"""Sized OpenStack demo cloud seed (small / large / big synthetic clusters).""" from __future__ import annotations import json +from dataclasses import asdict, dataclass from typing import Any from uuid import UUID @@ -12,14 +13,108 @@ from app.openstack.ids import oid from app.security.auth import hash_secret DEMO_PROFILE = "openstack-demo-cloud" +DEMO_SIZE_DEFAULT = "large" -DEMO_SERVER_COUNT = 1000 -DEMO_VOLUME_COUNT = 600 -DEMO_HYPERVISOR_COUNT = 16 -DEMO_IRONIC_COUNT = 24 -DEMO_LB_COUNT = 12 -DEMO_STACK_COUNT = 30 -DEMO_FIP_COUNT = 120 + +@dataclass(frozen=True, slots=True) +class DemoClusterSize: + """Proportional inventory for a demo cluster size button.""" + + name: str + hypervisors: int + servers: int + volumes: int + ironic_nodes: int + loadbalancers: int + stacks: int + floating_ips: int + surface_samples: int + server_groups: int + nested_samples: int + pack_per_type: int + extra_networks: int + extra_security_groups: int + keypairs_per_user: int + edge_routers: int + + +def _scale(base: int, factor: float, minimum: int) -> int: + return max(minimum, int(round(base * factor))) + + +def _cluster(name: str, *, hypervisors: int, servers: int) -> DemoClusterSize: + """Derive secondary counts from the large (1000 VM) reference ratios.""" + + factor = servers / 1000 + return DemoClusterSize( + name=name, + hypervisors=hypervisors, + servers=servers, + volumes=_scale(600, factor, 20), + ironic_nodes=_scale(24, factor, 2), + loadbalancers=_scale(12, factor, 2), + stacks=_scale(30, factor, 3), + floating_ips=_scale(120, factor, 6), + surface_samples=_scale(8, factor, 3), + server_groups=_scale(16, factor, 3), + nested_samples=_scale(24, factor, 8), + pack_per_type=_scale(3, factor, 2), + # Topology density (large reference: 3 extra nets, 3 SG tiers, 4 keys, 1 edge router). + extra_networks=_scale(3, factor, 1), + extra_security_groups=_scale(3, factor, 1), + keypairs_per_user=_scale(4, factor, 2), + edge_routers=_scale(1, factor, 0), + ) + + +DEMO_CLUSTER_SIZES: dict[str, DemoClusterSize] = { + "small": _cluster("small", hypervisors=3, servers=50), + "large": _cluster("large", hypervisors=10, servers=1000), + "big": _cluster("big", hypervisors=20, servers=2000), +} + + +def resolve_demo_size(size: str | None) -> DemoClusterSize: + key = (size or DEMO_SIZE_DEFAULT).strip().lower() + aliases = { + "demo": "large", + "demo-cloud": "large", + "openstack-demo-cloud": "large", + "demo-small": "small", + "demo-large": "large", + "demo-big": "big", + "medium": "large", + } + key = aliases.get(key, key) + if key not in DEMO_CLUSTER_SIZES: + known = ", ".join(sorted(DEMO_CLUSTER_SIZES)) + raise ValueError(f"unknown demo size {size!r} (use {known})") + return DEMO_CLUSTER_SIZES[key] + + +def demo_profile_name(size: str | DemoClusterSize) -> str: + name = size.name if isinstance(size, DemoClusterSize) else resolve_demo_size(size).name + return f"{DEMO_PROFILE}:{name}" + + +def is_demo_profile(profile: str | None) -> bool: + if not profile: + return False + return profile == DEMO_PROFILE or profile.startswith(f"{DEMO_PROFILE}:") + + +def list_demo_sizes() -> list[dict[str, Any]]: + return [asdict(cfg) for cfg in DEMO_CLUSTER_SIZES.values()] + + +# Backward-compatible aliases → large cluster (default demo). +DEMO_SERVER_COUNT = DEMO_CLUSTER_SIZES["large"].servers +DEMO_VOLUME_COUNT = DEMO_CLUSTER_SIZES["large"].volumes +DEMO_HYPERVISOR_COUNT = DEMO_CLUSTER_SIZES["large"].hypervisors +DEMO_IRONIC_COUNT = DEMO_CLUSTER_SIZES["large"].ironic_nodes +DEMO_LB_COUNT = DEMO_CLUSTER_SIZES["large"].loadbalancers +DEMO_STACK_COUNT = DEMO_CLUSTER_SIZES["large"].stacks +DEMO_FIP_COUNT = DEMO_CLUSTER_SIZES["large"].floating_ips AZS = ("az-1", "az-2", "az-3") @@ -104,9 +199,32 @@ async def clear_openstack_state(conn: Connection) -> None: ) -async def seed_openstack_demo(conn: Connection, *, password: str = "secret") -> dict[str, Any]: +async def seed_openstack_demo( + conn: Connection, + *, + size: str = DEMO_SIZE_DEFAULT, + password: str = "secret", +) -> dict[str, Any]: """Load a full synthetic OpenStack cloud. Replaces prior OpenStack state.""" + cfg = resolve_demo_size(size) + server_count = cfg.servers + volume_count = cfg.volumes + hypervisor_count = cfg.hypervisors + ironic_count = cfg.ironic_nodes + lb_count = cfg.loadbalancers + stack_count = cfg.stacks + fip_count = cfg.floating_ips + surface_sample_count = cfg.surface_samples + server_group_count = cfg.server_groups + nested_sample_count = cfg.nested_samples + pack_per_type = cfg.pack_per_type + extra_networks = cfg.extra_networks + extra_security_groups = cfg.extra_security_groups + keypairs_per_user = cfg.keypairs_per_user + edge_routers = cfg.edge_routers + profile = demo_profile_name(cfg) + await clear_openstack_state(conn) pw = hash_secret(password, salt=b"openstack-sim-v1") @@ -185,10 +303,10 @@ async def seed_openstack_demo(conn: Connection, *, password: str = "secret") -> '{"available": true}', ) - for i in range(DEMO_HYPERVISOR_COUNT): + for i in range(hypervisor_count): host = f"compute-{(i // len(AZS)) + 1:02d}.{AZS[i % len(AZS)]}" az = AZS[i % len(AZS)] - vms_share = DEMO_SERVER_COUNT // DEMO_HYPERVISOR_COUNT + vms_share = max(1, server_count // hypervisor_count) await conn.execute( """INSERT INTO os_hypervisors( id, hypervisor_hostname, state, status, host_ip, vcpus, vcpus_used, @@ -223,7 +341,7 @@ async def seed_openstack_demo(conn: Connection, *, password: str = "secret") -> for i, az in enumerate(AZS): hosts = [ f"compute-{(j // len(AZS)) + 1:02d}.{az}" - for j in range(i, DEMO_HYPERVISOR_COUNT, len(AZS)) + for j in range(i, hypervisor_count, len(AZS)) ] await conn.execute( """INSERT INTO os_aggregates(id, name, availability_zone, hosts, metadata) @@ -377,10 +495,19 @@ async def seed_openstack_demo(conn: Connection, *, password: str = "secret") -> prefix, ) - # Extra project topology (realistic inventory: multiple nets / SGs / routers) + # Extra project topology — density scales with cluster size. + extra_net_suffixes = ("mgmt", "storage", "dmz", "backup", "ci", "gpu") + sg_tiers = ( + ("web", "HTTP/S", 443), + ("db", "Database tier", 5432), + ("cache", "Cache tier", 6379), + ("mq", "Message bus", 5672), + ("internal", "Internal RPC", 9696), + ("monitoring", "Metrics / scrape", 9100), + ) for pname, pid in project_ids.items(): base = cidr_base[pname] - for extra_i, suffix in enumerate(("mgmt", "storage", "dmz"), start=1): + for extra_i, suffix in enumerate(extra_net_suffixes[:extra_networks], start=1): net_id = oid(f"net:{pname}-{suffix}") subnet_id = oid(f"subnet:{pname}-{suffix}") await conn.execute( @@ -400,11 +527,7 @@ async def seed_openstack_demo(conn: Connection, *, password: str = "secret") -> f"10.{base}.{extra_i * 10}.0/24", f"10.{base}.{extra_i * 10}.1", ) - for sg_name, desc in ( - ("web", f"HTTP/S for {pname}"), - ("db", f"Database tier for {pname}"), - ("cache", f"Cache tier for {pname}"), - ): + for sg_name, desc_prefix, port in sg_tiers[:extra_security_groups]: sg_id = oid(f"sg:{pname}-{sg_name}") await conn.execute( """INSERT INTO os_security_groups(id, project_id, name, description) @@ -412,7 +535,7 @@ async def seed_openstack_demo(conn: Connection, *, password: str = "secret") -> sg_id, pid, sg_name, - desc, + f"{desc_prefix} for {pname}", ) await conn.execute( """INSERT INTO os_security_group_rules( @@ -422,30 +545,35 @@ async def seed_openstack_demo(conn: Connection, *, password: str = "secret") -> oid(f"sgrule:{pname}:{sg_name}"), sg_id, pid, - 443 if sg_name == "web" else (5432 if sg_name == "db" else 6379), - 443 if sg_name == "web" else (5432 if sg_name == "db" else 6379), + port, + port, + ) + # Secondary edge routers (0 on tiny clusters, more on big). + for edge_i in range(edge_routers): + await conn.execute( + """INSERT INTO os_routers(id, project_id, name, status, admin_state_up, external_gateway_info) + VALUES($1,$2,$3,'ACTIVE',true,$4::jsonb)""", + oid(f"router:{pname}-edge-{edge_i}"), + pid, + f"{pname}-edge-router-{edge_i}" if edge_routers > 1 else f"{pname}-edge-router", + json.dumps( + { + "network_id": str(public_net), + "enable_snat": True, + "external_fixed_ips": [ + { + "ip_address": f"203.0.113.{base + 1 + edge_i}", + "subnet_id": str(public_subnet), + } + ], + } + ), ) - # Secondary router (HA / edge) - await conn.execute( - """INSERT INTO os_routers(id, project_id, name, status, admin_state_up, external_gateway_info) - VALUES($1,$2,$3,'ACTIVE',true,$4::jsonb)""", - oid(f"router:{pname}-edge"), - pid, - f"{pname}-edge-router", - json.dumps( - { - "network_id": str(public_net), - "enable_snat": True, - "external_fixed_ips": [ - {"ip_address": f"203.0.113.{base + 1}", "subnet_id": str(public_subnet)} - ], - } - ), - ) - # Keypairs (several per user — list is user-scoped) + # Keypairs (several per user — list is user-scoped; count scales with size) + keypair_suffixes = ("key", "deploy", "ci", "bastion", "ops", "batch", "gpu", "lab") for uname, uid in user_ids.items(): - for suffix in ("key", "deploy", "ci", "bastion"): + for suffix in keypair_suffixes[:keypairs_per_user]: await conn.execute( """INSERT INTO os_keypairs(name, user_id, fingerprint, public_key, type) VALUES($1,$2,$3,$4,'ssh')""", @@ -459,12 +587,12 @@ async def seed_openstack_demo(conn: Connection, *, password: str = "secret") -> tenant_cycle = ("admin", "demo", "production", "staging", "development", "demo") hypervisor_names = [ f"compute-{(i // len(AZS)) + 1:02d}.{AZS[i % len(AZS)]}" - for i in range(DEMO_HYPERVISOR_COUNT) + for i in range(hypervisor_count) ] server_rows = [] port_rows = [] - for i in range(DEMO_SERVER_COUNT): + for i in range(server_count): pname = tenant_cycle[i % len(tenant_cycle)] pid = project_ids[pname] net_id, _subnet = project_nets[pname] @@ -546,17 +674,40 @@ async def seed_openstack_demo(conn: Connection, *, password: str = "secret") -> VALUES($1,$2,$3,$4,$5,$6,$7,$8,$9::jsonb)""", port_rows, ) + # One create action per server so GET …/os-instance-actions is never empty. + action_rows = [ + ( + oid(f"nova:instance_action:create:{i}"), + row[1], # project_id + f"create-{i}", + json.dumps( + { + "action": "create", + "instance_uuid": str(row[0]), + "server_id": str(row[0]), + "request_id": f"req-seed-{str(row[0])[:8]}", + "message": None, + } + ), + ) + for i, row in enumerate(server_rows) + ] + await conn.executemany( + """INSERT INTO os_api_objects(id, service, resource_type, project_id, name, status, data) + VALUES($1,'nova','instance_action',$2,$3,'DONE',$4::jsonb)""", + action_rows, + ) # Volumes volume_rows = [] - for i in range(DEMO_VOLUME_COUNT): + for i in range(volume_count): pname = tenant_cycle[i % len(tenant_cycle)] volume_rows.append( ( oid(f"volume:demo:{i}"), project_ids[pname], f"vol-{pname}-{i:04d}", - "in-use" if i < DEMO_SERVER_COUNT // 2 else "available", + "in-use" if i < server_count // 2 else "available", (i % 5 + 1) * 10, "lvmdriver-1" if i % 3 else "ceph", i % 11 == 0, @@ -571,10 +722,10 @@ async def seed_openstack_demo(conn: Connection, *, password: str = "secret") -> # Per-server nested rows so any listed server has DB-backed attachments/allocations. attachment_rows = [] - for i in range(DEMO_SERVER_COUNT): + for i in range(server_count): pname = tenant_cycle[i % len(tenant_cycle)] sid = str(oid(f"server:demo:{i}")) - vid = str(oid(f"volume:demo:{i % DEMO_VOLUME_COUNT}")) + vid = str(oid(f"volume:demo:{i % volume_count}")) port_id = str(oid(f"port:demo:{i}")) pid = project_ids[pname] attachment_rows.append( @@ -635,7 +786,7 @@ async def seed_openstack_demo(conn: Connection, *, password: str = "secret") -> ) # Floating IPs - for i in range(DEMO_FIP_COUNT): + for i in range(fip_count): pname = tenant_cycle[i % len(tenant_cycle)] await conn.execute( """INSERT INTO os_floating_ips( @@ -650,7 +801,7 @@ async def seed_openstack_demo(conn: Connection, *, password: str = "secret") -> ) # Ironic nodes - for i in range(DEMO_IRONIC_COUNT): + for i in range(ironic_count): await conn.execute( """INSERT INTO os_nodes( id, name, driver, provision_state, power_state, resource_class, @@ -664,7 +815,7 @@ async def seed_openstack_demo(conn: Connection, *, password: str = "secret") -> ) # Octavia LBs - for i in range(DEMO_LB_COUNT): + for i in range(lb_count): pname = tenant_cycle[i % len(tenant_cycle)] await conn.execute( """INSERT INTO os_loadbalancers( @@ -686,7 +837,7 @@ async def seed_openstack_demo(conn: Connection, *, password: str = "secret") -> ) # Heat stacks - for i in range(DEMO_STACK_COUNT): + for i in range(stack_count): pname = tenant_cycle[i % len(tenant_cycle)] await conn.execute( """INSERT INTO os_stacks( @@ -724,7 +875,7 @@ async def seed_openstack_demo(conn: Connection, *, password: str = "secret") -> # Generic service samples (multiple per service) — keep resource_type aligned # with pack operation resource_type so schema list endpoints return rows. samples = [] - for i in range(8): + for i in range(surface_sample_count): samples.extend( [ ("barbican", "secret", f"secret-{i}", {"secret_type": "passphrase"}), @@ -1342,11 +1493,12 @@ async def seed_openstack_demo(conn: Connection, *, password: str = "secret") -> ) # Nova server groups (specialized table) — denser in demo project - for i in range(16): - pname = "demo" if i < 8 else tenant_cycle[i % len(tenant_cycle)] + for i in range(server_group_count): + pname = "demo" if i < max(1, server_group_count // 2) else tenant_cycle[i % len(tenant_cycle)] + span = max(1, min(8, max(1, server_count // 4))) members = [ - str(oid(f"server:demo:{3 + (i % 8) * 6}")), - str(oid(f"server:demo:{3 + ((i + 1) % 8) * 6}")), + str(oid(f"server:demo:{(3 + (i % span) * 6) % server_count}")), + str(oid(f"server:demo:{(3 + ((i + 1) % span) * 6) % server_count}")), ] await conn.execute( """INSERT INTO os_server_groups(id, project_id, name, policies, members) @@ -1368,14 +1520,15 @@ async def seed_openstack_demo(conn: Connection, *, password: str = "secret") -> demo_trunk = str(oid("neutron:trunk:trunk-0")) demo_local_ip = str(oid("neutron:local_ip:lip-0")) demo_bgpvpn = str(oid("neutron:bgpvpn:bgpvpn-0")) - demo_stack_id = str(oid("stack:demo:3")) - demo_stack_name = "stack-demo-03" + demo_stack_idx = min(3, max(0, stack_count - 1)) + demo_stack_id = str(oid(f"stack:demo:{demo_stack_idx}")) + demo_stack_name = f"stack-demo-{demo_stack_idx:02d}" nested_samples: list[tuple[str, str, str, dict[str, Any]]] = [] # Cover the first listed servers (and a wider spread) so nested GETs hit DB rows. - for i in range(24): - sidx = i + for i in range(nested_sample_count): + sidx = i % server_count sid = str(oid(f"server:demo:{sidx}")) - vid = str(oid(f"volume:demo:{sidx}")) + vid = str(oid(f"volume:demo:{sidx % volume_count}")) port_id = str(oid(f"port:demo:{sidx}")) nested_samples.extend( [ @@ -1638,24 +1791,56 @@ async def seed_openstack_demo(conn: Connection, *, password: str = "secret") -> for service, rtype, name, data in nested_samples: item_id = oid(f"{service}:{rtype}:{name}") payload = {"id": str(item_id), "name": name, "status": data.get("status", "ACTIVE"), **data} + # Scope nested rows to the parent server's project (tenant_cycle index). + owner_pid = demo_pid + server_ref = str(data.get("server_id") or data.get("instance_uuid") or "") + for idx in range(min(server_count, 64)): + if server_ref == str(oid(f"server:demo:{idx}")): + owner_pid = project_ids[tenant_cycle[idx % len(tenant_cycle)]] + break await conn.execute( """INSERT INTO os_api_objects(id, service, resource_type, project_id, name, status, data) VALUES($1,$2,$3,$4,$5,$6,$7::jsonb)""", item_id, service, rtype, - None, # shared — nested lists visible for any project token + owner_pid, name, str(payload.get("status") or "ACTIVE"), json.dumps(payload), ) # Quotas as api objects (name=project id so Neutron-style /quotas/{project_id} resolves) + quota_factor = max(1.0, server_count / 1000) for pname, pid in project_ids.items(): for svc, rtype, data in ( - ("nova", "quota_set", {"instances": 200, "cores": 800, "ram": 1_024_000}), - ("cinder", "quota_set", {"volumes": 200, "gigabytes": 50_000}), - ("neutron", "quota", {"network": 50, "subnet": 100, "port": 500, "floatingip": 50}), + ( + "nova", + "quota_set", + { + "instances": _scale(200, quota_factor, 40), + "cores": _scale(800, quota_factor, 80), + "ram": _scale(1_024_000, quota_factor, 64_000), + }, + ), + ( + "cinder", + "quota_set", + { + "volumes": _scale(200, quota_factor, 40), + "gigabytes": _scale(50_000, quota_factor, 5_000), + }, + ), + ( + "neutron", + "quota", + { + "network": _scale(50, quota_factor, 10), + "subnet": _scale(100, quota_factor, 20), + "port": _scale(500, quota_factor, 80), + "floatingip": _scale(50, quota_factor, 10), + }, + ), ): await conn.execute( """INSERT INTO os_api_objects(id, service, resource_type, project_id, name, status, data) @@ -1675,31 +1860,44 @@ async def seed_openstack_demo(conn: Connection, *, password: str = "secret") -> from app.openstack.seed_discovery import seed_discovery_documents discovery = await seed_discovery_documents(conn) - pack_seed = await seed_pack_surface_samples(conn, per_type=3) + pack_seed = await seed_pack_surface_samples(conn, per_type=pack_per_type) pack_seed = {**pack_seed, **discovery} await conn.execute( - """INSERT INTO os_demo_meta(key, value) VALUES('profile', $1), ('servers', $2), ('password', $3)""", - DEMO_PROFILE, - str(DEMO_SERVER_COUNT), + """INSERT INTO os_demo_meta(key, value) + VALUES('profile', $1), ('size', $2), ('servers', $3), ('password', $4)""", + profile, + cfg.name, + str(server_count), password, ) return { - "profile": DEMO_PROFILE, - "servers": DEMO_SERVER_COUNT, + "profile": profile, + "size": cfg.name, + "servers": server_count, "pack_seed": pack_seed, - "volumes": DEMO_VOLUME_COUNT, - "hypervisors": DEMO_HYPERVISOR_COUNT, + "volumes": volume_count, + "hypervisors": hypervisor_count, + "ironic_nodes": ironic_count, + "loadbalancers": lb_count, + "stacks": stack_count, + "floating_ips": fip_count, + "extra_networks": extra_networks, + "extra_security_groups": extra_security_groups, + "keypairs_per_user": keypairs_per_user, + "edge_routers": edge_routers, "projects": list(project_ids.keys()), "users": list(user_ids.keys()), "password": password, "availability_zones": list(AZS), + "cluster": asdict(cfg), } async def openstack_demo_summary(conn: Connection) -> dict[str, Any]: profile = await conn.fetchval("SELECT value FROM os_demo_meta WHERE key='profile'") + size = await conn.fetchval("SELECT value FROM os_demo_meta WHERE key='size'") servers = await conn.fetchval("SELECT count(*) FROM os_servers") volumes = await conn.fetchval("SELECT count(*) FROM os_volumes") networks = await conn.fetchval("SELECT count(*) FROM os_networks") @@ -1712,9 +1910,14 @@ async def openstack_demo_summary(conn: Connection) -> dict[str, Any]: stacks = await conn.fetchval("SELECT count(*) FROM os_stacks") nodes = await conn.fetchval("SELECT count(*) FROM os_nodes") fips = await conn.fetchval("SELECT count(*) FROM os_floating_ips") + loaded = is_demo_profile(profile) + cfg = DEMO_CLUSTER_SIZES.get(str(size or ""), None) + if cfg is None and loaded and isinstance(profile, str) and ":" in profile: + cfg = DEMO_CLUSTER_SIZES.get(profile.rsplit(":", 1)[-1]) return { - "loaded": profile == DEMO_PROFILE, + "loaded": loaded, "profile": profile or "minimal", + "size": (cfg.name if cfg else size) or None, "servers": int(servers or 0), "volumes": int(volumes or 0), "networks": int(networks or 0), @@ -1727,5 +1930,6 @@ async def openstack_demo_summary(conn: Connection) -> dict[str, Any]: "stacks": int(stacks or 0), "ironic_nodes": int(nodes or 0), "floating_ips": int(fips or 0), - "target_servers": DEMO_SERVER_COUNT, + "target_servers": cfg.servers if cfg else int(servers or 0), + "sizes": list_demo_sizes(), } diff --git a/app/openstack/engine.py b/app/openstack/engine.py index 99db20e..225b659 100644 --- a/app/openstack/engine.py +++ b/app/openstack/engine.py @@ -14,21 +14,12 @@ from fastapi.responses import JSONResponse from app.openstack.auth import TokenContext from app.openstack.deps import get_conn, require_project_token, require_token from app.openstack.errors import OpenStackError +from app.openstack.singular import singular as _singular from app.openstack.surface import SERVICES, ServiceSpec _PATH_PARAM = re.compile(r"\{([^{}]+)\}") -def _singular(collection_key: str) -> str: - if collection_key.endswith("ies"): - return collection_key[:-3] + "y" - if collection_key.endswith("ses"): - return collection_key[:-2] - if collection_key.endswith("s") and not collection_key.endswith("ss"): - return collection_key[:-1] - return collection_key - - def _wrap_list(collection_key: str, items: list[dict[str, Any]]) -> dict[str, Any]: return {collection_key: items} diff --git a/app/openstack/opspec.py b/app/openstack/opspec.py index 495b4cd..6a9607f 100644 --- a/app/openstack/opspec.py +++ b/app/openstack/opspec.py @@ -29,6 +29,8 @@ class OperationSpec: action_name: str | None = None response_fixture: dict[str, Any] | None = None notes: str = "" + # Full JSON Schema for the HTTP request body (merged from request_bodies/). + request_schema: dict[str, Any] | None = None def path_params(self) -> list[str]: import re diff --git a/app/openstack/registry.py b/app/openstack/registry.py index cca6571..eaa9be5 100644 --- a/app/openstack/registry.py +++ b/app/openstack/registry.py @@ -190,11 +190,16 @@ def register_openstack_contract_routes( full_path = f"/_os/{pack.name}{path}" name = f"{_ROUTE_NAME_PREFIX}{pack.name}:{op.method}:{op.path}" endpoint = _make_contract_endpoint(pack, op, handlers, dispatch_fn) + # FastAPI only auto-adds HEAD for @app.get(); contract routes use + # add_api_route — register HEAD beside every GET for the matrix. + methods = [op.method] + if op.method.upper() == "GET": + methods.append("HEAD") app.add_api_route( full_path, endpoint, - methods=[op.method], + methods=methods, name=name, include_in_schema=True, tags=[service_openapi_tag(pack.name)], diff --git a/app/openstack/request_bodies.py b/app/openstack/request_bodies.py new file mode 100644 index 0000000..497d903 --- /dev/null +++ b/app/openstack/request_bodies.py @@ -0,0 +1,127 @@ +"""Load and resolve OpenStack request-body JSON Schemas. + +Schemas live in ``contracts/openstack/request_bodies/.json`` and are +merged onto ``OperationSpec`` at pack load time (shared across series). +""" + +from __future__ import annotations + +import json +from dataclasses import replace +from functools import lru_cache +from pathlib import Path +from typing import Any + +from app.openstack.opspec import OperationSpec + +_BODIES_ROOT = Path(__file__).resolve().parents[2] / "contracts" / "openstack" / "request_bodies" + + +def request_bodies_root() -> Path: + return _BODIES_ROOT + + +@lru_cache(maxsize=1) +def _load_all() -> dict[str, dict[str, Any]]: + root = request_bodies_root() + out: dict[str, dict[str, Any]] = {} + if not root.is_dir(): + return out + for path in sorted(root.glob("*.json")): + data = json.loads(path.read_text()) + service = str(data.get("service") or path.stem) + ops = data.get("operations") or {} + by_path = data.get("by_path") or {} + out[service] = {"operations": dict(ops), "by_path": dict(by_path)} + return out + + +def clear_request_body_cache() -> None: + _load_all.cache_clear() + + +def _path_key(method: str, path: str) -> str: + return f"{method.upper()} {path}" + + +def lookup_request_schema(service: str, op: OperationSpec) -> dict[str, Any] | None: + """Return the JSON Schema for an operation, or None if missing.""" + + store = _load_all().get(service) or {} + ops = store.get("operations") or {} + schema = ops.get(op.operation_id) + if schema is None: + schema = (store.get("by_path") or {}).get(_path_key(op.method, op.path)) + if schema is None: + return None + return _resolve_schema(schema, microversion=op.microversion_max) + + +def _resolve_schema(schema: dict[str, Any], *, microversion: str | None) -> dict[str, Any]: + """Pick a concrete schema from OpenStack oneOf discriminators when present.""" + + if not isinstance(schema, dict): + return {} + if "oneOf" in schema and isinstance(schema["oneOf"], list): + xos = schema.get("x-openstack") or {} + discriminator = xos.get("discriminator") + variants = [item for item in schema["oneOf"] if isinstance(item, dict)] + if discriminator == "action": + # Prefer first variant; callers match action via separate ops. + chosen = variants[0] if variants else schema + return _resolve_schema(chosen, microversion=microversion) + if discriminator == "microversion" and microversion: + best: dict[str, Any] | None = None + for item in variants: + meta = item.get("x-openstack") or {} + min_ver = str(meta.get("min-ver") or "0") + max_ver = meta.get("max-ver") + if _mv_le(min_ver, microversion) and ( + max_ver is None or _mv_le(microversion, str(max_ver)) + ): + best = item + if best is not None: + return _resolve_schema(best, microversion=microversion) + if variants: + return _resolve_schema(variants[-1], microversion=microversion) + return schema + + +def _mv_le(left: str, right: str) -> bool: + def parts(value: str) -> tuple[int, ...]: + out: list[int] = [] + for piece in value.split("."): + try: + out.append(int(piece)) + except ValueError: + out.append(0) + return tuple(out) + + return parts(left) <= parts(right) + + +def attach_request_schemas(service: str, ops: list[OperationSpec]) -> list[OperationSpec]: + """Return new OperationSpec list with ``request_schema`` filled where known.""" + + attached: list[OperationSpec] = [] + for op in ops: + schema = lookup_request_schema(service, op) + if schema is None: + attached.append(op) + continue + attached.append(replace(op, request_schema=schema)) + return attached + + +def missing_write_schemas(packs: dict[str, Any]) -> list[tuple[str, str, str, str]]: + """List (service, method, path, operation_id) missing request schemas.""" + + missing: list[tuple[str, str, str, str]] = [] + for name, pack in sorted(packs.items()): + for op in pack.operations: + if op.method not in {"POST", "PUT", "PATCH"}: + continue + if op.request_schema: + continue + missing.append((name, op.method, op.path, op.operation_id)) + return missing diff --git a/app/openstack/request_examples.py b/app/openstack/request_examples.py new file mode 100644 index 0000000..e61fe57 --- /dev/null +++ b/app/openstack/request_examples.py @@ -0,0 +1,262 @@ +"""Build UI body_fields / body_example from JSON Schema request bodies.""" + +from __future__ import annotations + +from typing import Any + + +def schema_example(schema: dict[str, Any] | None, *, name: str | None = None) -> Any: + """Build a representative JSON value from a JSON Schema fragment.""" + + if not schema: + return None + if "example" in schema: + return schema["example"] + if "default" in schema: + return schema["default"] + enum_values = schema.get("enum") or [] + if enum_values: + return enum_values[0] + if "const" in schema: + return schema["const"] + + schema_type = schema.get("type") + if isinstance(schema_type, list): + schema_type = next((t for t in schema_type if t != "null"), schema_type[0]) + + if schema_type == "object" or ("properties" in schema and schema_type is None): + props = schema.get("properties") or {} + required = set(schema.get("required") or []) + out: dict[str, Any] = {} + for key, child in props.items(): + if not isinstance(child, dict): + continue + # Include required always; also optional fields that declare example/default. + include = key in required or "example" in child or "default" in child + if not include: + # Still include optional leaves for api-ref-style full previews. + include = True + if include: + out[key] = schema_example(child, name=key) + return out + + if schema_type == "array": + items = schema.get("items") + if isinstance(items, dict): + return [schema_example(items, name=name)] + return [] + + if schema_type == "boolean": + return False + if schema_type == "integer": + minimum = schema.get("minimum") + return int(minimum) if minimum is not None else 1 + if schema_type == "number": + minimum = schema.get("minimum") + return float(minimum) if minimum is not None else 1.0 + if schema_type == "null": + return None + + # string / unknown + fmt = schema.get("format") + if fmt == "uri" or fmt == "url": + return "http://example.com" + if fmt == "email": + return "user@example.com" + if fmt == "uuid" or (name and (name.endswith("_id") or name == "id")): + return "00000000-0000-0000-0000-000000000001" + if name in {"name", "stack_name", "display_name"}: + return "example" + if name in {"cidr", "remote_ip_prefix"}: + return "10.0.0.0/24" + if name in {"password"}: + return "secret" + return "example" + + +def flatten_schema_fields( + schema: dict[str, Any] | None, + *, + prefix: str = "", + max_depth: int = 6, +) -> list[dict[str, Any]]: + """Flatten a JSON Schema into dotted PARAM field descriptors for the console.""" + + if not schema or max_depth < 0: + return [] + schema_type = schema.get("type") + if isinstance(schema_type, list): + schema_type = next((t for t in schema_type if t != "null"), schema_type[0]) + + props = schema.get("properties") + if (schema_type == "object" or props) and isinstance(props, dict): + required = set(schema.get("required") or []) + fields: list[dict[str, Any]] = [] + for key, child in props.items(): + if not isinstance(child, dict): + continue + path = f"{prefix}.{key}" if prefix else key + child_type = child.get("type") + if isinstance(child_type, list): + child_type = next((t for t in child_type if t != "null"), child_type[0]) + nested_props = child.get("properties") + if (child_type == "object" or nested_props) and isinstance(nested_props, dict): + fields.extend( + flatten_schema_fields(child, prefix=path, max_depth=max_depth - 1) + ) + elif child_type == "array": + items = child.get("items") + if isinstance(items, dict) and ( + items.get("type") == "object" or isinstance(items.get("properties"), dict) + ): + # Expand one sample element so nested array object fields appear. + fields.extend( + flatten_schema_fields( + items, prefix=f"{path}.0", max_depth=max_depth - 1 + ) + ) + else: + fields.append( + { + "name": path, + "type": "array", + "description": child.get("description") or f"Array {path}", + "optional": key not in required, + "enum": list(child.get("enum") or []), + "example": schema_example(child, name=key), + } + ) + else: + fields.append( + { + "name": path, + "type": str(child_type or "string"), + "description": child.get("description"), + "optional": key not in required, + "enum": list(child.get("enum") or []), + "example": schema_example(child, name=key), + } + ) + return fields + + if prefix: + return [ + { + "name": prefix, + "type": str(schema_type or "string"), + "description": schema.get("description"), + "optional": False, + "enum": list(schema.get("enum") or []), + "example": schema_example(schema, name=prefix), + } + ] + return [] + + +def body_fields_from_example(body_example: dict[str, Any] | None) -> list[dict[str, Any]]: + """PARAM inputs derived from body_example, including nested scalar paths. + + Mirrors oVirt console behaviour: walk the Engine/OpenStack-shaped example and + emit one PARAM row per leaf (dotted paths, numeric segments for arrays). + """ + + if not isinstance(body_example, dict) or not body_example: + return [] + + fields: list[dict[str, Any]] = [] + + def _leaf_type(value: Any) -> str: + if isinstance(value, bool): + return "boolean" + if isinstance(value, int) and not isinstance(value, bool): + return "integer" + if isinstance(value, float): + return "number" + if value is None: + return "null" + return "string" + + def _walk(prefix: str, value: Any) -> None: + if isinstance(value, dict): + for key, child in value.items(): + path = f"{prefix}.{key}" if prefix else str(key) + _walk(path, child) + return + if isinstance(value, list): + if not value: + fields.append( + { + "name": prefix, + "type": "array", + "description": prefix, + "optional": True, + "enum": [], + "example": [], + } + ) + return + for index, child in enumerate(value): + path = f"{prefix}.{index}" if prefix else str(index) + _walk(path, child) + return + fields.append( + { + "name": prefix, + "type": _leaf_type(value), + "description": prefix, + "optional": True, + "enum": [], + "example": value, + } + ) + + _walk("", body_example) + return fields + + +def unflatten_body(values: dict[str, Any]) -> dict[str, Any]: + """Turn dotted keys into a nested dict (supports numeric array segments).""" + + root: dict[str, Any] = {} + + def _set(path: str, value: Any) -> None: + parts = path.split(".") + cur: Any = root + for i, part in enumerate(parts[:-1]): + nxt = parts[i + 1] + want_array = nxt.isdigit() + if part.isdigit(): + idx = int(part) + if not isinstance(cur, list): + return + while len(cur) <= idx: + cur.append([] if want_array else {}) + if cur[idx] is None or (want_array and not isinstance(cur[idx], list)) or ( + not want_array and not isinstance(cur[idx], dict) + ): + cur[idx] = [] if want_array else {} + cur = cur[idx] + continue + if want_array: + if not isinstance(cur.get(part), list): + cur[part] = [] + elif not isinstance(cur.get(part), dict): + cur[part] = {} + cur = cur[part] + leaf = parts[-1] + if leaf.isdigit(): + idx = int(leaf) + if not isinstance(cur, list): + return + while len(cur) <= idx: + cur.append(None) + cur[idx] = value + return + if isinstance(cur, dict): + cur[leaf] = value + + for dotted, value in sorted(values.items(), key=lambda item: item[0].count(".")): + if value is None or value == "": + continue + _set(dotted, value) + return root diff --git a/app/openstack/routes/glance.py b/app/openstack/routes/glance.py index 6f81be9..355af9d 100644 --- a/app/openstack/routes/glance.py +++ b/app/openstack/routes/glance.py @@ -244,12 +244,13 @@ async def download_image_file( size = int((data or {}).get("size") or 0) else: size = int(row["size"] or 0) - # Always return at least one byte so clients / coverage see a real payload. + # Lab payload is capped; Content-Length must match the bytes we actually send + # (advertising the virtual image size breaks urllib/clients with IncompleteRead). content = b"\0" * min(size, 64) if size else b"probe-image" return Response( content=content, media_type="application/octet-stream", - headers={"Content-Length": str(len(content) if not size else size)}, + headers={"Content-Length": str(len(content))}, ) diff --git a/app/openstack/routes/heat.py b/app/openstack/routes/heat.py index 6a2fc8c..2399593 100644 --- a/app/openstack/routes/heat.py +++ b/app/openstack/routes/heat.py @@ -146,6 +146,52 @@ async def show_stack_by_id( return {"stack": _stack(row)} +async def _update_stack( + *, + project_id: Any, + stack_id: str | None, + stack_name: str | None, + request: Request, + conn: Connection, +) -> dict[str, object]: + payload = await request.json() + stack = payload.get("stack") or payload + if stack_id: + row = await conn.fetchrow( + "SELECT * FROM os_stacks WHERE project_id=$1 AND id::text=$2", + project_id, + stack_id, + ) + else: + row = await conn.fetchrow( + """SELECT * FROM os_stacks + WHERE project_id=$1 AND (id::text=$2 OR stack_name=$2) + ORDER BY created_at DESC LIMIT 1""", + project_id, + stack_name, + ) + if row is None: + raise OpenStackError("StackNotFound", "Stack not found", status_code=404) + desc = stack.get("description") if "description" in stack else row["description"] + template = stack.get("template") if isinstance(stack.get("template"), dict) else None + parameters = stack.get("parameters") if isinstance(stack.get("parameters"), dict) else None + await conn.execute( + """UPDATE os_stacks + SET description=$1, + template=COALESCE($2::jsonb, template), + parameters=COALESCE($3::jsonb, parameters), + updated_at=now(), + stack_status='UPDATE_COMPLETE' + WHERE id=$4""", + desc, + json.dumps(template) if template is not None else None, + json.dumps(parameters) if parameters is not None else None, + row["id"], + ) + row = await conn.fetchrow("SELECT * FROM os_stacks WHERE id=$1", row["id"]) + return {"stack": _stack(row)} + + @router.put("/v1/{tenant_id}/stacks/{id}") @router.patch("/v1/{tenant_id}/stacks/{id}") async def update_stack_by_id( @@ -156,23 +202,33 @@ async def update_stack_by_id( ctx: Annotated[TokenContext, Depends(require_project_token)], ) -> dict[str, object]: _ = tenant_id - payload = await request.json() - stack = payload.get("stack") or payload - row = await conn.fetchrow( - "SELECT * FROM os_stacks WHERE project_id=$1 AND (id::text=$2 OR stack_name=$2) ORDER BY created_at DESC LIMIT 1", - ctx.project_id, - id, + return await _update_stack( + project_id=ctx.project_id, + stack_id=None, + stack_name=id, + request=request, + conn=conn, ) - if row is None: - raise OpenStackError("StackNotFound", "Stack not found", status_code=404) - desc = stack.get("description") if "description" in stack else row["description"] - await conn.execute( - "UPDATE os_stacks SET description=$1, updated_at=now(), stack_status='UPDATE_COMPLETE' WHERE id=$2", - desc, - row["id"], + + +@router.put("/v1/{tenant_id}/stacks/{stack_name}/{stack_id}") +@router.patch("/v1/{tenant_id}/stacks/{stack_name}/{stack_id}") +async def update_stack_by_name( + tenant_id: str, + stack_name: str, + stack_id: str, + request: Request, + conn: Annotated[Connection, Depends(get_conn)], + ctx: Annotated[TokenContext, Depends(require_project_token)], +) -> dict[str, object]: + _ = tenant_id, stack_name + return await _update_stack( + project_id=ctx.project_id, + stack_id=stack_id, + stack_name=None, + request=request, + conn=conn, ) - row = await conn.fetchrow("SELECT * FROM os_stacks WHERE id=$1", row["id"]) - return {"stack": _stack(row)} @router.delete("/v1/{tenant_id}/stacks/{id}", status_code=204) diff --git a/app/openstack/routes/neutron.py b/app/openstack/routes/neutron.py index 9bfc5e3..4404cd0 100644 --- a/app/openstack/routes/neutron.py +++ b/app/openstack/routes/neutron.py @@ -17,17 +17,20 @@ router = APIRouter(tags=["Neutron"]) def _net(row: Any) -> dict[str, Any]: + # Lab convention: shared network named "public" is the external provider net. + name = str(row["name"] or "") + is_external = bool(row["shared"]) and name == "public" return { "id": str(row["id"]), - "name": row["name"], + "name": name, "status": row["status"], "shared": row["shared"], "admin_state_up": row["admin_state_up"], "tenant_id": str(row["project_id"]), "project_id": str(row["project_id"]), - "router:external": False, - "provider:network_type": "vxlan", - "mtu": 1450, + "router:external": is_external, + "provider:network_type": "flat" if is_external else "vxlan", + "mtu": 1500 if is_external else 1450, } diff --git a/app/openstack/routes/nova.py b/app/openstack/routes/nova.py index ff67ccc..783212e 100644 --- a/app/openstack/routes/nova.py +++ b/app/openstack/routes/nova.py @@ -409,8 +409,8 @@ async def server_action( "unrescue": "ACTIVE", "os-stop": "SHUTOFF", "osStop": "SHUTOFF", - "shelve": "SHUTOFF", - "shelveOffload": "SHUTOFF", + "shelve": "SHELVED", + "shelveOffload": "SHELVED_OFFLOADED", "pause": "PAUSED", "suspend": "SUSPENDED", "rescue": "RESCUE", @@ -905,6 +905,18 @@ async def availability_zones( } +def _aggregate_dict(row: Any) -> dict[str, object]: + hosts = row["hosts"] + metadata = row["metadata"] + return { + "id": row["id"], + "name": row["name"], + "availability_zone": row["availability_zone"], + "hosts": hosts if not isinstance(hosts, str) else json.loads(hosts), + "metadata": metadata if not isinstance(metadata, str) else json.loads(metadata), + } + + @router.get("/v2.1/os-aggregates") async def list_aggregates( conn: Annotated[Connection, Depends(get_conn)], @@ -914,20 +926,24 @@ async def list_aggregates( rows = await conn.fetch("SELECT * FROM os_aggregates ORDER BY id") except Exception: rows = [] - return { - "aggregates": [ - { - "id": r["id"], - "name": r["name"], - "availability_zone": r["availability_zone"], - "hosts": r["hosts"] if not isinstance(r["hosts"], str) else json.loads(r["hosts"]), - "metadata": r["metadata"] - if not isinstance(r["metadata"], str) - else json.loads(r["metadata"]), - } - for r in rows - ] - } + return {"aggregates": [_aggregate_dict(r) for r in rows]} + + +@router.get("/v2.1/os-aggregates/{aggregate_id}") +async def show_aggregate( + aggregate_id: str, + conn: Annotated[Connection, Depends(get_conn)], + _ctx: Annotated[TokenContext, Depends(require_project_token)], +) -> dict[str, object]: + row = await conn.fetchrow( + """SELECT * FROM os_aggregates + WHERE id::text=$1 OR name=$1 + LIMIT 1""", + aggregate_id, + ) + if row is None: + raise OpenStackError("NotFound", f"aggregate {aggregate_id} not found", status_code=404) + return {"aggregate": _aggregate_dict(row)} @router.get("/v2.1/os-services") @@ -1137,7 +1153,8 @@ async def instance_actions( ) -> dict[str, object]: rows = await conn.fetch( """SELECT id, name, data FROM os_api_objects - WHERE service='nova' AND resource_type='instance_action' AND project_id=$1 + WHERE service='nova' AND resource_type='instance_action' + AND (project_id=$1 OR project_id IS NULL) AND (data->>'server_id'=$2 OR data->>'instance_uuid'=$2) ORDER BY created_at DESC LIMIT 20""", @@ -1170,7 +1187,8 @@ async def show_instance_action( ) -> dict[str, object]: row = await conn.fetchrow( """SELECT id, name, data FROM os_api_objects - WHERE service='nova' AND resource_type='instance_action' AND project_id=$1 + WHERE service='nova' AND resource_type='instance_action' + AND (project_id=$1 OR project_id IS NULL) AND (id::text=$2 OR data->>'request_id'=$2 OR name=$2) ORDER BY created_at DESC LIMIT 1""", @@ -1181,7 +1199,8 @@ async def show_instance_action( # Prefer an existing action for this server; otherwise persist the requested id. row = await conn.fetchrow( """SELECT id, name, data FROM os_api_objects - WHERE service='nova' AND resource_type='instance_action' AND project_id=$1 + WHERE service='nova' AND resource_type='instance_action' + AND (project_id=$1 OR project_id IS NULL) AND (data->>'server_id'=$2 OR data->>'instance_uuid'=$2) ORDER BY created_at DESC LIMIT 1""", ctx.project_id, @@ -1243,7 +1262,8 @@ async def _load_server_metadata( return metadata, public api = await conn.fetchrow( """SELECT data FROM os_api_objects - WHERE service='nova' AND resource_type='server_metadata' AND project_id=$1 + WHERE service='nova' AND resource_type='server_metadata' + AND (project_id=$1 OR project_id IS NULL) AND (data->>'server_id'=$2 OR id::text=$2) ORDER BY created_at LIMIT 1""", project_id, @@ -1557,6 +1577,36 @@ async def server_security_groups( } +@router.get("/v2.1/servers/{server_id}/os-security-groups/{security_group_id}") +async def show_server_security_group( + server_id: str, + security_group_id: str, + conn: Annotated[Connection, Depends(get_conn)], + ctx: Annotated[TokenContext, Depends(require_project_token)], +) -> dict[str, object]: + _ = server_id + row = await conn.fetchrow( + """SELECT * FROM os_security_groups + WHERE project_id=$1 AND (id::text=$2 OR name=$2) + LIMIT 1""", + ctx.project_id, + security_group_id, + ) + if row is None: + raise OpenStackError( + "NotFound", + f"security_group {security_group_id} not found", + status_code=404, + ) + return { + "security_group": { + "id": str(row["id"]), + "name": row["name"], + "description": row["description"], + } + } + + @router.get("/v2.1/servers/{server_id}/topology") async def server_topology( server_id: str, @@ -1648,7 +1698,8 @@ async def volume_attachments( ) -> dict[str, object]: rows = await conn.fetch( """SELECT * FROM os_api_objects - WHERE service='nova' AND resource_type='volume_attachment' AND project_id=$1 + WHERE service='nova' AND resource_type='volume_attachment' + AND (project_id=$1 OR project_id IS NULL) AND (data->>'server_id'=$2 OR data->>'serverId'=$2) ORDER BY created_at""", ctx.project_id, diff --git a/app/openstack/routes/swift.py b/app/openstack/routes/swift.py index 0f754f3..dcd978a 100644 --- a/app/openstack/routes/swift.py +++ b/app/openstack/routes/swift.py @@ -8,7 +8,6 @@ from uuid import uuid4 from asyncpg import Connection from fastapi import APIRouter, Depends, Request, Response -from fastapi.responses import PlainTextResponse from app.openstack.auth import TokenContext from app.openstack.deps import get_conn, require_token @@ -72,6 +71,36 @@ async def create_container( return Response(status_code=201) +@router.delete("/v1/{account}/{container}", status_code=204) +async def delete_container( + account: str, + container: str, + conn: Annotated[Connection, Depends(get_conn)], + ctx: Annotated[TokenContext, Depends(require_token)], +) -> Response: + _ = account + acct = _account(ctx) + objects = await conn.fetchval( + "SELECT count(*) FROM os_swift_objects WHERE account=$1 AND container=$2", + acct, + container, + ) + if int(objects or 0) > 0: + raise OpenStackError( + "Conflict", + "Container is not empty", + status_code=409, + ) + result = await conn.execute( + "DELETE FROM os_swift_containers WHERE account=$1 AND name=$2", + acct, + container, + ) + if result.endswith("0"): + raise OpenStackError("NotFound", "Container not found", status_code=404) + return Response(status_code=204) + + @router.get("/v1/{account}/{container}") async def list_objects( account: str, diff --git a/app/openstack/schema_engine.py b/app/openstack/schema_engine.py index 5967506..bd0e9d0 100644 --- a/app/openstack/schema_engine.py +++ b/app/openstack/schema_engine.py @@ -17,20 +17,11 @@ from app.openstack.auth import TokenContext, extract_token, validate_token from app.openstack.contract_loader import ensure_loaded, get_runtime from app.openstack.errors import OpenStackError from app.openstack.opspec import OperationSpec, ServicePack +from app.openstack.singular import singular as _singular _PATH_PARAM = re.compile(r"\{([^{}]+)\}") -def _singular(collection_key: str) -> str: - if collection_key.endswith("ies"): - return collection_key[:-3] + "y" - if collection_key.endswith("ses"): - return collection_key[:-2] - if collection_key.endswith("s") and not collection_key.endswith("ss"): - return collection_key[:-1] - return collection_key - - def _fastapi_path(path: str) -> str: """Convert {param} to FastAPI {param} (already compatible).""" return path if path.startswith("/") else f"/{path}" @@ -44,9 +35,7 @@ def _parent_scope(path: str, path_params: dict[str, str]) -> dict[str, str]: match = re.search(r"/([^/]+)/\{id\}(?:/|$)", path) if match: segment = match.group(1) - singular = ( - segment[:-1] if segment.endswith("s") and not segment.endswith("ss") else segment - ) + singular = _singular(segment) parent.setdefault(f"{singular}_id", path_params["id"]) parent.setdefault(singular, path_params["id"]) parent.setdefault("parent_id", path_params["id"]) diff --git a/app/openstack/seed.py b/app/openstack/seed.py index 9963604..0685bb9 100644 --- a/app/openstack/seed.py +++ b/app/openstack/seed.py @@ -2,6 +2,8 @@ from __future__ import annotations +import json + from asyncpg import Connection from app.openstack.ids import oid @@ -149,6 +151,22 @@ async def seed_openstack(conn: Connection, *, password: str = "secret") -> dict[ '{"demo-net":[{"OS-EXT-IPS-MAC:mac_addr":"fa:16:3e:00:00:01","version":4,"addr":"10.0.0.12","OS-EXT-IPS:type":"fixed"}]}', '{"env":"lab","_tags":["lab","env","demo"]}', ) + await conn.execute( + """INSERT INTO os_api_objects(id, service, resource_type, project_id, name, status, data) + VALUES($1,'nova','instance_action',$2,'create','DONE',$3::jsonb) + ON CONFLICT (id) DO NOTHING""", + oid("nova:instance_action:demo-1"), + demo_project, + json.dumps( + { + "action": "create", + "instance_uuid": str(server), + "server_id": str(server), + "request_id": f"req-seed-{str(server)[:8]}", + "message": None, + } + ), + ) await seed_openstack_extras(conn) @@ -226,12 +244,85 @@ async def seed_openstack_extras(conn: Connection) -> None: prefix, ) + # Shared external provider network for floating IPs / router gateways. + public_net = oid("net:public") + await conn.execute( + """INSERT INTO os_networks(id, project_id, name, status, shared, admin_state_up) + VALUES($1,$2,'public','ACTIVE',true,true) ON CONFLICT (id) DO NOTHING""", + public_net, + admin_project, + ) + public_subnet = oid("subnet:public") + await conn.execute( + """INSERT INTO os_subnets(id, network_id, project_id, name, cidr, ip_version, gateway_ip) + VALUES($1,$2,$3,'public-subnet','203.0.113.0/24',4,'203.0.113.1') + ON CONFLICT (id) DO NOTHING""", + public_subnet, + public_net, + admin_project, + ) await conn.execute( """INSERT INTO os_routers(id, project_id, name, status, admin_state_up, external_gateway_info) - VALUES($1,$2,'demo-router','ACTIVE',true,NULL) ON CONFLICT (id) DO NOTHING""", + VALUES($1,$2,'demo-router','ACTIVE',true,$3::jsonb) ON CONFLICT (id) DO NOTHING""", oid("router:demo"), demo_project, + json.dumps( + { + "network_id": str(public_net), + "enable_snat": True, + "external_fixed_ips": [ + {"ip_address": "203.0.113.2", "subnet_id": str(public_subnet)} + ], + } + ), ) + await conn.execute( + """INSERT INTO os_floating_ips( + id, project_id, floating_ip_address, floating_network_id, port_id, status) + VALUES($1,$2,'203.0.113.50',$3,NULL,'DOWN') ON CONFLICT (id) DO NOTHING""", + oid("fip:demo"), + demo_project, + public_net, + ) + + demo_net = oid("net:demo-net") + demo_subnet = oid("subnet:demo-subnet") + demo_server = oid("server:demo-1") + await conn.execute( + """INSERT INTO os_ports( + id, network_id, project_id, name, status, mac_address, + device_id, device_owner, fixed_ips) + VALUES( + $1,$2,$3,'demo-port','ACTIVE','fa:16:3e:00:00:aa', + $4,'compute:nova', + $5::jsonb + ) ON CONFLICT (id) DO NOTHING""", + oid("port:demo"), + demo_net, + demo_project, + str(demo_server), + json.dumps([{"subnet_id": str(demo_subnet), "ip_address": "10.0.0.12"}]), + ) + await conn.execute( + """INSERT INTO os_server_groups(id, project_id, name, policies, members) + VALUES($1,$2,'demo-sg',$3::jsonb,'[]'::jsonb) ON CONFLICT (id) DO NOTHING""", + oid("sgroup:demo"), + demo_project, + json.dumps(["soft-anti-affinity"]), + ) + try: + await conn.execute( + """INSERT INTO os_aggregates(id, name, availability_zone, hosts, metadata) + VALUES(1,'agg-nova','nova','["compute-1"]'::jsonb,'{}'::jsonb) + ON CONFLICT (id) DO NOTHING""" + ) + await conn.execute( + """INSERT INTO os_compute_services("binary", host, zone, status, state) + VALUES('nova-compute','compute-1','nova','enabled','up')""" + ) + except Exception: + # Topology tables from migration 011 may be absent in partial installs. + pass await conn.execute( """INSERT INTO os_nodes(id, name, driver, provision_state, power_state, resource_class, properties, driver_info, ports) diff --git a/app/openstack/seed_cli.py b/app/openstack/seed_cli.py index d9114ec..87f44ba 100644 --- a/app/openstack/seed_cli.py +++ b/app/openstack/seed_cli.py @@ -6,12 +6,16 @@ import argparse import asyncio import json import os -import sys import asyncpg from app.config import get_settings -from app.openstack.demo_cloud import clear_openstack_state, seed_openstack_demo +from app.openstack.demo_cloud import ( + DEMO_CLUSTER_SIZES, + clear_openstack_state, + resolve_demo_size, + seed_openstack_demo, +) from app.openstack.seed import seed_openstack @@ -20,22 +24,28 @@ async def _run(profile: str, password: str) -> dict[str, object]: conn = await asyncpg.connect(settings.database_url.get_secret_value()) try: async with conn.transaction(): - if profile in {"demo", "demo-cloud", "openstack-demo-cloud"}: - return await seed_openstack_demo(conn, password=password) - if profile in {"minimal", "lab", "small"}: + key = profile.strip().lower() + if key in {"minimal", "lab"}: await clear_openstack_state(conn) return await seed_openstack(conn, password=password) - raise SystemExit(f"unknown profile: {profile} (use minimal|demo)") + # demo / demo-small / small / large / big / openstack-demo-cloud:… + try: + cfg = resolve_demo_size(key) + except ValueError as exc: + known = "minimal | demo | demo-small | demo-large | demo-big | small | large | big" + raise SystemExit(f"unknown profile: {profile} (use {known})") from exc + return await seed_openstack_demo(conn, size=cfg.name, password=password) finally: await conn.close() def main(argv: list[str] | None = None) -> int: + sizes = ", ".join(sorted(DEMO_CLUSTER_SIZES)) parser = argparse.ArgumentParser(description=__doc__) parser.add_argument( "--profile", default=os.environ.get("SEED_PROFILE", "minimal"), - help="minimal | demo", + help=f"minimal | demo | demo-small | demo-large | demo-big | {sizes}", ) parser.add_argument("--password", default=os.environ.get("OS_PASSWORD", "secret")) args = parser.parse_args(argv) diff --git a/app/openstack/singular.py b/app/openstack/singular.py new file mode 100644 index 0000000..532ff66 --- /dev/null +++ b/app/openstack/singular.py @@ -0,0 +1,33 @@ +"""Shared plural→singular helpers for OpenStack resource keys.""" + +from __future__ import annotations + +# Words that already look plural-ending but must not lose a trailing "s". +_IRREGULAR: dict[str, str] = { + "status": "status", + "statuses": "status", + "addresses": "address", + "quotas": "quota", + "metadata": "metadata", + "series": "series", + "os-services": "os-service", + "os-hosts": "os-host", +} + + +def singular(collection_key: str) -> str: + """Return a singular resource key for an OpenStack collection name.""" + + key = collection_key.strip() + if not key: + return key + lower = key.lower() + if lower in _IRREGULAR: + return _IRREGULAR[lower] + if key.endswith("ies") and len(key) > 3: + return key[:-3] + "y" + if key.endswith("ses") and len(key) > 3: + return key[:-2] + if key.endswith("s") and not key.endswith("ss"): + return key[:-1] + return key diff --git a/app/openstack/surface_probe.py b/app/openstack/surface_probe.py index 87a9d49..b48947e 100644 --- a/app/openstack/surface_probe.py +++ b/app/openstack/surface_probe.py @@ -14,10 +14,13 @@ import urllib.request from collections import defaultdict from dataclasses import dataclass, field from typing import Any +from urllib.parse import urlparse from uuid import uuid4 from app.openstack.contract_loader import load_series_pack from app.openstack.opspec import OperationSpec, ServicePack +from app.openstack.singular import singular as _singular +from app.openstack.surface import all_service_ports _PATH_PARAM = re.compile(r"\{([^{}]+)\}") @@ -26,6 +29,59 @@ ACCEPTABLE = frozenset({200, 201, 202, 204, 300, 400, 401, 403, 404, 405, 409, 4 # Lifecycle success for exercised CRUD steps. SUCCESS = frozenset({200, 201, 202, 204}) +# OpenStack-API-Version type tokens (service name → header type). +_MV_TYPE = { + "nova": "compute", + "cinder": "volume", + "placement": "placement", + "manila": "share", + "ironic": "baremetal", +} + + +def gateway_hostname(host: str) -> tuple[str, str]: + """Return (scheme, hostname) from a Keystone/gateway base URL.""" + + parsed = urlparse(host if "://" in host else f"http://{host}") + return parsed.scheme or "http", parsed.hostname or "127.0.0.1" + + +def service_base_url(host: str, service: str, *, port: int | None = None) -> str: + """Build ``scheme://hostname:`` for real OpenStack ports. + + ``host`` is the Keystone/gateway URL (may use up-local :15000). Service calls + always use the catalog port from ``docs/ports.md`` / ``ServicePack.port``. + """ + + scheme, hostname = gateway_hostname(host) + ports = all_service_ports() + svc_port = port if port is not None else ports.get(service) + if svc_port is None: + # Fall back to the host as-is (route-service header still applied). + return host.rstrip("/") + return f"{scheme}://{hostname}:{svc_port}" + + +def microversion_headers(pack: ServicePack, op: OperationSpec) -> dict[str, str]: + """Headers when the pack declares a microversion for this service/op.""" + + ver = op.microversion_min or pack.default_microversion + if not ver: + return {} + typ = _MV_TYPE.get(pack.name) or (pack.typ if pack.typ and pack.typ != pack.name else pack.name) + headers = {"OpenStack-API-Version": f"{typ} {ver}"} + if pack.name == "nova": + headers["X-OpenStack-Nova-API-Version"] = ver + return headers + + +def count_declared_ops(packs: dict[str, ServicePack]) -> tuple[int, int]: + """Return (pack_ops, synthetic_head_ops) for coverage arithmetic.""" + + pack_ops = sum(len(p.operations) for p in packs.values()) + head_ops = sum(1 for p in packs.values() for op in p.operations if op.method == "GET") + return pack_ops, head_ops + @dataclass class ProbeResult: @@ -123,16 +179,6 @@ def fill_path(template: str, ctx: dict[str, str] | None = None) -> str: return _PATH_PARAM.sub(repl, template) -def _singular(key: str) -> str: - if key.endswith("ies"): - return key[:-3] + "y" - if key.endswith("ses"): - return key[:-2] - if key.endswith("s") and not key.endswith("ss"): - return key[:-1] - return key - - def _body_for( op: OperationSpec, *, @@ -259,27 +305,31 @@ def http_request( token: str | None = None, service: str | None = None, data: dict[str, Any] | None = None, + headers: dict[str, str] | None = None, timeout: float = 20.0, ) -> tuple[int, Any]: body = None if data is None else json.dumps(data).encode() - headers = {"Accept": "application/json"} + hdrs = {"Accept": "application/json"} if data is not None: - headers["Content-Type"] = "application/json" + hdrs["Content-Type"] = "application/json" if token: - headers["X-Auth-Token"] = token + hdrs["X-Auth-Token"] = token if service: - headers["X-OpenStack-Route-Service"] = service - req = urllib.request.Request(url, data=body, headers=headers, method=method) + # Fallback when the client cannot reach the real service port. + hdrs["X-OpenStack-Route-Service"] = service + if headers: + hdrs.update(headers) + req = urllib.request.Request(url, data=body, headers=hdrs, method=method) try: with urllib.request.urlopen(req, timeout=timeout) as res: - raw = res.read().decode() + raw = res.read().decode() if method.upper() != "HEAD" else "" try: parsed: Any = json.loads(raw) if raw else None except json.JSONDecodeError: parsed = raw return res.status, parsed except urllib.error.HTTPError as exc: - raw = exc.read().decode() + raw = exc.read().decode() if method.upper() != "HEAD" else "" try: parsed = json.loads(raw) if raw else None except json.JSONDecodeError: @@ -434,6 +484,7 @@ def probe_operation( ctx: dict[str, str] | None = None, project_id: str | None = None, mode: str = "probe", + method_override: str | None = None, ) -> tuple[ProbeResult, Any]: path_ctx = dict(ctx or {}) if project_id: @@ -442,27 +493,72 @@ def probe_operation( path_ctx.setdefault("tenant_id", project_id) path_ctx.setdefault("account", project_id) path = fill_path(op.path, path_ctx) - url = f"{host.rstrip('/')}{path}" - data = _body_for(op, ctx=path_ctx, project_id=project_id) - status, payload = http_request(op.method, url, token=token, service=pack.name, data=data) + base = service_base_url(host, pack.name, port=pack.port) + url = f"{base}{path}" + method = (method_override or op.method).upper() + data = None if method in {"GET", "HEAD", "DELETE"} else _body_for(op, ctx=path_ctx, project_id=project_id) + mv = microversion_headers(pack, op) + status, payload = http_request( + method, + url, + token=token, + service=pack.name, + data=data, + headers=mv or None, + ) detail = "" - check = SUCCESS if mode == "lifecycle" else ACCEPTABLE + # Synthetic HEAD: accept the same codes as probe (no body expected). + if method == "HEAD": + check = ACCEPTABLE + result_mode = "head" + else: + check = SUCCESS if mode == "lifecycle" else ACCEPTABLE + result_mode = mode if status not in check: detail = json.dumps(payload)[:300] if not isinstance(payload, str) else str(payload)[:300] result = ProbeResult( service=pack.name, - method=op.method, + method=method, path=op.path, - operation_id=op.operation_id, + operation_id=op.operation_id if method != "HEAD" else f"{op.operation_id}__head", status=status, detail=detail, - mode=mode, + mode=result_mode, payload=payload, collection_key=op.collection_key, ) return result, payload +def _append_synthetic_heads( + report: ProbeReport, + packs: dict[str, ServicePack], + *, + host: str, + token: str, + project_id: str, + ctx: dict[str, str], +) -> None: + """Issue HEAD for every pack GET path (contract matrix Layer A).""" + + for name in sorted(packs): + pack = packs[name] + for op in pack.operations: + if op.method != "GET": + continue + result, _ = probe_operation( + host, + pack, + op, + token=token, + ctx=ctx, + project_id=project_id, + mode="probe", + method_override="HEAD", + ) + report.results.append(result) + + def _seed_context( host: str, token: str, @@ -490,11 +586,33 @@ def _seed_context( ("ironic", "/v1/nodes", "nodes", "node"), ("ironic", "/v1/drivers", "drivers", "driver"), ("octavia", "/v2/lbaas/loadbalancers", "loadbalancers", "loadbalancer"), - ("swift", f"/v1/{project_id}", None, "account"), + ("swift", f"/v1/AUTH_{project_id}", None, "account"), ] for service, path, key, alias in seeds: - st, body = http_request("GET", f"{host.rstrip('/')}{path}", token=token, service=service) - if st >= 400 or not isinstance(body, dict): + url = f"{service_base_url(host, service)}{path}" + st, body = http_request("GET", url, token=token, service=service) + if st >= 400: + continue + # Swift account listing is a JSON array, not an envelope object. + if service == "swift" and isinstance(body, list) and body: + ctx["account"] = f"AUTH_{project_id}" + first = body[0] if isinstance(body[0], dict) else {} + if first.get("name"): + ctx["container"] = str(first["name"]) + # Seed object name from the first container listing when present. + ost, objs = http_request( + "GET", + f"{service_base_url(host, 'swift')}/v1/{ctx['account']}/{ctx['container']}", + token=token, + service="swift", + ) + if ost < 400 and isinstance(objs, list) and objs: + oname = objs[0].get("name") if isinstance(objs[0], dict) else None + if oname: + ctx["object"] = str(oname) + ctx["object_name"] = str(oname) + continue + if not isinstance(body, dict): continue ids = _extract_ids(body, key) if ids: @@ -527,7 +645,7 @@ def _ensure_swift_resources(host: str, token: str, project_id: str, ctx: dict[st account = ctx.get("account") or project_id container = ctx.get("container") or f"probe-c-{uuid4().hex[:8]}" obj = ctx.get("object") or ctx.get("object_name") or f"probe-o-{uuid4().hex[:8]}.txt" - base = host.rstrip("/") + base = service_base_url(host, "swift") st, _ = http_request( "PUT", f"{base}/v1/{account}/{container}", token=token, service="swift", data={} ) @@ -766,6 +884,34 @@ def probe_series_lifecycle( local["_item_id"] = rid local["id"] = rid local["server_id"] = rid + # Swift: empty the container before DELETE so the API returns 204 + # (409 Conflict for a non-empty container is correct OpenStack behaviour). + if ( + op.method == "DELETE" + and pack.name == "swift" + and op.resource_type == "container" + ): + acct = local.get("account") or project_id + cname = local.get("container") or local.get("id") + if acct and cname: + base = service_base_url(host, "swift", port=pack.port) + st_list, objs = http_request( + "GET", + f"{base}/v1/{acct}/{cname}", + token=token, + service="swift", + ) + if st_list in SUCCESS and isinstance(objs, list): + for obj in objs: + name = obj.get("name") if isinstance(obj, dict) else None + if name: + http_request( + "DELETE", + f"{base}/v1/{acct}/{cname}/{name}", + token=token, + service="swift", + ) + result, payload = probe_operation( host, pack, op, token=token, ctx=local, project_id=project_id, mode="lifecycle" ) @@ -819,6 +965,9 @@ def probe_series_lifecycle( report.results.append(result) done.add((op.method, op.path)) + _append_synthetic_heads( + report, packs, host=host, token=token, project_id=project_id, ctx=base_ctx + ) return report @@ -852,6 +1001,27 @@ def probe_series( host, pack, op, token=token, ctx=ctx, project_id=project_id, mode="probe" ) report.results.append(result) + if not collections_only: + _append_synthetic_heads( + report, packs, host=host, token=token, project_id=project_id, ctx=ctx + ) + else: + # Smoke: HEAD only for the collection GET paths we probed. + for pack in packs.values(): + for op in pack.operations: + if op.method != "GET" or "{" in op.path: + continue + result, _ = probe_operation( + host, + pack, + op, + token=token, + ctx=ctx, + project_id=project_id, + mode="probe", + method_override="HEAD", + ) + report.results.append(result) return report diff --git a/app/web/index.html b/app/web/index.html index 612dce8..fcc9c2e 100644 --- a/app/web/index.html +++ b/app/web/index.html @@ -583,6 +583,126 @@ padding-top: 2px; } + .demo-size-grid { + display: grid; + grid-template-columns: repeat(3, minmax(0, 1fr)); + gap: 12px; + margin-top: 4px; + } + + @media (max-width: 900px) { + .demo-size-grid { + grid-template-columns: 1fr; + } + } + + .demo-size-card { + display: flex; + flex-direction: column; + gap: 10px; + padding: 14px 14px 12px; + border: 1px solid var(--border); + border-radius: 10px; + background: + linear-gradient(165deg, color-mix(in srgb, var(--brand-accent) 8%, var(--surface-raised)) 0%, var(--surface-raised) 55%); + min-height: 168px; + } + + .demo-size-card.is-active { + border-color: color-mix(in srgb, var(--brand-accent) 55%, var(--border)); + box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--brand-accent) 25%, transparent); + } + + .demo-size-card-head { + display: flex; + align-items: baseline; + justify-content: space-between; + gap: 8px; + } + + .demo-size-card-title { + margin: 0; + font-size: 15px; + font-weight: 700; + letter-spacing: 0.01em; + color: var(--text); + text-transform: capitalize; + } + + .demo-size-card-chip { + font-size: 10px; + font-weight: 700; + letter-spacing: 0.06em; + text-transform: uppercase; + color: var(--brand-accent); + background: color-mix(in srgb, var(--brand-accent) 12%, transparent); + border-radius: 999px; + padding: 3px 8px; + white-space: nowrap; + } + + .demo-size-card-metrics { + display: grid; + grid-template-columns: 1fr 1fr; + gap: 6px 10px; + margin: 0; + } + + .demo-size-card-metrics div { + display: flex; + flex-direction: column; + gap: 1px; + } + + .demo-size-card-metrics dt { + margin: 0; + font-size: 10px; + text-transform: uppercase; + letter-spacing: 0.04em; + color: var(--muted); + } + + .demo-size-card-metrics dd { + margin: 0; + font-size: 13px; + font-weight: 600; + color: var(--text); + } + + .demo-size-card-note { + margin: 0; + font-size: 11px; + line-height: 1.4; + color: var(--muted); + flex: 1; + } + + .demo-size-card .btn-demo-load { + width: 100%; + justify-content: center; + margin-top: auto; + } + + .demo-toolbar { + display: flex; + flex-wrap: nowrap; + gap: 8px; + align-items: stretch; + margin-top: 12px; + padding-top: 12px; + border-top: 1px solid var(--border); + width: 100%; + } + + .demo-toolbar .btn { + flex: 1 1 0; + display: inline-flex; + align-items: center; + justify-content: center; + min-width: 0; + text-align: center; + } + .btn-demo-load { background: var(--brand-accent); border-color: var(--brand-accent); @@ -1380,20 +1500,16 @@ } .catalog-option { - display: grid; - grid-template-columns: 1fr auto; - grid-template-rows: auto auto; - gap: 2px 8px; + display: flex; + flex-direction: column; + gap: 0; width: 100%; - padding: 8px 10px; border: 1px solid var(--border); border-left: 3px solid transparent; border-radius: 0; background: var(--surface-raised); - text-align: left; - cursor: pointer; - font: inherit; color: var(--text); + overflow: hidden; } .catalog-option:hover { background: var(--surface-hover); } @@ -1405,6 +1521,60 @@ box-shadow: none; } + .catalog-option-main { + display: grid; + grid-template-columns: 1fr auto; + grid-template-rows: auto auto; + gap: 2px 8px; + width: 100%; + padding: 8px 10px; + border: 0; + background: transparent; + text-align: left; + cursor: pointer; + font: inherit; + color: inherit; + } + + .catalog-option-mv { + display: none; + padding: 0 10px 8px; + border-top: 1px solid transparent; + } + + .catalog-option.active .catalog-option-mv { + display: block; + border-top-color: var(--border); + padding-top: 8px; + } + + .catalog-option-mv-label { + display: block; + margin-bottom: 4px; + font-size: 10px; + font-weight: 700; + letter-spacing: 0.06em; + text-transform: uppercase; + color: var(--muted); + } + + .catalog-mv-select { + width: 100%; + min-height: 30px; + padding: 4px 8px; + border: 1px solid var(--border); + border-radius: 0; + background: var(--surface); + color: var(--text); + font: inherit; + font-size: 12px; + } + + .catalog-mv-select:disabled { + opacity: 0.55; + cursor: not-allowed; + } + .catalog-source { margin-bottom: 12px; padding: 0; @@ -3402,6 +3572,10 @@ Catalog +
+ Microversion + +

Cloud

@@ -3430,34 +3604,9 @@
-

OpenStack API pack

-
-
- Series - -
-
- Operations - -
-
- Services - -
-
- -
- - -
- -
- - - - -
-

Surface-complete contract packs drive schema routes for every API-ref operation.

+

+ Change series / microversion in API catalog. +

@@ -3606,7 +3755,7 @@

- Apply swaps the live OpenStack series pack in memory. Process restart returns to OPENSTACK_SERIES. + Select a series card → pick microversion on the card → Apply as runtime.

@@ -3718,6 +3867,7 @@ const LS_SELECTION = "os-sim-selection"; const LS_PARAMS = "os-sim-params"; const LS_THEME = "os-sim-theme"; + const LS_MICROVERSION = "os-sim-microversion"; const HISTORY_LIMIT = 100; const PARAMS_STORE_LIMIT = 200; @@ -3738,6 +3888,8 @@ major: 9, majors: [], runtimeVersion: null, + osPack: null, + pendingMicroversion: {}, catalog: null, method: null, pathValues: {}, @@ -3855,6 +4007,7 @@ uiModalConfirm: document.getElementById("ui-modal-confirm"), statRuntime: document.getElementById("stat-runtime"), statCatalog: document.getElementById("stat-catalog"), + statMicroversion: document.getElementById("stat-microversion"), statClusterName: document.getElementById("stat-cluster-name"), statNodes: document.getElementById("stat-nodes"), statQemu: document.getElementById("stat-qemu"), @@ -3862,16 +4015,6 @@ statStorage: document.getElementById("stat-storage"), statQuorum: document.getElementById("stat-quorum"), statImpl: document.getElementById("stat-impl"), - statOsSeries: document.getElementById("stat-os-series"), - statOsOps: document.getElementById("stat-os-ops"), - statOsServices: document.getElementById("stat-os-services"), - osSeriesSelect: document.getElementById("os-series-select"), - btnOsSeriesActivate: document.getElementById("btn-os-series-activate"), - osMvService: document.getElementById("os-mv-service"), - osMvVersion: document.getElementById("os-mv-version"), - btnOsMvSet: document.getElementById("btn-os-mv-set"), - btnOsMvClear: document.getElementById("btn-os-mv-clear"), - osPackNote: document.getElementById("os-pack-note"), }; function setText(el, value) { @@ -4229,11 +4372,49 @@ return { pathValues, bodyValues, body }; } + function formatParamDisplayValue(value) { + if (value == null) return ""; + // Objects/arrays must become JSON — String({...}) is "[object Object]". + if (typeof value === "object") { + try { + return JSON.stringify(value); + } catch { + return ""; + } + } + const text = String(value); + // Drop corrupt leftovers from older String(object) coercion. + if (text === "[object Object]" || text === "[object Array]") return ""; + return text; + } + + function coerceBodyFieldValue(raw) { + const text = String(raw ?? "").trim(); + if (!text) return undefined; + if (text === "true" || text === "false") return text === "true"; + if (text === "null") return null; + if (/^-?\d+$/.test(text)) return Number(text); + if (/^-?\d+\.\d+$/.test(text)) return Number(text); + if ( + (text.startsWith("{") && text.endsWith("}")) + || (text.startsWith("[") && text.endsWith("]")) + ) { + try { + return JSON.parse(text); + } catch { + /* keep as string */ + } + } + return text; + } + function storedParamValue(store, name) { if (!store || typeof store !== "object" || !(name in store)) return null; const value = store[name]; if (value == null) return ""; - return String(value); + // Legacy String(object) leftovers — treat as missing so examples apply. + if (value === "[object Object]" || value === "[object Array]") return null; + return formatParamDisplayValue(value); } function resolveParamValue(fieldName, endpointStore, example) { @@ -4241,7 +4422,7 @@ if (endpointValue != null) return endpointValue; const globalValue = storedParamValue(readGlobalParamFields(), fieldName); if (globalValue != null) return globalValue; - return String(example ?? ""); + return formatParamDisplayValue(example); } function captureParamInputs() { @@ -4466,6 +4647,111 @@ return `${escapeHtml(formatCacheAge(cached.savedAt))} · ${escapeHtml(cached.source_version)}`; } + function microversionServicesForMajor(major) { + const info = majorInfo(major); + const fromMajor = info?.microversions; + if (Array.isArray(fromMajor) && fromMajor.length) return fromMajor; + if (runtimeMajorMatches(major) && Array.isArray(state.osPack?.services)) { + return state.osPack.services.filter( + (s) => s.default_microversion || s.max_microversion, + ); + } + return []; + } + + function readStoredMicroversions() { + try { + const raw = JSON.parse(localStorage.getItem(LS_MICROVERSION) || "{}"); + return raw && typeof raw === "object" ? raw : {}; + } catch { + return {}; + } + } + + function writeStoredMicroversion(major, value) { + try { + const store = readStoredMicroversions(); + store[String(major)] = String(value || "default"); + localStorage.setItem(LS_MICROVERSION, JSON.stringify(store)); + } catch { + /* ignore quota / private mode */ + } + } + + function microversionLabel(value) { + const raw = String(value || "default"); + if (raw === "default") return "Pack defaults"; + if (raw === "custom") { + const overrides = state.osPack?.microversion_overrides || {}; + const parts = Object.entries(overrides).map(([svc, ver]) => `${svc} ${ver}`); + return parts.length ? parts.join(", ") : "Custom"; + } + return raw.replace(":", " "); + } + + function updateEnvironmentMicroversion() { + if (!els.statMicroversion) return; + const major = runtimeMajorFromVersion(state.runtimeVersion); + if (major == null) { + setText(els.statMicroversion, "—"); + return; + } + setText(els.statMicroversion, microversionLabel(currentMicroversionSelectValue(major))); + } + + function currentMicroversionSelectValue(major) { + const pending = state.pendingMicroversion?.[major]; + if (pending != null) return pending; + if (runtimeMajorMatches(major)) { + const overrides = state.osPack?.microversion_overrides || {}; + const entries = Object.entries(overrides); + if (entries.length === 1) { + const [service, version] = entries[0]; + return `${service}:${version}`; + } + if (entries.length > 1) return "custom"; + } + const stored = readStoredMicroversions()[String(major)]; + return stored || "default"; + } + + function renderMicroversionOptions(major) { + const services = microversionServicesForMajor(major); + const highlight = ["nova", "cinder", "placement", "manila", "ironic"]; + const sorted = [...services].sort((a, b) => { + const ai = highlight.indexOf(a.name); + const bi = highlight.indexOf(b.name); + if (ai === -1 && bi === -1) return String(a.name).localeCompare(String(b.name)); + if (ai === -1) return 1; + if (bi === -1) return -1; + return ai - bi; + }); + const options = [``]; + const selected = currentMicroversionSelectValue(major); + if (selected === "custom") { + options.push(``); + } + for (const svc of sorted) { + const name = String(svc.name || ""); + if (!name) continue; + const def = svc.default_microversion; + const max = svc.max_microversion; + if (def) { + const value = `${name}:${def}`; + options.push( + ``, + ); + } + if (max && max !== def) { + const value = `${name}:${max}`; + options.push( + ``, + ); + } + } + return options.join(""); + } + function renderCatalogSourceInfo(major = state.major) { if (!els.catalogSourceInfo) return; const info = majorInfo(major); @@ -4481,6 +4767,7 @@ ? `Bundled` : `Remote only`; els.catalogSourceInfo.hidden = false; + const mvLabel = microversionLabel(currentMicroversionSelectValue(major)); els.catalogSourceInfo.innerHTML = `

Catalog source · ${escapeHtml(info.series || ("Series " + info.major))}

@@ -4492,6 +4779,7 @@
Delivery
${bundleLabel}
Source URL
${escapeHtml(info.artifact_url)}
Runtime
${escapeHtml(state.runtimeVersion || "—")}${runtimeMajorMatches(major) ? ' active' : ""}
+
Microversion
${escapeHtml(mvLabel)}
`; updateApplyButton(); @@ -4525,7 +4813,7 @@ : `Apply ${seriesLabel(state.major)} as runtime`; if (els.catalogApplyNote) { els.catalogApplyNote.textContent = - "Apply activates the OpenStack series pack in memory (schema remount). Restart returns to the boot series."; + "Select a series card → pick microversion on the card → Apply as runtime. Restart returns to the boot series."; } } @@ -4534,20 +4822,50 @@ const store = readCatalogStore(); els.catalogOptions.innerHTML = state.majors.map((m) => { const cached = store[String(m.major)]; - const active = m.major === state.major ? "active" : ""; + const selected = m.major === state.major; + const isRuntime = runtimeMajorMatches(m.major); const slug = String(m.latest_version || m.series || m.major) .replace(/^openstack-/i, "") .toLowerCase(); const ops = Number(m.operation_count || 0); - const meta = cached ? formatCacheAge(cached.savedAt) : "remote download"; + const mvLabel = microversionLabel(currentMicroversionSelectValue(m.major)); + const meta = isRuntime + ? (mvLabel === "Pack defaults" ? "runtime" : mvLabel) + : (cached ? formatCacheAge(cached.savedAt) : "bundled"); return ` - `; +
+ +
+ + +
+
`; }).join(""); + const select = els.catalogOptions.querySelector( + `.catalog-mv-select[data-major="${state.major}"]`, + ); + if (select) { + const value = currentMicroversionSelectValue(state.major); + if ([...select.options].some((opt) => opt.value === value)) { + select.value = value; + } else { + select.value = "default"; + } + select.disabled = false; + } + renderCatalogSourceInfo(state.major); } @@ -4559,8 +4877,13 @@ els.catalogDrawer.setAttribute("aria-hidden", open ? "false" : "true"); els.catalogBackdrop.setAttribute("aria-hidden", open ? "false" : "true"); if (open) { - renderCatalogPanel(); refreshCatalogCoverage().catch((error) => console.error(error)); + refreshOpenStackPack() + .then(() => renderCatalogPanel()) + .catch((error) => { + console.error(error); + renderCatalogPanel(); + }); } } @@ -4843,6 +5166,15 @@ if (hasStoredBody) { els.body.value = isEmptyRequestBody(storedBody) ? "" : storedBody; updateBodyHighlight(); + } else if ( + method.body_example + && typeof method.body_example === "object" + && !Array.isArray(method.body_example) + && Object.keys(method.body_example).length > 0 + ) { + // Prefer full OpenStack-shaped body_example over PARAM field stubs. + els.body.value = JSON.stringify(method.body_example, null, 2); + updateBodyHighlight(); } else if (canBuildBody) { syncBodyFromFields({ syncVisibility: false }); } else { @@ -5206,8 +5538,45 @@ function buildDemoDataHtml(data) { const loaded = Boolean(data?.loaded); + const activeSize = data?.size || null; + const profile = loaded + ? (activeSize || String(data?.profile || "").split(":").pop() || "demo") + : "minimal"; + const badgeLabel = loaded ? String(profile) : "Minimal"; + const sizes = [ + { + id: "small", + label: "Small", + chip: "lab", + hosts: 3, + vms: 50, + volumes: 30, + nets: 11, + note: "3 AZ · light nets/SG · 30 volumes · 6 FIPs", + }, + { + id: "large", + label: "Large", + chip: "default", + hosts: 10, + vms: 1000, + volumes: 600, + nets: 21, + note: "3 AZ · fuller topology · 600 volumes · 120 FIPs", + }, + { + id: "big", + label: "Big", + chip: "heavy", + hosts: 20, + vms: 2000, + volumes: 1200, + nets: 36, + note: "3 AZ · dense topology · 1200 volumes · 240 FIPs", + }, + ]; const stats = [ - ["Profile", data?.profile ?? "—", loaded ? "ok" : ""], + ["Profile", profile, loaded ? "ok" : ""], ["Servers", data?.servers ?? "—", ""], ["Hypervisors", data?.hypervisors ?? "—", ""], ["Networks", data?.networks ?? "—", ""], @@ -5224,13 +5593,11 @@

OpenStack demo cloud

-

Load a synthetic full OpenStack cloud into PostgreSQL for client and UI exploration.

- ${loaded ? "Loaded" : "Minimal"} +

Pick a cluster size — inventory (hosts, VMs, volumes, nets, FIPs, LBs, stacks…) scales together.

+ ${escapeHtml(badgeLabel)}

- ~1000 servers · 16 hypervisors · 3 AZs · 5 projects · networks/ports/FIPs · 600 volumes · - Octavia LBs · Heat stacks · Ironic · Swift · Keystone users (admin/ops/developer…). - Password for all users: secret. Loading replaces current OpenStack state. + Password for all users: secret. Loading replaces current OpenStack state and invalidates active tokens.

${stats.map(([label, value, tone]) => ` @@ -5240,8 +5607,29 @@
`).join("")}
-
- +
+ ${sizes.map((s) => { + const active = activeSize === s.id || profile === s.id; + return ` +
+
+

${escapeHtml(s.label)}

+ ${escapeHtml(s.chip)} +
+
+
Hosts
${s.hosts}
+
VMs
${s.vms}
+
Volumes
${s.volumes}
+
Networks
${s.nets}
+
+

${escapeHtml(s.note)}

+ +
`; + }).join("")} +
+
@@ -5280,35 +5668,139 @@ renderDemoState(await res.json()); } - async function loadDemoData() { - const loadBtn = document.getElementById("btn-demo-load"); - if (loadBtn) loadBtn.disabled = true; + async function reissueSessionAfterSeed() { + // Seed truncates os_tokens (+ users). Old Keystone tickets are dead — mint a fresh one + // from the credentials still in the auth form / previous session. + const wasSignedIn = Boolean(state.ticket || state.username || readStoredAuth()?.username); + const stored = readStoredAuth(); + const username = ( + state.username || stored?.username || els.username?.value || "admin" + ).trim() || "admin"; + const project = ( + state.project + || stored?.project + || document.getElementById("os-project")?.value + || "admin" + ).trim() || "admin"; + const password = els.password?.value !== undefined && els.password.value !== "" + ? els.password.value + : "secret"; + + state.ticket = null; + state.csrf = null; + if (els.username) els.username.value = username; + const projectEl = document.getElementById("os-project"); + if (projectEl) projectEl.value = project; + + if (!wasSignedIn) { + setAuth(false); + persistAuth(); + return false; + } + + try { + const res = await fetch("/v3/auth/tokens", { + method: "POST", + headers: { + "Content-Type": "application/json", + Accept: "application/json", + "X-OpenStack-Route-Service": "keystone", + }, + body: JSON.stringify({ + auth: { + identity: { + methods: ["password"], + password: { + user: { + name: username, + domain: { name: "Default" }, + password, + }, + }, + }, + scope: { + project: { name: project, domain: { name: "Default" } }, + }, + }, + }), + }); + const body = await res.json().catch(() => ({})); + const token = + res.headers.get("X-Subject-Token") + || res.headers.get("x-subject-token") + || body?.token?.id + || null; + if (!res.ok || !token) { + throw new Error( + (body.error && (body.error.message || body.error.title)) + || body.detail + || `HTTP ${res.status}`, + ); + } + state.ticket = token; + state.csrf = ""; + state.username = username; + state.project = project; + setAuth(true); + persistAuth(); + return true; + } catch (error) { + console.warn("reissue session after seed", error); + state.ticket = null; + state.csrf = null; + state.username = null; + state.project = null; + setAuth(false); + persistAuth(); + return false; + } + } + + async function loadDemoData(size = "large") { + const loadBtns = document.querySelectorAll("[data-demo-size]"); + loadBtns.forEach((btn) => { btn.disabled = true; }); setLoading(true); try { - const res = await fetch("/ui/api/demo/load", { method: "POST" }); + const res = await fetch("/ui/api/demo/load", { + method: "POST", + headers: { "Content-Type": "application/json" }, + body: JSON.stringify({ size }), + }); const body = await res.json().catch(() => ({})); if (!res.ok) { - throw new Error(body.detail || `Load failed: ${res.status}`); + const detail = body.detail; + const msg = typeof detail === "string" + ? detail + : (detail != null ? JSON.stringify(detail) : `Load failed: ${res.status}`); + throw new Error(msg); } renderDemoState(body.summary || {}); - if (state.ticket) syncAuthCookie(state.ticket); - refreshOverview(); - toast("OpenStack demo cloud loaded (~1000 servers)", "ok"); - if (!state.ticket) { + const signedIn = await reissueSessionAfterSeed(); + try { + await refreshOverview(); + } catch (error) { + console.warn("overview refresh after demo load", error); + } + const seed = body.seed || body.summary || {}; + toast( + `Cluster ${seed.size || size} loaded (${seed.hypervisors ?? seed.hosts ?? "?"} hosts · ${seed.servers ?? "?"} VMs)`, + "ok", + ); + if (!signedIn) { toast("Sign in (admin / secret, project admin) to call OpenStack APIs", "warn"); } } finally { - if (loadBtn) loadBtn.disabled = false; + loadBtns.forEach((btn) => { btn.disabled = false; }); setLoading(false); } } async function unloadDemoData() { const confirmed = await showConfirm({ - title: "Remove demo data?", - message: "This wipes simulator DB state (demo data and anything created via the API), then reloads a minimal cluster.", - confirmLabel: "Remove demo data", - cancelLabel: "Keep demo data", + title: "Reset to minimal?", + message: "This wipes current OpenStack state (demo cluster and anything created via the API), then loads the minimal lab cluster.", + confirmLabel: "Reset to minimal", + cancelLabel: "Cancel", tone: "danger", }); if (!confirmed) return; @@ -5319,11 +5811,19 @@ const res = await fetch("/ui/api/demo/unload", { method: "POST" }); const body = await res.json().catch(() => ({})); if (!res.ok) { - throw new Error(body.detail || `Unload failed: ${res.status}`); + throw new Error(body.detail || `Reset failed: ${res.status}`); } renderDemoState(body.summary || {}); - refreshOverview(); - toast("Demo data removed", "info"); + const signedIn = await reissueSessionAfterSeed(); + try { + await refreshOverview(); + } catch (error) { + console.warn("overview refresh after reset", error); + } + toast("Minimal cluster loaded", "info"); + if (!signedIn) { + toast("Sign in again if you need API access", "warn"); + } } finally { if (unloadBtn) unloadBtn.disabled = false; setLoading(false); @@ -5671,17 +6171,21 @@ if (!els.dataPanel || els.dataPanel.dataset.demoBound) return; els.dataPanel.dataset.demoBound = "1"; els.dataPanel.addEventListener("click", (event) => { - const target = event.target.closest("#btn-demo-load, #btn-demo-unload, #btn-demo-refresh"); - if (!target) return; - if (target.id === "btn-demo-load") { - loadDemoData().catch((error) => { + const sizeBtn = event.target.closest("[data-demo-size]"); + if (sizeBtn) { + const size = sizeBtn.getAttribute("data-demo-size") || "large"; + loadDemoData(size).catch((error) => { showError(String(error)); toast("Failed to load demo data", "error"); }); - } else if (target.id === "btn-demo-unload") { + return; + } + const target = event.target.closest("#btn-demo-unload, #btn-demo-refresh"); + if (!target) return; + if (target.id === "btn-demo-unload") { unloadDemoData().catch((error) => { showError(String(error)); - toast("Failed to remove demo data", "error"); + toast("Failed to reset to minimal", "error"); }); } else if (target.id === "btn-demo-refresh") { renderDataPanel().catch((error) => showError(String(error))); @@ -6074,17 +6578,82 @@ }); } + async function commitMicroversionChoice(major, rawValue, { quiet = false } = {}) { + const value = String(rawValue || "default"); + if (value === "custom") return; + if (value === "default") { + const services = microversionServicesForMajor(major); + for (const svc of services) { + const name = String(svc.name || ""); + if (!name) continue; + await fetch("/ui/api/openstack/microversions", { + method: "POST", + headers: { "Content-Type": "application/json" }, + body: JSON.stringify({ service: name, version: "default" }), + }); + } + if (!quiet) toast(`Pack defaults · ${seriesLabel(major)}`, "ok"); + return; + } + const [service, version] = value.split(":"); + if (!service || !version) { + if (!quiet) toast("Invalid microversion choice", "warn"); + return; + } + // Keep the card select single-choice: clear other service overrides. + for (const svc of microversionServicesForMajor(major)) { + const name = String(svc.name || ""); + if (!name || name === service) continue; + await fetch("/ui/api/openstack/microversions", { + method: "POST", + headers: { "Content-Type": "application/json" }, + body: JSON.stringify({ service: name, version: "default" }), + }); + } + const res = await fetch("/ui/api/openstack/microversions", { + method: "POST", + headers: { "Content-Type": "application/json" }, + body: JSON.stringify({ service, version }), + }); + if (!res.ok) { + if (!quiet) toast(`Microversion set failed: ${res.status}`, "error"); + throw new Error(`Microversion set failed: ${res.status}`); + } + if (!quiet) toast(`${service} → ${version}`, "ok"); + } + + async function applyMicroversionChoice(major, rawValue) { + const value = String(rawValue || "default"); + state.pendingMicroversion = { ...(state.pendingMicroversion || {}), [major]: value }; + writeStoredMicroversion(major, value); + updateEnvironmentMicroversion(); + if (!runtimeMajorMatches(major)) { + toast("Microversion saved — Apply as runtime to activate", "debug"); + updateApplyButton(); + return; + } + await commitMicroversionChoice(major, value); + delete state.pendingMicroversion[major]; + await refreshOpenStackPack({ skipMvSync: true }); + updateEnvironmentMicroversion(); + updateApplyButton(); + } + function bindCatalogOptions() { if (!els.catalogOptions || els.catalogOptions.dataset.bound) return; els.catalogOptions.dataset.bound = "1"; els.catalogOptions.addEventListener("click", async (event) => { - const btn = event.target.closest(".catalog-option[data-major]"); + if (event.target.closest(".catalog-mv-select, .catalog-option-mv")) return; + const btn = event.target.closest(".catalog-option-main[data-major], .catalog-option[data-major]"); if (!btn) return; event.preventDefault(); event.stopPropagation(); const major = Number(btn.dataset.major); renderCatalogSourceInfo(major); - if (major === state.major) return; + if (major === state.major) { + renderCatalogPanel(); + return; + } try { await loadCatalog({ major, preserveSelection: false, silent: true }); toggleCatalogDrawer(true); @@ -6092,10 +6661,29 @@ showError(String(error)); } }); + els.catalogOptions.addEventListener("change", async (event) => { + const select = event.target.closest(".catalog-mv-select[data-major]"); + if (!select) return; + event.stopPropagation(); + const major = Number(select.dataset.major); + select.disabled = true; + try { + if (major !== state.major) { + await loadCatalog({ major, preserveSelection: false, silent: true }); + } + await applyMicroversionChoice(major, select.value); + } catch (error) { + showError(String(error)); + } finally { + select.disabled = false; + renderCatalogPanel(); + } + }); els.catalogOptions.addEventListener("mouseover", (event) => { - const btn = event.target.closest(".catalog-option[data-major]"); - if (!btn) return; - renderCatalogSourceInfo(Number(btn.dataset.major)); + if (event.target.closest(".catalog-mv-select, .catalog-option-mv")) return; + const card = event.target.closest(".catalog-option[data-major]"); + if (!card) return; + renderCatalogSourceInfo(Number(card.dataset.major)); }); } @@ -6333,12 +6921,12 @@ } container.innerHTML = fields.map((f) => { const stored = kind === "path" ? state.pathValues[f.name] : state.bodyValues[f.name]; - const val = stored ?? f.example ?? ""; + const val = formatParamDisplayValue(stored ?? f.example ?? ""); const desc = f.description ? `
${f.description}
` : ""; return ` ${f.name}${desc} ${formatParamTypeBadges(f)} - + `; }).join(""); container.querySelectorAll("input[data-field]").forEach((input) => { @@ -6470,8 +7058,9 @@ const parsed = JSON.parse(body || "{}"); if (parsed && typeof parsed === "object" && !Array.isArray(parsed)) { for (const field of bodyFields) { - if (Object.prototype.hasOwnProperty.call(parsed, field.name)) { - state.bodyValues[field.name] = String(parsed[field.name] ?? ""); + const nested = getByPath(parsed, field.name); + if (nested !== undefined && nested !== null) { + state.bodyValues[field.name] = formatParamDisplayValue(nested); } } } @@ -6544,32 +7133,83 @@ return target === "cluster" ? buildClusterUrl(apiPath) : buildEmulatorUrl(apiPath); } + function deepCloneJson(value) { + if (value == null) return value; + return JSON.parse(JSON.stringify(value)); + } + + function getByPath(root, path) { + if (!path) return root; + const parts = String(path).split("."); + let cur = root; + for (const part of parts) { + if (cur == null || typeof cur !== "object") return undefined; + cur = cur[part]; + } + return cur; + } + + function setByPath(root, path, value) { + const parts = String(path).split("."); + let cur = root; + for (let i = 0; i < parts.length - 1; i += 1) { + const part = parts[i]; + const next = parts[i + 1]; + const wantArray = /^\d+$/.test(next); + if (cur[part] == null || typeof cur[part] !== "object") { + cur[part] = wantArray ? [] : {}; + } + cur = cur[part]; + } + cur[parts[parts.length - 1]] = value; + } + + function deleteByPath(root, path) { + const parts = String(path).split("."); + let cur = root; + for (let i = 0; i < parts.length - 1; i += 1) { + if (cur == null || typeof cur !== "object") return; + cur = cur[parts[i]]; + } + if (cur && typeof cur === "object") delete cur[parts[parts.length - 1]]; + } + function syncBodyFromFields({ syncVisibility = true } = {}) { if (!state.method) return; const inputs = [...(els.bodyFields?.querySelectorAll("input[data-field]") || [])]; - const body = {}; + const example = state.method.body_example; + // Start from full OpenStack-shaped example; PARAM edits merge in (oVirt-style). + const root = deepCloneJson( + example && typeof example === "object" && !Array.isArray(example) ? example : {}, + ) || {}; + let touched = false; inputs.forEach((input) => { const name = input.dataset.field; + if (!name) return; const raw = input.value.trim(); - if (!raw) return; - if (raw === "true" || raw === "false") body[name] = raw === "true"; - else if (/^-?\d+$/.test(raw)) body[name] = Number(raw); - else if (/^-?\d+\.\d+$/.test(raw)) body[name] = Number(raw); - else body[name] = raw; - }); - // If PARAM fields are empty, fall back to method body_example so the editor - // updates when switching verbs / endpoints. - if (!Object.keys(body).length) { - const example = state.method.body_example; - if (example && typeof example === "object" && !Array.isArray(example)) { - for (const [key, value] of Object.entries(example)) { - if (value === undefined || value === null || value === "") continue; - body[key] = value; - } + const existing = getByPath(root, name); + // Empty input with no prior leaf (or null action stub) — leave example as-is. + if (!raw && (existing === undefined || existing === null)) return; + touched = true; + if (!raw) { + deleteByPath(root, name); + return; } + const coerced = coerceBodyFieldValue(raw); + if (coerced === undefined) { + deleteByPath(root, name); + return; + } + setByPath(root, name, coerced); + }); + // Empty PARAM inputs → keep full body_example. + if (!touched && example && typeof example === "object" && !Array.isArray(example)) { + els.body.value = Object.keys(example).length ? JSON.stringify(example, null, 2) : ""; + updateBodyHighlight(); + if (syncVisibility) updateBodyPaneVisibility(state.method); + return; } - // Keep empty object out of the editor — do not show `{}`. - els.body.value = Object.keys(body).length ? JSON.stringify(body, null, 2) : ""; + els.body.value = Object.keys(root).length ? JSON.stringify(root, null, 2) : ""; updateBodyHighlight(); if (syncVisibility) { updateBodyPaneVisibility(state.method); @@ -6758,6 +7398,7 @@ const series = majorInfo(major)?.latest_version || ({ 6: "yoga", 7: "antelope", 8: "caracal", 9: "dalmatian" })[major]; + const pendingMv = currentMicroversionSelectValue(major); els.btnContractApply.disabled = true; setLoading(true); try { @@ -6780,14 +7421,20 @@ || (payload.series ? `openstack-${payload.series}` : null) || (series ? `openstack-${series}` : state.runtimeVersion); setText(els.statRuntime, state.runtimeVersion || "—"); + await commitMicroversionChoice(major, pendingMv, { quiet: true }); + writeStoredMicroversion(major, pendingMv); + delete state.pendingMicroversion[major]; await loadVersions(); await loadCatalog({ major, preserveSelection: true, silent: true }); await refreshOverview(); - await refreshOpenStackPack(); - toast(`Runtime switched to ${state.runtimeVersion || seriesLabel(major)}`, "ok"); + await refreshOpenStackPack({ skipMvSync: true }); + updateEnvironmentMicroversion(); + const mvNote = pendingMv && pendingMv !== "default" ? ` · ${microversionLabel(pendingMv)}` : ""; + toast(`Runtime switched to ${state.runtimeVersion || seriesLabel(major)}${mvNote}`, "ok"); } finally { setLoading(false); updateApplyButton(); + renderCatalogPanel(); } } @@ -6805,84 +7452,67 @@ applyMethodDetails(payload); } - async function refreshOpenStackPack() { + async function syncStoredMicroversionToRuntime() { + const major = runtimeMajorFromVersion(state.runtimeVersion); + if (major == null) { + updateEnvironmentMicroversion(); + return; + } + const overrides = state.osPack?.microversion_overrides || {}; + const entries = Object.entries(overrides); + if (entries.length === 1) { + writeStoredMicroversion(major, `${entries[0][0]}:${entries[0][1]}`); + updateEnvironmentMicroversion(); + return; + } + if (entries.length > 1) { + writeStoredMicroversion(major, "custom"); + updateEnvironmentMicroversion(); + return; + } + const stored = readStoredMicroversions()[String(major)]; + if (!stored || stored === "default" || stored === "custom") { + writeStoredMicroversion(major, "default"); + updateEnvironmentMicroversion(); + return; + } + try { + await commitMicroversionChoice(major, stored, { quiet: true }); + await refreshOpenStackPack({ skipMvSync: true }); + } catch (error) { + console.warn("Failed to restore microversion preference:", error); + } + updateEnvironmentMicroversion(); + } + + async function refreshOpenStackPack({ skipMvSync = false } = {}) { try { const res = await fetch("/ui/api/openstack/contracts"); if (!res.ok) return; const data = await res.json(); const active = data.active || {}; - setText(els.statOsSeries, active.series || "—"); - setText(els.statOsOps, String(active.operation_count ?? data.schema_ops_mounted ?? "—")); - setText(els.statOsServices, String(active.service_count ?? "—")); - if (els.osSeriesSelect) { - const available = data.available || []; - els.osSeriesSelect.innerHTML = available.map((s) => - `` - ).join(""); + state.osPack = active; + if (active.series) { + state.runtimeVersion = `openstack-${active.series}`; } - if (els.osMvService) { - const services = (active.services || []).filter((s) => s.max_microversion); - els.osMvService.innerHTML = services.map((s) => - `` - ).join(""); + if (els.statCatalog && active.series) { + setText(els.statCatalog, `${active.series} · ${active.operation_count ?? "?"} ops`); } - if (els.osPackNote) { - els.osPackNote.textContent = `Pack ${active.series || "—"} · ${active.operation_count || 0} operations · checksum ${(active.checksum || "").slice(0, 12)}…`; + if (!skipMvSync) { + await syncStoredMicroversionToRuntime(); + } else { + updateEnvironmentMicroversion(); + } + if (els.catalogDrawer?.classList.contains("open")) { + renderCatalogPanel(); + } else { + renderCatalogSourceInfo(state.major); } } catch (e) { console.error(e); } } - function bindOpenStackPackActions() { - els.btnOsSeriesActivate?.addEventListener("click", async () => { - const series = els.osSeriesSelect?.value; - if (!series) return; - const res = await fetch("/ui/api/openstack/contracts/activate", { - method: "POST", - headers: { "Content-Type": "application/json" }, - body: JSON.stringify({ series }), - }); - const payload = await res.json().catch(() => ({})); - if (!res.ok) { - toast(payload.detail || `Activate failed: ${res.status}`, "error"); - return; - } - toast(`OpenStack pack: ${payload.series} (${payload.operation_count} ops)`, "ok"); - await refreshOpenStackPack(); - }); - els.btnOsMvSet?.addEventListener("click", async () => { - const service = els.osMvService?.value; - const version = els.osMvVersion?.value?.trim(); - if (!service || !version) { - toast("Pick a service and microversion", "warn"); - return; - } - const res = await fetch("/ui/api/openstack/microversions", { - method: "POST", - headers: { "Content-Type": "application/json" }, - body: JSON.stringify({ service, version }), - }); - if (!res.ok) { - toast(`Microversion set failed: ${res.status}`, "error"); - return; - } - toast(`${service} → ${version}`, "ok"); - await refreshOpenStackPack(); - }); - els.btnOsMvClear?.addEventListener("click", async () => { - const service = els.osMvService?.value; - if (!service) return; - await fetch("/ui/api/openstack/microversions", { - method: "POST", - headers: { "Content-Type": "application/json" }, - body: JSON.stringify({ service, version: "default" }), - }); - toast(`${service} microversion reset`, "ok"); - await refreshOpenStackPack(); - }); - } - async function refreshOverview() { try { const v = await fetch("/v3/").then((r) => r.json()).catch(() => null); @@ -6893,6 +7523,7 @@ await refreshClusterStats(); await refreshCatalogCoverage(); await refreshOpenStackPack(); + updateEnvironmentMicroversion(); } catch (e) { console.error(e); } } @@ -7184,7 +7815,6 @@ bindCatalogOptions(); bindHelpNav(); bindDataPanelActions(); - bindOpenStackPackActions(); bindModal(); bindTooltips(); bindEndpointTree(); diff --git a/app/web/openstack_catalog.py b/app/web/openstack_catalog.py index 30d195a..b8d87a3 100644 --- a/app/web/openstack_catalog.py +++ b/app/web/openstack_catalog.py @@ -12,6 +12,7 @@ from app.openstack.contract_loader import ( major_for_series, series_for_major, ) +from app.openstack.request_examples import body_fields_from_example, schema_example _PATH_PARAM = re.compile(r"\{([^{}]+)\}") @@ -87,25 +88,24 @@ def openstack_method_payload( for name in path_params ] body_fields: list[dict[str, Any]] = [] - if op.method in {"POST", "PUT", "PATCH"} and op.kind in { - "collection", - "item", - "action", - "custom", - }: - key = op.item_key or op.collection_key or "resource" - body_fields.append( - { - "name": key, - "type": "object", - "description": "Request body envelope", - "optional": op.kind == "action", - "enum": [], - "example": {key: {"name": "example"}} - if op.kind != "action" - else {op.action_name or "os-start": None}, - } - ) + body_example: dict[str, Any] = {} + if op.method in {"POST", "PUT", "PATCH"}: + if op.request_schema: + example = schema_example(op.request_schema) + body_example = example if isinstance(example, dict) else {} + # PARAM drawer: nested leaves from body_example (oVirt-style). + body_fields = body_fields_from_example(body_example) + else: + # Schemas are required for write ops; keep a minimal + # envelope only as a last-resort safety net. + key = op.item_key or op.collection_key or "resource" + if op.kind == "action": + action = op.action_name or "os-start" + body_example = {action: None} + body_fields = body_fields_from_example(body_example) + else: + body_example = {key: {"name": "example"}} + body_fields = body_fields_from_example(body_example) return { "major": major, "series": series, @@ -138,6 +138,7 @@ def openstack_method_payload( if op.method == "GET" and op.kind in {"collection", "detail"} else [], "body_fields": body_fields, + "body_example": body_example, "returns": {"type": "object"}, "permissions": [], "service": pack.name, @@ -160,6 +161,7 @@ def openstack_series_majors(runtime_version: str | None = None) -> dict[str, obj "artifact_url": f"contracts/openstack/{item['series']}", "bundled": True, "operation_count": item["operation_count"], + "microversions": item.get("microversions") or [], } for item in sorted(series, key=lambda row: row["major"]) ], diff --git a/app/web/routes.py b/app/web/routes.py index de0aa65..92df285 100644 --- a/app/web/routes.py +++ b/app/web/routes.py @@ -291,20 +291,42 @@ async def ui_openstack_microversions(request: Request) -> JSONResponse: @router.post("/ui/api/demo/load", include_in_schema=False) async def ui_demo_load(request: Request) -> JSONResponse: - """Load synthetic OpenStack cloud (~1000 servers + full topology).""" + """Load synthetic OpenStack cloud (size: small | large | big).""" + + from app.openstack.demo_cloud import DEMO_SIZE_DEFAULT, resolve_demo_size + + size = DEMO_SIZE_DEFAULT + try: + payload = await request.json() + except Exception: + payload = {} + if isinstance(payload, dict) and payload.get("size"): + size = str(payload["size"]) + elif request.query_params.get("size"): + size = str(request.query_params.get("size")) + try: + resolve_demo_size(size) + except ValueError as error: + raise HTTPException(status_code=400, detail=str(error)) from error pool = _database_pool(request) try: async with pool.acquire() as connection: async with connection.transaction(): - result = await seed_openstack_demo(connection) + result = await seed_openstack_demo(connection, size=size) summary = await openstack_demo_summary(connection) except Exception as error: raise HTTPException( status_code=500, detail=f"failed to load OpenStack demo cloud: {error}" ) from error return JSONResponse( - {"ok": True, "profile": result["profile"], "summary": summary, "seed": result} + { + "ok": True, + "profile": result["profile"], + "size": result.get("size"), + "summary": summary, + "seed": result, + } ) @@ -323,7 +345,7 @@ async def ui_demo_unload(request: Request) -> JSONResponse: summary = await openstack_demo_summary(connection) except Exception as error: raise HTTPException( - status_code=500, detail=f"failed to remove demo data: {error}" + status_code=500, detail=f"failed to reset to minimal cluster: {error}" ) from error return JSONResponse( {"ok": True, "profile": result.get("profile", "minimal"), "summary": summary} diff --git a/contracts/openstack/antelope/adjutant/api.json b/contracts/openstack/antelope/adjutant/api.json index bc4c31d..f3943b7 100644 --- a/contracts/openstack/antelope/adjutant/api.json +++ b/contracts/openstack/antelope/adjutant/api.json @@ -268,7 +268,7 @@ "collection_key": "status", "create_status": 201, "introduced_in": "yoga", - "item_key": "statu", + "item_key": "status", "kind": "collection", "method": "POST", "operation_id": "status_create", @@ -282,7 +282,7 @@ { "collection_key": "status", "introduced_in": "yoga", - "item_key": "statu", + "item_key": "status", "kind": "item", "method": "GET", "operation_id": "status_show", @@ -296,7 +296,7 @@ { "collection_key": "status", "introduced_in": "yoga", - "item_key": "statu", + "item_key": "status", "kind": "item", "method": "PUT", "operation_id": "status_update", @@ -310,7 +310,7 @@ { "collection_key": "status", "introduced_in": "yoga", - "item_key": "statu", + "item_key": "status", "kind": "item", "method": "PATCH", "operation_id": "status_patch", diff --git a/contracts/openstack/caracal/adjutant/api.json b/contracts/openstack/caracal/adjutant/api.json index bc4c31d..f3943b7 100644 --- a/contracts/openstack/caracal/adjutant/api.json +++ b/contracts/openstack/caracal/adjutant/api.json @@ -268,7 +268,7 @@ "collection_key": "status", "create_status": 201, "introduced_in": "yoga", - "item_key": "statu", + "item_key": "status", "kind": "collection", "method": "POST", "operation_id": "status_create", @@ -282,7 +282,7 @@ { "collection_key": "status", "introduced_in": "yoga", - "item_key": "statu", + "item_key": "status", "kind": "item", "method": "GET", "operation_id": "status_show", @@ -296,7 +296,7 @@ { "collection_key": "status", "introduced_in": "yoga", - "item_key": "statu", + "item_key": "status", "kind": "item", "method": "PUT", "operation_id": "status_update", @@ -310,7 +310,7 @@ { "collection_key": "status", "introduced_in": "yoga", - "item_key": "statu", + "item_key": "status", "kind": "item", "method": "PATCH", "operation_id": "status_patch", diff --git a/contracts/openstack/dalmatian/adjutant/api.json b/contracts/openstack/dalmatian/adjutant/api.json index bc4c31d..f3943b7 100644 --- a/contracts/openstack/dalmatian/adjutant/api.json +++ b/contracts/openstack/dalmatian/adjutant/api.json @@ -268,7 +268,7 @@ "collection_key": "status", "create_status": 201, "introduced_in": "yoga", - "item_key": "statu", + "item_key": "status", "kind": "collection", "method": "POST", "operation_id": "status_create", @@ -282,7 +282,7 @@ { "collection_key": "status", "introduced_in": "yoga", - "item_key": "statu", + "item_key": "status", "kind": "item", "method": "GET", "operation_id": "status_show", @@ -296,7 +296,7 @@ { "collection_key": "status", "introduced_in": "yoga", - "item_key": "statu", + "item_key": "status", "kind": "item", "method": "PUT", "operation_id": "status_update", @@ -310,7 +310,7 @@ { "collection_key": "status", "introduced_in": "yoga", - "item_key": "statu", + "item_key": "status", "kind": "item", "method": "PATCH", "operation_id": "status_patch", diff --git a/contracts/openstack/request_bodies/adjutant.json b/contracts/openstack/request_bodies/adjutant.json new file mode 100644 index 0000000..87e54d2 --- /dev/null +++ b/contracts/openstack/request_bodies/adjutant.json @@ -0,0 +1,2278 @@ +{ + "by_path": { + "PATCH /v1/notifications/{id}": { + "description": "", + "properties": { + "notification": { + "description": "", + "properties": { + "generated_time": { + "description": "", + "example": "2026-01-01T00:00:00Z", + "type": "string" + }, + "hostname": { + "description": "", + "example": "compute-1", + "type": "string" + }, + "payload": { + "description": "", + "properties": { + "event": { + "description": "", + "type": "string" + }, + "instance_uuid": { + "description": "", + "format": "uuid", + "type": "string" + }, + "vir_domain_event": { + "description": "", + "type": "string" + } + }, + "type": "object" + }, + "source_host_uuid": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "enum": [ + "VM", + "PROCESS", + "COMPUTE_HOST" + ], + "example": "VM", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "notification" + ], + "type": "object" + }, + "PATCH /v1/status/{id}": { + "description": "", + "properties": { + "status": { + "description": "", + "properties": { + "description": { + "description": "", + "type": "string" + }, + "name": { + "description": "", + "example": "example", + "type": "string" + }, + "service": { + "description": "", + "example": "identity", + "type": "string" + }, + "state": { + "description": "", + "example": "up", + "type": "string" + }, + "status": { + "description": "", + "enum": [ + "UP", + "DOWN", + "UNKNOWN" + ], + "example": "UP", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "status" + ], + "type": "object" + }, + "PATCH /v1/tasks/{id}": { + "description": "", + "properties": { + "task": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "task", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "task" + ], + "type": "object" + }, + "PATCH /v1/tokens/{id}": { + "description": "", + "properties": { + "token": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "token", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "token" + ], + "type": "object" + }, + "POST /v1/notifications": { + "description": "", + "properties": { + "notification": { + "description": "", + "properties": { + "generated_time": { + "description": "", + "example": "2026-01-01T00:00:00Z", + "type": "string" + }, + "hostname": { + "description": "", + "example": "compute-1", + "type": "string" + }, + "payload": { + "description": "", + "properties": { + "event": { + "description": "", + "type": "string" + }, + "instance_uuid": { + "description": "", + "format": "uuid", + "type": "string" + }, + "vir_domain_event": { + "description": "", + "type": "string" + } + }, + "type": "object" + }, + "source_host_uuid": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "enum": [ + "VM", + "PROCESS", + "COMPUTE_HOST" + ], + "example": "VM", + "type": "string" + } + }, + "required": [ + "type", + "hostname", + "generated_time", + "payload" + ], + "type": "object" + } + }, + "required": [ + "notification" + ], + "type": "object" + }, + "POST /v1/status": { + "description": "", + "properties": { + "status": { + "description": "", + "properties": { + "description": { + "description": "", + "type": "string" + }, + "name": { + "description": "", + "example": "example", + "type": "string" + }, + "service": { + "description": "", + "example": "identity", + "type": "string" + }, + "state": { + "description": "", + "example": "up", + "type": "string" + }, + "status": { + "description": "", + "enum": [ + "UP", + "DOWN", + "UNKNOWN" + ], + "example": "UP", + "type": "string" + } + }, + "required": [ + "service", + "status" + ], + "type": "object" + } + }, + "required": [ + "status" + ], + "type": "object" + }, + "POST /v1/tasks": { + "description": "", + "properties": { + "task": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "task", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "task" + ], + "type": "object" + }, + "POST /v1/tokens": { + "description": "", + "properties": { + "token": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "token", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "token" + ], + "type": "object" + }, + "PUT /v1/notifications/{id}": { + "description": "", + "properties": { + "notification": { + "description": "", + "properties": { + "generated_time": { + "description": "", + "example": "2026-01-01T00:00:00Z", + "type": "string" + }, + "hostname": { + "description": "", + "example": "compute-1", + "type": "string" + }, + "payload": { + "description": "", + "properties": { + "event": { + "description": "", + "type": "string" + }, + "instance_uuid": { + "description": "", + "format": "uuid", + "type": "string" + }, + "vir_domain_event": { + "description": "", + "type": "string" + } + }, + "type": "object" + }, + "source_host_uuid": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "enum": [ + "VM", + "PROCESS", + "COMPUTE_HOST" + ], + "example": "VM", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "notification" + ], + "type": "object" + }, + "PUT /v1/status/{id}": { + "description": "", + "properties": { + "status": { + "description": "", + "properties": { + "description": { + "description": "", + "type": "string" + }, + "name": { + "description": "", + "example": "example", + "type": "string" + }, + "service": { + "description": "", + "example": "identity", + "type": "string" + }, + "state": { + "description": "", + "example": "up", + "type": "string" + }, + "status": { + "description": "", + "enum": [ + "UP", + "DOWN", + "UNKNOWN" + ], + "example": "UP", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "status" + ], + "type": "object" + }, + "PUT /v1/tasks/{id}": { + "description": "", + "properties": { + "task": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "task", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "task" + ], + "type": "object" + }, + "PUT /v1/tokens/{id}": { + "description": "", + "properties": { + "token": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "token", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "token" + ], + "type": "object" + } + }, + "operations": { + "notification_create": { + "description": "", + "properties": { + "notification": { + "description": "", + "properties": { + "generated_time": { + "description": "", + "example": "2026-01-01T00:00:00Z", + "type": "string" + }, + "hostname": { + "description": "", + "example": "compute-1", + "type": "string" + }, + "payload": { + "description": "", + "properties": { + "event": { + "description": "", + "type": "string" + }, + "instance_uuid": { + "description": "", + "format": "uuid", + "type": "string" + }, + "vir_domain_event": { + "description": "", + "type": "string" + } + }, + "type": "object" + }, + "source_host_uuid": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "enum": [ + "VM", + "PROCESS", + "COMPUTE_HOST" + ], + "example": "VM", + "type": "string" + } + }, + "required": [ + "type", + "hostname", + "generated_time", + "payload" + ], + "type": "object" + } + }, + "required": [ + "notification" + ], + "type": "object" + }, + "notification_patch": { + "description": "", + "properties": { + "notification": { + "description": "", + "properties": { + "generated_time": { + "description": "", + "example": "2026-01-01T00:00:00Z", + "type": "string" + }, + "hostname": { + "description": "", + "example": "compute-1", + "type": "string" + }, + "payload": { + "description": "", + "properties": { + "event": { + "description": "", + "type": "string" + }, + "instance_uuid": { + "description": "", + "format": "uuid", + "type": "string" + }, + "vir_domain_event": { + "description": "", + "type": "string" + } + }, + "type": "object" + }, + "source_host_uuid": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "enum": [ + "VM", + "PROCESS", + "COMPUTE_HOST" + ], + "example": "VM", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "notification" + ], + "type": "object" + }, + "notification_update": { + "description": "", + "properties": { + "notification": { + "description": "", + "properties": { + "generated_time": { + "description": "", + "example": "2026-01-01T00:00:00Z", + "type": "string" + }, + "hostname": { + "description": "", + "example": "compute-1", + "type": "string" + }, + "payload": { + "description": "", + "properties": { + "event": { + "description": "", + "type": "string" + }, + "instance_uuid": { + "description": "", + "format": "uuid", + "type": "string" + }, + "vir_domain_event": { + "description": "", + "type": "string" + } + }, + "type": "object" + }, + "source_host_uuid": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "enum": [ + "VM", + "PROCESS", + "COMPUTE_HOST" + ], + "example": "VM", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "notification" + ], + "type": "object" + }, + "status_create": { + "description": "", + "properties": { + "status": { + "description": "", + "properties": { + "description": { + "description": "", + "type": "string" + }, + "name": { + "description": "", + "example": "example", + "type": "string" + }, + "service": { + "description": "", + "example": "identity", + "type": "string" + }, + "state": { + "description": "", + "example": "up", + "type": "string" + }, + "status": { + "description": "", + "enum": [ + "UP", + "DOWN", + "UNKNOWN" + ], + "example": "UP", + "type": "string" + } + }, + "required": [ + "service", + "status" + ], + "type": "object" + } + }, + "required": [ + "status" + ], + "type": "object" + }, + "status_patch": { + "description": "", + "properties": { + "status": { + "description": "", + "properties": { + "description": { + "description": "", + "type": "string" + }, + "name": { + "description": "", + "example": "example", + "type": "string" + }, + "service": { + "description": "", + "example": "identity", + "type": "string" + }, + "state": { + "description": "", + "example": "up", + "type": "string" + }, + "status": { + "description": "", + "enum": [ + "UP", + "DOWN", + "UNKNOWN" + ], + "example": "UP", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "status" + ], + "type": "object" + }, + "status_update": { + "description": "", + "properties": { + "status": { + "description": "", + "properties": { + "description": { + "description": "", + "type": "string" + }, + "name": { + "description": "", + "example": "example", + "type": "string" + }, + "service": { + "description": "", + "example": "identity", + "type": "string" + }, + "state": { + "description": "", + "example": "up", + "type": "string" + }, + "status": { + "description": "", + "enum": [ + "UP", + "DOWN", + "UNKNOWN" + ], + "example": "UP", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "status" + ], + "type": "object" + }, + "task_create": { + "description": "", + "properties": { + "task": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "task", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "task" + ], + "type": "object" + }, + "task_patch": { + "description": "", + "properties": { + "task": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "task", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "task" + ], + "type": "object" + }, + "task_update": { + "description": "", + "properties": { + "task": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "task", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "task" + ], + "type": "object" + }, + "token_create": { + "description": "", + "properties": { + "token": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "token", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "token" + ], + "type": "object" + }, + "token_patch": { + "description": "", + "properties": { + "token": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "token", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "token" + ], + "type": "object" + }, + "token_update": { + "description": "", + "properties": { + "token": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "token", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "token" + ], + "type": "object" + } + }, + "service": "adjutant", + "source": "generated-from-api-ref-catalog" +} diff --git a/contracts/openstack/request_bodies/aodh.json b/contracts/openstack/request_bodies/aodh.json new file mode 100644 index 0000000..ab6af3a --- /dev/null +++ b/contracts/openstack/request_bodies/aodh.json @@ -0,0 +1,2356 @@ +{ + "by_path": { + "PATCH /v2/alarms/{alarm_id}/history/{id}": { + "description": "", + "properties": { + "alarm_history": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "alarm_history", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "alarm_history" + ], + "type": "object" + }, + "PATCH /v2/alarms/{id}": { + "description": "", + "properties": { + "alarm": { + "description": "", + "properties": { + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "Enabled", + "type": "boolean" + }, + "insufficient_data_actions": { + "description": "", + "items": { + "description": "", + "format": "uri", + "type": "string" + }, + "type": "array" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "ok_actions": { + "description": "", + "items": { + "description": "", + "format": "uri", + "type": "string" + }, + "type": "array" + }, + "repeat_actions": { + "default": true, + "description": "Repeat actions", + "type": "boolean" + }, + "severity_actions": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "threshold_rule": { + "description": "", + "properties": { + "comparison_operator": { + "description": "", + "enum": [ + "gt", + "lt", + "ge", + "le", + "eq", + "ne" + ], + "example": "gt", + "type": "string" + }, + "evaluation_periods": { + "description": "", + "example": 1, + "type": "integer" + }, + "meter_name": { + "description": "", + "example": "cpu_util", + "type": "string" + }, + "period": { + "description": "", + "example": 60, + "type": "integer" + }, + "query": { + "description": "", + "items": { + "description": "", + "properties": { + "field": { + "description": "", + "type": "string" + }, + "op": { + "description": "", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "statistic": { + "description": "", + "enum": [ + "avg", + "max", + "min", + "sum", + "count" + ], + "example": "avg", + "type": "string" + }, + "threshold": { + "description": "", + "example": 80, + "type": "integer" + } + }, + "type": "object" + }, + "type": { + "description": "Alarm type", + "enum": [ + "threshold", + "event", + "gnocchi_resources_threshold" + ], + "example": "threshold", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "alarm" + ], + "type": "object" + }, + "PATCH /v2/quotas/{id}": { + "description": "", + "properties": { + "quota": { + "description": "", + "properties": { + "cores": { + "description": "", + "example": 20, + "type": "integer" + }, + "fixed_ips": { + "description": "", + "example": -1, + "type": "integer" + }, + "floating_ips": { + "description": "", + "example": 10, + "type": "integer" + }, + "force": { + "default": false, + "description": "", + "type": "boolean" + }, + "gigabytes": { + "description": "", + "example": 1000, + "type": "integer" + }, + "injected_file_content_bytes": { + "description": "", + "example": 10240, + "type": "integer" + }, + "injected_files": { + "description": "", + "example": 5, + "type": "integer" + }, + "instances": { + "description": "", + "example": 10, + "type": "integer" + }, + "key_pairs": { + "description": "", + "example": 100, + "type": "integer" + }, + "metadata_items": { + "description": "", + "example": 128, + "type": "integer" + }, + "networks": { + "description": "", + "example": 100, + "type": "integer" + }, + "ports": { + "description": "", + "example": 500, + "type": "integer" + }, + "ram": { + "description": "", + "example": 51200, + "type": "integer" + }, + "routers": { + "description": "", + "example": 10, + "type": "integer" + }, + "security_group_rules": { + "description": "", + "example": 20, + "type": "integer" + }, + "security_groups": { + "description": "", + "example": 10, + "type": "integer" + }, + "snapshots": { + "description": "", + "example": 10, + "type": "integer" + }, + "subnets": { + "description": "", + "example": 100, + "type": "integer" + }, + "volumes": { + "description": "", + "example": 10, + "type": "integer" + } + }, + "type": "object" + } + }, + "required": [ + "quota" + ], + "type": "object" + }, + "POST /v2/alarms": { + "description": "", + "properties": { + "alarm": { + "description": "", + "properties": { + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "Enabled", + "type": "boolean" + }, + "insufficient_data_actions": { + "description": "", + "items": { + "description": "", + "format": "uri", + "type": "string" + }, + "type": "array" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "ok_actions": { + "description": "", + "items": { + "description": "", + "format": "uri", + "type": "string" + }, + "type": "array" + }, + "repeat_actions": { + "default": true, + "description": "Repeat actions", + "type": "boolean" + }, + "severity_actions": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "threshold_rule": { + "description": "", + "properties": { + "comparison_operator": { + "description": "", + "enum": [ + "gt", + "lt", + "ge", + "le", + "eq", + "ne" + ], + "example": "gt", + "type": "string" + }, + "evaluation_periods": { + "description": "", + "example": 1, + "type": "integer" + }, + "meter_name": { + "description": "", + "example": "cpu_util", + "type": "string" + }, + "period": { + "description": "", + "example": 60, + "type": "integer" + }, + "query": { + "description": "", + "items": { + "description": "", + "properties": { + "field": { + "description": "", + "type": "string" + }, + "op": { + "description": "", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "statistic": { + "description": "", + "enum": [ + "avg", + "max", + "min", + "sum", + "count" + ], + "example": "avg", + "type": "string" + }, + "threshold": { + "description": "", + "example": 80, + "type": "integer" + } + }, + "type": "object" + }, + "type": { + "description": "Alarm type", + "enum": [ + "threshold", + "event", + "gnocchi_resources_threshold" + ], + "example": "threshold", + "type": "string" + } + }, + "required": [ + "name", + "type" + ], + "type": "object" + } + }, + "required": [ + "alarm" + ], + "type": "object" + }, + "POST /v2/alarms/{alarm_id}/history": { + "description": "", + "properties": { + "alarm_history": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "alarm_history", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "alarm_history" + ], + "type": "object" + }, + "POST /v2/quotas": { + "description": "", + "properties": { + "quota": { + "description": "", + "properties": { + "cores": { + "description": "", + "example": 20, + "type": "integer" + }, + "fixed_ips": { + "description": "", + "example": -1, + "type": "integer" + }, + "floating_ips": { + "description": "", + "example": 10, + "type": "integer" + }, + "force": { + "default": false, + "description": "", + "type": "boolean" + }, + "gigabytes": { + "description": "", + "example": 1000, + "type": "integer" + }, + "injected_file_content_bytes": { + "description": "", + "example": 10240, + "type": "integer" + }, + "injected_files": { + "description": "", + "example": 5, + "type": "integer" + }, + "instances": { + "description": "", + "example": 10, + "type": "integer" + }, + "key_pairs": { + "description": "", + "example": 100, + "type": "integer" + }, + "metadata_items": { + "description": "", + "example": 128, + "type": "integer" + }, + "networks": { + "description": "", + "example": 100, + "type": "integer" + }, + "ports": { + "description": "", + "example": 500, + "type": "integer" + }, + "ram": { + "description": "", + "example": 51200, + "type": "integer" + }, + "routers": { + "description": "", + "example": 10, + "type": "integer" + }, + "security_group_rules": { + "description": "", + "example": 20, + "type": "integer" + }, + "security_groups": { + "description": "", + "example": 10, + "type": "integer" + }, + "snapshots": { + "description": "", + "example": 10, + "type": "integer" + }, + "subnets": { + "description": "", + "example": 100, + "type": "integer" + }, + "volumes": { + "description": "", + "example": 10, + "type": "integer" + } + }, + "type": "object" + } + }, + "required": [ + "quota" + ], + "type": "object" + }, + "PUT /v2/alarms/{alarm_id}/history/{id}": { + "description": "", + "properties": { + "alarm_history": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "alarm_history", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "alarm_history" + ], + "type": "object" + }, + "PUT /v2/alarms/{id}": { + "description": "", + "properties": { + "alarm": { + "description": "", + "properties": { + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "Enabled", + "type": "boolean" + }, + "insufficient_data_actions": { + "description": "", + "items": { + "description": "", + "format": "uri", + "type": "string" + }, + "type": "array" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "ok_actions": { + "description": "", + "items": { + "description": "", + "format": "uri", + "type": "string" + }, + "type": "array" + }, + "repeat_actions": { + "default": true, + "description": "Repeat actions", + "type": "boolean" + }, + "severity_actions": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "threshold_rule": { + "description": "", + "properties": { + "comparison_operator": { + "description": "", + "enum": [ + "gt", + "lt", + "ge", + "le", + "eq", + "ne" + ], + "example": "gt", + "type": "string" + }, + "evaluation_periods": { + "description": "", + "example": 1, + "type": "integer" + }, + "meter_name": { + "description": "", + "example": "cpu_util", + "type": "string" + }, + "period": { + "description": "", + "example": 60, + "type": "integer" + }, + "query": { + "description": "", + "items": { + "description": "", + "properties": { + "field": { + "description": "", + "type": "string" + }, + "op": { + "description": "", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "statistic": { + "description": "", + "enum": [ + "avg", + "max", + "min", + "sum", + "count" + ], + "example": "avg", + "type": "string" + }, + "threshold": { + "description": "", + "example": 80, + "type": "integer" + } + }, + "type": "object" + }, + "type": { + "description": "Alarm type", + "enum": [ + "threshold", + "event", + "gnocchi_resources_threshold" + ], + "example": "threshold", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "alarm" + ], + "type": "object" + }, + "PUT /v2/quotas/{id}": { + "description": "", + "properties": { + "quota": { + "description": "", + "properties": { + "cores": { + "description": "", + "example": 20, + "type": "integer" + }, + "fixed_ips": { + "description": "", + "example": -1, + "type": "integer" + }, + "floating_ips": { + "description": "", + "example": 10, + "type": "integer" + }, + "force": { + "default": false, + "description": "", + "type": "boolean" + }, + "gigabytes": { + "description": "", + "example": 1000, + "type": "integer" + }, + "injected_file_content_bytes": { + "description": "", + "example": 10240, + "type": "integer" + }, + "injected_files": { + "description": "", + "example": 5, + "type": "integer" + }, + "instances": { + "description": "", + "example": 10, + "type": "integer" + }, + "key_pairs": { + "description": "", + "example": 100, + "type": "integer" + }, + "metadata_items": { + "description": "", + "example": 128, + "type": "integer" + }, + "networks": { + "description": "", + "example": 100, + "type": "integer" + }, + "ports": { + "description": "", + "example": 500, + "type": "integer" + }, + "ram": { + "description": "", + "example": 51200, + "type": "integer" + }, + "routers": { + "description": "", + "example": 10, + "type": "integer" + }, + "security_group_rules": { + "description": "", + "example": 20, + "type": "integer" + }, + "security_groups": { + "description": "", + "example": 10, + "type": "integer" + }, + "snapshots": { + "description": "", + "example": 10, + "type": "integer" + }, + "subnets": { + "description": "", + "example": 100, + "type": "integer" + }, + "volumes": { + "description": "", + "example": 10, + "type": "integer" + } + }, + "type": "object" + } + }, + "required": [ + "quota" + ], + "type": "object" + } + }, + "operations": { + "alarm_create": { + "description": "", + "properties": { + "alarm": { + "description": "", + "properties": { + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "Enabled", + "type": "boolean" + }, + "insufficient_data_actions": { + "description": "", + "items": { + "description": "", + "format": "uri", + "type": "string" + }, + "type": "array" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "ok_actions": { + "description": "", + "items": { + "description": "", + "format": "uri", + "type": "string" + }, + "type": "array" + }, + "repeat_actions": { + "default": true, + "description": "Repeat actions", + "type": "boolean" + }, + "severity_actions": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "threshold_rule": { + "description": "", + "properties": { + "comparison_operator": { + "description": "", + "enum": [ + "gt", + "lt", + "ge", + "le", + "eq", + "ne" + ], + "example": "gt", + "type": "string" + }, + "evaluation_periods": { + "description": "", + "example": 1, + "type": "integer" + }, + "meter_name": { + "description": "", + "example": "cpu_util", + "type": "string" + }, + "period": { + "description": "", + "example": 60, + "type": "integer" + }, + "query": { + "description": "", + "items": { + "description": "", + "properties": { + "field": { + "description": "", + "type": "string" + }, + "op": { + "description": "", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "statistic": { + "description": "", + "enum": [ + "avg", + "max", + "min", + "sum", + "count" + ], + "example": "avg", + "type": "string" + }, + "threshold": { + "description": "", + "example": 80, + "type": "integer" + } + }, + "type": "object" + }, + "type": { + "description": "Alarm type", + "enum": [ + "threshold", + "event", + "gnocchi_resources_threshold" + ], + "example": "threshold", + "type": "string" + } + }, + "required": [ + "name", + "type" + ], + "type": "object" + } + }, + "required": [ + "alarm" + ], + "type": "object" + }, + "alarm_history_create": { + "description": "", + "properties": { + "alarm_history": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "alarm_history", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "alarm_history" + ], + "type": "object" + }, + "alarm_history_patch": { + "description": "", + "properties": { + "alarm_history": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "alarm_history", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "alarm_history" + ], + "type": "object" + }, + "alarm_history_update": { + "description": "", + "properties": { + "alarm_history": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "alarm_history", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "alarm_history" + ], + "type": "object" + }, + "alarm_patch": { + "description": "", + "properties": { + "alarm": { + "description": "", + "properties": { + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "Enabled", + "type": "boolean" + }, + "insufficient_data_actions": { + "description": "", + "items": { + "description": "", + "format": "uri", + "type": "string" + }, + "type": "array" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "ok_actions": { + "description": "", + "items": { + "description": "", + "format": "uri", + "type": "string" + }, + "type": "array" + }, + "repeat_actions": { + "default": true, + "description": "Repeat actions", + "type": "boolean" + }, + "severity_actions": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "threshold_rule": { + "description": "", + "properties": { + "comparison_operator": { + "description": "", + "enum": [ + "gt", + "lt", + "ge", + "le", + "eq", + "ne" + ], + "example": "gt", + "type": "string" + }, + "evaluation_periods": { + "description": "", + "example": 1, + "type": "integer" + }, + "meter_name": { + "description": "", + "example": "cpu_util", + "type": "string" + }, + "period": { + "description": "", + "example": 60, + "type": "integer" + }, + "query": { + "description": "", + "items": { + "description": "", + "properties": { + "field": { + "description": "", + "type": "string" + }, + "op": { + "description": "", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "statistic": { + "description": "", + "enum": [ + "avg", + "max", + "min", + "sum", + "count" + ], + "example": "avg", + "type": "string" + }, + "threshold": { + "description": "", + "example": 80, + "type": "integer" + } + }, + "type": "object" + }, + "type": { + "description": "Alarm type", + "enum": [ + "threshold", + "event", + "gnocchi_resources_threshold" + ], + "example": "threshold", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "alarm" + ], + "type": "object" + }, + "alarm_update": { + "description": "", + "properties": { + "alarm": { + "description": "", + "properties": { + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "Enabled", + "type": "boolean" + }, + "insufficient_data_actions": { + "description": "", + "items": { + "description": "", + "format": "uri", + "type": "string" + }, + "type": "array" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "ok_actions": { + "description": "", + "items": { + "description": "", + "format": "uri", + "type": "string" + }, + "type": "array" + }, + "repeat_actions": { + "default": true, + "description": "Repeat actions", + "type": "boolean" + }, + "severity_actions": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "threshold_rule": { + "description": "", + "properties": { + "comparison_operator": { + "description": "", + "enum": [ + "gt", + "lt", + "ge", + "le", + "eq", + "ne" + ], + "example": "gt", + "type": "string" + }, + "evaluation_periods": { + "description": "", + "example": 1, + "type": "integer" + }, + "meter_name": { + "description": "", + "example": "cpu_util", + "type": "string" + }, + "period": { + "description": "", + "example": 60, + "type": "integer" + }, + "query": { + "description": "", + "items": { + "description": "", + "properties": { + "field": { + "description": "", + "type": "string" + }, + "op": { + "description": "", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "statistic": { + "description": "", + "enum": [ + "avg", + "max", + "min", + "sum", + "count" + ], + "example": "avg", + "type": "string" + }, + "threshold": { + "description": "", + "example": 80, + "type": "integer" + } + }, + "type": "object" + }, + "type": { + "description": "Alarm type", + "enum": [ + "threshold", + "event", + "gnocchi_resources_threshold" + ], + "example": "threshold", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "alarm" + ], + "type": "object" + }, + "quota_create": { + "description": "", + "properties": { + "quota": { + "description": "", + "properties": { + "cores": { + "description": "", + "example": 20, + "type": "integer" + }, + "fixed_ips": { + "description": "", + "example": -1, + "type": "integer" + }, + "floating_ips": { + "description": "", + "example": 10, + "type": "integer" + }, + "force": { + "default": false, + "description": "", + "type": "boolean" + }, + "gigabytes": { + "description": "", + "example": 1000, + "type": "integer" + }, + "injected_file_content_bytes": { + "description": "", + "example": 10240, + "type": "integer" + }, + "injected_files": { + "description": "", + "example": 5, + "type": "integer" + }, + "instances": { + "description": "", + "example": 10, + "type": "integer" + }, + "key_pairs": { + "description": "", + "example": 100, + "type": "integer" + }, + "metadata_items": { + "description": "", + "example": 128, + "type": "integer" + }, + "networks": { + "description": "", + "example": 100, + "type": "integer" + }, + "ports": { + "description": "", + "example": 500, + "type": "integer" + }, + "ram": { + "description": "", + "example": 51200, + "type": "integer" + }, + "routers": { + "description": "", + "example": 10, + "type": "integer" + }, + "security_group_rules": { + "description": "", + "example": 20, + "type": "integer" + }, + "security_groups": { + "description": "", + "example": 10, + "type": "integer" + }, + "snapshots": { + "description": "", + "example": 10, + "type": "integer" + }, + "subnets": { + "description": "", + "example": 100, + "type": "integer" + }, + "volumes": { + "description": "", + "example": 10, + "type": "integer" + } + }, + "type": "object" + } + }, + "required": [ + "quota" + ], + "type": "object" + }, + "quota_patch": { + "description": "", + "properties": { + "quota": { + "description": "", + "properties": { + "cores": { + "description": "", + "example": 20, + "type": "integer" + }, + "fixed_ips": { + "description": "", + "example": -1, + "type": "integer" + }, + "floating_ips": { + "description": "", + "example": 10, + "type": "integer" + }, + "force": { + "default": false, + "description": "", + "type": "boolean" + }, + "gigabytes": { + "description": "", + "example": 1000, + "type": "integer" + }, + "injected_file_content_bytes": { + "description": "", + "example": 10240, + "type": "integer" + }, + "injected_files": { + "description": "", + "example": 5, + "type": "integer" + }, + "instances": { + "description": "", + "example": 10, + "type": "integer" + }, + "key_pairs": { + "description": "", + "example": 100, + "type": "integer" + }, + "metadata_items": { + "description": "", + "example": 128, + "type": "integer" + }, + "networks": { + "description": "", + "example": 100, + "type": "integer" + }, + "ports": { + "description": "", + "example": 500, + "type": "integer" + }, + "ram": { + "description": "", + "example": 51200, + "type": "integer" + }, + "routers": { + "description": "", + "example": 10, + "type": "integer" + }, + "security_group_rules": { + "description": "", + "example": 20, + "type": "integer" + }, + "security_groups": { + "description": "", + "example": 10, + "type": "integer" + }, + "snapshots": { + "description": "", + "example": 10, + "type": "integer" + }, + "subnets": { + "description": "", + "example": 100, + "type": "integer" + }, + "volumes": { + "description": "", + "example": 10, + "type": "integer" + } + }, + "type": "object" + } + }, + "required": [ + "quota" + ], + "type": "object" + }, + "quota_update": { + "description": "", + "properties": { + "quota": { + "description": "", + "properties": { + "cores": { + "description": "", + "example": 20, + "type": "integer" + }, + "fixed_ips": { + "description": "", + "example": -1, + "type": "integer" + }, + "floating_ips": { + "description": "", + "example": 10, + "type": "integer" + }, + "force": { + "default": false, + "description": "", + "type": "boolean" + }, + "gigabytes": { + "description": "", + "example": 1000, + "type": "integer" + }, + "injected_file_content_bytes": { + "description": "", + "example": 10240, + "type": "integer" + }, + "injected_files": { + "description": "", + "example": 5, + "type": "integer" + }, + "instances": { + "description": "", + "example": 10, + "type": "integer" + }, + "key_pairs": { + "description": "", + "example": 100, + "type": "integer" + }, + "metadata_items": { + "description": "", + "example": 128, + "type": "integer" + }, + "networks": { + "description": "", + "example": 100, + "type": "integer" + }, + "ports": { + "description": "", + "example": 500, + "type": "integer" + }, + "ram": { + "description": "", + "example": 51200, + "type": "integer" + }, + "routers": { + "description": "", + "example": 10, + "type": "integer" + }, + "security_group_rules": { + "description": "", + "example": 20, + "type": "integer" + }, + "security_groups": { + "description": "", + "example": 10, + "type": "integer" + }, + "snapshots": { + "description": "", + "example": 10, + "type": "integer" + }, + "subnets": { + "description": "", + "example": 100, + "type": "integer" + }, + "volumes": { + "description": "", + "example": 10, + "type": "integer" + } + }, + "type": "object" + } + }, + "required": [ + "quota" + ], + "type": "object" + } + }, + "service": "aodh", + "source": "generated-from-api-ref-catalog" +} diff --git a/contracts/openstack/request_bodies/barbican.json b/contracts/openstack/request_bodies/barbican.json new file mode 100644 index 0000000..f123636 --- /dev/null +++ b/contracts/openstack/request_bodies/barbican.json @@ -0,0 +1,2618 @@ +{ + "by_path": { + "PATCH /v1/containers/{id}": { + "description": "", + "properties": { + "container": { + "description": "", + "properties": { + "command": { + "description": "Command", + "type": "string" + }, + "cpu": { + "description": "", + "example": 1, + "type": "integer" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "environment": { + "description": "", + "properties": {}, + "type": "object" + }, + "image": { + "description": "Container image", + "example": "cirros", + "type": "string" + }, + "interactive": { + "default": false, + "description": "", + "type": "boolean" + }, + "memory": { + "description": "Memory MiB", + "example": 512, + "type": "integer" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "nets": { + "description": "", + "items": { + "description": "", + "properties": { + "network": { + "description": "", + "format": "uuid", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "restart_policy": { + "description": "", + "properties": { + "MaximumRetryCount": { + "description": "", + "example": 0, + "type": "integer" + }, + "Name": { + "description": "", + "example": "no", + "type": "string" + } + }, + "type": "object" + }, + "tty": { + "default": false, + "description": "", + "type": "boolean" + }, + "workdir": { + "description": "", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "container" + ], + "type": "object" + }, + "PATCH /v1/orders/{id}": { + "description": "", + "properties": { + "order": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "order", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "order" + ], + "type": "object" + }, + "PATCH /v1/secret-stores/{id}": { + "description": "", + "properties": { + "secret_store": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "secret_store", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "secret_store" + ], + "type": "object" + }, + "PATCH /v1/secrets/{id}": { + "description": "", + "properties": { + "secret": { + "description": "", + "properties": { + "algorithm": { + "description": "Algorithm", + "type": "string" + }, + "bit_length": { + "description": "Bit length", + "type": "integer" + }, + "expiration": { + "description": "Expiration timestamp", + "type": "string" + }, + "mode": { + "description": "Mode", + "type": "string" + }, + "name": { + "description": "Secret name", + "example": "example", + "type": "string" + }, + "payload": { + "description": "Secret payload", + "example": "c2VjcmV0", + "type": "string" + }, + "payload_content_encoding": { + "description": "Encoding", + "enum": [ + "base64" + ], + "example": "base64", + "type": "string" + }, + "payload_content_type": { + "description": "Content type", + "example": "text/plain", + "type": "string" + }, + "secret_type": { + "description": "Secret type", + "enum": [ + "opaque", + "symmetric", + "public", + "private", + "certificate", + "passphrase" + ], + "example": "opaque", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "secret" + ], + "type": "object" + }, + "POST /v1/containers": { + "description": "", + "properties": { + "container": { + "description": "", + "properties": { + "command": { + "description": "Command", + "type": "string" + }, + "cpu": { + "description": "", + "example": 1, + "type": "integer" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "environment": { + "description": "", + "properties": {}, + "type": "object" + }, + "image": { + "description": "Container image", + "example": "cirros", + "type": "string" + }, + "interactive": { + "default": false, + "description": "", + "type": "boolean" + }, + "memory": { + "description": "Memory MiB", + "example": 512, + "type": "integer" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "nets": { + "description": "", + "items": { + "description": "", + "properties": { + "network": { + "description": "", + "format": "uuid", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "restart_policy": { + "description": "", + "properties": { + "MaximumRetryCount": { + "description": "", + "example": 0, + "type": "integer" + }, + "Name": { + "description": "", + "example": "no", + "type": "string" + } + }, + "type": "object" + }, + "tty": { + "default": false, + "description": "", + "type": "boolean" + }, + "workdir": { + "description": "", + "type": "string" + } + }, + "required": [ + "image" + ], + "type": "object" + } + }, + "required": [ + "container" + ], + "type": "object" + }, + "POST /v1/orders": { + "description": "", + "properties": { + "order": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "order", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "order" + ], + "type": "object" + }, + "POST /v1/secret-stores": { + "description": "", + "properties": { + "secret_store": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "secret_store", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "secret_store" + ], + "type": "object" + }, + "POST /v1/secrets": { + "description": "", + "properties": { + "secret": { + "description": "", + "properties": { + "algorithm": { + "description": "Algorithm", + "type": "string" + }, + "bit_length": { + "description": "Bit length", + "type": "integer" + }, + "expiration": { + "description": "Expiration timestamp", + "type": "string" + }, + "mode": { + "description": "Mode", + "type": "string" + }, + "name": { + "description": "Secret name", + "example": "example", + "type": "string" + }, + "payload": { + "description": "Secret payload", + "example": "c2VjcmV0", + "type": "string" + }, + "payload_content_encoding": { + "description": "Encoding", + "enum": [ + "base64" + ], + "example": "base64", + "type": "string" + }, + "payload_content_type": { + "description": "Content type", + "example": "text/plain", + "type": "string" + }, + "secret_type": { + "description": "Secret type", + "enum": [ + "opaque", + "symmetric", + "public", + "private", + "certificate", + "passphrase" + ], + "example": "opaque", + "type": "string" + } + }, + "required": [ + "payload" + ], + "type": "object" + } + }, + "required": [ + "secret" + ], + "type": "object" + }, + "PUT /v1/containers/{id}": { + "description": "", + "properties": { + "container": { + "description": "", + "properties": { + "command": { + "description": "Command", + "type": "string" + }, + "cpu": { + "description": "", + "example": 1, + "type": "integer" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "environment": { + "description": "", + "properties": {}, + "type": "object" + }, + "image": { + "description": "Container image", + "example": "cirros", + "type": "string" + }, + "interactive": { + "default": false, + "description": "", + "type": "boolean" + }, + "memory": { + "description": "Memory MiB", + "example": 512, + "type": "integer" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "nets": { + "description": "", + "items": { + "description": "", + "properties": { + "network": { + "description": "", + "format": "uuid", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "restart_policy": { + "description": "", + "properties": { + "MaximumRetryCount": { + "description": "", + "example": 0, + "type": "integer" + }, + "Name": { + "description": "", + "example": "no", + "type": "string" + } + }, + "type": "object" + }, + "tty": { + "default": false, + "description": "", + "type": "boolean" + }, + "workdir": { + "description": "", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "container" + ], + "type": "object" + }, + "PUT /v1/orders/{id}": { + "description": "", + "properties": { + "order": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "order", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "order" + ], + "type": "object" + }, + "PUT /v1/secret-stores/{id}": { + "description": "", + "properties": { + "secret_store": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "secret_store", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "secret_store" + ], + "type": "object" + }, + "PUT /v1/secrets/{id}": { + "description": "", + "properties": { + "secret": { + "description": "", + "properties": { + "algorithm": { + "description": "Algorithm", + "type": "string" + }, + "bit_length": { + "description": "Bit length", + "type": "integer" + }, + "expiration": { + "description": "Expiration timestamp", + "type": "string" + }, + "mode": { + "description": "Mode", + "type": "string" + }, + "name": { + "description": "Secret name", + "example": "example", + "type": "string" + }, + "payload": { + "description": "Secret payload", + "example": "c2VjcmV0", + "type": "string" + }, + "payload_content_encoding": { + "description": "Encoding", + "enum": [ + "base64" + ], + "example": "base64", + "type": "string" + }, + "payload_content_type": { + "description": "Content type", + "example": "text/plain", + "type": "string" + }, + "secret_type": { + "description": "Secret type", + "enum": [ + "opaque", + "symmetric", + "public", + "private", + "certificate", + "passphrase" + ], + "example": "opaque", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "secret" + ], + "type": "object" + } + }, + "operations": { + "container_create": { + "description": "", + "properties": { + "container": { + "description": "", + "properties": { + "command": { + "description": "Command", + "type": "string" + }, + "cpu": { + "description": "", + "example": 1, + "type": "integer" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "environment": { + "description": "", + "properties": {}, + "type": "object" + }, + "image": { + "description": "Container image", + "example": "cirros", + "type": "string" + }, + "interactive": { + "default": false, + "description": "", + "type": "boolean" + }, + "memory": { + "description": "Memory MiB", + "example": 512, + "type": "integer" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "nets": { + "description": "", + "items": { + "description": "", + "properties": { + "network": { + "description": "", + "format": "uuid", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "restart_policy": { + "description": "", + "properties": { + "MaximumRetryCount": { + "description": "", + "example": 0, + "type": "integer" + }, + "Name": { + "description": "", + "example": "no", + "type": "string" + } + }, + "type": "object" + }, + "tty": { + "default": false, + "description": "", + "type": "boolean" + }, + "workdir": { + "description": "", + "type": "string" + } + }, + "required": [ + "image" + ], + "type": "object" + } + }, + "required": [ + "container" + ], + "type": "object" + }, + "container_patch": { + "description": "", + "properties": { + "container": { + "description": "", + "properties": { + "command": { + "description": "Command", + "type": "string" + }, + "cpu": { + "description": "", + "example": 1, + "type": "integer" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "environment": { + "description": "", + "properties": {}, + "type": "object" + }, + "image": { + "description": "Container image", + "example": "cirros", + "type": "string" + }, + "interactive": { + "default": false, + "description": "", + "type": "boolean" + }, + "memory": { + "description": "Memory MiB", + "example": 512, + "type": "integer" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "nets": { + "description": "", + "items": { + "description": "", + "properties": { + "network": { + "description": "", + "format": "uuid", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "restart_policy": { + "description": "", + "properties": { + "MaximumRetryCount": { + "description": "", + "example": 0, + "type": "integer" + }, + "Name": { + "description": "", + "example": "no", + "type": "string" + } + }, + "type": "object" + }, + "tty": { + "default": false, + "description": "", + "type": "boolean" + }, + "workdir": { + "description": "", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "container" + ], + "type": "object" + }, + "container_update": { + "description": "", + "properties": { + "container": { + "description": "", + "properties": { + "command": { + "description": "Command", + "type": "string" + }, + "cpu": { + "description": "", + "example": 1, + "type": "integer" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "environment": { + "description": "", + "properties": {}, + "type": "object" + }, + "image": { + "description": "Container image", + "example": "cirros", + "type": "string" + }, + "interactive": { + "default": false, + "description": "", + "type": "boolean" + }, + "memory": { + "description": "Memory MiB", + "example": 512, + "type": "integer" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "nets": { + "description": "", + "items": { + "description": "", + "properties": { + "network": { + "description": "", + "format": "uuid", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "restart_policy": { + "description": "", + "properties": { + "MaximumRetryCount": { + "description": "", + "example": 0, + "type": "integer" + }, + "Name": { + "description": "", + "example": "no", + "type": "string" + } + }, + "type": "object" + }, + "tty": { + "default": false, + "description": "", + "type": "boolean" + }, + "workdir": { + "description": "", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "container" + ], + "type": "object" + }, + "order_create": { + "description": "", + "properties": { + "order": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "order", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "order" + ], + "type": "object" + }, + "order_patch": { + "description": "", + "properties": { + "order": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "order", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "order" + ], + "type": "object" + }, + "order_update": { + "description": "", + "properties": { + "order": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "order", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "order" + ], + "type": "object" + }, + "secret_create": { + "description": "", + "properties": { + "secret": { + "description": "", + "properties": { + "algorithm": { + "description": "Algorithm", + "type": "string" + }, + "bit_length": { + "description": "Bit length", + "type": "integer" + }, + "expiration": { + "description": "Expiration timestamp", + "type": "string" + }, + "mode": { + "description": "Mode", + "type": "string" + }, + "name": { + "description": "Secret name", + "example": "example", + "type": "string" + }, + "payload": { + "description": "Secret payload", + "example": "c2VjcmV0", + "type": "string" + }, + "payload_content_encoding": { + "description": "Encoding", + "enum": [ + "base64" + ], + "example": "base64", + "type": "string" + }, + "payload_content_type": { + "description": "Content type", + "example": "text/plain", + "type": "string" + }, + "secret_type": { + "description": "Secret type", + "enum": [ + "opaque", + "symmetric", + "public", + "private", + "certificate", + "passphrase" + ], + "example": "opaque", + "type": "string" + } + }, + "required": [ + "payload" + ], + "type": "object" + } + }, + "required": [ + "secret" + ], + "type": "object" + }, + "secret_patch": { + "description": "", + "properties": { + "secret": { + "description": "", + "properties": { + "algorithm": { + "description": "Algorithm", + "type": "string" + }, + "bit_length": { + "description": "Bit length", + "type": "integer" + }, + "expiration": { + "description": "Expiration timestamp", + "type": "string" + }, + "mode": { + "description": "Mode", + "type": "string" + }, + "name": { + "description": "Secret name", + "example": "example", + "type": "string" + }, + "payload": { + "description": "Secret payload", + "example": "c2VjcmV0", + "type": "string" + }, + "payload_content_encoding": { + "description": "Encoding", + "enum": [ + "base64" + ], + "example": "base64", + "type": "string" + }, + "payload_content_type": { + "description": "Content type", + "example": "text/plain", + "type": "string" + }, + "secret_type": { + "description": "Secret type", + "enum": [ + "opaque", + "symmetric", + "public", + "private", + "certificate", + "passphrase" + ], + "example": "opaque", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "secret" + ], + "type": "object" + }, + "secret_store_create": { + "description": "", + "properties": { + "secret_store": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "secret_store", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "secret_store" + ], + "type": "object" + }, + "secret_store_patch": { + "description": "", + "properties": { + "secret_store": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "secret_store", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "secret_store" + ], + "type": "object" + }, + "secret_store_update": { + "description": "", + "properties": { + "secret_store": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "secret_store", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "secret_store" + ], + "type": "object" + }, + "secret_update": { + "description": "", + "properties": { + "secret": { + "description": "", + "properties": { + "algorithm": { + "description": "Algorithm", + "type": "string" + }, + "bit_length": { + "description": "Bit length", + "type": "integer" + }, + "expiration": { + "description": "Expiration timestamp", + "type": "string" + }, + "mode": { + "description": "Mode", + "type": "string" + }, + "name": { + "description": "Secret name", + "example": "example", + "type": "string" + }, + "payload": { + "description": "Secret payload", + "example": "c2VjcmV0", + "type": "string" + }, + "payload_content_encoding": { + "description": "Encoding", + "enum": [ + "base64" + ], + "example": "base64", + "type": "string" + }, + "payload_content_type": { + "description": "Content type", + "example": "text/plain", + "type": "string" + }, + "secret_type": { + "description": "Secret type", + "enum": [ + "opaque", + "symmetric", + "public", + "private", + "certificate", + "passphrase" + ], + "example": "opaque", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "secret" + ], + "type": "object" + } + }, + "service": "barbican", + "source": "generated-from-api-ref-catalog" +} diff --git a/contracts/openstack/request_bodies/blazar.json b/contracts/openstack/request_bodies/blazar.json new file mode 100644 index 0000000..7f53b66 --- /dev/null +++ b/contracts/openstack/request_bodies/blazar.json @@ -0,0 +1,944 @@ +{ + "by_path": { + "PATCH /floatingips/{id}": { + "description": "", + "properties": { + "floatingip": { + "description": "", + "properties": { + "description": { + "description": "", + "type": "string" + }, + "dns_domain": { + "description": "", + "type": "string" + }, + "dns_name": { + "description": "", + "type": "string" + }, + "fixed_ip_address": { + "description": "Fixed IP", + "type": "string" + }, + "floating_ip_address": { + "description": "Floating IP", + "type": "string" + }, + "floating_network_id": { + "description": "External network UUID", + "format": "uuid", + "type": "string" + }, + "port_id": { + "description": "Port UUID", + "format": "uuid", + "type": "string" + }, + "subnet_id": { + "description": "Subnet UUID", + "format": "uuid", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "floatingip" + ], + "type": "object" + }, + "PATCH /leases/{id}": { + "description": "", + "properties": { + "lease": { + "description": "", + "properties": { + "end_date": { + "description": "", + "example": "2026-01-02 00:00", + "type": "string" + }, + "events": { + "description": "", + "items": { + "description": "", + "properties": {}, + "type": "object" + }, + "type": "array" + }, + "name": { + "description": "", + "example": "example", + "type": "string" + }, + "reservations": { + "description": "", + "items": { + "description": "", + "properties": { + "hypervisor_properties": { + "description": "", + "type": "string" + }, + "max": { + "description": "", + "example": 1, + "type": "integer" + }, + "min": { + "description": "", + "example": 1, + "type": "integer" + }, + "resource_properties": { + "description": "", + "type": "string" + }, + "resource_type": { + "description": "", + "example": "physical:host", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "start_date": { + "description": "", + "example": "2026-01-01 00:00", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "lease" + ], + "type": "object" + }, + "PATCH /os-hosts/{id}": { + "description": "", + "properties": { + "host": { + "description": "", + "properties": { + "extra_capabilities": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "", + "example": "example", + "type": "string" + }, + "reservable": { + "default": true, + "description": "", + "type": "boolean" + } + }, + "type": "object" + } + }, + "required": [ + "host" + ], + "type": "object" + }, + "POST /floatingips": { + "description": "", + "properties": { + "floatingip": { + "description": "", + "properties": { + "description": { + "description": "", + "type": "string" + }, + "dns_domain": { + "description": "", + "type": "string" + }, + "dns_name": { + "description": "", + "type": "string" + }, + "fixed_ip_address": { + "description": "Fixed IP", + "type": "string" + }, + "floating_ip_address": { + "description": "Floating IP", + "type": "string" + }, + "floating_network_id": { + "description": "External network UUID", + "format": "uuid", + "type": "string" + }, + "port_id": { + "description": "Port UUID", + "format": "uuid", + "type": "string" + }, + "subnet_id": { + "description": "Subnet UUID", + "format": "uuid", + "type": "string" + } + }, + "required": [ + "floating_network_id" + ], + "type": "object" + } + }, + "required": [ + "floatingip" + ], + "type": "object" + }, + "POST /leases": { + "description": "", + "properties": { + "lease": { + "description": "", + "properties": { + "end_date": { + "description": "", + "example": "2026-01-02 00:00", + "type": "string" + }, + "events": { + "description": "", + "items": { + "description": "", + "properties": {}, + "type": "object" + }, + "type": "array" + }, + "name": { + "description": "", + "example": "example", + "type": "string" + }, + "reservations": { + "description": "", + "items": { + "description": "", + "properties": { + "hypervisor_properties": { + "description": "", + "type": "string" + }, + "max": { + "description": "", + "example": 1, + "type": "integer" + }, + "min": { + "description": "", + "example": 1, + "type": "integer" + }, + "resource_properties": { + "description": "", + "type": "string" + }, + "resource_type": { + "description": "", + "example": "physical:host", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "start_date": { + "description": "", + "example": "2026-01-01 00:00", + "type": "string" + } + }, + "required": [ + "name", + "start_date", + "end_date", + "reservations" + ], + "type": "object" + } + }, + "required": [ + "lease" + ], + "type": "object" + }, + "POST /os-hosts": { + "description": "", + "properties": { + "host": { + "description": "", + "properties": { + "extra_capabilities": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "", + "example": "example", + "type": "string" + }, + "reservable": { + "default": true, + "description": "", + "type": "boolean" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "host" + ], + "type": "object" + }, + "PUT /floatingips/{id}": { + "description": "", + "properties": { + "floatingip": { + "description": "", + "properties": { + "description": { + "description": "", + "type": "string" + }, + "dns_domain": { + "description": "", + "type": "string" + }, + "dns_name": { + "description": "", + "type": "string" + }, + "fixed_ip_address": { + "description": "Fixed IP", + "type": "string" + }, + "floating_ip_address": { + "description": "Floating IP", + "type": "string" + }, + "floating_network_id": { + "description": "External network UUID", + "format": "uuid", + "type": "string" + }, + "port_id": { + "description": "Port UUID", + "format": "uuid", + "type": "string" + }, + "subnet_id": { + "description": "Subnet UUID", + "format": "uuid", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "floatingip" + ], + "type": "object" + }, + "PUT /leases/{id}": { + "description": "", + "properties": { + "lease": { + "description": "", + "properties": { + "end_date": { + "description": "", + "example": "2026-01-02 00:00", + "type": "string" + }, + "events": { + "description": "", + "items": { + "description": "", + "properties": {}, + "type": "object" + }, + "type": "array" + }, + "name": { + "description": "", + "example": "example", + "type": "string" + }, + "reservations": { + "description": "", + "items": { + "description": "", + "properties": { + "hypervisor_properties": { + "description": "", + "type": "string" + }, + "max": { + "description": "", + "example": 1, + "type": "integer" + }, + "min": { + "description": "", + "example": 1, + "type": "integer" + }, + "resource_properties": { + "description": "", + "type": "string" + }, + "resource_type": { + "description": "", + "example": "physical:host", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "start_date": { + "description": "", + "example": "2026-01-01 00:00", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "lease" + ], + "type": "object" + }, + "PUT /os-hosts/{id}": { + "description": "", + "properties": { + "host": { + "description": "", + "properties": { + "extra_capabilities": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "", + "example": "example", + "type": "string" + }, + "reservable": { + "default": true, + "description": "", + "type": "boolean" + } + }, + "type": "object" + } + }, + "required": [ + "host" + ], + "type": "object" + } + }, + "operations": { + "floatingip_create": { + "description": "", + "properties": { + "floatingip": { + "description": "", + "properties": { + "description": { + "description": "", + "type": "string" + }, + "dns_domain": { + "description": "", + "type": "string" + }, + "dns_name": { + "description": "", + "type": "string" + }, + "fixed_ip_address": { + "description": "Fixed IP", + "type": "string" + }, + "floating_ip_address": { + "description": "Floating IP", + "type": "string" + }, + "floating_network_id": { + "description": "External network UUID", + "format": "uuid", + "type": "string" + }, + "port_id": { + "description": "Port UUID", + "format": "uuid", + "type": "string" + }, + "subnet_id": { + "description": "Subnet UUID", + "format": "uuid", + "type": "string" + } + }, + "required": [ + "floating_network_id" + ], + "type": "object" + } + }, + "required": [ + "floatingip" + ], + "type": "object" + }, + "floatingip_patch": { + "description": "", + "properties": { + "floatingip": { + "description": "", + "properties": { + "description": { + "description": "", + "type": "string" + }, + "dns_domain": { + "description": "", + "type": "string" + }, + "dns_name": { + "description": "", + "type": "string" + }, + "fixed_ip_address": { + "description": "Fixed IP", + "type": "string" + }, + "floating_ip_address": { + "description": "Floating IP", + "type": "string" + }, + "floating_network_id": { + "description": "External network UUID", + "format": "uuid", + "type": "string" + }, + "port_id": { + "description": "Port UUID", + "format": "uuid", + "type": "string" + }, + "subnet_id": { + "description": "Subnet UUID", + "format": "uuid", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "floatingip" + ], + "type": "object" + }, + "floatingip_update": { + "description": "", + "properties": { + "floatingip": { + "description": "", + "properties": { + "description": { + "description": "", + "type": "string" + }, + "dns_domain": { + "description": "", + "type": "string" + }, + "dns_name": { + "description": "", + "type": "string" + }, + "fixed_ip_address": { + "description": "Fixed IP", + "type": "string" + }, + "floating_ip_address": { + "description": "Floating IP", + "type": "string" + }, + "floating_network_id": { + "description": "External network UUID", + "format": "uuid", + "type": "string" + }, + "port_id": { + "description": "Port UUID", + "format": "uuid", + "type": "string" + }, + "subnet_id": { + "description": "Subnet UUID", + "format": "uuid", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "floatingip" + ], + "type": "object" + }, + "host_create": { + "description": "", + "properties": { + "host": { + "description": "", + "properties": { + "extra_capabilities": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "", + "example": "example", + "type": "string" + }, + "reservable": { + "default": true, + "description": "", + "type": "boolean" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "host" + ], + "type": "object" + }, + "host_patch": { + "description": "", + "properties": { + "host": { + "description": "", + "properties": { + "extra_capabilities": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "", + "example": "example", + "type": "string" + }, + "reservable": { + "default": true, + "description": "", + "type": "boolean" + } + }, + "type": "object" + } + }, + "required": [ + "host" + ], + "type": "object" + }, + "host_update": { + "description": "", + "properties": { + "host": { + "description": "", + "properties": { + "extra_capabilities": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "", + "example": "example", + "type": "string" + }, + "reservable": { + "default": true, + "description": "", + "type": "boolean" + } + }, + "type": "object" + } + }, + "required": [ + "host" + ], + "type": "object" + }, + "lease_create": { + "description": "", + "properties": { + "lease": { + "description": "", + "properties": { + "end_date": { + "description": "", + "example": "2026-01-02 00:00", + "type": "string" + }, + "events": { + "description": "", + "items": { + "description": "", + "properties": {}, + "type": "object" + }, + "type": "array" + }, + "name": { + "description": "", + "example": "example", + "type": "string" + }, + "reservations": { + "description": "", + "items": { + "description": "", + "properties": { + "hypervisor_properties": { + "description": "", + "type": "string" + }, + "max": { + "description": "", + "example": 1, + "type": "integer" + }, + "min": { + "description": "", + "example": 1, + "type": "integer" + }, + "resource_properties": { + "description": "", + "type": "string" + }, + "resource_type": { + "description": "", + "example": "physical:host", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "start_date": { + "description": "", + "example": "2026-01-01 00:00", + "type": "string" + } + }, + "required": [ + "name", + "start_date", + "end_date", + "reservations" + ], + "type": "object" + } + }, + "required": [ + "lease" + ], + "type": "object" + }, + "lease_patch": { + "description": "", + "properties": { + "lease": { + "description": "", + "properties": { + "end_date": { + "description": "", + "example": "2026-01-02 00:00", + "type": "string" + }, + "events": { + "description": "", + "items": { + "description": "", + "properties": {}, + "type": "object" + }, + "type": "array" + }, + "name": { + "description": "", + "example": "example", + "type": "string" + }, + "reservations": { + "description": "", + "items": { + "description": "", + "properties": { + "hypervisor_properties": { + "description": "", + "type": "string" + }, + "max": { + "description": "", + "example": 1, + "type": "integer" + }, + "min": { + "description": "", + "example": 1, + "type": "integer" + }, + "resource_properties": { + "description": "", + "type": "string" + }, + "resource_type": { + "description": "", + "example": "physical:host", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "start_date": { + "description": "", + "example": "2026-01-01 00:00", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "lease" + ], + "type": "object" + }, + "lease_update": { + "description": "", + "properties": { + "lease": { + "description": "", + "properties": { + "end_date": { + "description": "", + "example": "2026-01-02 00:00", + "type": "string" + }, + "events": { + "description": "", + "items": { + "description": "", + "properties": {}, + "type": "object" + }, + "type": "array" + }, + "name": { + "description": "", + "example": "example", + "type": "string" + }, + "reservations": { + "description": "", + "items": { + "description": "", + "properties": { + "hypervisor_properties": { + "description": "", + "type": "string" + }, + "max": { + "description": "", + "example": 1, + "type": "integer" + }, + "min": { + "description": "", + "example": 1, + "type": "integer" + }, + "resource_properties": { + "description": "", + "type": "string" + }, + "resource_type": { + "description": "", + "example": "physical:host", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "start_date": { + "description": "", + "example": "2026-01-01 00:00", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "lease" + ], + "type": "object" + } + }, + "service": "blazar", + "source": "generated-from-api-ref-catalog" +} diff --git a/contracts/openstack/request_bodies/cinder.json b/contracts/openstack/request_bodies/cinder.json new file mode 100644 index 0000000..e3555de --- /dev/null +++ b/contracts/openstack/request_bodies/cinder.json @@ -0,0 +1,5734 @@ +{ + "by_path": { + "PATCH /v3/attachments/{id}": { + "description": "", + "properties": { + "attachment": { + "description": "", + "properties": { + "instance_uuid": { + "description": "", + "format": "uuid", + "type": "string" + }, + "mode": { + "description": "", + "example": "rw", + "type": "string" + }, + "volume_uuid": { + "description": "", + "format": "uuid", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "attachment" + ], + "type": "object" + }, + "PATCH /v3/backups/{id}": { + "description": "", + "properties": { + "backup": { + "description": "", + "properties": { + "container": { + "description": "", + "type": "string" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "force": { + "default": false, + "description": "", + "type": "boolean" + }, + "incremental": { + "default": false, + "description": "", + "type": "boolean" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "snapshot_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "volume_id": { + "description": "", + "format": "uuid", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "backup" + ], + "type": "object" + }, + "PATCH /v3/clusters/{id}": { + "description": "", + "properties": { + "cluster": { + "description": "", + "properties": { + "cluster_template_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "docker_volume_size": { + "description": "", + "example": 5, + "type": "integer" + }, + "flavor_id": { + "description": "", + "type": "string" + }, + "keypair": { + "description": "Keypair name", + "type": "string" + }, + "labels": { + "description": "", + "properties": {}, + "type": "object" + }, + "master_count": { + "description": "", + "example": 1, + "type": "integer" + }, + "master_flavor_id": { + "description": "", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "node_count": { + "description": "", + "example": 1, + "type": "integer" + } + }, + "type": "object" + } + }, + "required": [ + "cluster" + ], + "type": "object" + }, + "PATCH /v3/consistencygroups/{id}": { + "description": "", + "properties": { + "consistencygroup": { + "description": "", + "properties": { + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "volume_types": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + } + }, + "required": [ + "consistencygroup" + ], + "type": "object" + }, + "PATCH /v3/group_snapshots/{id}": { + "description": "", + "properties": { + "group_snapshot": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "group_snapshot", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "group_snapshot" + ], + "type": "object" + }, + "PATCH /v3/groups/{id}": { + "description": "", + "properties": { + "group": { + "description": "", + "properties": { + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "domain_id": { + "description": "", + "example": "default", + "format": "uuid", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "group" + ], + "type": "object" + }, + "PATCH /v3/messages/{id}": { + "description": "", + "properties": { + "message": { + "description": "", + "properties": { + "messages": { + "description": "", + "items": { + "description": "", + "properties": { + "body": { + "description": "", + "properties": { + "event": { + "description": "", + "example": "example", + "type": "string" + } + }, + "type": "object" + }, + "ttl": { + "description": "", + "example": 3600, + "type": "integer" + } + }, + "required": [ + "body" + ], + "type": "object" + }, + "type": "array" + } + }, + "type": "object" + } + }, + "required": [ + "message" + ], + "type": "object" + }, + "PATCH /v3/qos-specs/{id}": { + "description": "", + "properties": { + "qos_spec": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "qos_spec", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "qos_spec" + ], + "type": "object" + }, + "PATCH /v3/snapshots/{id}": { + "description": "", + "properties": { + "snapshot": { + "description": "", + "properties": { + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "force": { + "description": "Force snapshot", + "type": "boolean" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "volume_id": { + "description": "Volume UUID", + "format": "uuid", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "snapshot" + ], + "type": "object" + }, + "PATCH /v3/types/{id}": { + "description": "", + "properties": { + "volume_type": { + "description": "", + "properties": { + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "extra_specs": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "os-volume-type-access:is_public": { + "default": true, + "description": "", + "type": "boolean" + } + }, + "type": "object" + } + }, + "required": [ + "volume_type" + ], + "type": "object" + }, + "PATCH /v3/volume-transfers/{id}": { + "description": "", + "properties": { + "transfer": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "transfer", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "transfer" + ], + "type": "object" + }, + "PATCH /v3/volumes/{id}": { + "description": "", + "properties": { + "volume": { + "description": "", + "properties": { + "availability_zone": { + "description": "AZ", + "type": "string" + }, + "consistencygroup_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "imageRef": { + "description": "Image UUID", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "multiattach": { + "description": "Multi-attach", + "type": "boolean" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "size": { + "description": "Size in GiB", + "example": 1, + "minimum": 1, + "type": "integer" + }, + "snapshot_id": { + "description": "Snapshot UUID", + "format": "uuid", + "type": "string" + }, + "source_volid": { + "description": "Source volume UUID", + "format": "uuid", + "type": "string" + }, + "volume_type": { + "description": "Volume type name", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "volume" + ], + "type": "object" + }, + "PATCH /v3/{project_id}/volumes/{id}": { + "description": "", + "properties": { + "volume": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "volume_tenant", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "volume" + ], + "type": "object" + }, + "POST /v3/attachments": { + "description": "", + "properties": { + "attachment": { + "description": "", + "properties": { + "instance_uuid": { + "description": "", + "format": "uuid", + "type": "string" + }, + "mode": { + "description": "", + "example": "rw", + "type": "string" + }, + "volume_uuid": { + "description": "", + "format": "uuid", + "type": "string" + } + }, + "required": [ + "instance_uuid", + "volume_uuid" + ], + "type": "object" + } + }, + "required": [ + "attachment" + ], + "type": "object" + }, + "POST /v3/backups": { + "description": "", + "properties": { + "backup": { + "description": "", + "properties": { + "container": { + "description": "", + "type": "string" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "force": { + "default": false, + "description": "", + "type": "boolean" + }, + "incremental": { + "default": false, + "description": "", + "type": "boolean" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "snapshot_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "volume_id": { + "description": "", + "format": "uuid", + "type": "string" + } + }, + "required": [ + "volume_id" + ], + "type": "object" + } + }, + "required": [ + "backup" + ], + "type": "object" + }, + "POST /v3/clusters": { + "description": "", + "properties": { + "cluster": { + "description": "", + "properties": { + "cluster_template_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "docker_volume_size": { + "description": "", + "example": 5, + "type": "integer" + }, + "flavor_id": { + "description": "", + "type": "string" + }, + "keypair": { + "description": "Keypair name", + "type": "string" + }, + "labels": { + "description": "", + "properties": {}, + "type": "object" + }, + "master_count": { + "description": "", + "example": 1, + "type": "integer" + }, + "master_flavor_id": { + "description": "", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "node_count": { + "description": "", + "example": 1, + "type": "integer" + } + }, + "required": [ + "name", + "cluster_template_id" + ], + "type": "object" + } + }, + "required": [ + "cluster" + ], + "type": "object" + }, + "POST /v3/consistencygroups": { + "description": "", + "properties": { + "consistencygroup": { + "description": "", + "properties": { + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "volume_types": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "name", + "volume_types" + ], + "type": "object" + } + }, + "required": [ + "consistencygroup" + ], + "type": "object" + }, + "POST /v3/group_snapshots": { + "description": "", + "properties": { + "group_snapshot": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "group_snapshot", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "group_snapshot" + ], + "type": "object" + }, + "POST /v3/groups": { + "description": "", + "properties": { + "group": { + "description": "", + "properties": { + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "domain_id": { + "description": "", + "example": "default", + "format": "uuid", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "group" + ], + "type": "object" + }, + "POST /v3/messages": { + "description": "", + "properties": { + "message": { + "description": "", + "properties": { + "messages": { + "description": "", + "items": { + "description": "", + "properties": { + "body": { + "description": "", + "properties": { + "event": { + "description": "", + "example": "example", + "type": "string" + } + }, + "type": "object" + }, + "ttl": { + "description": "", + "example": 3600, + "type": "integer" + } + }, + "required": [ + "body" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "messages" + ], + "type": "object" + } + }, + "required": [ + "message" + ], + "type": "object" + }, + "POST /v3/qos-specs": { + "description": "", + "properties": { + "qos_spec": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "qos_spec", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "qos_spec" + ], + "type": "object" + }, + "POST /v3/snapshots": { + "description": "", + "properties": { + "snapshot": { + "description": "", + "properties": { + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "force": { + "description": "Force snapshot", + "type": "boolean" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "volume_id": { + "description": "Volume UUID", + "format": "uuid", + "type": "string" + } + }, + "required": [ + "volume_id" + ], + "type": "object" + } + }, + "required": [ + "snapshot" + ], + "type": "object" + }, + "POST /v3/types": { + "description": "", + "properties": { + "volume_type": { + "description": "", + "properties": { + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "extra_specs": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "os-volume-type-access:is_public": { + "default": true, + "description": "", + "type": "boolean" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "volume_type" + ], + "type": "object" + }, + "POST /v3/volume-transfers": { + "description": "", + "properties": { + "transfer": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "transfer", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "transfer" + ], + "type": "object" + }, + "POST /v3/volumes": { + "description": "", + "properties": { + "volume": { + "description": "", + "properties": { + "availability_zone": { + "description": "AZ", + "type": "string" + }, + "consistencygroup_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "imageRef": { + "description": "Image UUID", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "multiattach": { + "description": "Multi-attach", + "type": "boolean" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "size": { + "description": "Size in GiB", + "example": 1, + "minimum": 1, + "type": "integer" + }, + "snapshot_id": { + "description": "Snapshot UUID", + "format": "uuid", + "type": "string" + }, + "source_volid": { + "description": "Source volume UUID", + "format": "uuid", + "type": "string" + }, + "volume_type": { + "description": "Volume type name", + "type": "string" + } + }, + "required": [ + "size" + ], + "type": "object" + } + }, + "required": [ + "volume" + ], + "type": "object" + }, + "POST /v3/volumes/{id}/action": { + "description": "", + "properties": { + "os-start": { + "description": "Action os-start body (null object)", + "type": "null" + } + }, + "required": [ + "os-start" + ], + "type": "object" + }, + "POST /v3/{project_id}/volumes": { + "description": "", + "properties": { + "volume": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "volume_tenant", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "volume" + ], + "type": "object" + }, + "PUT /v3/attachments/{id}": { + "description": "", + "properties": { + "attachment": { + "description": "", + "properties": { + "instance_uuid": { + "description": "", + "format": "uuid", + "type": "string" + }, + "mode": { + "description": "", + "example": "rw", + "type": "string" + }, + "volume_uuid": { + "description": "", + "format": "uuid", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "attachment" + ], + "type": "object" + }, + "PUT /v3/backups/{id}": { + "description": "", + "properties": { + "backup": { + "description": "", + "properties": { + "container": { + "description": "", + "type": "string" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "force": { + "default": false, + "description": "", + "type": "boolean" + }, + "incremental": { + "default": false, + "description": "", + "type": "boolean" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "snapshot_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "volume_id": { + "description": "", + "format": "uuid", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "backup" + ], + "type": "object" + }, + "PUT /v3/clusters/{id}": { + "description": "", + "properties": { + "cluster": { + "description": "", + "properties": { + "cluster_template_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "docker_volume_size": { + "description": "", + "example": 5, + "type": "integer" + }, + "flavor_id": { + "description": "", + "type": "string" + }, + "keypair": { + "description": "Keypair name", + "type": "string" + }, + "labels": { + "description": "", + "properties": {}, + "type": "object" + }, + "master_count": { + "description": "", + "example": 1, + "type": "integer" + }, + "master_flavor_id": { + "description": "", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "node_count": { + "description": "", + "example": 1, + "type": "integer" + } + }, + "type": "object" + } + }, + "required": [ + "cluster" + ], + "type": "object" + }, + "PUT /v3/consistencygroups/{id}": { + "description": "", + "properties": { + "consistencygroup": { + "description": "", + "properties": { + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "volume_types": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + } + }, + "required": [ + "consistencygroup" + ], + "type": "object" + }, + "PUT /v3/group_snapshots/{id}": { + "description": "", + "properties": { + "group_snapshot": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "group_snapshot", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "group_snapshot" + ], + "type": "object" + }, + "PUT /v3/groups/{id}": { + "description": "", + "properties": { + "group": { + "description": "", + "properties": { + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "domain_id": { + "description": "", + "example": "default", + "format": "uuid", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "group" + ], + "type": "object" + }, + "PUT /v3/messages/{id}": { + "description": "", + "properties": { + "message": { + "description": "", + "properties": { + "messages": { + "description": "", + "items": { + "description": "", + "properties": { + "body": { + "description": "", + "properties": { + "event": { + "description": "", + "example": "example", + "type": "string" + } + }, + "type": "object" + }, + "ttl": { + "description": "", + "example": 3600, + "type": "integer" + } + }, + "required": [ + "body" + ], + "type": "object" + }, + "type": "array" + } + }, + "type": "object" + } + }, + "required": [ + "message" + ], + "type": "object" + }, + "PUT /v3/qos-specs/{id}": { + "description": "", + "properties": { + "qos_spec": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "qos_spec", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "qos_spec" + ], + "type": "object" + }, + "PUT /v3/snapshots/{id}": { + "description": "", + "properties": { + "snapshot": { + "description": "", + "properties": { + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "force": { + "description": "Force snapshot", + "type": "boolean" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "volume_id": { + "description": "Volume UUID", + "format": "uuid", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "snapshot" + ], + "type": "object" + }, + "PUT /v3/types/{id}": { + "description": "", + "properties": { + "volume_type": { + "description": "", + "properties": { + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "extra_specs": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "os-volume-type-access:is_public": { + "default": true, + "description": "", + "type": "boolean" + } + }, + "type": "object" + } + }, + "required": [ + "volume_type" + ], + "type": "object" + }, + "PUT /v3/volume-transfers/{id}": { + "description": "", + "properties": { + "transfer": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "transfer", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "transfer" + ], + "type": "object" + }, + "PUT /v3/volumes/{id}": { + "description": "", + "properties": { + "volume": { + "description": "", + "properties": { + "availability_zone": { + "description": "AZ", + "type": "string" + }, + "consistencygroup_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "imageRef": { + "description": "Image UUID", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "multiattach": { + "description": "Multi-attach", + "type": "boolean" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "size": { + "description": "Size in GiB", + "example": 1, + "minimum": 1, + "type": "integer" + }, + "snapshot_id": { + "description": "Snapshot UUID", + "format": "uuid", + "type": "string" + }, + "source_volid": { + "description": "Source volume UUID", + "format": "uuid", + "type": "string" + }, + "volume_type": { + "description": "Volume type name", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "volume" + ], + "type": "object" + }, + "PUT /v3/{project_id}/volumes/{id}": { + "description": "", + "properties": { + "volume": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "volume_tenant", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "volume" + ], + "type": "object" + } + }, + "operations": { + "attachment_create": { + "description": "", + "properties": { + "attachment": { + "description": "", + "properties": { + "instance_uuid": { + "description": "", + "format": "uuid", + "type": "string" + }, + "mode": { + "description": "", + "example": "rw", + "type": "string" + }, + "volume_uuid": { + "description": "", + "format": "uuid", + "type": "string" + } + }, + "required": [ + "instance_uuid", + "volume_uuid" + ], + "type": "object" + } + }, + "required": [ + "attachment" + ], + "type": "object" + }, + "attachment_patch": { + "description": "", + "properties": { + "attachment": { + "description": "", + "properties": { + "instance_uuid": { + "description": "", + "format": "uuid", + "type": "string" + }, + "mode": { + "description": "", + "example": "rw", + "type": "string" + }, + "volume_uuid": { + "description": "", + "format": "uuid", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "attachment" + ], + "type": "object" + }, + "attachment_update": { + "description": "", + "properties": { + "attachment": { + "description": "", + "properties": { + "instance_uuid": { + "description": "", + "format": "uuid", + "type": "string" + }, + "mode": { + "description": "", + "example": "rw", + "type": "string" + }, + "volume_uuid": { + "description": "", + "format": "uuid", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "attachment" + ], + "type": "object" + }, + "backup_create": { + "description": "", + "properties": { + "backup": { + "description": "", + "properties": { + "container": { + "description": "", + "type": "string" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "force": { + "default": false, + "description": "", + "type": "boolean" + }, + "incremental": { + "default": false, + "description": "", + "type": "boolean" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "snapshot_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "volume_id": { + "description": "", + "format": "uuid", + "type": "string" + } + }, + "required": [ + "volume_id" + ], + "type": "object" + } + }, + "required": [ + "backup" + ], + "type": "object" + }, + "backup_patch": { + "description": "", + "properties": { + "backup": { + "description": "", + "properties": { + "container": { + "description": "", + "type": "string" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "force": { + "default": false, + "description": "", + "type": "boolean" + }, + "incremental": { + "default": false, + "description": "", + "type": "boolean" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "snapshot_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "volume_id": { + "description": "", + "format": "uuid", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "backup" + ], + "type": "object" + }, + "backup_update": { + "description": "", + "properties": { + "backup": { + "description": "", + "properties": { + "container": { + "description": "", + "type": "string" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "force": { + "default": false, + "description": "", + "type": "boolean" + }, + "incremental": { + "default": false, + "description": "", + "type": "boolean" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "snapshot_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "volume_id": { + "description": "", + "format": "uuid", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "backup" + ], + "type": "object" + }, + "cluster_create": { + "description": "", + "properties": { + "cluster": { + "description": "", + "properties": { + "cluster_template_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "docker_volume_size": { + "description": "", + "example": 5, + "type": "integer" + }, + "flavor_id": { + "description": "", + "type": "string" + }, + "keypair": { + "description": "Keypair name", + "type": "string" + }, + "labels": { + "description": "", + "properties": {}, + "type": "object" + }, + "master_count": { + "description": "", + "example": 1, + "type": "integer" + }, + "master_flavor_id": { + "description": "", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "node_count": { + "description": "", + "example": 1, + "type": "integer" + } + }, + "required": [ + "name", + "cluster_template_id" + ], + "type": "object" + } + }, + "required": [ + "cluster" + ], + "type": "object" + }, + "cluster_patch": { + "description": "", + "properties": { + "cluster": { + "description": "", + "properties": { + "cluster_template_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "docker_volume_size": { + "description": "", + "example": 5, + "type": "integer" + }, + "flavor_id": { + "description": "", + "type": "string" + }, + "keypair": { + "description": "Keypair name", + "type": "string" + }, + "labels": { + "description": "", + "properties": {}, + "type": "object" + }, + "master_count": { + "description": "", + "example": 1, + "type": "integer" + }, + "master_flavor_id": { + "description": "", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "node_count": { + "description": "", + "example": 1, + "type": "integer" + } + }, + "type": "object" + } + }, + "required": [ + "cluster" + ], + "type": "object" + }, + "cluster_update": { + "description": "", + "properties": { + "cluster": { + "description": "", + "properties": { + "cluster_template_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "docker_volume_size": { + "description": "", + "example": 5, + "type": "integer" + }, + "flavor_id": { + "description": "", + "type": "string" + }, + "keypair": { + "description": "Keypair name", + "type": "string" + }, + "labels": { + "description": "", + "properties": {}, + "type": "object" + }, + "master_count": { + "description": "", + "example": 1, + "type": "integer" + }, + "master_flavor_id": { + "description": "", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "node_count": { + "description": "", + "example": 1, + "type": "integer" + } + }, + "type": "object" + } + }, + "required": [ + "cluster" + ], + "type": "object" + }, + "consistencygroup_create": { + "description": "", + "properties": { + "consistencygroup": { + "description": "", + "properties": { + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "volume_types": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "name", + "volume_types" + ], + "type": "object" + } + }, + "required": [ + "consistencygroup" + ], + "type": "object" + }, + "consistencygroup_patch": { + "description": "", + "properties": { + "consistencygroup": { + "description": "", + "properties": { + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "volume_types": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + } + }, + "required": [ + "consistencygroup" + ], + "type": "object" + }, + "consistencygroup_update": { + "description": "", + "properties": { + "consistencygroup": { + "description": "", + "properties": { + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "volume_types": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + } + }, + "required": [ + "consistencygroup" + ], + "type": "object" + }, + "group_create": { + "description": "", + "properties": { + "group": { + "description": "", + "properties": { + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "domain_id": { + "description": "", + "example": "default", + "format": "uuid", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "group" + ], + "type": "object" + }, + "group_patch": { + "description": "", + "properties": { + "group": { + "description": "", + "properties": { + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "domain_id": { + "description": "", + "example": "default", + "format": "uuid", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "group" + ], + "type": "object" + }, + "group_snapshot_create": { + "description": "", + "properties": { + "group_snapshot": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "group_snapshot", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "group_snapshot" + ], + "type": "object" + }, + "group_snapshot_patch": { + "description": "", + "properties": { + "group_snapshot": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "group_snapshot", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "group_snapshot" + ], + "type": "object" + }, + "group_snapshot_update": { + "description": "", + "properties": { + "group_snapshot": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "group_snapshot", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "group_snapshot" + ], + "type": "object" + }, + "group_update": { + "description": "", + "properties": { + "group": { + "description": "", + "properties": { + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "domain_id": { + "description": "", + "example": "default", + "format": "uuid", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "group" + ], + "type": "object" + }, + "message_create": { + "description": "", + "properties": { + "message": { + "description": "", + "properties": { + "messages": { + "description": "", + "items": { + "description": "", + "properties": { + "body": { + "description": "", + "properties": { + "event": { + "description": "", + "example": "example", + "type": "string" + } + }, + "type": "object" + }, + "ttl": { + "description": "", + "example": 3600, + "type": "integer" + } + }, + "required": [ + "body" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "messages" + ], + "type": "object" + } + }, + "required": [ + "message" + ], + "type": "object" + }, + "message_patch": { + "description": "", + "properties": { + "message": { + "description": "", + "properties": { + "messages": { + "description": "", + "items": { + "description": "", + "properties": { + "body": { + "description": "", + "properties": { + "event": { + "description": "", + "example": "example", + "type": "string" + } + }, + "type": "object" + }, + "ttl": { + "description": "", + "example": 3600, + "type": "integer" + } + }, + "required": [ + "body" + ], + "type": "object" + }, + "type": "array" + } + }, + "type": "object" + } + }, + "required": [ + "message" + ], + "type": "object" + }, + "message_update": { + "description": "", + "properties": { + "message": { + "description": "", + "properties": { + "messages": { + "description": "", + "items": { + "description": "", + "properties": { + "body": { + "description": "", + "properties": { + "event": { + "description": "", + "example": "example", + "type": "string" + } + }, + "type": "object" + }, + "ttl": { + "description": "", + "example": 3600, + "type": "integer" + } + }, + "required": [ + "body" + ], + "type": "object" + }, + "type": "array" + } + }, + "type": "object" + } + }, + "required": [ + "message" + ], + "type": "object" + }, + "qos_spec_create": { + "description": "", + "properties": { + "qos_spec": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "qos_spec", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "qos_spec" + ], + "type": "object" + }, + "qos_spec_patch": { + "description": "", + "properties": { + "qos_spec": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "qos_spec", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "qos_spec" + ], + "type": "object" + }, + "qos_spec_update": { + "description": "", + "properties": { + "qos_spec": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "qos_spec", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "qos_spec" + ], + "type": "object" + }, + "snapshot_create": { + "description": "", + "properties": { + "snapshot": { + "description": "", + "properties": { + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "force": { + "description": "Force snapshot", + "type": "boolean" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "volume_id": { + "description": "Volume UUID", + "format": "uuid", + "type": "string" + } + }, + "required": [ + "volume_id" + ], + "type": "object" + } + }, + "required": [ + "snapshot" + ], + "type": "object" + }, + "snapshot_patch": { + "description": "", + "properties": { + "snapshot": { + "description": "", + "properties": { + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "force": { + "description": "Force snapshot", + "type": "boolean" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "volume_id": { + "description": "Volume UUID", + "format": "uuid", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "snapshot" + ], + "type": "object" + }, + "snapshot_update": { + "description": "", + "properties": { + "snapshot": { + "description": "", + "properties": { + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "force": { + "description": "Force snapshot", + "type": "boolean" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "volume_id": { + "description": "Volume UUID", + "format": "uuid", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "snapshot" + ], + "type": "object" + }, + "transfer_create": { + "description": "", + "properties": { + "transfer": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "transfer", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "transfer" + ], + "type": "object" + }, + "transfer_patch": { + "description": "", + "properties": { + "transfer": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "transfer", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "transfer" + ], + "type": "object" + }, + "transfer_update": { + "description": "", + "properties": { + "transfer": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "transfer", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "transfer" + ], + "type": "object" + }, + "volume_action": { + "description": "", + "properties": { + "os-start": { + "description": "Action os-start body (null object)", + "type": "null" + } + }, + "required": [ + "os-start" + ], + "type": "object" + }, + "volume_create": { + "description": "", + "properties": { + "volume": { + "description": "", + "properties": { + "availability_zone": { + "description": "AZ", + "type": "string" + }, + "consistencygroup_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "imageRef": { + "description": "Image UUID", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "multiattach": { + "description": "Multi-attach", + "type": "boolean" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "size": { + "description": "Size in GiB", + "example": 1, + "minimum": 1, + "type": "integer" + }, + "snapshot_id": { + "description": "Snapshot UUID", + "format": "uuid", + "type": "string" + }, + "source_volid": { + "description": "Source volume UUID", + "format": "uuid", + "type": "string" + }, + "volume_type": { + "description": "Volume type name", + "type": "string" + } + }, + "required": [ + "size" + ], + "type": "object" + } + }, + "required": [ + "volume" + ], + "type": "object" + }, + "volume_patch": { + "description": "", + "properties": { + "volume": { + "description": "", + "properties": { + "availability_zone": { + "description": "AZ", + "type": "string" + }, + "consistencygroup_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "imageRef": { + "description": "Image UUID", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "multiattach": { + "description": "Multi-attach", + "type": "boolean" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "size": { + "description": "Size in GiB", + "example": 1, + "minimum": 1, + "type": "integer" + }, + "snapshot_id": { + "description": "Snapshot UUID", + "format": "uuid", + "type": "string" + }, + "source_volid": { + "description": "Source volume UUID", + "format": "uuid", + "type": "string" + }, + "volume_type": { + "description": "Volume type name", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "volume" + ], + "type": "object" + }, + "volume_tenant_create": { + "description": "", + "properties": { + "volume": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "volume_tenant", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "volume" + ], + "type": "object" + }, + "volume_tenant_patch": { + "description": "", + "properties": { + "volume": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "volume_tenant", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "volume" + ], + "type": "object" + }, + "volume_tenant_update": { + "description": "", + "properties": { + "volume": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "volume_tenant", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "volume" + ], + "type": "object" + }, + "volume_type_create": { + "description": "", + "properties": { + "volume_type": { + "description": "", + "properties": { + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "extra_specs": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "os-volume-type-access:is_public": { + "default": true, + "description": "", + "type": "boolean" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "volume_type" + ], + "type": "object" + }, + "volume_type_patch": { + "description": "", + "properties": { + "volume_type": { + "description": "", + "properties": { + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "extra_specs": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "os-volume-type-access:is_public": { + "default": true, + "description": "", + "type": "boolean" + } + }, + "type": "object" + } + }, + "required": [ + "volume_type" + ], + "type": "object" + }, + "volume_type_update": { + "description": "", + "properties": { + "volume_type": { + "description": "", + "properties": { + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "extra_specs": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "os-volume-type-access:is_public": { + "default": true, + "description": "", + "type": "boolean" + } + }, + "type": "object" + } + }, + "required": [ + "volume_type" + ], + "type": "object" + }, + "volume_update": { + "description": "", + "properties": { + "volume": { + "description": "", + "properties": { + "availability_zone": { + "description": "AZ", + "type": "string" + }, + "consistencygroup_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "imageRef": { + "description": "Image UUID", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "multiattach": { + "description": "Multi-attach", + "type": "boolean" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "size": { + "description": "Size in GiB", + "example": 1, + "minimum": 1, + "type": "integer" + }, + "snapshot_id": { + "description": "Snapshot UUID", + "format": "uuid", + "type": "string" + }, + "source_volid": { + "description": "Source volume UUID", + "format": "uuid", + "type": "string" + }, + "volume_type": { + "description": "Volume type name", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "volume" + ], + "type": "object" + } + }, + "service": "cinder", + "source": "generated-from-api-ref-catalog" +} diff --git a/contracts/openstack/request_bodies/cloudkitty.json b/contracts/openstack/request_bodies/cloudkitty.json new file mode 100644 index 0000000..04a0542 --- /dev/null +++ b/contracts/openstack/request_bodies/cloudkitty.json @@ -0,0 +1,2612 @@ +{ + "by_path": { + "PATCH /v1/rating/module_config/hashmap/fields/{id}": { + "description": "", + "properties": { + "field": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "hashmap_field", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "field" + ], + "type": "object" + }, + "PATCH /v1/rating/module_config/hashmap/services/{id}": { + "description": "", + "properties": { + "service": { + "description": "", + "properties": { + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "service" + ], + "type": "object" + }, + "PATCH /v1/report/summary/{id}": { + "description": "", + "properties": { + "summary": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "report_summary", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "summary" + ], + "type": "object" + }, + "PATCH /v1/storage/dataframes/{id}": { + "description": "", + "properties": { + "dataframe": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "dataframes", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "dataframe" + ], + "type": "object" + }, + "POST /v1/rating/module_config/hashmap/fields": { + "description": "", + "properties": { + "field": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "hashmap_field", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "field" + ], + "type": "object" + }, + "POST /v1/rating/module_config/hashmap/services": { + "description": "", + "properties": { + "service": { + "description": "", + "properties": { + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "service" + ], + "type": "object" + }, + "POST /v1/report/summary": { + "description": "", + "properties": { + "summary": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "report_summary", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "summary" + ], + "type": "object" + }, + "POST /v1/storage/dataframes": { + "description": "", + "properties": { + "dataframe": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "dataframes", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "dataframe" + ], + "type": "object" + }, + "PUT /v1/rating/module_config/hashmap/fields/{id}": { + "description": "", + "properties": { + "field": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "hashmap_field", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "field" + ], + "type": "object" + }, + "PUT /v1/rating/module_config/hashmap/services/{id}": { + "description": "", + "properties": { + "service": { + "description": "", + "properties": { + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "service" + ], + "type": "object" + }, + "PUT /v1/report/summary/{id}": { + "description": "", + "properties": { + "summary": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "report_summary", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "summary" + ], + "type": "object" + }, + "PUT /v1/storage/dataframes/{id}": { + "description": "", + "properties": { + "dataframe": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "dataframes", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "dataframe" + ], + "type": "object" + } + }, + "operations": { + "dataframes_create": { + "description": "", + "properties": { + "dataframe": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "dataframes", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "dataframe" + ], + "type": "object" + }, + "dataframes_patch": { + "description": "", + "properties": { + "dataframe": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "dataframes", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "dataframe" + ], + "type": "object" + }, + "dataframes_update": { + "description": "", + "properties": { + "dataframe": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "dataframes", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "dataframe" + ], + "type": "object" + }, + "hashmap_field_create": { + "description": "", + "properties": { + "field": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "hashmap_field", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "field" + ], + "type": "object" + }, + "hashmap_field_patch": { + "description": "", + "properties": { + "field": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "hashmap_field", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "field" + ], + "type": "object" + }, + "hashmap_field_update": { + "description": "", + "properties": { + "field": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "hashmap_field", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "field" + ], + "type": "object" + }, + "hashmap_service_create": { + "description": "", + "properties": { + "service": { + "description": "", + "properties": { + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "service" + ], + "type": "object" + }, + "hashmap_service_patch": { + "description": "", + "properties": { + "service": { + "description": "", + "properties": { + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "service" + ], + "type": "object" + }, + "hashmap_service_update": { + "description": "", + "properties": { + "service": { + "description": "", + "properties": { + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "service" + ], + "type": "object" + }, + "report_summary_create": { + "description": "", + "properties": { + "summary": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "report_summary", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "summary" + ], + "type": "object" + }, + "report_summary_patch": { + "description": "", + "properties": { + "summary": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "report_summary", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "summary" + ], + "type": "object" + }, + "report_summary_update": { + "description": "", + "properties": { + "summary": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "report_summary", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "summary" + ], + "type": "object" + } + }, + "service": "cloudkitty", + "source": "generated-from-api-ref-catalog" +} diff --git a/contracts/openstack/request_bodies/designate.json b/contracts/openstack/request_bodies/designate.json new file mode 100644 index 0000000..0be60b0 --- /dev/null +++ b/contracts/openstack/request_bodies/designate.json @@ -0,0 +1,3592 @@ +{ + "by_path": { + "PATCH /v2/blacklists/{id}": { + "description": "", + "properties": { + "blacklist": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "blacklist", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "blacklist" + ], + "type": "object" + }, + "PATCH /v2/pools/{id}": { + "description": "", + "properties": { + "pool": { + "description": "", + "properties": { + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "lb_algorithm": { + "description": "", + "enum": [ + "ROUND_ROBIN", + "LEAST_CONNECTIONS", + "SOURCE_IP" + ], + "example": "ROUND_ROBIN", + "type": "string" + }, + "listener_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "loadbalancer_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "protocol": { + "description": "", + "enum": [ + "HTTP", + "HTTPS", + "TCP", + "UDP", + "PROXY" + ], + "example": "HTTP", + "type": "string" + }, + "session_persistence": { + "description": "", + "properties": { + "cookie_name": { + "description": "", + "type": "string" + }, + "type": { + "description": "", + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + } + }, + "required": [ + "pool" + ], + "type": "object" + }, + "PATCH /v2/service_statuses/{id}": { + "description": "", + "properties": { + "service_statuse": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "service_status", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "service_statuse" + ], + "type": "object" + }, + "PATCH /v2/tlds/{id}": { + "description": "", + "properties": { + "tld": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "tld", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "tld" + ], + "type": "object" + }, + "PATCH /v2/zones/{id}": { + "description": "", + "properties": { + "zone": { + "description": "", + "properties": { + "attributes": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "", + "type": "string" + }, + "email": { + "description": "SOA email", + "example": "hostmaster@example.com", + "format": "email", + "type": "string" + }, + "masters": { + "description": "", + "items": { + "description": "Master server", + "type": "string" + }, + "type": "array" + }, + "name": { + "description": "Zone name FQDN", + "example": "example.com.", + "type": "string" + }, + "ttl": { + "description": "TTL seconds", + "example": 3600, + "type": "integer" + }, + "type": { + "description": "Zone type", + "enum": [ + "PRIMARY", + "SECONDARY" + ], + "example": "PRIMARY", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "zone" + ], + "type": "object" + }, + "PATCH /v2/zones/{zone_id}/recordsets/{id}": { + "description": "", + "properties": { + "recordset": { + "description": "", + "properties": { + "description": { + "description": "", + "type": "string" + }, + "name": { + "description": "Recordset name", + "example": "www.example.com.", + "type": "string" + }, + "records": { + "description": "Records", + "items": { + "description": "Record data", + "type": "string" + }, + "type": "array" + }, + "ttl": { + "description": "TTL", + "example": 3600, + "type": "integer" + }, + "type": { + "description": "RR type", + "enum": [ + "A", + "AAAA", + "CNAME", + "MX", + "TXT", + "SRV", + "NS", + "PTR" + ], + "example": "A", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "recordset" + ], + "type": "object" + }, + "POST /v2/blacklists": { + "description": "", + "properties": { + "blacklist": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "blacklist", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "blacklist" + ], + "type": "object" + }, + "POST /v2/pools": { + "description": "", + "properties": { + "pool": { + "description": "", + "properties": { + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "lb_algorithm": { + "description": "", + "enum": [ + "ROUND_ROBIN", + "LEAST_CONNECTIONS", + "SOURCE_IP" + ], + "example": "ROUND_ROBIN", + "type": "string" + }, + "listener_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "loadbalancer_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "protocol": { + "description": "", + "enum": [ + "HTTP", + "HTTPS", + "TCP", + "UDP", + "PROXY" + ], + "example": "HTTP", + "type": "string" + }, + "session_persistence": { + "description": "", + "properties": { + "cookie_name": { + "description": "", + "type": "string" + }, + "type": { + "description": "", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "lb_algorithm", + "protocol" + ], + "type": "object" + } + }, + "required": [ + "pool" + ], + "type": "object" + }, + "POST /v2/service_statuses": { + "description": "", + "properties": { + "service_statuse": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "service_status", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "service_statuse" + ], + "type": "object" + }, + "POST /v2/tlds": { + "description": "", + "properties": { + "tld": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "tld", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "tld" + ], + "type": "object" + }, + "POST /v2/zones": { + "description": "", + "properties": { + "zone": { + "description": "", + "properties": { + "attributes": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "", + "type": "string" + }, + "email": { + "description": "SOA email", + "example": "hostmaster@example.com", + "format": "email", + "type": "string" + }, + "masters": { + "description": "", + "items": { + "description": "Master server", + "type": "string" + }, + "type": "array" + }, + "name": { + "description": "Zone name FQDN", + "example": "example.com.", + "type": "string" + }, + "ttl": { + "description": "TTL seconds", + "example": 3600, + "type": "integer" + }, + "type": { + "description": "Zone type", + "enum": [ + "PRIMARY", + "SECONDARY" + ], + "example": "PRIMARY", + "type": "string" + } + }, + "required": [ + "name", + "email" + ], + "type": "object" + } + }, + "required": [ + "zone" + ], + "type": "object" + }, + "POST /v2/zones/{zone_id}/recordsets": { + "description": "", + "properties": { + "recordset": { + "description": "", + "properties": { + "description": { + "description": "", + "type": "string" + }, + "name": { + "description": "Recordset name", + "example": "www.example.com.", + "type": "string" + }, + "records": { + "description": "Records", + "items": { + "description": "Record data", + "type": "string" + }, + "type": "array" + }, + "ttl": { + "description": "TTL", + "example": 3600, + "type": "integer" + }, + "type": { + "description": "RR type", + "enum": [ + "A", + "AAAA", + "CNAME", + "MX", + "TXT", + "SRV", + "NS", + "PTR" + ], + "example": "A", + "type": "string" + } + }, + "required": [ + "name", + "type", + "records" + ], + "type": "object" + } + }, + "required": [ + "recordset" + ], + "type": "object" + }, + "PUT /v2/blacklists/{id}": { + "description": "", + "properties": { + "blacklist": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "blacklist", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "blacklist" + ], + "type": "object" + }, + "PUT /v2/pools/{id}": { + "description": "", + "properties": { + "pool": { + "description": "", + "properties": { + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "lb_algorithm": { + "description": "", + "enum": [ + "ROUND_ROBIN", + "LEAST_CONNECTIONS", + "SOURCE_IP" + ], + "example": "ROUND_ROBIN", + "type": "string" + }, + "listener_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "loadbalancer_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "protocol": { + "description": "", + "enum": [ + "HTTP", + "HTTPS", + "TCP", + "UDP", + "PROXY" + ], + "example": "HTTP", + "type": "string" + }, + "session_persistence": { + "description": "", + "properties": { + "cookie_name": { + "description": "", + "type": "string" + }, + "type": { + "description": "", + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + } + }, + "required": [ + "pool" + ], + "type": "object" + }, + "PUT /v2/service_statuses/{id}": { + "description": "", + "properties": { + "service_statuse": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "service_status", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "service_statuse" + ], + "type": "object" + }, + "PUT /v2/tlds/{id}": { + "description": "", + "properties": { + "tld": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "tld", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "tld" + ], + "type": "object" + }, + "PUT /v2/zones/{id}": { + "description": "", + "properties": { + "zone": { + "description": "", + "properties": { + "attributes": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "", + "type": "string" + }, + "email": { + "description": "SOA email", + "example": "hostmaster@example.com", + "format": "email", + "type": "string" + }, + "masters": { + "description": "", + "items": { + "description": "Master server", + "type": "string" + }, + "type": "array" + }, + "name": { + "description": "Zone name FQDN", + "example": "example.com.", + "type": "string" + }, + "ttl": { + "description": "TTL seconds", + "example": 3600, + "type": "integer" + }, + "type": { + "description": "Zone type", + "enum": [ + "PRIMARY", + "SECONDARY" + ], + "example": "PRIMARY", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "zone" + ], + "type": "object" + }, + "PUT /v2/zones/{zone_id}/recordsets/{id}": { + "description": "", + "properties": { + "recordset": { + "description": "", + "properties": { + "description": { + "description": "", + "type": "string" + }, + "name": { + "description": "Recordset name", + "example": "www.example.com.", + "type": "string" + }, + "records": { + "description": "Records", + "items": { + "description": "Record data", + "type": "string" + }, + "type": "array" + }, + "ttl": { + "description": "TTL", + "example": 3600, + "type": "integer" + }, + "type": { + "description": "RR type", + "enum": [ + "A", + "AAAA", + "CNAME", + "MX", + "TXT", + "SRV", + "NS", + "PTR" + ], + "example": "A", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "recordset" + ], + "type": "object" + } + }, + "operations": { + "blacklist_create": { + "description": "", + "properties": { + "blacklist": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "blacklist", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "blacklist" + ], + "type": "object" + }, + "blacklist_patch": { + "description": "", + "properties": { + "blacklist": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "blacklist", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "blacklist" + ], + "type": "object" + }, + "blacklist_update": { + "description": "", + "properties": { + "blacklist": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "blacklist", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "blacklist" + ], + "type": "object" + }, + "pool_create": { + "description": "", + "properties": { + "pool": { + "description": "", + "properties": { + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "lb_algorithm": { + "description": "", + "enum": [ + "ROUND_ROBIN", + "LEAST_CONNECTIONS", + "SOURCE_IP" + ], + "example": "ROUND_ROBIN", + "type": "string" + }, + "listener_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "loadbalancer_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "protocol": { + "description": "", + "enum": [ + "HTTP", + "HTTPS", + "TCP", + "UDP", + "PROXY" + ], + "example": "HTTP", + "type": "string" + }, + "session_persistence": { + "description": "", + "properties": { + "cookie_name": { + "description": "", + "type": "string" + }, + "type": { + "description": "", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "lb_algorithm", + "protocol" + ], + "type": "object" + } + }, + "required": [ + "pool" + ], + "type": "object" + }, + "pool_patch": { + "description": "", + "properties": { + "pool": { + "description": "", + "properties": { + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "lb_algorithm": { + "description": "", + "enum": [ + "ROUND_ROBIN", + "LEAST_CONNECTIONS", + "SOURCE_IP" + ], + "example": "ROUND_ROBIN", + "type": "string" + }, + "listener_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "loadbalancer_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "protocol": { + "description": "", + "enum": [ + "HTTP", + "HTTPS", + "TCP", + "UDP", + "PROXY" + ], + "example": "HTTP", + "type": "string" + }, + "session_persistence": { + "description": "", + "properties": { + "cookie_name": { + "description": "", + "type": "string" + }, + "type": { + "description": "", + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + } + }, + "required": [ + "pool" + ], + "type": "object" + }, + "pool_update": { + "description": "", + "properties": { + "pool": { + "description": "", + "properties": { + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "lb_algorithm": { + "description": "", + "enum": [ + "ROUND_ROBIN", + "LEAST_CONNECTIONS", + "SOURCE_IP" + ], + "example": "ROUND_ROBIN", + "type": "string" + }, + "listener_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "loadbalancer_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "protocol": { + "description": "", + "enum": [ + "HTTP", + "HTTPS", + "TCP", + "UDP", + "PROXY" + ], + "example": "HTTP", + "type": "string" + }, + "session_persistence": { + "description": "", + "properties": { + "cookie_name": { + "description": "", + "type": "string" + }, + "type": { + "description": "", + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + } + }, + "required": [ + "pool" + ], + "type": "object" + }, + "recordset_create": { + "description": "", + "properties": { + "recordset": { + "description": "", + "properties": { + "description": { + "description": "", + "type": "string" + }, + "name": { + "description": "Recordset name", + "example": "www.example.com.", + "type": "string" + }, + "records": { + "description": "Records", + "items": { + "description": "Record data", + "type": "string" + }, + "type": "array" + }, + "ttl": { + "description": "TTL", + "example": 3600, + "type": "integer" + }, + "type": { + "description": "RR type", + "enum": [ + "A", + "AAAA", + "CNAME", + "MX", + "TXT", + "SRV", + "NS", + "PTR" + ], + "example": "A", + "type": "string" + } + }, + "required": [ + "name", + "type", + "records" + ], + "type": "object" + } + }, + "required": [ + "recordset" + ], + "type": "object" + }, + "recordset_patch": { + "description": "", + "properties": { + "recordset": { + "description": "", + "properties": { + "description": { + "description": "", + "type": "string" + }, + "name": { + "description": "Recordset name", + "example": "www.example.com.", + "type": "string" + }, + "records": { + "description": "Records", + "items": { + "description": "Record data", + "type": "string" + }, + "type": "array" + }, + "ttl": { + "description": "TTL", + "example": 3600, + "type": "integer" + }, + "type": { + "description": "RR type", + "enum": [ + "A", + "AAAA", + "CNAME", + "MX", + "TXT", + "SRV", + "NS", + "PTR" + ], + "example": "A", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "recordset" + ], + "type": "object" + }, + "recordset_update": { + "description": "", + "properties": { + "recordset": { + "description": "", + "properties": { + "description": { + "description": "", + "type": "string" + }, + "name": { + "description": "Recordset name", + "example": "www.example.com.", + "type": "string" + }, + "records": { + "description": "Records", + "items": { + "description": "Record data", + "type": "string" + }, + "type": "array" + }, + "ttl": { + "description": "TTL", + "example": 3600, + "type": "integer" + }, + "type": { + "description": "RR type", + "enum": [ + "A", + "AAAA", + "CNAME", + "MX", + "TXT", + "SRV", + "NS", + "PTR" + ], + "example": "A", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "recordset" + ], + "type": "object" + }, + "service_status_create": { + "description": "", + "properties": { + "service_statuse": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "service_status", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "service_statuse" + ], + "type": "object" + }, + "service_status_patch": { + "description": "", + "properties": { + "service_statuse": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "service_status", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "service_statuse" + ], + "type": "object" + }, + "service_status_update": { + "description": "", + "properties": { + "service_statuse": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "service_status", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "service_statuse" + ], + "type": "object" + }, + "tld_create": { + "description": "", + "properties": { + "tld": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "tld", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "tld" + ], + "type": "object" + }, + "tld_patch": { + "description": "", + "properties": { + "tld": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "tld", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "tld" + ], + "type": "object" + }, + "tld_update": { + "description": "", + "properties": { + "tld": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "tld", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "tld" + ], + "type": "object" + }, + "zone_create": { + "description": "", + "properties": { + "zone": { + "description": "", + "properties": { + "attributes": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "", + "type": "string" + }, + "email": { + "description": "SOA email", + "example": "hostmaster@example.com", + "format": "email", + "type": "string" + }, + "masters": { + "description": "", + "items": { + "description": "Master server", + "type": "string" + }, + "type": "array" + }, + "name": { + "description": "Zone name FQDN", + "example": "example.com.", + "type": "string" + }, + "ttl": { + "description": "TTL seconds", + "example": 3600, + "type": "integer" + }, + "type": { + "description": "Zone type", + "enum": [ + "PRIMARY", + "SECONDARY" + ], + "example": "PRIMARY", + "type": "string" + } + }, + "required": [ + "name", + "email" + ], + "type": "object" + } + }, + "required": [ + "zone" + ], + "type": "object" + }, + "zone_patch": { + "description": "", + "properties": { + "zone": { + "description": "", + "properties": { + "attributes": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "", + "type": "string" + }, + "email": { + "description": "SOA email", + "example": "hostmaster@example.com", + "format": "email", + "type": "string" + }, + "masters": { + "description": "", + "items": { + "description": "Master server", + "type": "string" + }, + "type": "array" + }, + "name": { + "description": "Zone name FQDN", + "example": "example.com.", + "type": "string" + }, + "ttl": { + "description": "TTL seconds", + "example": 3600, + "type": "integer" + }, + "type": { + "description": "Zone type", + "enum": [ + "PRIMARY", + "SECONDARY" + ], + "example": "PRIMARY", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "zone" + ], + "type": "object" + }, + "zone_update": { + "description": "", + "properties": { + "zone": { + "description": "", + "properties": { + "attributes": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "", + "type": "string" + }, + "email": { + "description": "SOA email", + "example": "hostmaster@example.com", + "format": "email", + "type": "string" + }, + "masters": { + "description": "", + "items": { + "description": "Master server", + "type": "string" + }, + "type": "array" + }, + "name": { + "description": "Zone name FQDN", + "example": "example.com.", + "type": "string" + }, + "ttl": { + "description": "TTL seconds", + "example": 3600, + "type": "integer" + }, + "type": { + "description": "Zone type", + "enum": [ + "PRIMARY", + "SECONDARY" + ], + "example": "PRIMARY", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "zone" + ], + "type": "object" + } + }, + "service": "designate", + "source": "generated-from-api-ref-catalog" +} diff --git a/contracts/openstack/request_bodies/freezer.json b/contracts/openstack/request_bodies/freezer.json new file mode 100644 index 0000000..3a59fed --- /dev/null +++ b/contracts/openstack/request_bodies/freezer.json @@ -0,0 +1,2728 @@ +{ + "by_path": { + "PATCH /v2/actions/{id}": { + "description": "", + "properties": { + "action": { + "description": "", + "properties": { + "action": { + "description": "", + "example": "os-start", + "type": "string" + }, + "name": { + "description": "", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "action" + ], + "type": "object" + }, + "PATCH /v2/backups/{id}": { + "description": "", + "properties": { + "backup": { + "description": "", + "properties": { + "container": { + "description": "", + "type": "string" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "force": { + "default": false, + "description": "", + "type": "boolean" + }, + "incremental": { + "default": false, + "description": "", + "type": "boolean" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "snapshot_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "volume_id": { + "description": "", + "format": "uuid", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "backup" + ], + "type": "object" + }, + "PATCH /v2/clients/{id}": { + "description": "", + "properties": { + "client": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "client", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "client" + ], + "type": "object" + }, + "PATCH /v2/jobs/{id}": { + "description": "", + "properties": { + "job": { + "description": "", + "properties": { + "client_id": { + "description": "", + "example": "example-client", + "type": "string" + }, + "description": { + "description": "", + "example": "example", + "type": "string" + }, + "job_actions": { + "description": "", + "items": { + "description": "", + "properties": { + "freezer_action": { + "description": "", + "properties": { + "action": { + "description": "", + "enum": [ + "backup", + "restore" + ], + "example": "backup", + "type": "string" + }, + "container": { + "description": "", + "example": "freezer_backup", + "type": "string" + }, + "mode": { + "description": "", + "example": "fs", + "type": "string" + }, + "path_to_backup": { + "description": "", + "example": "/home", + "type": "string" + }, + "storage": { + "description": "", + "example": "swift", + "type": "string" + } + }, + "type": "object" + }, + "max_retries": { + "description": "", + "example": 3, + "type": "integer" + }, + "max_retries_interval": { + "description": "", + "example": 60, + "type": "integer" + } + }, + "type": "object" + }, + "type": "array" + }, + "job_schedule": { + "description": "", + "properties": { + "schedule_interval": { + "description": "", + "example": "1 day", + "type": "string" + }, + "schedule_start_date": { + "description": "", + "type": "string" + }, + "status": { + "description": "", + "example": "scheduled", + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + } + }, + "required": [ + "job" + ], + "type": "object" + }, + "PATCH /v2/sessions/{id}": { + "description": "", + "properties": { + "session": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "session", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "session" + ], + "type": "object" + }, + "POST /v2/actions": { + "description": "", + "properties": { + "action": { + "description": "", + "properties": { + "action": { + "description": "", + "example": "os-start", + "type": "string" + }, + "name": { + "description": "", + "type": "string" + } + }, + "required": [ + "action" + ], + "type": "object" + } + }, + "required": [ + "action" + ], + "type": "object" + }, + "POST /v2/backups": { + "description": "", + "properties": { + "backup": { + "description": "", + "properties": { + "container": { + "description": "", + "type": "string" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "force": { + "default": false, + "description": "", + "type": "boolean" + }, + "incremental": { + "default": false, + "description": "", + "type": "boolean" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "snapshot_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "volume_id": { + "description": "", + "format": "uuid", + "type": "string" + } + }, + "required": [ + "volume_id" + ], + "type": "object" + } + }, + "required": [ + "backup" + ], + "type": "object" + }, + "POST /v2/clients": { + "description": "", + "properties": { + "client": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "client", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "client" + ], + "type": "object" + }, + "POST /v2/jobs": { + "description": "", + "properties": { + "job": { + "description": "", + "properties": { + "client_id": { + "description": "", + "example": "example-client", + "type": "string" + }, + "description": { + "description": "", + "example": "example", + "type": "string" + }, + "job_actions": { + "description": "", + "items": { + "description": "", + "properties": { + "freezer_action": { + "description": "", + "properties": { + "action": { + "description": "", + "enum": [ + "backup", + "restore" + ], + "example": "backup", + "type": "string" + }, + "container": { + "description": "", + "example": "freezer_backup", + "type": "string" + }, + "mode": { + "description": "", + "example": "fs", + "type": "string" + }, + "path_to_backup": { + "description": "", + "example": "/home", + "type": "string" + }, + "storage": { + "description": "", + "example": "swift", + "type": "string" + } + }, + "type": "object" + }, + "max_retries": { + "description": "", + "example": 3, + "type": "integer" + }, + "max_retries_interval": { + "description": "", + "example": 60, + "type": "integer" + } + }, + "type": "object" + }, + "type": "array" + }, + "job_schedule": { + "description": "", + "properties": { + "schedule_interval": { + "description": "", + "example": "1 day", + "type": "string" + }, + "schedule_start_date": { + "description": "", + "type": "string" + }, + "status": { + "description": "", + "example": "scheduled", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "job_actions", + "client_id" + ], + "type": "object" + } + }, + "required": [ + "job" + ], + "type": "object" + }, + "POST /v2/sessions": { + "description": "", + "properties": { + "session": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "session", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "session" + ], + "type": "object" + }, + "PUT /v2/actions/{id}": { + "description": "", + "properties": { + "action": { + "description": "", + "properties": { + "action": { + "description": "", + "example": "os-start", + "type": "string" + }, + "name": { + "description": "", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "action" + ], + "type": "object" + }, + "PUT /v2/backups/{id}": { + "description": "", + "properties": { + "backup": { + "description": "", + "properties": { + "container": { + "description": "", + "type": "string" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "force": { + "default": false, + "description": "", + "type": "boolean" + }, + "incremental": { + "default": false, + "description": "", + "type": "boolean" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "snapshot_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "volume_id": { + "description": "", + "format": "uuid", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "backup" + ], + "type": "object" + }, + "PUT /v2/clients/{id}": { + "description": "", + "properties": { + "client": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "client", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "client" + ], + "type": "object" + }, + "PUT /v2/jobs/{id}": { + "description": "", + "properties": { + "job": { + "description": "", + "properties": { + "client_id": { + "description": "", + "example": "example-client", + "type": "string" + }, + "description": { + "description": "", + "example": "example", + "type": "string" + }, + "job_actions": { + "description": "", + "items": { + "description": "", + "properties": { + "freezer_action": { + "description": "", + "properties": { + "action": { + "description": "", + "enum": [ + "backup", + "restore" + ], + "example": "backup", + "type": "string" + }, + "container": { + "description": "", + "example": "freezer_backup", + "type": "string" + }, + "mode": { + "description": "", + "example": "fs", + "type": "string" + }, + "path_to_backup": { + "description": "", + "example": "/home", + "type": "string" + }, + "storage": { + "description": "", + "example": "swift", + "type": "string" + } + }, + "type": "object" + }, + "max_retries": { + "description": "", + "example": 3, + "type": "integer" + }, + "max_retries_interval": { + "description": "", + "example": 60, + "type": "integer" + } + }, + "type": "object" + }, + "type": "array" + }, + "job_schedule": { + "description": "", + "properties": { + "schedule_interval": { + "description": "", + "example": "1 day", + "type": "string" + }, + "schedule_start_date": { + "description": "", + "type": "string" + }, + "status": { + "description": "", + "example": "scheduled", + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + } + }, + "required": [ + "job" + ], + "type": "object" + }, + "PUT /v2/sessions/{id}": { + "description": "", + "properties": { + "session": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "session", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "session" + ], + "type": "object" + } + }, + "operations": { + "action_create": { + "description": "", + "properties": { + "action": { + "description": "", + "properties": { + "action": { + "description": "", + "example": "os-start", + "type": "string" + }, + "name": { + "description": "", + "type": "string" + } + }, + "required": [ + "action" + ], + "type": "object" + } + }, + "required": [ + "action" + ], + "type": "object" + }, + "action_patch": { + "description": "", + "properties": { + "action": { + "description": "", + "properties": { + "action": { + "description": "", + "example": "os-start", + "type": "string" + }, + "name": { + "description": "", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "action" + ], + "type": "object" + }, + "action_update": { + "description": "", + "properties": { + "action": { + "description": "", + "properties": { + "action": { + "description": "", + "example": "os-start", + "type": "string" + }, + "name": { + "description": "", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "action" + ], + "type": "object" + }, + "backup_create": { + "description": "", + "properties": { + "backup": { + "description": "", + "properties": { + "container": { + "description": "", + "type": "string" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "force": { + "default": false, + "description": "", + "type": "boolean" + }, + "incremental": { + "default": false, + "description": "", + "type": "boolean" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "snapshot_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "volume_id": { + "description": "", + "format": "uuid", + "type": "string" + } + }, + "required": [ + "volume_id" + ], + "type": "object" + } + }, + "required": [ + "backup" + ], + "type": "object" + }, + "backup_patch": { + "description": "", + "properties": { + "backup": { + "description": "", + "properties": { + "container": { + "description": "", + "type": "string" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "force": { + "default": false, + "description": "", + "type": "boolean" + }, + "incremental": { + "default": false, + "description": "", + "type": "boolean" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "snapshot_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "volume_id": { + "description": "", + "format": "uuid", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "backup" + ], + "type": "object" + }, + "backup_update": { + "description": "", + "properties": { + "backup": { + "description": "", + "properties": { + "container": { + "description": "", + "type": "string" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "force": { + "default": false, + "description": "", + "type": "boolean" + }, + "incremental": { + "default": false, + "description": "", + "type": "boolean" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "snapshot_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "volume_id": { + "description": "", + "format": "uuid", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "backup" + ], + "type": "object" + }, + "client_create": { + "description": "", + "properties": { + "client": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "client", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "client" + ], + "type": "object" + }, + "client_patch": { + "description": "", + "properties": { + "client": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "client", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "client" + ], + "type": "object" + }, + "client_update": { + "description": "", + "properties": { + "client": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "client", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "client" + ], + "type": "object" + }, + "job_create": { + "description": "", + "properties": { + "job": { + "description": "", + "properties": { + "client_id": { + "description": "", + "example": "example-client", + "type": "string" + }, + "description": { + "description": "", + "example": "example", + "type": "string" + }, + "job_actions": { + "description": "", + "items": { + "description": "", + "properties": { + "freezer_action": { + "description": "", + "properties": { + "action": { + "description": "", + "enum": [ + "backup", + "restore" + ], + "example": "backup", + "type": "string" + }, + "container": { + "description": "", + "example": "freezer_backup", + "type": "string" + }, + "mode": { + "description": "", + "example": "fs", + "type": "string" + }, + "path_to_backup": { + "description": "", + "example": "/home", + "type": "string" + }, + "storage": { + "description": "", + "example": "swift", + "type": "string" + } + }, + "type": "object" + }, + "max_retries": { + "description": "", + "example": 3, + "type": "integer" + }, + "max_retries_interval": { + "description": "", + "example": 60, + "type": "integer" + } + }, + "type": "object" + }, + "type": "array" + }, + "job_schedule": { + "description": "", + "properties": { + "schedule_interval": { + "description": "", + "example": "1 day", + "type": "string" + }, + "schedule_start_date": { + "description": "", + "type": "string" + }, + "status": { + "description": "", + "example": "scheduled", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "job_actions", + "client_id" + ], + "type": "object" + } + }, + "required": [ + "job" + ], + "type": "object" + }, + "job_patch": { + "description": "", + "properties": { + "job": { + "description": "", + "properties": { + "client_id": { + "description": "", + "example": "example-client", + "type": "string" + }, + "description": { + "description": "", + "example": "example", + "type": "string" + }, + "job_actions": { + "description": "", + "items": { + "description": "", + "properties": { + "freezer_action": { + "description": "", + "properties": { + "action": { + "description": "", + "enum": [ + "backup", + "restore" + ], + "example": "backup", + "type": "string" + }, + "container": { + "description": "", + "example": "freezer_backup", + "type": "string" + }, + "mode": { + "description": "", + "example": "fs", + "type": "string" + }, + "path_to_backup": { + "description": "", + "example": "/home", + "type": "string" + }, + "storage": { + "description": "", + "example": "swift", + "type": "string" + } + }, + "type": "object" + }, + "max_retries": { + "description": "", + "example": 3, + "type": "integer" + }, + "max_retries_interval": { + "description": "", + "example": 60, + "type": "integer" + } + }, + "type": "object" + }, + "type": "array" + }, + "job_schedule": { + "description": "", + "properties": { + "schedule_interval": { + "description": "", + "example": "1 day", + "type": "string" + }, + "schedule_start_date": { + "description": "", + "type": "string" + }, + "status": { + "description": "", + "example": "scheduled", + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + } + }, + "required": [ + "job" + ], + "type": "object" + }, + "job_update": { + "description": "", + "properties": { + "job": { + "description": "", + "properties": { + "client_id": { + "description": "", + "example": "example-client", + "type": "string" + }, + "description": { + "description": "", + "example": "example", + "type": "string" + }, + "job_actions": { + "description": "", + "items": { + "description": "", + "properties": { + "freezer_action": { + "description": "", + "properties": { + "action": { + "description": "", + "enum": [ + "backup", + "restore" + ], + "example": "backup", + "type": "string" + }, + "container": { + "description": "", + "example": "freezer_backup", + "type": "string" + }, + "mode": { + "description": "", + "example": "fs", + "type": "string" + }, + "path_to_backup": { + "description": "", + "example": "/home", + "type": "string" + }, + "storage": { + "description": "", + "example": "swift", + "type": "string" + } + }, + "type": "object" + }, + "max_retries": { + "description": "", + "example": 3, + "type": "integer" + }, + "max_retries_interval": { + "description": "", + "example": 60, + "type": "integer" + } + }, + "type": "object" + }, + "type": "array" + }, + "job_schedule": { + "description": "", + "properties": { + "schedule_interval": { + "description": "", + "example": "1 day", + "type": "string" + }, + "schedule_start_date": { + "description": "", + "type": "string" + }, + "status": { + "description": "", + "example": "scheduled", + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + } + }, + "required": [ + "job" + ], + "type": "object" + }, + "session_create": { + "description": "", + "properties": { + "session": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "session", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "session" + ], + "type": "object" + }, + "session_patch": { + "description": "", + "properties": { + "session": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "session", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "session" + ], + "type": "object" + }, + "session_update": { + "description": "", + "properties": { + "session": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "session", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "session" + ], + "type": "object" + } + }, + "service": "freezer", + "source": "generated-from-api-ref-catalog" +} diff --git a/contracts/openstack/request_bodies/glance.json b/contracts/openstack/request_bodies/glance.json new file mode 100644 index 0000000..cfd960a --- /dev/null +++ b/contracts/openstack/request_bodies/glance.json @@ -0,0 +1,4458 @@ +{ + "by_path": { + "PATCH /v2/images/{id}": { + "description": "", + "properties": { + "image": { + "description": "", + "properties": { + "architecture": { + "description": "CPU architecture", + "type": "string" + }, + "container_format": { + "description": "Container format", + "enum": [ + "bare", + "ovf", + "aki", + "ari", + "ami", + "ova", + "docker" + ], + "example": "bare", + "type": "string" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "disk_format": { + "description": "Disk format", + "enum": [ + "raw", + "qcow2", + "vmdk", + "vdi", + "iso", + "aki", + "ari", + "ami" + ], + "example": "qcow2", + "type": "string" + }, + "min_disk": { + "description": "Min disk GiB", + "example": 0, + "minimum": 0, + "type": "integer" + }, + "min_ram": { + "description": "Min RAM MiB", + "example": 0, + "minimum": 0, + "type": "integer" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "os_type": { + "description": "OS type", + "type": "string" + }, + "protected": { + "description": "Protected", + "type": "boolean" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "visibility": { + "description": "Visibility", + "enum": [ + "public", + "private", + "shared", + "community" + ], + "example": "private", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "image" + ], + "type": "object" + }, + "PATCH /v2/images/{image_id}/members/{id}": { + "description": "", + "properties": { + "member": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "image_member", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "member" + ], + "type": "object" + }, + "PATCH /v2/images/{image_id}/tags/{id}": { + "description": "", + "properties": { + "tag": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "image_tag", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "tag" + ], + "type": "object" + }, + "PATCH /v2/metadefs/namespaces/{id}": { + "description": "", + "properties": { + "namespace": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "metadef_namespace", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "namespace" + ], + "type": "object" + }, + "PATCH /v2/tasks/{id}": { + "description": "", + "properties": { + "task": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "task", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "task" + ], + "type": "object" + }, + "POST /v2/images": { + "description": "", + "properties": { + "image": { + "description": "", + "properties": { + "architecture": { + "description": "CPU architecture", + "type": "string" + }, + "container_format": { + "description": "Container format", + "enum": [ + "bare", + "ovf", + "aki", + "ari", + "ami", + "ova", + "docker" + ], + "example": "bare", + "type": "string" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "disk_format": { + "description": "Disk format", + "enum": [ + "raw", + "qcow2", + "vmdk", + "vdi", + "iso", + "aki", + "ari", + "ami" + ], + "example": "qcow2", + "type": "string" + }, + "min_disk": { + "description": "Min disk GiB", + "example": 0, + "minimum": 0, + "type": "integer" + }, + "min_ram": { + "description": "Min RAM MiB", + "example": 0, + "minimum": 0, + "type": "integer" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "os_type": { + "description": "OS type", + "type": "string" + }, + "protected": { + "description": "Protected", + "type": "boolean" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "visibility": { + "description": "Visibility", + "enum": [ + "public", + "private", + "shared", + "community" + ], + "example": "private", + "type": "string" + } + }, + "required": [ + "name", + "container_format", + "disk_format" + ], + "type": "object" + } + }, + "required": [ + "image" + ], + "type": "object" + }, + "POST /v2/images/{id}/actions/deactivate": { + "description": "", + "properties": { + "image": { + "description": "", + "properties": { + "architecture": { + "description": "CPU architecture", + "type": "string" + }, + "container_format": { + "description": "Container format", + "enum": [ + "bare", + "ovf", + "aki", + "ari", + "ami", + "ova", + "docker" + ], + "example": "bare", + "type": "string" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "disk_format": { + "description": "Disk format", + "enum": [ + "raw", + "qcow2", + "vmdk", + "vdi", + "iso", + "aki", + "ari", + "ami" + ], + "example": "qcow2", + "type": "string" + }, + "min_disk": { + "description": "Min disk GiB", + "example": 0, + "minimum": 0, + "type": "integer" + }, + "min_ram": { + "description": "Min RAM MiB", + "example": 0, + "minimum": 0, + "type": "integer" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "os_type": { + "description": "OS type", + "type": "string" + }, + "protected": { + "description": "Protected", + "type": "boolean" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "visibility": { + "description": "Visibility", + "enum": [ + "public", + "private", + "shared", + "community" + ], + "example": "private", + "type": "string" + } + }, + "required": [ + "name", + "container_format", + "disk_format" + ], + "type": "object" + } + }, + "type": "object" + }, + "POST /v2/images/{id}/actions/reactivate": { + "description": "", + "properties": { + "image": { + "description": "", + "properties": { + "architecture": { + "description": "CPU architecture", + "type": "string" + }, + "container_format": { + "description": "Container format", + "enum": [ + "bare", + "ovf", + "aki", + "ari", + "ami", + "ova", + "docker" + ], + "example": "bare", + "type": "string" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "disk_format": { + "description": "Disk format", + "enum": [ + "raw", + "qcow2", + "vmdk", + "vdi", + "iso", + "aki", + "ari", + "ami" + ], + "example": "qcow2", + "type": "string" + }, + "min_disk": { + "description": "Min disk GiB", + "example": 0, + "minimum": 0, + "type": "integer" + }, + "min_ram": { + "description": "Min RAM MiB", + "example": 0, + "minimum": 0, + "type": "integer" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "os_type": { + "description": "OS type", + "type": "string" + }, + "protected": { + "description": "Protected", + "type": "boolean" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "visibility": { + "description": "Visibility", + "enum": [ + "public", + "private", + "shared", + "community" + ], + "example": "private", + "type": "string" + } + }, + "required": [ + "name", + "container_format", + "disk_format" + ], + "type": "object" + } + }, + "type": "object" + }, + "POST /v2/images/{image_id}/members": { + "description": "", + "properties": { + "member": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "image_member", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "member" + ], + "type": "object" + }, + "POST /v2/images/{image_id}/tags": { + "description": "", + "properties": { + "tag": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "image_tag", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "tag" + ], + "type": "object" + }, + "POST /v2/metadefs/namespaces": { + "description": "", + "properties": { + "namespace": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "metadef_namespace", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "namespace" + ], + "type": "object" + }, + "POST /v2/tasks": { + "description": "", + "properties": { + "task": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "task", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "task" + ], + "type": "object" + }, + "PUT /v2/images/{id}": { + "description": "", + "properties": { + "image": { + "description": "", + "properties": { + "architecture": { + "description": "CPU architecture", + "type": "string" + }, + "container_format": { + "description": "Container format", + "enum": [ + "bare", + "ovf", + "aki", + "ari", + "ami", + "ova", + "docker" + ], + "example": "bare", + "type": "string" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "disk_format": { + "description": "Disk format", + "enum": [ + "raw", + "qcow2", + "vmdk", + "vdi", + "iso", + "aki", + "ari", + "ami" + ], + "example": "qcow2", + "type": "string" + }, + "min_disk": { + "description": "Min disk GiB", + "example": 0, + "minimum": 0, + "type": "integer" + }, + "min_ram": { + "description": "Min RAM MiB", + "example": 0, + "minimum": 0, + "type": "integer" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "os_type": { + "description": "OS type", + "type": "string" + }, + "protected": { + "description": "Protected", + "type": "boolean" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "visibility": { + "description": "Visibility", + "enum": [ + "public", + "private", + "shared", + "community" + ], + "example": "private", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "image" + ], + "type": "object" + }, + "PUT /v2/images/{id}/file": { + "description": "", + "properties": { + "image": { + "description": "", + "properties": { + "architecture": { + "description": "CPU architecture", + "type": "string" + }, + "container_format": { + "description": "Container format", + "enum": [ + "bare", + "ovf", + "aki", + "ari", + "ami", + "ova", + "docker" + ], + "example": "bare", + "type": "string" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "disk_format": { + "description": "Disk format", + "enum": [ + "raw", + "qcow2", + "vmdk", + "vdi", + "iso", + "aki", + "ari", + "ami" + ], + "example": "qcow2", + "type": "string" + }, + "min_disk": { + "description": "Min disk GiB", + "example": 0, + "minimum": 0, + "type": "integer" + }, + "min_ram": { + "description": "Min RAM MiB", + "example": 0, + "minimum": 0, + "type": "integer" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "os_type": { + "description": "OS type", + "type": "string" + }, + "protected": { + "description": "Protected", + "type": "boolean" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "visibility": { + "description": "Visibility", + "enum": [ + "public", + "private", + "shared", + "community" + ], + "example": "private", + "type": "string" + } + }, + "required": [ + "name", + "container_format", + "disk_format" + ], + "type": "object" + } + }, + "type": "object" + }, + "PUT /v2/images/{image_id}/members/{id}": { + "description": "", + "properties": { + "member": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "image_member", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "member" + ], + "type": "object" + }, + "PUT /v2/images/{image_id}/tags/{id}": { + "description": "", + "properties": { + "tag": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "image_tag", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "tag" + ], + "type": "object" + }, + "PUT /v2/metadefs/namespaces/{id}": { + "description": "", + "properties": { + "namespace": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "metadef_namespace", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "namespace" + ], + "type": "object" + }, + "PUT /v2/tasks/{id}": { + "description": "", + "properties": { + "task": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "task", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "task" + ], + "type": "object" + } + }, + "operations": { + "image_create": { + "description": "", + "properties": { + "image": { + "description": "", + "properties": { + "architecture": { + "description": "CPU architecture", + "type": "string" + }, + "container_format": { + "description": "Container format", + "enum": [ + "bare", + "ovf", + "aki", + "ari", + "ami", + "ova", + "docker" + ], + "example": "bare", + "type": "string" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "disk_format": { + "description": "Disk format", + "enum": [ + "raw", + "qcow2", + "vmdk", + "vdi", + "iso", + "aki", + "ari", + "ami" + ], + "example": "qcow2", + "type": "string" + }, + "min_disk": { + "description": "Min disk GiB", + "example": 0, + "minimum": 0, + "type": "integer" + }, + "min_ram": { + "description": "Min RAM MiB", + "example": 0, + "minimum": 0, + "type": "integer" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "os_type": { + "description": "OS type", + "type": "string" + }, + "protected": { + "description": "Protected", + "type": "boolean" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "visibility": { + "description": "Visibility", + "enum": [ + "public", + "private", + "shared", + "community" + ], + "example": "private", + "type": "string" + } + }, + "required": [ + "name", + "container_format", + "disk_format" + ], + "type": "object" + } + }, + "required": [ + "image" + ], + "type": "object" + }, + "image_deactivate": { + "description": "", + "properties": { + "image": { + "description": "", + "properties": { + "architecture": { + "description": "CPU architecture", + "type": "string" + }, + "container_format": { + "description": "Container format", + "enum": [ + "bare", + "ovf", + "aki", + "ari", + "ami", + "ova", + "docker" + ], + "example": "bare", + "type": "string" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "disk_format": { + "description": "Disk format", + "enum": [ + "raw", + "qcow2", + "vmdk", + "vdi", + "iso", + "aki", + "ari", + "ami" + ], + "example": "qcow2", + "type": "string" + }, + "min_disk": { + "description": "Min disk GiB", + "example": 0, + "minimum": 0, + "type": "integer" + }, + "min_ram": { + "description": "Min RAM MiB", + "example": 0, + "minimum": 0, + "type": "integer" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "os_type": { + "description": "OS type", + "type": "string" + }, + "protected": { + "description": "Protected", + "type": "boolean" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "visibility": { + "description": "Visibility", + "enum": [ + "public", + "private", + "shared", + "community" + ], + "example": "private", + "type": "string" + } + }, + "required": [ + "name", + "container_format", + "disk_format" + ], + "type": "object" + } + }, + "type": "object" + }, + "image_member_create": { + "description": "", + "properties": { + "member": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "image_member", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "member" + ], + "type": "object" + }, + "image_member_patch": { + "description": "", + "properties": { + "member": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "image_member", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "member" + ], + "type": "object" + }, + "image_member_update": { + "description": "", + "properties": { + "member": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "image_member", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "member" + ], + "type": "object" + }, + "image_patch": { + "description": "", + "properties": { + "image": { + "description": "", + "properties": { + "architecture": { + "description": "CPU architecture", + "type": "string" + }, + "container_format": { + "description": "Container format", + "enum": [ + "bare", + "ovf", + "aki", + "ari", + "ami", + "ova", + "docker" + ], + "example": "bare", + "type": "string" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "disk_format": { + "description": "Disk format", + "enum": [ + "raw", + "qcow2", + "vmdk", + "vdi", + "iso", + "aki", + "ari", + "ami" + ], + "example": "qcow2", + "type": "string" + }, + "min_disk": { + "description": "Min disk GiB", + "example": 0, + "minimum": 0, + "type": "integer" + }, + "min_ram": { + "description": "Min RAM MiB", + "example": 0, + "minimum": 0, + "type": "integer" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "os_type": { + "description": "OS type", + "type": "string" + }, + "protected": { + "description": "Protected", + "type": "boolean" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "visibility": { + "description": "Visibility", + "enum": [ + "public", + "private", + "shared", + "community" + ], + "example": "private", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "image" + ], + "type": "object" + }, + "image_reactivate": { + "description": "", + "properties": { + "image": { + "description": "", + "properties": { + "architecture": { + "description": "CPU architecture", + "type": "string" + }, + "container_format": { + "description": "Container format", + "enum": [ + "bare", + "ovf", + "aki", + "ari", + "ami", + "ova", + "docker" + ], + "example": "bare", + "type": "string" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "disk_format": { + "description": "Disk format", + "enum": [ + "raw", + "qcow2", + "vmdk", + "vdi", + "iso", + "aki", + "ari", + "ami" + ], + "example": "qcow2", + "type": "string" + }, + "min_disk": { + "description": "Min disk GiB", + "example": 0, + "minimum": 0, + "type": "integer" + }, + "min_ram": { + "description": "Min RAM MiB", + "example": 0, + "minimum": 0, + "type": "integer" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "os_type": { + "description": "OS type", + "type": "string" + }, + "protected": { + "description": "Protected", + "type": "boolean" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "visibility": { + "description": "Visibility", + "enum": [ + "public", + "private", + "shared", + "community" + ], + "example": "private", + "type": "string" + } + }, + "required": [ + "name", + "container_format", + "disk_format" + ], + "type": "object" + } + }, + "type": "object" + }, + "image_tag_create": { + "description": "", + "properties": { + "tag": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "image_tag", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "tag" + ], + "type": "object" + }, + "image_tag_patch": { + "description": "", + "properties": { + "tag": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "image_tag", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "tag" + ], + "type": "object" + }, + "image_tag_update": { + "description": "", + "properties": { + "tag": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "image_tag", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "tag" + ], + "type": "object" + }, + "image_update": { + "description": "", + "properties": { + "image": { + "description": "", + "properties": { + "architecture": { + "description": "CPU architecture", + "type": "string" + }, + "container_format": { + "description": "Container format", + "enum": [ + "bare", + "ovf", + "aki", + "ari", + "ami", + "ova", + "docker" + ], + "example": "bare", + "type": "string" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "disk_format": { + "description": "Disk format", + "enum": [ + "raw", + "qcow2", + "vmdk", + "vdi", + "iso", + "aki", + "ari", + "ami" + ], + "example": "qcow2", + "type": "string" + }, + "min_disk": { + "description": "Min disk GiB", + "example": 0, + "minimum": 0, + "type": "integer" + }, + "min_ram": { + "description": "Min RAM MiB", + "example": 0, + "minimum": 0, + "type": "integer" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "os_type": { + "description": "OS type", + "type": "string" + }, + "protected": { + "description": "Protected", + "type": "boolean" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "visibility": { + "description": "Visibility", + "enum": [ + "public", + "private", + "shared", + "community" + ], + "example": "private", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "image" + ], + "type": "object" + }, + "image_upload": { + "description": "", + "properties": { + "image": { + "description": "", + "properties": { + "architecture": { + "description": "CPU architecture", + "type": "string" + }, + "container_format": { + "description": "Container format", + "enum": [ + "bare", + "ovf", + "aki", + "ari", + "ami", + "ova", + "docker" + ], + "example": "bare", + "type": "string" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "disk_format": { + "description": "Disk format", + "enum": [ + "raw", + "qcow2", + "vmdk", + "vdi", + "iso", + "aki", + "ari", + "ami" + ], + "example": "qcow2", + "type": "string" + }, + "min_disk": { + "description": "Min disk GiB", + "example": 0, + "minimum": 0, + "type": "integer" + }, + "min_ram": { + "description": "Min RAM MiB", + "example": 0, + "minimum": 0, + "type": "integer" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "os_type": { + "description": "OS type", + "type": "string" + }, + "protected": { + "description": "Protected", + "type": "boolean" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "visibility": { + "description": "Visibility", + "enum": [ + "public", + "private", + "shared", + "community" + ], + "example": "private", + "type": "string" + } + }, + "required": [ + "name", + "container_format", + "disk_format" + ], + "type": "object" + } + }, + "type": "object" + }, + "metadef_namespace_create": { + "description": "", + "properties": { + "namespace": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "metadef_namespace", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "namespace" + ], + "type": "object" + }, + "metadef_namespace_patch": { + "description": "", + "properties": { + "namespace": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "metadef_namespace", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "namespace" + ], + "type": "object" + }, + "metadef_namespace_update": { + "description": "", + "properties": { + "namespace": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "metadef_namespace", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "namespace" + ], + "type": "object" + }, + "task_create": { + "description": "", + "properties": { + "task": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "task", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "task" + ], + "type": "object" + }, + "task_patch": { + "description": "", + "properties": { + "task": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "task", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "task" + ], + "type": "object" + }, + "task_update": { + "description": "", + "properties": { + "task": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "task", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "task" + ], + "type": "object" + } + }, + "service": "glance", + "source": "generated-from-api-ref-catalog" +} diff --git a/contracts/openstack/request_bodies/heat-cfn.json b/contracts/openstack/request_bodies/heat-cfn.json new file mode 100644 index 0000000..513e11d --- /dev/null +++ b/contracts/openstack/request_bodies/heat-cfn.json @@ -0,0 +1,356 @@ +{ + "by_path": { + "PATCH /stacks/{id}": { + "description": "", + "properties": { + "Parameters": { + "description": "", + "type": "string" + }, + "StackName": { + "description": "", + "example": "example", + "type": "string" + }, + "TemplateBody": { + "description": "", + "example": "{\"AWSTemplateFormatVersion\":\"2010-09-09\"}", + "type": "string" + }, + "TimeoutInMinutes": { + "description": "", + "example": 60, + "type": "integer" + } + }, + "required": [ + "StackName", + "TemplateBody" + ], + "type": "object" + }, + "POST /": { + "description": "", + "properties": { + "stack": { + "description": "", + "properties": { + "disable_rollback": { + "default": true, + "description": "Disable rollback", + "type": "boolean" + }, + "environment": { + "description": "", + "properties": {}, + "type": "object" + }, + "files": { + "description": "", + "properties": {}, + "type": "object" + }, + "parameters": { + "description": "Stack parameters", + "properties": {}, + "type": "object" + }, + "stack_name": { + "description": "Stack name", + "example": "example", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "template": { + "description": "", + "properties": { + "description": { + "description": "", + "type": "string" + }, + "heat_template_version": { + "description": "", + "example": "2015-04-30", + "type": "string" + }, + "parameters": { + "description": "", + "properties": {}, + "type": "object" + }, + "resources": { + "description": "", + "properties": {}, + "type": "object" + } + }, + "required": [ + "heat_template_version" + ], + "type": "object" + }, + "template_url": { + "description": "Template URL", + "format": "uri", + "type": "string" + }, + "timeout_mins": { + "description": "Timeout minutes", + "example": 60, + "type": "integer" + } + }, + "required": [ + "stack_name", + "template" + ], + "type": "object" + } + }, + "type": "object" + }, + "POST /stacks": { + "description": "", + "properties": { + "Parameters": { + "description": "", + "type": "string" + }, + "StackName": { + "description": "", + "example": "example", + "type": "string" + }, + "TemplateBody": { + "description": "", + "example": "{\"AWSTemplateFormatVersion\":\"2010-09-09\"}", + "type": "string" + }, + "TimeoutInMinutes": { + "description": "", + "example": 60, + "type": "integer" + } + }, + "required": [ + "StackName", + "TemplateBody" + ], + "type": "object" + }, + "PUT /stacks/{id}": { + "description": "", + "properties": { + "Parameters": { + "description": "", + "type": "string" + }, + "StackName": { + "description": "", + "example": "example", + "type": "string" + }, + "TemplateBody": { + "description": "", + "example": "{\"AWSTemplateFormatVersion\":\"2010-09-09\"}", + "type": "string" + }, + "TimeoutInMinutes": { + "description": "", + "example": 60, + "type": "integer" + } + }, + "required": [ + "StackName", + "TemplateBody" + ], + "type": "object" + } + }, + "operations": { + "heat_cfn_query": { + "description": "", + "properties": { + "stack": { + "description": "", + "properties": { + "disable_rollback": { + "default": true, + "description": "Disable rollback", + "type": "boolean" + }, + "environment": { + "description": "", + "properties": {}, + "type": "object" + }, + "files": { + "description": "", + "properties": {}, + "type": "object" + }, + "parameters": { + "description": "Stack parameters", + "properties": {}, + "type": "object" + }, + "stack_name": { + "description": "Stack name", + "example": "example", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "template": { + "description": "", + "properties": { + "description": { + "description": "", + "type": "string" + }, + "heat_template_version": { + "description": "", + "example": "2015-04-30", + "type": "string" + }, + "parameters": { + "description": "", + "properties": {}, + "type": "object" + }, + "resources": { + "description": "", + "properties": {}, + "type": "object" + } + }, + "required": [ + "heat_template_version" + ], + "type": "object" + }, + "template_url": { + "description": "Template URL", + "format": "uri", + "type": "string" + }, + "timeout_mins": { + "description": "Timeout minutes", + "example": 60, + "type": "integer" + } + }, + "required": [ + "stack_name", + "template" + ], + "type": "object" + } + }, + "type": "object" + }, + "stack_create": { + "description": "", + "properties": { + "Parameters": { + "description": "", + "type": "string" + }, + "StackName": { + "description": "", + "example": "example", + "type": "string" + }, + "TemplateBody": { + "description": "", + "example": "{\"AWSTemplateFormatVersion\":\"2010-09-09\"}", + "type": "string" + }, + "TimeoutInMinutes": { + "description": "", + "example": 60, + "type": "integer" + } + }, + "required": [ + "StackName", + "TemplateBody" + ], + "type": "object" + }, + "stack_patch": { + "description": "", + "properties": { + "Parameters": { + "description": "", + "type": "string" + }, + "StackName": { + "description": "", + "example": "example", + "type": "string" + }, + "TemplateBody": { + "description": "", + "example": "{\"AWSTemplateFormatVersion\":\"2010-09-09\"}", + "type": "string" + }, + "TimeoutInMinutes": { + "description": "", + "example": 60, + "type": "integer" + } + }, + "required": [ + "StackName", + "TemplateBody" + ], + "type": "object" + }, + "stack_update": { + "description": "", + "properties": { + "Parameters": { + "description": "", + "type": "string" + }, + "StackName": { + "description": "", + "example": "example", + "type": "string" + }, + "TemplateBody": { + "description": "", + "example": "{\"AWSTemplateFormatVersion\":\"2010-09-09\"}", + "type": "string" + }, + "TimeoutInMinutes": { + "description": "", + "example": 60, + "type": "integer" + } + }, + "required": [ + "StackName", + "TemplateBody" + ], + "type": "object" + } + }, + "service": "heat-cfn", + "source": "generated-from-api-ref-catalog" +} diff --git a/contracts/openstack/request_bodies/heat.json b/contracts/openstack/request_bodies/heat.json new file mode 100644 index 0000000..3aa7f43 --- /dev/null +++ b/contracts/openstack/request_bodies/heat.json @@ -0,0 +1,4150 @@ +{ + "by_path": { + "PATCH /v1/{tenant_id}/software_configs/{id}": { + "description": "", + "properties": { + "software_config": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "software_config", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "software_config" + ], + "type": "object" + }, + "PATCH /v1/{tenant_id}/software_deployments/{id}": { + "description": "", + "properties": { + "software_deployment": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "software_deployment", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "software_deployment" + ], + "type": "object" + }, + "PATCH /v1/{tenant_id}/stacks/{id}": { + "description": "", + "properties": { + "stack": { + "description": "", + "properties": { + "disable_rollback": { + "default": true, + "description": "Disable rollback", + "type": "boolean" + }, + "environment": { + "description": "", + "properties": {}, + "type": "object" + }, + "files": { + "description": "", + "properties": {}, + "type": "object" + }, + "parameters": { + "description": "Stack parameters", + "properties": {}, + "type": "object" + }, + "stack_name": { + "description": "Stack name", + "example": "example", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "template": { + "description": "", + "properties": { + "description": { + "description": "", + "type": "string" + }, + "heat_template_version": { + "description": "", + "example": "2015-04-30", + "type": "string" + }, + "parameters": { + "description": "", + "properties": {}, + "type": "object" + }, + "resources": { + "description": "", + "properties": {}, + "type": "object" + } + }, + "required": [ + "heat_template_version" + ], + "type": "object" + }, + "template_url": { + "description": "Template URL", + "format": "uri", + "type": "string" + }, + "timeout_mins": { + "description": "Timeout minutes", + "example": 60, + "type": "integer" + } + }, + "type": "object" + } + }, + "required": [ + "stack" + ], + "type": "object" + }, + "PATCH /v1/{tenant_id}/stacks/{stack_name}/{stack_id}/events/{id}": { + "description": "", + "properties": { + "event": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "stack_event", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "event" + ], + "type": "object" + }, + "PATCH /v1/{tenant_id}/stacks/{stack_name}/{stack_id}/resources/{id}": { + "description": "", + "properties": { + "resource": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "stack_resource", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "resource" + ], + "type": "object" + }, + "POST /v1/{tenant_id}/software_configs": { + "description": "", + "properties": { + "software_config": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "software_config", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "software_config" + ], + "type": "object" + }, + "POST /v1/{tenant_id}/software_deployments": { + "description": "", + "properties": { + "software_deployment": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "software_deployment", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "software_deployment" + ], + "type": "object" + }, + "POST /v1/{tenant_id}/stacks": { + "description": "", + "properties": { + "stack": { + "description": "", + "properties": { + "disable_rollback": { + "default": true, + "description": "Disable rollback", + "type": "boolean" + }, + "environment": { + "description": "", + "properties": {}, + "type": "object" + }, + "files": { + "description": "", + "properties": {}, + "type": "object" + }, + "parameters": { + "description": "Stack parameters", + "properties": {}, + "type": "object" + }, + "stack_name": { + "description": "Stack name", + "example": "example", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "template": { + "description": "", + "properties": { + "description": { + "description": "", + "type": "string" + }, + "heat_template_version": { + "description": "", + "example": "2015-04-30", + "type": "string" + }, + "parameters": { + "description": "", + "properties": {}, + "type": "object" + }, + "resources": { + "description": "", + "properties": {}, + "type": "object" + } + }, + "required": [ + "heat_template_version" + ], + "type": "object" + }, + "template_url": { + "description": "Template URL", + "format": "uri", + "type": "string" + }, + "timeout_mins": { + "description": "Timeout minutes", + "example": 60, + "type": "integer" + } + }, + "required": [ + "stack_name", + "template" + ], + "type": "object" + } + }, + "required": [ + "stack" + ], + "type": "object" + }, + "POST /v1/{tenant_id}/stacks/preview": { + "description": "", + "properties": { + "stack": { + "description": "", + "properties": { + "disable_rollback": { + "default": true, + "description": "Disable rollback", + "type": "boolean" + }, + "environment": { + "description": "", + "properties": {}, + "type": "object" + }, + "files": { + "description": "", + "properties": {}, + "type": "object" + }, + "parameters": { + "description": "Stack parameters", + "properties": {}, + "type": "object" + }, + "stack_name": { + "description": "Stack name", + "example": "example", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "template": { + "description": "", + "properties": { + "description": { + "description": "", + "type": "string" + }, + "heat_template_version": { + "description": "", + "example": "2015-04-30", + "type": "string" + }, + "parameters": { + "description": "", + "properties": {}, + "type": "object" + }, + "resources": { + "description": "", + "properties": {}, + "type": "object" + } + }, + "required": [ + "heat_template_version" + ], + "type": "object" + }, + "template_url": { + "description": "Template URL", + "format": "uri", + "type": "string" + }, + "timeout_mins": { + "description": "Timeout minutes", + "example": 60, + "type": "integer" + } + }, + "required": [ + "stack_name", + "template" + ], + "type": "object" + } + }, + "required": [ + "stack" + ], + "type": "object" + }, + "POST /v1/{tenant_id}/stacks/{stack_name}/{stack_id}/events": { + "description": "", + "properties": { + "event": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "stack_event", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "event" + ], + "type": "object" + }, + "POST /v1/{tenant_id}/stacks/{stack_name}/{stack_id}/resources": { + "description": "", + "properties": { + "resource": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "stack_resource", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "resource" + ], + "type": "object" + }, + "POST /v1/{tenant_id}/validate": { + "description": "", + "properties": { + "template": { + "description": "", + "properties": { + "disable_rollback": { + "default": true, + "description": "Disable rollback", + "type": "boolean" + }, + "environment": { + "description": "", + "properties": {}, + "type": "object" + }, + "files": { + "description": "", + "properties": {}, + "type": "object" + }, + "parameters": { + "description": "Stack parameters", + "properties": {}, + "type": "object" + }, + "stack_name": { + "description": "Stack name", + "example": "example", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "template": { + "description": "", + "properties": { + "description": { + "description": "", + "type": "string" + }, + "heat_template_version": { + "description": "", + "example": "2015-04-30", + "type": "string" + }, + "parameters": { + "description": "", + "properties": {}, + "type": "object" + }, + "resources": { + "description": "", + "properties": {}, + "type": "object" + } + }, + "required": [ + "heat_template_version" + ], + "type": "object" + }, + "template_url": { + "description": "Template URL", + "format": "uri", + "type": "string" + }, + "timeout_mins": { + "description": "Timeout minutes", + "example": 60, + "type": "integer" + } + }, + "required": [ + "stack_name", + "template" + ], + "type": "object" + } + }, + "type": "object" + }, + "PUT /v1/{tenant_id}/software_configs/{id}": { + "description": "", + "properties": { + "software_config": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "software_config", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "software_config" + ], + "type": "object" + }, + "PUT /v1/{tenant_id}/software_deployments/{id}": { + "description": "", + "properties": { + "software_deployment": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "software_deployment", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "software_deployment" + ], + "type": "object" + }, + "PUT /v1/{tenant_id}/stacks/{id}": { + "description": "", + "properties": { + "stack": { + "description": "", + "properties": { + "disable_rollback": { + "default": true, + "description": "Disable rollback", + "type": "boolean" + }, + "environment": { + "description": "", + "properties": {}, + "type": "object" + }, + "files": { + "description": "", + "properties": {}, + "type": "object" + }, + "parameters": { + "description": "Stack parameters", + "properties": {}, + "type": "object" + }, + "stack_name": { + "description": "Stack name", + "example": "example", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "template": { + "description": "", + "properties": { + "description": { + "description": "", + "type": "string" + }, + "heat_template_version": { + "description": "", + "example": "2015-04-30", + "type": "string" + }, + "parameters": { + "description": "", + "properties": {}, + "type": "object" + }, + "resources": { + "description": "", + "properties": {}, + "type": "object" + } + }, + "required": [ + "heat_template_version" + ], + "type": "object" + }, + "template_url": { + "description": "Template URL", + "format": "uri", + "type": "string" + }, + "timeout_mins": { + "description": "Timeout minutes", + "example": 60, + "type": "integer" + } + }, + "type": "object" + } + }, + "required": [ + "stack" + ], + "type": "object" + }, + "PUT /v1/{tenant_id}/stacks/{stack_name}/{stack_id}/events/{id}": { + "description": "", + "properties": { + "event": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "stack_event", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "event" + ], + "type": "object" + }, + "PUT /v1/{tenant_id}/stacks/{stack_name}/{stack_id}/resources/{id}": { + "description": "", + "properties": { + "resource": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "stack_resource", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "resource" + ], + "type": "object" + } + }, + "operations": { + "software_config_create": { + "description": "", + "properties": { + "software_config": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "software_config", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "software_config" + ], + "type": "object" + }, + "software_config_patch": { + "description": "", + "properties": { + "software_config": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "software_config", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "software_config" + ], + "type": "object" + }, + "software_config_update": { + "description": "", + "properties": { + "software_config": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "software_config", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "software_config" + ], + "type": "object" + }, + "software_deployment_create": { + "description": "", + "properties": { + "software_deployment": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "software_deployment", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "software_deployment" + ], + "type": "object" + }, + "software_deployment_patch": { + "description": "", + "properties": { + "software_deployment": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "software_deployment", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "software_deployment" + ], + "type": "object" + }, + "software_deployment_update": { + "description": "", + "properties": { + "software_deployment": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "software_deployment", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "software_deployment" + ], + "type": "object" + }, + "stack_create": { + "description": "", + "properties": { + "stack": { + "description": "", + "properties": { + "disable_rollback": { + "default": true, + "description": "Disable rollback", + "type": "boolean" + }, + "environment": { + "description": "", + "properties": {}, + "type": "object" + }, + "files": { + "description": "", + "properties": {}, + "type": "object" + }, + "parameters": { + "description": "Stack parameters", + "properties": {}, + "type": "object" + }, + "stack_name": { + "description": "Stack name", + "example": "example", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "template": { + "description": "", + "properties": { + "description": { + "description": "", + "type": "string" + }, + "heat_template_version": { + "description": "", + "example": "2015-04-30", + "type": "string" + }, + "parameters": { + "description": "", + "properties": {}, + "type": "object" + }, + "resources": { + "description": "", + "properties": {}, + "type": "object" + } + }, + "required": [ + "heat_template_version" + ], + "type": "object" + }, + "template_url": { + "description": "Template URL", + "format": "uri", + "type": "string" + }, + "timeout_mins": { + "description": "Timeout minutes", + "example": 60, + "type": "integer" + } + }, + "required": [ + "stack_name", + "template" + ], + "type": "object" + } + }, + "required": [ + "stack" + ], + "type": "object" + }, + "stack_event_create": { + "description": "", + "properties": { + "event": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "stack_event", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "event" + ], + "type": "object" + }, + "stack_event_patch": { + "description": "", + "properties": { + "event": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "stack_event", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "event" + ], + "type": "object" + }, + "stack_event_update": { + "description": "", + "properties": { + "event": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "stack_event", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "event" + ], + "type": "object" + }, + "stack_patch": { + "description": "", + "properties": { + "stack": { + "description": "", + "properties": { + "disable_rollback": { + "default": true, + "description": "Disable rollback", + "type": "boolean" + }, + "environment": { + "description": "", + "properties": {}, + "type": "object" + }, + "files": { + "description": "", + "properties": {}, + "type": "object" + }, + "parameters": { + "description": "Stack parameters", + "properties": {}, + "type": "object" + }, + "stack_name": { + "description": "Stack name", + "example": "example", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "template": { + "description": "", + "properties": { + "description": { + "description": "", + "type": "string" + }, + "heat_template_version": { + "description": "", + "example": "2015-04-30", + "type": "string" + }, + "parameters": { + "description": "", + "properties": {}, + "type": "object" + }, + "resources": { + "description": "", + "properties": {}, + "type": "object" + } + }, + "required": [ + "heat_template_version" + ], + "type": "object" + }, + "template_url": { + "description": "Template URL", + "format": "uri", + "type": "string" + }, + "timeout_mins": { + "description": "Timeout minutes", + "example": 60, + "type": "integer" + } + }, + "type": "object" + } + }, + "required": [ + "stack" + ], + "type": "object" + }, + "stack_preview": { + "description": "", + "properties": { + "stack": { + "description": "", + "properties": { + "disable_rollback": { + "default": true, + "description": "Disable rollback", + "type": "boolean" + }, + "environment": { + "description": "", + "properties": {}, + "type": "object" + }, + "files": { + "description": "", + "properties": {}, + "type": "object" + }, + "parameters": { + "description": "Stack parameters", + "properties": {}, + "type": "object" + }, + "stack_name": { + "description": "Stack name", + "example": "example", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "template": { + "description": "", + "properties": { + "description": { + "description": "", + "type": "string" + }, + "heat_template_version": { + "description": "", + "example": "2015-04-30", + "type": "string" + }, + "parameters": { + "description": "", + "properties": {}, + "type": "object" + }, + "resources": { + "description": "", + "properties": {}, + "type": "object" + } + }, + "required": [ + "heat_template_version" + ], + "type": "object" + }, + "template_url": { + "description": "Template URL", + "format": "uri", + "type": "string" + }, + "timeout_mins": { + "description": "Timeout minutes", + "example": 60, + "type": "integer" + } + }, + "required": [ + "stack_name", + "template" + ], + "type": "object" + } + }, + "required": [ + "stack" + ], + "type": "object" + }, + "stack_resource_create": { + "description": "", + "properties": { + "resource": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "stack_resource", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "resource" + ], + "type": "object" + }, + "stack_resource_patch": { + "description": "", + "properties": { + "resource": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "stack_resource", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "resource" + ], + "type": "object" + }, + "stack_resource_update": { + "description": "", + "properties": { + "resource": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "stack_resource", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "resource" + ], + "type": "object" + }, + "stack_update": { + "description": "", + "properties": { + "stack": { + "description": "", + "properties": { + "disable_rollback": { + "default": true, + "description": "Disable rollback", + "type": "boolean" + }, + "environment": { + "description": "", + "properties": {}, + "type": "object" + }, + "files": { + "description": "", + "properties": {}, + "type": "object" + }, + "parameters": { + "description": "Stack parameters", + "properties": {}, + "type": "object" + }, + "stack_name": { + "description": "Stack name", + "example": "example", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "template": { + "description": "", + "properties": { + "description": { + "description": "", + "type": "string" + }, + "heat_template_version": { + "description": "", + "example": "2015-04-30", + "type": "string" + }, + "parameters": { + "description": "", + "properties": {}, + "type": "object" + }, + "resources": { + "description": "", + "properties": {}, + "type": "object" + } + }, + "required": [ + "heat_template_version" + ], + "type": "object" + }, + "template_url": { + "description": "Template URL", + "format": "uri", + "type": "string" + }, + "timeout_mins": { + "description": "Timeout minutes", + "example": 60, + "type": "integer" + } + }, + "type": "object" + } + }, + "required": [ + "stack" + ], + "type": "object" + }, + "template_validate": { + "description": "", + "properties": { + "template": { + "description": "", + "properties": { + "disable_rollback": { + "default": true, + "description": "Disable rollback", + "type": "boolean" + }, + "environment": { + "description": "", + "properties": {}, + "type": "object" + }, + "files": { + "description": "", + "properties": {}, + "type": "object" + }, + "parameters": { + "description": "Stack parameters", + "properties": {}, + "type": "object" + }, + "stack_name": { + "description": "Stack name", + "example": "example", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "template": { + "description": "", + "properties": { + "description": { + "description": "", + "type": "string" + }, + "heat_template_version": { + "description": "", + "example": "2015-04-30", + "type": "string" + }, + "parameters": { + "description": "", + "properties": {}, + "type": "object" + }, + "resources": { + "description": "", + "properties": {}, + "type": "object" + } + }, + "required": [ + "heat_template_version" + ], + "type": "object" + }, + "template_url": { + "description": "Template URL", + "format": "uri", + "type": "string" + }, + "timeout_mins": { + "description": "Timeout minutes", + "example": 60, + "type": "integer" + } + }, + "required": [ + "stack_name", + "template" + ], + "type": "object" + } + }, + "type": "object" + } + }, + "service": "heat", + "source": "generated-from-api-ref-catalog" +} diff --git a/contracts/openstack/request_bodies/ironic.json b/contracts/openstack/request_bodies/ironic.json new file mode 100644 index 0000000..5ca966b --- /dev/null +++ b/contracts/openstack/request_bodies/ironic.json @@ -0,0 +1,6134 @@ +{ + "by_path": { + "PATCH /v1/allocations/{id}": { + "description": "", + "properties": { + "allocation": { + "description": "", + "properties": { + "allocations": { + "description": "Map of resource provider UUID to resources", + "properties": {}, + "type": "object" + }, + "consumer_generation": { + "description": "Consumer generation", + "example": 0, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "user_id": { + "description": "", + "format": "uuid", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "allocation" + ], + "type": "object" + }, + "PATCH /v1/chassis/{id}": { + "description": "", + "properties": { + "chassi": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "chassis", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "chassi" + ], + "type": "object" + }, + "PATCH /v1/deploy_templates/{id}": { + "description": "", + "properties": { + "deploy_template": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "deploy_template", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "deploy_template" + ], + "type": "object" + }, + "PATCH /v1/nodes/{id}": { + "description": "", + "properties": { + "node": { + "description": "", + "properties": { + "boot_interface": { + "description": "", + "type": "string" + }, + "conductor_group": { + "description": "", + "type": "string" + }, + "deploy_interface": { + "description": "", + "type": "string" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "driver": { + "description": "", + "example": "ipmi", + "type": "string" + }, + "driver_info": { + "description": "", + "properties": { + "ipmi_address": { + "description": "", + "type": "string" + }, + "ipmi_password": { + "description": "", + "type": "string" + }, + "ipmi_username": { + "description": "", + "type": "string" + } + }, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "network_interface": { + "description": "", + "example": "flat", + "type": "string" + }, + "properties": { + "description": "", + "properties": { + "cpus": { + "description": "", + "example": 4, + "type": "integer" + }, + "local_gb": { + "description": "", + "example": 100, + "type": "integer" + }, + "memory_mb": { + "description": "", + "example": 8192, + "type": "integer" + } + }, + "type": "object" + }, + "resource_class": { + "description": "", + "example": "baremetal", + "type": "string" + }, + "storage_interface": { + "description": "", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "node" + ], + "type": "object" + }, + "PATCH /v1/portgroups/{id}": { + "description": "", + "properties": { + "portgroup": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "portgroup", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "portgroup" + ], + "type": "object" + }, + "PATCH /v1/ports/{id}": { + "description": "", + "properties": { + "port": { + "description": "", + "properties": { + "admin_state_up": { + "default": true, + "description": "Administrative state", + "type": "boolean" + }, + "allowed_address_pairs": { + "description": "", + "items": { + "description": "", + "properties": { + "ip_address": { + "description": "", + "type": "string" + }, + "mac_address": { + "description": "", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "binding:vnic_type": { + "description": "VNIC type", + "enum": [ + "normal", + "direct", + "macvtap", + "baremetal" + ], + "type": "string" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "device_id": { + "description": "Device UUID", + "format": "uuid", + "type": "string" + }, + "device_owner": { + "description": "Device owner", + "type": "string" + }, + "fixed_ips": { + "description": "Fixed IPs", + "items": { + "description": "", + "properties": { + "ip_address": { + "description": "", + "type": "string" + }, + "subnet_id": { + "description": "", + "format": "uuid", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "mac_address": { + "description": "MAC address", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "network_id": { + "description": "Network UUID", + "format": "uuid", + "type": "string" + }, + "port_security_enabled": { + "description": "Port security", + "type": "boolean" + }, + "security_groups": { + "description": "", + "items": { + "description": "Security group UUID", + "format": "uuid", + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + } + }, + "required": [ + "port" + ], + "type": "object" + }, + "PATCH /v1/volume/connectors/{id}": { + "description": "", + "properties": { + "connector": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "volume_connector", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "connector" + ], + "type": "object" + }, + "PATCH /v1/volume/targets/{id}": { + "description": "", + "properties": { + "target": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "volume_target", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "target" + ], + "type": "object" + }, + "POST /v1/allocations": { + "description": "", + "properties": { + "allocation": { + "description": "", + "properties": { + "allocations": { + "description": "Map of resource provider UUID to resources", + "properties": {}, + "type": "object" + }, + "consumer_generation": { + "description": "Consumer generation", + "example": 0, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "user_id": { + "description": "", + "format": "uuid", + "type": "string" + } + }, + "required": [ + "allocations", + "project_id", + "user_id" + ], + "type": "object" + } + }, + "required": [ + "allocation" + ], + "type": "object" + }, + "POST /v1/chassis": { + "description": "", + "properties": { + "chassi": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "chassis", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "chassi" + ], + "type": "object" + }, + "POST /v1/deploy_templates": { + "description": "", + "properties": { + "deploy_template": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "deploy_template", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "deploy_template" + ], + "type": "object" + }, + "POST /v1/nodes": { + "description": "", + "properties": { + "node": { + "description": "", + "properties": { + "boot_interface": { + "description": "", + "type": "string" + }, + "conductor_group": { + "description": "", + "type": "string" + }, + "deploy_interface": { + "description": "", + "type": "string" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "driver": { + "description": "", + "example": "ipmi", + "type": "string" + }, + "driver_info": { + "description": "", + "properties": { + "ipmi_address": { + "description": "", + "type": "string" + }, + "ipmi_password": { + "description": "", + "type": "string" + }, + "ipmi_username": { + "description": "", + "type": "string" + } + }, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "network_interface": { + "description": "", + "example": "flat", + "type": "string" + }, + "properties": { + "description": "", + "properties": { + "cpus": { + "description": "", + "example": 4, + "type": "integer" + }, + "local_gb": { + "description": "", + "example": 100, + "type": "integer" + }, + "memory_mb": { + "description": "", + "example": 8192, + "type": "integer" + } + }, + "type": "object" + }, + "resource_class": { + "description": "", + "example": "baremetal", + "type": "string" + }, + "storage_interface": { + "description": "", + "type": "string" + } + }, + "required": [ + "driver" + ], + "type": "object" + } + }, + "required": [ + "node" + ], + "type": "object" + }, + "POST /v1/nodes/{id}/vifs": { + "description": "", + "properties": { + "os-start": { + "description": "Action os-start body (null object)", + "type": "null" + } + }, + "required": [ + "os-start" + ], + "type": "object" + }, + "POST /v1/portgroups": { + "description": "", + "properties": { + "portgroup": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "portgroup", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "portgroup" + ], + "type": "object" + }, + "POST /v1/ports": { + "description": "", + "properties": { + "port": { + "description": "", + "properties": { + "admin_state_up": { + "default": true, + "description": "Administrative state", + "type": "boolean" + }, + "allowed_address_pairs": { + "description": "", + "items": { + "description": "", + "properties": { + "ip_address": { + "description": "", + "type": "string" + }, + "mac_address": { + "description": "", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "binding:vnic_type": { + "description": "VNIC type", + "enum": [ + "normal", + "direct", + "macvtap", + "baremetal" + ], + "type": "string" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "device_id": { + "description": "Device UUID", + "format": "uuid", + "type": "string" + }, + "device_owner": { + "description": "Device owner", + "type": "string" + }, + "fixed_ips": { + "description": "Fixed IPs", + "items": { + "description": "", + "properties": { + "ip_address": { + "description": "", + "type": "string" + }, + "subnet_id": { + "description": "", + "format": "uuid", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "mac_address": { + "description": "MAC address", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "network_id": { + "description": "Network UUID", + "format": "uuid", + "type": "string" + }, + "port_security_enabled": { + "description": "Port security", + "type": "boolean" + }, + "security_groups": { + "description": "", + "items": { + "description": "Security group UUID", + "format": "uuid", + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "network_id" + ], + "type": "object" + } + }, + "required": [ + "port" + ], + "type": "object" + }, + "POST /v1/volume/connectors": { + "description": "", + "properties": { + "connector": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "volume_connector", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "connector" + ], + "type": "object" + }, + "POST /v1/volume/targets": { + "description": "", + "properties": { + "target": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "volume_target", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "target" + ], + "type": "object" + }, + "PUT /v1/allocations/{id}": { + "description": "", + "properties": { + "allocation": { + "description": "", + "properties": { + "allocations": { + "description": "Map of resource provider UUID to resources", + "properties": {}, + "type": "object" + }, + "consumer_generation": { + "description": "Consumer generation", + "example": 0, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "user_id": { + "description": "", + "format": "uuid", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "allocation" + ], + "type": "object" + }, + "PUT /v1/chassis/{id}": { + "description": "", + "properties": { + "chassi": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "chassis", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "chassi" + ], + "type": "object" + }, + "PUT /v1/deploy_templates/{id}": { + "description": "", + "properties": { + "deploy_template": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "deploy_template", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "deploy_template" + ], + "type": "object" + }, + "PUT /v1/nodes/{id}": { + "description": "", + "properties": { + "node": { + "description": "", + "properties": { + "boot_interface": { + "description": "", + "type": "string" + }, + "conductor_group": { + "description": "", + "type": "string" + }, + "deploy_interface": { + "description": "", + "type": "string" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "driver": { + "description": "", + "example": "ipmi", + "type": "string" + }, + "driver_info": { + "description": "", + "properties": { + "ipmi_address": { + "description": "", + "type": "string" + }, + "ipmi_password": { + "description": "", + "type": "string" + }, + "ipmi_username": { + "description": "", + "type": "string" + } + }, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "network_interface": { + "description": "", + "example": "flat", + "type": "string" + }, + "properties": { + "description": "", + "properties": { + "cpus": { + "description": "", + "example": 4, + "type": "integer" + }, + "local_gb": { + "description": "", + "example": 100, + "type": "integer" + }, + "memory_mb": { + "description": "", + "example": 8192, + "type": "integer" + } + }, + "type": "object" + }, + "resource_class": { + "description": "", + "example": "baremetal", + "type": "string" + }, + "storage_interface": { + "description": "", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "node" + ], + "type": "object" + }, + "PUT /v1/nodes/{id}/states/power": { + "description": "", + "properties": { + "node": { + "description": "", + "properties": { + "boot_interface": { + "description": "", + "type": "string" + }, + "conductor_group": { + "description": "", + "type": "string" + }, + "deploy_interface": { + "description": "", + "type": "string" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "driver": { + "description": "", + "example": "ipmi", + "type": "string" + }, + "driver_info": { + "description": "", + "properties": { + "ipmi_address": { + "description": "", + "type": "string" + }, + "ipmi_password": { + "description": "", + "type": "string" + }, + "ipmi_username": { + "description": "", + "type": "string" + } + }, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "network_interface": { + "description": "", + "example": "flat", + "type": "string" + }, + "properties": { + "description": "", + "properties": { + "cpus": { + "description": "", + "example": 4, + "type": "integer" + }, + "local_gb": { + "description": "", + "example": 100, + "type": "integer" + }, + "memory_mb": { + "description": "", + "example": 8192, + "type": "integer" + } + }, + "type": "object" + }, + "resource_class": { + "description": "", + "example": "baremetal", + "type": "string" + }, + "storage_interface": { + "description": "", + "type": "string" + } + }, + "required": [ + "driver" + ], + "type": "object" + } + }, + "type": "object" + }, + "PUT /v1/nodes/{id}/states/provision": { + "description": "", + "properties": { + "node": { + "description": "", + "properties": { + "boot_interface": { + "description": "", + "type": "string" + }, + "conductor_group": { + "description": "", + "type": "string" + }, + "deploy_interface": { + "description": "", + "type": "string" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "driver": { + "description": "", + "example": "ipmi", + "type": "string" + }, + "driver_info": { + "description": "", + "properties": { + "ipmi_address": { + "description": "", + "type": "string" + }, + "ipmi_password": { + "description": "", + "type": "string" + }, + "ipmi_username": { + "description": "", + "type": "string" + } + }, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "network_interface": { + "description": "", + "example": "flat", + "type": "string" + }, + "properties": { + "description": "", + "properties": { + "cpus": { + "description": "", + "example": 4, + "type": "integer" + }, + "local_gb": { + "description": "", + "example": 100, + "type": "integer" + }, + "memory_mb": { + "description": "", + "example": 8192, + "type": "integer" + } + }, + "type": "object" + }, + "resource_class": { + "description": "", + "example": "baremetal", + "type": "string" + }, + "storage_interface": { + "description": "", + "type": "string" + } + }, + "required": [ + "driver" + ], + "type": "object" + } + }, + "type": "object" + }, + "PUT /v1/nodes/{id}/states/raid": { + "description": "", + "properties": { + "node": { + "description": "", + "properties": { + "boot_interface": { + "description": "", + "type": "string" + }, + "conductor_group": { + "description": "", + "type": "string" + }, + "deploy_interface": { + "description": "", + "type": "string" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "driver": { + "description": "", + "example": "ipmi", + "type": "string" + }, + "driver_info": { + "description": "", + "properties": { + "ipmi_address": { + "description": "", + "type": "string" + }, + "ipmi_password": { + "description": "", + "type": "string" + }, + "ipmi_username": { + "description": "", + "type": "string" + } + }, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "network_interface": { + "description": "", + "example": "flat", + "type": "string" + }, + "properties": { + "description": "", + "properties": { + "cpus": { + "description": "", + "example": 4, + "type": "integer" + }, + "local_gb": { + "description": "", + "example": 100, + "type": "integer" + }, + "memory_mb": { + "description": "", + "example": 8192, + "type": "integer" + } + }, + "type": "object" + }, + "resource_class": { + "description": "", + "example": "baremetal", + "type": "string" + }, + "storage_interface": { + "description": "", + "type": "string" + } + }, + "required": [ + "driver" + ], + "type": "object" + } + }, + "type": "object" + }, + "PUT /v1/portgroups/{id}": { + "description": "", + "properties": { + "portgroup": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "portgroup", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "portgroup" + ], + "type": "object" + }, + "PUT /v1/ports/{id}": { + "description": "", + "properties": { + "port": { + "description": "", + "properties": { + "admin_state_up": { + "default": true, + "description": "Administrative state", + "type": "boolean" + }, + "allowed_address_pairs": { + "description": "", + "items": { + "description": "", + "properties": { + "ip_address": { + "description": "", + "type": "string" + }, + "mac_address": { + "description": "", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "binding:vnic_type": { + "description": "VNIC type", + "enum": [ + "normal", + "direct", + "macvtap", + "baremetal" + ], + "type": "string" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "device_id": { + "description": "Device UUID", + "format": "uuid", + "type": "string" + }, + "device_owner": { + "description": "Device owner", + "type": "string" + }, + "fixed_ips": { + "description": "Fixed IPs", + "items": { + "description": "", + "properties": { + "ip_address": { + "description": "", + "type": "string" + }, + "subnet_id": { + "description": "", + "format": "uuid", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "mac_address": { + "description": "MAC address", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "network_id": { + "description": "Network UUID", + "format": "uuid", + "type": "string" + }, + "port_security_enabled": { + "description": "Port security", + "type": "boolean" + }, + "security_groups": { + "description": "", + "items": { + "description": "Security group UUID", + "format": "uuid", + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + } + }, + "required": [ + "port" + ], + "type": "object" + }, + "PUT /v1/volume/connectors/{id}": { + "description": "", + "properties": { + "connector": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "volume_connector", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "connector" + ], + "type": "object" + }, + "PUT /v1/volume/targets/{id}": { + "description": "", + "properties": { + "target": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "volume_target", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "target" + ], + "type": "object" + } + }, + "operations": { + "allocation_create": { + "description": "", + "properties": { + "allocation": { + "description": "", + "properties": { + "allocations": { + "description": "Map of resource provider UUID to resources", + "properties": {}, + "type": "object" + }, + "consumer_generation": { + "description": "Consumer generation", + "example": 0, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "user_id": { + "description": "", + "format": "uuid", + "type": "string" + } + }, + "required": [ + "allocations", + "project_id", + "user_id" + ], + "type": "object" + } + }, + "required": [ + "allocation" + ], + "type": "object" + }, + "allocation_patch": { + "description": "", + "properties": { + "allocation": { + "description": "", + "properties": { + "allocations": { + "description": "Map of resource provider UUID to resources", + "properties": {}, + "type": "object" + }, + "consumer_generation": { + "description": "Consumer generation", + "example": 0, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "user_id": { + "description": "", + "format": "uuid", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "allocation" + ], + "type": "object" + }, + "allocation_update": { + "description": "", + "properties": { + "allocation": { + "description": "", + "properties": { + "allocations": { + "description": "Map of resource provider UUID to resources", + "properties": {}, + "type": "object" + }, + "consumer_generation": { + "description": "Consumer generation", + "example": 0, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "user_id": { + "description": "", + "format": "uuid", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "allocation" + ], + "type": "object" + }, + "chassis_create": { + "description": "", + "properties": { + "chassi": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "chassis", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "chassi" + ], + "type": "object" + }, + "chassis_patch": { + "description": "", + "properties": { + "chassi": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "chassis", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "chassi" + ], + "type": "object" + }, + "chassis_update": { + "description": "", + "properties": { + "chassi": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "chassis", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "chassi" + ], + "type": "object" + }, + "deploy_template_create": { + "description": "", + "properties": { + "deploy_template": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "deploy_template", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "deploy_template" + ], + "type": "object" + }, + "deploy_template_patch": { + "description": "", + "properties": { + "deploy_template": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "deploy_template", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "deploy_template" + ], + "type": "object" + }, + "deploy_template_update": { + "description": "", + "properties": { + "deploy_template": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "deploy_template", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "deploy_template" + ], + "type": "object" + }, + "node_action": { + "description": "", + "properties": { + "os-start": { + "description": "Action os-start body (null object)", + "type": "null" + } + }, + "required": [ + "os-start" + ], + "type": "object" + }, + "node_create": { + "description": "", + "properties": { + "node": { + "description": "", + "properties": { + "boot_interface": { + "description": "", + "type": "string" + }, + "conductor_group": { + "description": "", + "type": "string" + }, + "deploy_interface": { + "description": "", + "type": "string" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "driver": { + "description": "", + "example": "ipmi", + "type": "string" + }, + "driver_info": { + "description": "", + "properties": { + "ipmi_address": { + "description": "", + "type": "string" + }, + "ipmi_password": { + "description": "", + "type": "string" + }, + "ipmi_username": { + "description": "", + "type": "string" + } + }, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "network_interface": { + "description": "", + "example": "flat", + "type": "string" + }, + "properties": { + "description": "", + "properties": { + "cpus": { + "description": "", + "example": 4, + "type": "integer" + }, + "local_gb": { + "description": "", + "example": 100, + "type": "integer" + }, + "memory_mb": { + "description": "", + "example": 8192, + "type": "integer" + } + }, + "type": "object" + }, + "resource_class": { + "description": "", + "example": "baremetal", + "type": "string" + }, + "storage_interface": { + "description": "", + "type": "string" + } + }, + "required": [ + "driver" + ], + "type": "object" + } + }, + "required": [ + "node" + ], + "type": "object" + }, + "node_patch": { + "description": "", + "properties": { + "node": { + "description": "", + "properties": { + "boot_interface": { + "description": "", + "type": "string" + }, + "conductor_group": { + "description": "", + "type": "string" + }, + "deploy_interface": { + "description": "", + "type": "string" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "driver": { + "description": "", + "example": "ipmi", + "type": "string" + }, + "driver_info": { + "description": "", + "properties": { + "ipmi_address": { + "description": "", + "type": "string" + }, + "ipmi_password": { + "description": "", + "type": "string" + }, + "ipmi_username": { + "description": "", + "type": "string" + } + }, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "network_interface": { + "description": "", + "example": "flat", + "type": "string" + }, + "properties": { + "description": "", + "properties": { + "cpus": { + "description": "", + "example": 4, + "type": "integer" + }, + "local_gb": { + "description": "", + "example": 100, + "type": "integer" + }, + "memory_mb": { + "description": "", + "example": 8192, + "type": "integer" + } + }, + "type": "object" + }, + "resource_class": { + "description": "", + "example": "baremetal", + "type": "string" + }, + "storage_interface": { + "description": "", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "node" + ], + "type": "object" + }, + "node_power_state": { + "description": "", + "properties": { + "node": { + "description": "", + "properties": { + "boot_interface": { + "description": "", + "type": "string" + }, + "conductor_group": { + "description": "", + "type": "string" + }, + "deploy_interface": { + "description": "", + "type": "string" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "driver": { + "description": "", + "example": "ipmi", + "type": "string" + }, + "driver_info": { + "description": "", + "properties": { + "ipmi_address": { + "description": "", + "type": "string" + }, + "ipmi_password": { + "description": "", + "type": "string" + }, + "ipmi_username": { + "description": "", + "type": "string" + } + }, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "network_interface": { + "description": "", + "example": "flat", + "type": "string" + }, + "properties": { + "description": "", + "properties": { + "cpus": { + "description": "", + "example": 4, + "type": "integer" + }, + "local_gb": { + "description": "", + "example": 100, + "type": "integer" + }, + "memory_mb": { + "description": "", + "example": 8192, + "type": "integer" + } + }, + "type": "object" + }, + "resource_class": { + "description": "", + "example": "baremetal", + "type": "string" + }, + "storage_interface": { + "description": "", + "type": "string" + } + }, + "required": [ + "driver" + ], + "type": "object" + } + }, + "type": "object" + }, + "node_provision_state": { + "description": "", + "properties": { + "node": { + "description": "", + "properties": { + "boot_interface": { + "description": "", + "type": "string" + }, + "conductor_group": { + "description": "", + "type": "string" + }, + "deploy_interface": { + "description": "", + "type": "string" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "driver": { + "description": "", + "example": "ipmi", + "type": "string" + }, + "driver_info": { + "description": "", + "properties": { + "ipmi_address": { + "description": "", + "type": "string" + }, + "ipmi_password": { + "description": "", + "type": "string" + }, + "ipmi_username": { + "description": "", + "type": "string" + } + }, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "network_interface": { + "description": "", + "example": "flat", + "type": "string" + }, + "properties": { + "description": "", + "properties": { + "cpus": { + "description": "", + "example": 4, + "type": "integer" + }, + "local_gb": { + "description": "", + "example": 100, + "type": "integer" + }, + "memory_mb": { + "description": "", + "example": 8192, + "type": "integer" + } + }, + "type": "object" + }, + "resource_class": { + "description": "", + "example": "baremetal", + "type": "string" + }, + "storage_interface": { + "description": "", + "type": "string" + } + }, + "required": [ + "driver" + ], + "type": "object" + } + }, + "type": "object" + }, + "node_raid_state": { + "description": "", + "properties": { + "node": { + "description": "", + "properties": { + "boot_interface": { + "description": "", + "type": "string" + }, + "conductor_group": { + "description": "", + "type": "string" + }, + "deploy_interface": { + "description": "", + "type": "string" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "driver": { + "description": "", + "example": "ipmi", + "type": "string" + }, + "driver_info": { + "description": "", + "properties": { + "ipmi_address": { + "description": "", + "type": "string" + }, + "ipmi_password": { + "description": "", + "type": "string" + }, + "ipmi_username": { + "description": "", + "type": "string" + } + }, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "network_interface": { + "description": "", + "example": "flat", + "type": "string" + }, + "properties": { + "description": "", + "properties": { + "cpus": { + "description": "", + "example": 4, + "type": "integer" + }, + "local_gb": { + "description": "", + "example": 100, + "type": "integer" + }, + "memory_mb": { + "description": "", + "example": 8192, + "type": "integer" + } + }, + "type": "object" + }, + "resource_class": { + "description": "", + "example": "baremetal", + "type": "string" + }, + "storage_interface": { + "description": "", + "type": "string" + } + }, + "required": [ + "driver" + ], + "type": "object" + } + }, + "type": "object" + }, + "node_update": { + "description": "", + "properties": { + "node": { + "description": "", + "properties": { + "boot_interface": { + "description": "", + "type": "string" + }, + "conductor_group": { + "description": "", + "type": "string" + }, + "deploy_interface": { + "description": "", + "type": "string" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "driver": { + "description": "", + "example": "ipmi", + "type": "string" + }, + "driver_info": { + "description": "", + "properties": { + "ipmi_address": { + "description": "", + "type": "string" + }, + "ipmi_password": { + "description": "", + "type": "string" + }, + "ipmi_username": { + "description": "", + "type": "string" + } + }, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "network_interface": { + "description": "", + "example": "flat", + "type": "string" + }, + "properties": { + "description": "", + "properties": { + "cpus": { + "description": "", + "example": 4, + "type": "integer" + }, + "local_gb": { + "description": "", + "example": 100, + "type": "integer" + }, + "memory_mb": { + "description": "", + "example": 8192, + "type": "integer" + } + }, + "type": "object" + }, + "resource_class": { + "description": "", + "example": "baremetal", + "type": "string" + }, + "storage_interface": { + "description": "", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "node" + ], + "type": "object" + }, + "port_create": { + "description": "", + "properties": { + "port": { + "description": "", + "properties": { + "admin_state_up": { + "default": true, + "description": "Administrative state", + "type": "boolean" + }, + "allowed_address_pairs": { + "description": "", + "items": { + "description": "", + "properties": { + "ip_address": { + "description": "", + "type": "string" + }, + "mac_address": { + "description": "", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "binding:vnic_type": { + "description": "VNIC type", + "enum": [ + "normal", + "direct", + "macvtap", + "baremetal" + ], + "type": "string" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "device_id": { + "description": "Device UUID", + "format": "uuid", + "type": "string" + }, + "device_owner": { + "description": "Device owner", + "type": "string" + }, + "fixed_ips": { + "description": "Fixed IPs", + "items": { + "description": "", + "properties": { + "ip_address": { + "description": "", + "type": "string" + }, + "subnet_id": { + "description": "", + "format": "uuid", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "mac_address": { + "description": "MAC address", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "network_id": { + "description": "Network UUID", + "format": "uuid", + "type": "string" + }, + "port_security_enabled": { + "description": "Port security", + "type": "boolean" + }, + "security_groups": { + "description": "", + "items": { + "description": "Security group UUID", + "format": "uuid", + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "network_id" + ], + "type": "object" + } + }, + "required": [ + "port" + ], + "type": "object" + }, + "port_patch": { + "description": "", + "properties": { + "port": { + "description": "", + "properties": { + "admin_state_up": { + "default": true, + "description": "Administrative state", + "type": "boolean" + }, + "allowed_address_pairs": { + "description": "", + "items": { + "description": "", + "properties": { + "ip_address": { + "description": "", + "type": "string" + }, + "mac_address": { + "description": "", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "binding:vnic_type": { + "description": "VNIC type", + "enum": [ + "normal", + "direct", + "macvtap", + "baremetal" + ], + "type": "string" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "device_id": { + "description": "Device UUID", + "format": "uuid", + "type": "string" + }, + "device_owner": { + "description": "Device owner", + "type": "string" + }, + "fixed_ips": { + "description": "Fixed IPs", + "items": { + "description": "", + "properties": { + "ip_address": { + "description": "", + "type": "string" + }, + "subnet_id": { + "description": "", + "format": "uuid", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "mac_address": { + "description": "MAC address", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "network_id": { + "description": "Network UUID", + "format": "uuid", + "type": "string" + }, + "port_security_enabled": { + "description": "Port security", + "type": "boolean" + }, + "security_groups": { + "description": "", + "items": { + "description": "Security group UUID", + "format": "uuid", + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + } + }, + "required": [ + "port" + ], + "type": "object" + }, + "port_update": { + "description": "", + "properties": { + "port": { + "description": "", + "properties": { + "admin_state_up": { + "default": true, + "description": "Administrative state", + "type": "boolean" + }, + "allowed_address_pairs": { + "description": "", + "items": { + "description": "", + "properties": { + "ip_address": { + "description": "", + "type": "string" + }, + "mac_address": { + "description": "", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "binding:vnic_type": { + "description": "VNIC type", + "enum": [ + "normal", + "direct", + "macvtap", + "baremetal" + ], + "type": "string" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "device_id": { + "description": "Device UUID", + "format": "uuid", + "type": "string" + }, + "device_owner": { + "description": "Device owner", + "type": "string" + }, + "fixed_ips": { + "description": "Fixed IPs", + "items": { + "description": "", + "properties": { + "ip_address": { + "description": "", + "type": "string" + }, + "subnet_id": { + "description": "", + "format": "uuid", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "mac_address": { + "description": "MAC address", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "network_id": { + "description": "Network UUID", + "format": "uuid", + "type": "string" + }, + "port_security_enabled": { + "description": "Port security", + "type": "boolean" + }, + "security_groups": { + "description": "", + "items": { + "description": "Security group UUID", + "format": "uuid", + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + } + }, + "required": [ + "port" + ], + "type": "object" + }, + "portgroup_create": { + "description": "", + "properties": { + "portgroup": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "portgroup", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "portgroup" + ], + "type": "object" + }, + "portgroup_patch": { + "description": "", + "properties": { + "portgroup": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "portgroup", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "portgroup" + ], + "type": "object" + }, + "portgroup_update": { + "description": "", + "properties": { + "portgroup": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "portgroup", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "portgroup" + ], + "type": "object" + }, + "volume_connector_create": { + "description": "", + "properties": { + "connector": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "volume_connector", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "connector" + ], + "type": "object" + }, + "volume_connector_patch": { + "description": "", + "properties": { + "connector": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "volume_connector", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "connector" + ], + "type": "object" + }, + "volume_connector_update": { + "description": "", + "properties": { + "connector": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "volume_connector", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "connector" + ], + "type": "object" + }, + "volume_target_create": { + "description": "", + "properties": { + "target": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "volume_target", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "target" + ], + "type": "object" + }, + "volume_target_patch": { + "description": "", + "properties": { + "target": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "volume_target", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "target" + ], + "type": "object" + }, + "volume_target_update": { + "description": "", + "properties": { + "target": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "volume_target", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "target" + ], + "type": "object" + } + }, + "service": "ironic", + "source": "generated-from-api-ref-catalog" +} diff --git a/contracts/openstack/request_bodies/keystone.json b/contracts/openstack/request_bodies/keystone.json new file mode 100644 index 0000000..895d5f6 --- /dev/null +++ b/contracts/openstack/request_bodies/keystone.json @@ -0,0 +1,5630 @@ +{ + "by_path": { + "PATCH /v3/credentials/{id}": { + "description": "", + "properties": { + "credential": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "credential", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "credential" + ], + "type": "object" + }, + "PATCH /v3/domains/{id}": { + "description": "", + "properties": { + "domain": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "domain", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "domain" + ], + "type": "object" + }, + "PATCH /v3/endpoints/{id}": { + "description": "", + "properties": { + "endpoint": { + "description": "", + "properties": { + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "interface": { + "description": "", + "enum": [ + "public", + "internal", + "admin" + ], + "example": "public", + "type": "string" + }, + "region_id": { + "description": "", + "example": "RegionOne", + "type": "string" + }, + "service_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "url": { + "description": "", + "example": "http://127.0.0.1:8774/v2.1", + "format": "uri", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "endpoint" + ], + "type": "object" + }, + "PATCH /v3/groups/{id}": { + "description": "", + "properties": { + "group": { + "description": "", + "properties": { + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "domain_id": { + "description": "", + "example": "default", + "format": "uuid", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "group" + ], + "type": "object" + }, + "PATCH /v3/policies/{id}": { + "description": "", + "properties": { + "policy": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "policy", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "policy" + ], + "type": "object" + }, + "PATCH /v3/projects/{id}": { + "description": "", + "properties": { + "project": { + "description": "", + "properties": { + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "domain_id": { + "description": "", + "example": "default", + "format": "uuid", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "is_domain": { + "default": false, + "description": "", + "type": "boolean" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "options": { + "description": "", + "properties": {}, + "type": "object" + }, + "parent_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + } + }, + "required": [ + "project" + ], + "type": "object" + }, + "PATCH /v3/regions/{id}": { + "description": "", + "properties": { + "region": { + "description": "", + "properties": { + "description": { + "description": "", + "type": "string" + }, + "id": { + "description": "", + "example": "RegionOne", + "type": "string" + }, + "parent_region_id": { + "description": "", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "region" + ], + "type": "object" + }, + "PATCH /v3/roles/{id}": { + "description": "", + "properties": { + "role": { + "description": "", + "properties": { + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "domain_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "options": { + "description": "", + "properties": {}, + "type": "object" + } + }, + "type": "object" + } + }, + "required": [ + "role" + ], + "type": "object" + }, + "PATCH /v3/services/{id}": { + "description": "", + "properties": { + "service": { + "description": "", + "properties": { + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "type": { + "description": "", + "example": "compute", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "service" + ], + "type": "object" + }, + "PATCH /v3/users/{id}": { + "description": "", + "properties": { + "user": { + "description": "", + "properties": { + "default_project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "domain_id": { + "description": "", + "example": "default", + "format": "uuid", + "type": "string" + }, + "email": { + "description": "", + "format": "email", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "options": { + "description": "", + "properties": {}, + "type": "object" + }, + "password": { + "description": "", + "example": "secret", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "user" + ], + "type": "object" + }, + "PATCH /v3/users/{user_id}/application_credentials/{id}": { + "description": "", + "properties": { + "application_credential": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "application_credential", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "application_credential" + ], + "type": "object" + }, + "POST /v3/auth/tokens": { + "description": "", + "properties": { + "auth": { + "description": "", + "properties": { + "identity": { + "description": "", + "properties": { + "methods": { + "description": "", + "items": { + "description": "", + "example": "password", + "type": "string" + }, + "type": "array" + }, + "password": { + "description": "", + "properties": { + "user": { + "description": "", + "properties": { + "domain": { + "description": "", + "properties": { + "name": { + "description": "", + "example": "Default", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "name": { + "description": "", + "example": "admin", + "type": "string" + }, + "password": { + "description": "", + "example": "secret", + "type": "string" + } + }, + "required": [ + "password" + ], + "type": "object" + } + }, + "type": "object" + }, + "token": { + "description": "", + "properties": { + "id": { + "description": "", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "methods" + ], + "type": "object" + }, + "scope": { + "description": "", + "properties": { + "domain": { + "description": "", + "properties": { + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "name": { + "description": "", + "example": "Default", + "type": "string" + } + }, + "type": "object" + }, + "project": { + "description": "", + "properties": { + "domain": { + "description": "", + "properties": { + "name": { + "description": "", + "example": "Default", + "type": "string" + } + }, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "name": { + "description": "", + "example": "admin", + "type": "string" + } + }, + "type": "object" + }, + "system": { + "description": "", + "properties": { + "all": { + "default": true, + "description": "", + "type": "boolean" + } + }, + "type": "object" + } + }, + "type": "object" + } + }, + "required": [ + "identity" + ], + "type": "object" + } + }, + "required": [ + "auth" + ], + "type": "object" + }, + "POST /v3/credentials": { + "description": "", + "properties": { + "credential": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "credential", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "credential" + ], + "type": "object" + }, + "POST /v3/domains": { + "description": "", + "properties": { + "domain": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "domain", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "domain" + ], + "type": "object" + }, + "POST /v3/endpoints": { + "description": "", + "properties": { + "endpoint": { + "description": "", + "properties": { + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "interface": { + "description": "", + "enum": [ + "public", + "internal", + "admin" + ], + "example": "public", + "type": "string" + }, + "region_id": { + "description": "", + "example": "RegionOne", + "type": "string" + }, + "service_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "url": { + "description": "", + "example": "http://127.0.0.1:8774/v2.1", + "format": "uri", + "type": "string" + } + }, + "required": [ + "interface", + "url", + "service_id" + ], + "type": "object" + } + }, + "required": [ + "endpoint" + ], + "type": "object" + }, + "POST /v3/groups": { + "description": "", + "properties": { + "group": { + "description": "", + "properties": { + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "domain_id": { + "description": "", + "example": "default", + "format": "uuid", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "group" + ], + "type": "object" + }, + "POST /v3/policies": { + "description": "", + "properties": { + "policy": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "policy", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "policy" + ], + "type": "object" + }, + "POST /v3/projects": { + "description": "", + "properties": { + "project": { + "description": "", + "properties": { + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "domain_id": { + "description": "", + "example": "default", + "format": "uuid", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "is_domain": { + "default": false, + "description": "", + "type": "boolean" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "options": { + "description": "", + "properties": {}, + "type": "object" + }, + "parent_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "project" + ], + "type": "object" + }, + "POST /v3/regions": { + "description": "", + "properties": { + "region": { + "description": "", + "properties": { + "description": { + "description": "", + "type": "string" + }, + "id": { + "description": "", + "example": "RegionOne", + "type": "string" + }, + "parent_region_id": { + "description": "", + "type": "string" + } + }, + "required": [ + "id" + ], + "type": "object" + } + }, + "required": [ + "region" + ], + "type": "object" + }, + "POST /v3/roles": { + "description": "", + "properties": { + "role": { + "description": "", + "properties": { + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "domain_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "options": { + "description": "", + "properties": {}, + "type": "object" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "role" + ], + "type": "object" + }, + "POST /v3/services": { + "description": "", + "properties": { + "service": { + "description": "", + "properties": { + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "type": { + "description": "", + "example": "compute", + "type": "string" + } + }, + "required": [ + "name", + "type" + ], + "type": "object" + } + }, + "required": [ + "service" + ], + "type": "object" + }, + "POST /v3/users": { + "description": "", + "properties": { + "user": { + "description": "", + "properties": { + "default_project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "domain_id": { + "description": "", + "example": "default", + "format": "uuid", + "type": "string" + }, + "email": { + "description": "", + "format": "email", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "options": { + "description": "", + "properties": {}, + "type": "object" + }, + "password": { + "description": "", + "example": "secret", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "user" + ], + "type": "object" + }, + "POST /v3/users/{user_id}/application_credentials": { + "description": "", + "properties": { + "application_credential": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "application_credential", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "application_credential" + ], + "type": "object" + }, + "PUT /v3/credentials/{id}": { + "description": "", + "properties": { + "credential": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "credential", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "credential" + ], + "type": "object" + }, + "PUT /v3/domains/{id}": { + "description": "", + "properties": { + "domain": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "domain", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "domain" + ], + "type": "object" + }, + "PUT /v3/endpoints/{id}": { + "description": "", + "properties": { + "endpoint": { + "description": "", + "properties": { + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "interface": { + "description": "", + "enum": [ + "public", + "internal", + "admin" + ], + "example": "public", + "type": "string" + }, + "region_id": { + "description": "", + "example": "RegionOne", + "type": "string" + }, + "service_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "url": { + "description": "", + "example": "http://127.0.0.1:8774/v2.1", + "format": "uri", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "endpoint" + ], + "type": "object" + }, + "PUT /v3/groups/{id}": { + "description": "", + "properties": { + "group": { + "description": "", + "properties": { + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "domain_id": { + "description": "", + "example": "default", + "format": "uuid", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "group" + ], + "type": "object" + }, + "PUT /v3/policies/{id}": { + "description": "", + "properties": { + "policy": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "policy", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "policy" + ], + "type": "object" + }, + "PUT /v3/projects/{id}": { + "description": "", + "properties": { + "project": { + "description": "", + "properties": { + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "domain_id": { + "description": "", + "example": "default", + "format": "uuid", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "is_domain": { + "default": false, + "description": "", + "type": "boolean" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "options": { + "description": "", + "properties": {}, + "type": "object" + }, + "parent_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + } + }, + "required": [ + "project" + ], + "type": "object" + }, + "PUT /v3/projects/{project_id}/users/{user_id}/roles/{role_id}": { + "description": "", + "properties": { + "role_assignment": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "role_assignment", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "type": "object" + }, + "PUT /v3/regions/{id}": { + "description": "", + "properties": { + "region": { + "description": "", + "properties": { + "description": { + "description": "", + "type": "string" + }, + "id": { + "description": "", + "example": "RegionOne", + "type": "string" + }, + "parent_region_id": { + "description": "", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "region" + ], + "type": "object" + }, + "PUT /v3/roles/{id}": { + "description": "", + "properties": { + "role": { + "description": "", + "properties": { + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "domain_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "options": { + "description": "", + "properties": {}, + "type": "object" + } + }, + "type": "object" + } + }, + "required": [ + "role" + ], + "type": "object" + }, + "PUT /v3/services/{id}": { + "description": "", + "properties": { + "service": { + "description": "", + "properties": { + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "type": { + "description": "", + "example": "compute", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "service" + ], + "type": "object" + }, + "PUT /v3/users/{id}": { + "description": "", + "properties": { + "user": { + "description": "", + "properties": { + "default_project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "domain_id": { + "description": "", + "example": "default", + "format": "uuid", + "type": "string" + }, + "email": { + "description": "", + "format": "email", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "options": { + "description": "", + "properties": {}, + "type": "object" + }, + "password": { + "description": "", + "example": "secret", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "user" + ], + "type": "object" + }, + "PUT /v3/users/{user_id}/application_credentials/{id}": { + "description": "", + "properties": { + "application_credential": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "application_credential", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "application_credential" + ], + "type": "object" + } + }, + "operations": { + "application_credential_create": { + "description": "", + "properties": { + "application_credential": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "application_credential", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "application_credential" + ], + "type": "object" + }, + "application_credential_patch": { + "description": "", + "properties": { + "application_credential": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "application_credential", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "application_credential" + ], + "type": "object" + }, + "application_credential_update": { + "description": "", + "properties": { + "application_credential": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "application_credential", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "application_credential" + ], + "type": "object" + }, + "credential_create": { + "description": "", + "properties": { + "credential": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "credential", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "credential" + ], + "type": "object" + }, + "credential_patch": { + "description": "", + "properties": { + "credential": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "credential", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "credential" + ], + "type": "object" + }, + "credential_update": { + "description": "", + "properties": { + "credential": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "credential", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "credential" + ], + "type": "object" + }, + "domain_create": { + "description": "", + "properties": { + "domain": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "domain", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "domain" + ], + "type": "object" + }, + "domain_patch": { + "description": "", + "properties": { + "domain": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "domain", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "domain" + ], + "type": "object" + }, + "domain_update": { + "description": "", + "properties": { + "domain": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "domain", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "domain" + ], + "type": "object" + }, + "endpoint_create": { + "description": "", + "properties": { + "endpoint": { + "description": "", + "properties": { + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "interface": { + "description": "", + "enum": [ + "public", + "internal", + "admin" + ], + "example": "public", + "type": "string" + }, + "region_id": { + "description": "", + "example": "RegionOne", + "type": "string" + }, + "service_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "url": { + "description": "", + "example": "http://127.0.0.1:8774/v2.1", + "format": "uri", + "type": "string" + } + }, + "required": [ + "interface", + "url", + "service_id" + ], + "type": "object" + } + }, + "required": [ + "endpoint" + ], + "type": "object" + }, + "endpoint_patch": { + "description": "", + "properties": { + "endpoint": { + "description": "", + "properties": { + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "interface": { + "description": "", + "enum": [ + "public", + "internal", + "admin" + ], + "example": "public", + "type": "string" + }, + "region_id": { + "description": "", + "example": "RegionOne", + "type": "string" + }, + "service_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "url": { + "description": "", + "example": "http://127.0.0.1:8774/v2.1", + "format": "uri", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "endpoint" + ], + "type": "object" + }, + "endpoint_update": { + "description": "", + "properties": { + "endpoint": { + "description": "", + "properties": { + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "interface": { + "description": "", + "enum": [ + "public", + "internal", + "admin" + ], + "example": "public", + "type": "string" + }, + "region_id": { + "description": "", + "example": "RegionOne", + "type": "string" + }, + "service_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "url": { + "description": "", + "example": "http://127.0.0.1:8774/v2.1", + "format": "uri", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "endpoint" + ], + "type": "object" + }, + "group_create": { + "description": "", + "properties": { + "group": { + "description": "", + "properties": { + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "domain_id": { + "description": "", + "example": "default", + "format": "uuid", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "group" + ], + "type": "object" + }, + "group_patch": { + "description": "", + "properties": { + "group": { + "description": "", + "properties": { + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "domain_id": { + "description": "", + "example": "default", + "format": "uuid", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "group" + ], + "type": "object" + }, + "group_update": { + "description": "", + "properties": { + "group": { + "description": "", + "properties": { + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "domain_id": { + "description": "", + "example": "default", + "format": "uuid", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "group" + ], + "type": "object" + }, + "keystone_auth_tokens": { + "description": "", + "properties": { + "auth": { + "description": "", + "properties": { + "identity": { + "description": "", + "properties": { + "methods": { + "description": "", + "items": { + "description": "", + "example": "password", + "type": "string" + }, + "type": "array" + }, + "password": { + "description": "", + "properties": { + "user": { + "description": "", + "properties": { + "domain": { + "description": "", + "properties": { + "name": { + "description": "", + "example": "Default", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "name": { + "description": "", + "example": "admin", + "type": "string" + }, + "password": { + "description": "", + "example": "secret", + "type": "string" + } + }, + "required": [ + "password" + ], + "type": "object" + } + }, + "type": "object" + }, + "token": { + "description": "", + "properties": { + "id": { + "description": "", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "methods" + ], + "type": "object" + }, + "scope": { + "description": "", + "properties": { + "domain": { + "description": "", + "properties": { + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "name": { + "description": "", + "example": "Default", + "type": "string" + } + }, + "type": "object" + }, + "project": { + "description": "", + "properties": { + "domain": { + "description": "", + "properties": { + "name": { + "description": "", + "example": "Default", + "type": "string" + } + }, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "name": { + "description": "", + "example": "admin", + "type": "string" + } + }, + "type": "object" + }, + "system": { + "description": "", + "properties": { + "all": { + "default": true, + "description": "", + "type": "boolean" + } + }, + "type": "object" + } + }, + "type": "object" + } + }, + "required": [ + "identity" + ], + "type": "object" + } + }, + "required": [ + "auth" + ], + "type": "object" + }, + "keystone_grant_project_role": { + "description": "", + "properties": { + "role_assignment": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "role_assignment", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "type": "object" + }, + "policy_create": { + "description": "", + "properties": { + "policy": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "policy", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "policy" + ], + "type": "object" + }, + "policy_patch": { + "description": "", + "properties": { + "policy": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "policy", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "policy" + ], + "type": "object" + }, + "policy_update": { + "description": "", + "properties": { + "policy": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "policy", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "policy" + ], + "type": "object" + }, + "project_create": { + "description": "", + "properties": { + "project": { + "description": "", + "properties": { + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "domain_id": { + "description": "", + "example": "default", + "format": "uuid", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "is_domain": { + "default": false, + "description": "", + "type": "boolean" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "options": { + "description": "", + "properties": {}, + "type": "object" + }, + "parent_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "project" + ], + "type": "object" + }, + "project_patch": { + "description": "", + "properties": { + "project": { + "description": "", + "properties": { + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "domain_id": { + "description": "", + "example": "default", + "format": "uuid", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "is_domain": { + "default": false, + "description": "", + "type": "boolean" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "options": { + "description": "", + "properties": {}, + "type": "object" + }, + "parent_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + } + }, + "required": [ + "project" + ], + "type": "object" + }, + "project_update": { + "description": "", + "properties": { + "project": { + "description": "", + "properties": { + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "domain_id": { + "description": "", + "example": "default", + "format": "uuid", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "is_domain": { + "default": false, + "description": "", + "type": "boolean" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "options": { + "description": "", + "properties": {}, + "type": "object" + }, + "parent_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + } + }, + "required": [ + "project" + ], + "type": "object" + }, + "region_create": { + "description": "", + "properties": { + "region": { + "description": "", + "properties": { + "description": { + "description": "", + "type": "string" + }, + "id": { + "description": "", + "example": "RegionOne", + "type": "string" + }, + "parent_region_id": { + "description": "", + "type": "string" + } + }, + "required": [ + "id" + ], + "type": "object" + } + }, + "required": [ + "region" + ], + "type": "object" + }, + "region_patch": { + "description": "", + "properties": { + "region": { + "description": "", + "properties": { + "description": { + "description": "", + "type": "string" + }, + "id": { + "description": "", + "example": "RegionOne", + "type": "string" + }, + "parent_region_id": { + "description": "", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "region" + ], + "type": "object" + }, + "region_update": { + "description": "", + "properties": { + "region": { + "description": "", + "properties": { + "description": { + "description": "", + "type": "string" + }, + "id": { + "description": "", + "example": "RegionOne", + "type": "string" + }, + "parent_region_id": { + "description": "", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "region" + ], + "type": "object" + }, + "role_create": { + "description": "", + "properties": { + "role": { + "description": "", + "properties": { + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "domain_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "options": { + "description": "", + "properties": {}, + "type": "object" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "role" + ], + "type": "object" + }, + "role_patch": { + "description": "", + "properties": { + "role": { + "description": "", + "properties": { + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "domain_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "options": { + "description": "", + "properties": {}, + "type": "object" + } + }, + "type": "object" + } + }, + "required": [ + "role" + ], + "type": "object" + }, + "role_update": { + "description": "", + "properties": { + "role": { + "description": "", + "properties": { + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "domain_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "options": { + "description": "", + "properties": {}, + "type": "object" + } + }, + "type": "object" + } + }, + "required": [ + "role" + ], + "type": "object" + }, + "service_create": { + "description": "", + "properties": { + "service": { + "description": "", + "properties": { + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "type": { + "description": "", + "example": "compute", + "type": "string" + } + }, + "required": [ + "name", + "type" + ], + "type": "object" + } + }, + "required": [ + "service" + ], + "type": "object" + }, + "service_patch": { + "description": "", + "properties": { + "service": { + "description": "", + "properties": { + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "type": { + "description": "", + "example": "compute", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "service" + ], + "type": "object" + }, + "service_update": { + "description": "", + "properties": { + "service": { + "description": "", + "properties": { + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "type": { + "description": "", + "example": "compute", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "service" + ], + "type": "object" + }, + "user_create": { + "description": "", + "properties": { + "user": { + "description": "", + "properties": { + "default_project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "domain_id": { + "description": "", + "example": "default", + "format": "uuid", + "type": "string" + }, + "email": { + "description": "", + "format": "email", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "options": { + "description": "", + "properties": {}, + "type": "object" + }, + "password": { + "description": "", + "example": "secret", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "user" + ], + "type": "object" + }, + "user_patch": { + "description": "", + "properties": { + "user": { + "description": "", + "properties": { + "default_project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "domain_id": { + "description": "", + "example": "default", + "format": "uuid", + "type": "string" + }, + "email": { + "description": "", + "format": "email", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "options": { + "description": "", + "properties": {}, + "type": "object" + }, + "password": { + "description": "", + "example": "secret", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "user" + ], + "type": "object" + }, + "user_update": { + "description": "", + "properties": { + "user": { + "description": "", + "properties": { + "default_project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "domain_id": { + "description": "", + "example": "default", + "format": "uuid", + "type": "string" + }, + "email": { + "description": "", + "format": "email", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "options": { + "description": "", + "properties": {}, + "type": "object" + }, + "password": { + "description": "", + "example": "secret", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "user" + ], + "type": "object" + } + }, + "service": "keystone", + "source": "generated-from-api-ref-catalog" +} diff --git a/contracts/openstack/request_bodies/magnum.json b/contracts/openstack/request_bodies/magnum.json new file mode 100644 index 0000000..836697e --- /dev/null +++ b/contracts/openstack/request_bodies/magnum.json @@ -0,0 +1,2836 @@ +{ + "by_path": { + "PATCH /v1/certificates/{id}": { + "description": "", + "properties": { + "certificate": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "certificate", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "certificate" + ], + "type": "object" + }, + "PATCH /v1/clusters/{cluster_id}/nodegroups/{id}": { + "description": "", + "properties": { + "nodegroup": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "nodegroup", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "nodegroup" + ], + "type": "object" + }, + "PATCH /v1/clusters/{id}": { + "description": "", + "properties": { + "cluster": { + "description": "", + "properties": { + "cluster_template_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "docker_volume_size": { + "description": "", + "example": 5, + "type": "integer" + }, + "flavor_id": { + "description": "", + "type": "string" + }, + "keypair": { + "description": "Keypair name", + "type": "string" + }, + "labels": { + "description": "", + "properties": {}, + "type": "object" + }, + "master_count": { + "description": "", + "example": 1, + "type": "integer" + }, + "master_flavor_id": { + "description": "", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "node_count": { + "description": "", + "example": 1, + "type": "integer" + } + }, + "type": "object" + } + }, + "required": [ + "cluster" + ], + "type": "object" + }, + "PATCH /v1/clustertemplates/{id}": { + "description": "", + "properties": { + "clustertemplate": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "clustertemplate", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "clustertemplate" + ], + "type": "object" + }, + "POST /v1/certificates": { + "description": "", + "properties": { + "certificate": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "certificate", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "certificate" + ], + "type": "object" + }, + "POST /v1/clusters": { + "description": "", + "properties": { + "cluster": { + "description": "", + "properties": { + "cluster_template_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "docker_volume_size": { + "description": "", + "example": 5, + "type": "integer" + }, + "flavor_id": { + "description": "", + "type": "string" + }, + "keypair": { + "description": "Keypair name", + "type": "string" + }, + "labels": { + "description": "", + "properties": {}, + "type": "object" + }, + "master_count": { + "description": "", + "example": 1, + "type": "integer" + }, + "master_flavor_id": { + "description": "", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "node_count": { + "description": "", + "example": 1, + "type": "integer" + } + }, + "required": [ + "name", + "cluster_template_id" + ], + "type": "object" + } + }, + "required": [ + "cluster" + ], + "type": "object" + }, + "POST /v1/clusters/{cluster_id}/nodegroups": { + "description": "", + "properties": { + "nodegroup": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "nodegroup", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "nodegroup" + ], + "type": "object" + }, + "POST /v1/clustertemplates": { + "description": "", + "properties": { + "clustertemplate": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "clustertemplate", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "clustertemplate" + ], + "type": "object" + }, + "PUT /v1/certificates/{id}": { + "description": "", + "properties": { + "certificate": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "certificate", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "certificate" + ], + "type": "object" + }, + "PUT /v1/clusters/{cluster_id}/nodegroups/{id}": { + "description": "", + "properties": { + "nodegroup": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "nodegroup", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "nodegroup" + ], + "type": "object" + }, + "PUT /v1/clusters/{id}": { + "description": "", + "properties": { + "cluster": { + "description": "", + "properties": { + "cluster_template_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "docker_volume_size": { + "description": "", + "example": 5, + "type": "integer" + }, + "flavor_id": { + "description": "", + "type": "string" + }, + "keypair": { + "description": "Keypair name", + "type": "string" + }, + "labels": { + "description": "", + "properties": {}, + "type": "object" + }, + "master_count": { + "description": "", + "example": 1, + "type": "integer" + }, + "master_flavor_id": { + "description": "", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "node_count": { + "description": "", + "example": 1, + "type": "integer" + } + }, + "type": "object" + } + }, + "required": [ + "cluster" + ], + "type": "object" + }, + "PUT /v1/clustertemplates/{id}": { + "description": "", + "properties": { + "clustertemplate": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "clustertemplate", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "clustertemplate" + ], + "type": "object" + } + }, + "operations": { + "certificate_create": { + "description": "", + "properties": { + "certificate": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "certificate", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "certificate" + ], + "type": "object" + }, + "certificate_patch": { + "description": "", + "properties": { + "certificate": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "certificate", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "certificate" + ], + "type": "object" + }, + "certificate_update": { + "description": "", + "properties": { + "certificate": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "certificate", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "certificate" + ], + "type": "object" + }, + "cluster_create": { + "description": "", + "properties": { + "cluster": { + "description": "", + "properties": { + "cluster_template_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "docker_volume_size": { + "description": "", + "example": 5, + "type": "integer" + }, + "flavor_id": { + "description": "", + "type": "string" + }, + "keypair": { + "description": "Keypair name", + "type": "string" + }, + "labels": { + "description": "", + "properties": {}, + "type": "object" + }, + "master_count": { + "description": "", + "example": 1, + "type": "integer" + }, + "master_flavor_id": { + "description": "", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "node_count": { + "description": "", + "example": 1, + "type": "integer" + } + }, + "required": [ + "name", + "cluster_template_id" + ], + "type": "object" + } + }, + "required": [ + "cluster" + ], + "type": "object" + }, + "cluster_patch": { + "description": "", + "properties": { + "cluster": { + "description": "", + "properties": { + "cluster_template_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "docker_volume_size": { + "description": "", + "example": 5, + "type": "integer" + }, + "flavor_id": { + "description": "", + "type": "string" + }, + "keypair": { + "description": "Keypair name", + "type": "string" + }, + "labels": { + "description": "", + "properties": {}, + "type": "object" + }, + "master_count": { + "description": "", + "example": 1, + "type": "integer" + }, + "master_flavor_id": { + "description": "", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "node_count": { + "description": "", + "example": 1, + "type": "integer" + } + }, + "type": "object" + } + }, + "required": [ + "cluster" + ], + "type": "object" + }, + "cluster_update": { + "description": "", + "properties": { + "cluster": { + "description": "", + "properties": { + "cluster_template_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "docker_volume_size": { + "description": "", + "example": 5, + "type": "integer" + }, + "flavor_id": { + "description": "", + "type": "string" + }, + "keypair": { + "description": "Keypair name", + "type": "string" + }, + "labels": { + "description": "", + "properties": {}, + "type": "object" + }, + "master_count": { + "description": "", + "example": 1, + "type": "integer" + }, + "master_flavor_id": { + "description": "", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "node_count": { + "description": "", + "example": 1, + "type": "integer" + } + }, + "type": "object" + } + }, + "required": [ + "cluster" + ], + "type": "object" + }, + "clustertemplate_create": { + "description": "", + "properties": { + "clustertemplate": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "clustertemplate", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "clustertemplate" + ], + "type": "object" + }, + "clustertemplate_patch": { + "description": "", + "properties": { + "clustertemplate": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "clustertemplate", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "clustertemplate" + ], + "type": "object" + }, + "clustertemplate_update": { + "description": "", + "properties": { + "clustertemplate": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "clustertemplate", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "clustertemplate" + ], + "type": "object" + }, + "nodegroup_create": { + "description": "", + "properties": { + "nodegroup": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "nodegroup", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "nodegroup" + ], + "type": "object" + }, + "nodegroup_patch": { + "description": "", + "properties": { + "nodegroup": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "nodegroup", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "nodegroup" + ], + "type": "object" + }, + "nodegroup_update": { + "description": "", + "properties": { + "nodegroup": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "nodegroup", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "nodegroup" + ], + "type": "object" + } + }, + "service": "magnum", + "source": "generated-from-api-ref-catalog" +} diff --git a/contracts/openstack/request_bodies/manila.json b/contracts/openstack/request_bodies/manila.json new file mode 100644 index 0000000..71e7e12 --- /dev/null +++ b/contracts/openstack/request_bodies/manila.json @@ -0,0 +1,5018 @@ +{ + "by_path": { + "PATCH /v2/security-services/{id}": { + "description": "", + "properties": { + "security_service": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "security_service", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "security_service" + ], + "type": "object" + }, + "PATCH /v2/share-groups/{id}": { + "description": "", + "properties": { + "share_group": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "share_group", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "share_group" + ], + "type": "object" + }, + "PATCH /v2/share-networks/{id}": { + "description": "", + "properties": { + "share_network": { + "description": "", + "properties": { + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "neutron_net_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "neutron_subnet_id": { + "description": "", + "format": "uuid", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "share_network" + ], + "type": "object" + }, + "PATCH /v2/share-replicas/{id}": { + "description": "", + "properties": { + "share_replica": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "share_replica", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "share_replica" + ], + "type": "object" + }, + "PATCH /v2/share-servers/{id}": { + "description": "", + "properties": { + "share_server": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "share_server", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "share_server" + ], + "type": "object" + }, + "PATCH /v2/shares/{id}": { + "description": "", + "properties": { + "share": { + "description": "", + "properties": { + "availability_zone": { + "description": "", + "type": "string" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "is_public": { + "default": false, + "description": "", + "type": "boolean" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "share_network_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "share_proto": { + "description": "", + "enum": [ + "NFS", + "CIFS", + "GlusterFS", + "HDFS", + "CephFS" + ], + "example": "NFS", + "type": "string" + }, + "share_type": { + "description": "", + "type": "string" + }, + "size": { + "description": "Size GiB", + "example": 1, + "minimum": 1, + "type": "integer" + }, + "snapshot_id": { + "description": "", + "format": "uuid", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "share" + ], + "type": "object" + }, + "PATCH /v2/snapshots/{id}": { + "description": "", + "properties": { + "snapshot": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "share_snapshot", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "snapshot" + ], + "type": "object" + }, + "PATCH /v2/types/{id}": { + "description": "", + "properties": { + "share_type": { + "description": "", + "properties": { + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "extra_specs": { + "description": "", + "properties": { + "driver_handles_share_servers": { + "default": false, + "description": "", + "type": "boolean" + } + }, + "type": "object" + }, + "is_public": { + "default": true, + "description": "", + "type": "boolean" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "share_type" + ], + "type": "object" + }, + "POST /v2/security-services": { + "description": "", + "properties": { + "security_service": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "security_service", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "security_service" + ], + "type": "object" + }, + "POST /v2/share-groups": { + "description": "", + "properties": { + "share_group": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "share_group", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "share_group" + ], + "type": "object" + }, + "POST /v2/share-networks": { + "description": "", + "properties": { + "share_network": { + "description": "", + "properties": { + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "neutron_net_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "neutron_subnet_id": { + "description": "", + "format": "uuid", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "share_network" + ], + "type": "object" + }, + "POST /v2/share-replicas": { + "description": "", + "properties": { + "share_replica": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "share_replica", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "share_replica" + ], + "type": "object" + }, + "POST /v2/share-servers": { + "description": "", + "properties": { + "share_server": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "share_server", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "share_server" + ], + "type": "object" + }, + "POST /v2/shares": { + "description": "", + "properties": { + "share": { + "description": "", + "properties": { + "availability_zone": { + "description": "", + "type": "string" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "is_public": { + "default": false, + "description": "", + "type": "boolean" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "share_network_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "share_proto": { + "description": "", + "enum": [ + "NFS", + "CIFS", + "GlusterFS", + "HDFS", + "CephFS" + ], + "example": "NFS", + "type": "string" + }, + "share_type": { + "description": "", + "type": "string" + }, + "size": { + "description": "Size GiB", + "example": 1, + "minimum": 1, + "type": "integer" + }, + "snapshot_id": { + "description": "", + "format": "uuid", + "type": "string" + } + }, + "required": [ + "size", + "share_proto" + ], + "type": "object" + } + }, + "required": [ + "share" + ], + "type": "object" + }, + "POST /v2/shares/{id}/action": { + "description": "", + "properties": { + "os-start": { + "description": "Action os-start body (null object)", + "type": "null" + } + }, + "required": [ + "os-start" + ], + "type": "object" + }, + "POST /v2/snapshots": { + "description": "", + "properties": { + "snapshot": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "share_snapshot", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "snapshot" + ], + "type": "object" + }, + "POST /v2/types": { + "description": "", + "properties": { + "share_type": { + "description": "", + "properties": { + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "extra_specs": { + "description": "", + "properties": { + "driver_handles_share_servers": { + "default": false, + "description": "", + "type": "boolean" + } + }, + "type": "object" + }, + "is_public": { + "default": true, + "description": "", + "type": "boolean" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + } + }, + "required": [ + "name", + "extra_specs" + ], + "type": "object" + } + }, + "required": [ + "share_type" + ], + "type": "object" + }, + "PUT /v2/security-services/{id}": { + "description": "", + "properties": { + "security_service": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "security_service", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "security_service" + ], + "type": "object" + }, + "PUT /v2/share-groups/{id}": { + "description": "", + "properties": { + "share_group": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "share_group", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "share_group" + ], + "type": "object" + }, + "PUT /v2/share-networks/{id}": { + "description": "", + "properties": { + "share_network": { + "description": "", + "properties": { + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "neutron_net_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "neutron_subnet_id": { + "description": "", + "format": "uuid", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "share_network" + ], + "type": "object" + }, + "PUT /v2/share-replicas/{id}": { + "description": "", + "properties": { + "share_replica": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "share_replica", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "share_replica" + ], + "type": "object" + }, + "PUT /v2/share-servers/{id}": { + "description": "", + "properties": { + "share_server": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "share_server", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "share_server" + ], + "type": "object" + }, + "PUT /v2/shares/{id}": { + "description": "", + "properties": { + "share": { + "description": "", + "properties": { + "availability_zone": { + "description": "", + "type": "string" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "is_public": { + "default": false, + "description": "", + "type": "boolean" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "share_network_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "share_proto": { + "description": "", + "enum": [ + "NFS", + "CIFS", + "GlusterFS", + "HDFS", + "CephFS" + ], + "example": "NFS", + "type": "string" + }, + "share_type": { + "description": "", + "type": "string" + }, + "size": { + "description": "Size GiB", + "example": 1, + "minimum": 1, + "type": "integer" + }, + "snapshot_id": { + "description": "", + "format": "uuid", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "share" + ], + "type": "object" + }, + "PUT /v2/snapshots/{id}": { + "description": "", + "properties": { + "snapshot": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "share_snapshot", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "snapshot" + ], + "type": "object" + }, + "PUT /v2/types/{id}": { + "description": "", + "properties": { + "share_type": { + "description": "", + "properties": { + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "extra_specs": { + "description": "", + "properties": { + "driver_handles_share_servers": { + "default": false, + "description": "", + "type": "boolean" + } + }, + "type": "object" + }, + "is_public": { + "default": true, + "description": "", + "type": "boolean" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "share_type" + ], + "type": "object" + } + }, + "operations": { + "security_service_create": { + "description": "", + "properties": { + "security_service": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "security_service", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "security_service" + ], + "type": "object" + }, + "security_service_patch": { + "description": "", + "properties": { + "security_service": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "security_service", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "security_service" + ], + "type": "object" + }, + "security_service_update": { + "description": "", + "properties": { + "security_service": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "security_service", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "security_service" + ], + "type": "object" + }, + "share_action": { + "description": "", + "properties": { + "os-start": { + "description": "Action os-start body (null object)", + "type": "null" + } + }, + "required": [ + "os-start" + ], + "type": "object" + }, + "share_create": { + "description": "", + "properties": { + "share": { + "description": "", + "properties": { + "availability_zone": { + "description": "", + "type": "string" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "is_public": { + "default": false, + "description": "", + "type": "boolean" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "share_network_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "share_proto": { + "description": "", + "enum": [ + "NFS", + "CIFS", + "GlusterFS", + "HDFS", + "CephFS" + ], + "example": "NFS", + "type": "string" + }, + "share_type": { + "description": "", + "type": "string" + }, + "size": { + "description": "Size GiB", + "example": 1, + "minimum": 1, + "type": "integer" + }, + "snapshot_id": { + "description": "", + "format": "uuid", + "type": "string" + } + }, + "required": [ + "size", + "share_proto" + ], + "type": "object" + } + }, + "required": [ + "share" + ], + "type": "object" + }, + "share_group_create": { + "description": "", + "properties": { + "share_group": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "share_group", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "share_group" + ], + "type": "object" + }, + "share_group_patch": { + "description": "", + "properties": { + "share_group": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "share_group", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "share_group" + ], + "type": "object" + }, + "share_group_update": { + "description": "", + "properties": { + "share_group": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "share_group", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "share_group" + ], + "type": "object" + }, + "share_network_create": { + "description": "", + "properties": { + "share_network": { + "description": "", + "properties": { + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "neutron_net_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "neutron_subnet_id": { + "description": "", + "format": "uuid", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "share_network" + ], + "type": "object" + }, + "share_network_patch": { + "description": "", + "properties": { + "share_network": { + "description": "", + "properties": { + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "neutron_net_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "neutron_subnet_id": { + "description": "", + "format": "uuid", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "share_network" + ], + "type": "object" + }, + "share_network_update": { + "description": "", + "properties": { + "share_network": { + "description": "", + "properties": { + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "neutron_net_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "neutron_subnet_id": { + "description": "", + "format": "uuid", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "share_network" + ], + "type": "object" + }, + "share_patch": { + "description": "", + "properties": { + "share": { + "description": "", + "properties": { + "availability_zone": { + "description": "", + "type": "string" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "is_public": { + "default": false, + "description": "", + "type": "boolean" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "share_network_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "share_proto": { + "description": "", + "enum": [ + "NFS", + "CIFS", + "GlusterFS", + "HDFS", + "CephFS" + ], + "example": "NFS", + "type": "string" + }, + "share_type": { + "description": "", + "type": "string" + }, + "size": { + "description": "Size GiB", + "example": 1, + "minimum": 1, + "type": "integer" + }, + "snapshot_id": { + "description": "", + "format": "uuid", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "share" + ], + "type": "object" + }, + "share_replica_create": { + "description": "", + "properties": { + "share_replica": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "share_replica", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "share_replica" + ], + "type": "object" + }, + "share_replica_patch": { + "description": "", + "properties": { + "share_replica": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "share_replica", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "share_replica" + ], + "type": "object" + }, + "share_replica_update": { + "description": "", + "properties": { + "share_replica": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "share_replica", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "share_replica" + ], + "type": "object" + }, + "share_server_create": { + "description": "", + "properties": { + "share_server": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "share_server", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "share_server" + ], + "type": "object" + }, + "share_server_patch": { + "description": "", + "properties": { + "share_server": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "share_server", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "share_server" + ], + "type": "object" + }, + "share_server_update": { + "description": "", + "properties": { + "share_server": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "share_server", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "share_server" + ], + "type": "object" + }, + "share_snapshot_create": { + "description": "", + "properties": { + "snapshot": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "share_snapshot", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "snapshot" + ], + "type": "object" + }, + "share_snapshot_patch": { + "description": "", + "properties": { + "snapshot": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "share_snapshot", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "snapshot" + ], + "type": "object" + }, + "share_snapshot_update": { + "description": "", + "properties": { + "snapshot": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "share_snapshot", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "snapshot" + ], + "type": "object" + }, + "share_type_create": { + "description": "", + "properties": { + "share_type": { + "description": "", + "properties": { + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "extra_specs": { + "description": "", + "properties": { + "driver_handles_share_servers": { + "default": false, + "description": "", + "type": "boolean" + } + }, + "type": "object" + }, + "is_public": { + "default": true, + "description": "", + "type": "boolean" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + } + }, + "required": [ + "name", + "extra_specs" + ], + "type": "object" + } + }, + "required": [ + "share_type" + ], + "type": "object" + }, + "share_type_patch": { + "description": "", + "properties": { + "share_type": { + "description": "", + "properties": { + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "extra_specs": { + "description": "", + "properties": { + "driver_handles_share_servers": { + "default": false, + "description": "", + "type": "boolean" + } + }, + "type": "object" + }, + "is_public": { + "default": true, + "description": "", + "type": "boolean" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "share_type" + ], + "type": "object" + }, + "share_type_update": { + "description": "", + "properties": { + "share_type": { + "description": "", + "properties": { + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "extra_specs": { + "description": "", + "properties": { + "driver_handles_share_servers": { + "default": false, + "description": "", + "type": "boolean" + } + }, + "type": "object" + }, + "is_public": { + "default": true, + "description": "", + "type": "boolean" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "share_type" + ], + "type": "object" + }, + "share_update": { + "description": "", + "properties": { + "share": { + "description": "", + "properties": { + "availability_zone": { + "description": "", + "type": "string" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "is_public": { + "default": false, + "description": "", + "type": "boolean" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "share_network_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "share_proto": { + "description": "", + "enum": [ + "NFS", + "CIFS", + "GlusterFS", + "HDFS", + "CephFS" + ], + "example": "NFS", + "type": "string" + }, + "share_type": { + "description": "", + "type": "string" + }, + "size": { + "description": "Size GiB", + "example": 1, + "minimum": 1, + "type": "integer" + }, + "snapshot_id": { + "description": "", + "format": "uuid", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "share" + ], + "type": "object" + } + }, + "service": "manila", + "source": "generated-from-api-ref-catalog" +} diff --git a/contracts/openstack/request_bodies/masakari.json b/contracts/openstack/request_bodies/masakari.json new file mode 100644 index 0000000..6b76be0 --- /dev/null +++ b/contracts/openstack/request_bodies/masakari.json @@ -0,0 +1,834 @@ +{ + "by_path": { + "PATCH /v1/notifications/{id}": { + "description": "", + "properties": { + "notification": { + "description": "", + "properties": { + "generated_time": { + "description": "", + "example": "2026-01-01T00:00:00Z", + "type": "string" + }, + "hostname": { + "description": "", + "example": "compute-1", + "type": "string" + }, + "payload": { + "description": "", + "properties": { + "event": { + "description": "", + "type": "string" + }, + "instance_uuid": { + "description": "", + "format": "uuid", + "type": "string" + }, + "vir_domain_event": { + "description": "", + "type": "string" + } + }, + "type": "object" + }, + "source_host_uuid": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "enum": [ + "VM", + "PROCESS", + "COMPUTE_HOST" + ], + "example": "VM", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "notification" + ], + "type": "object" + }, + "PATCH /v1/segments/{id}": { + "description": "", + "properties": { + "segment": { + "description": "", + "properties": { + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "recovery_method": { + "description": "", + "enum": [ + "auto", + "reserved_host", + "auto_priority", + "rh_priority" + ], + "example": "auto", + "type": "string" + }, + "service_type": { + "description": "", + "enum": [ + "compute" + ], + "example": "compute", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "segment" + ], + "type": "object" + }, + "PATCH /v1/segments/{segment_id}/hosts/{id}": { + "description": "", + "properties": { + "host": { + "description": "", + "properties": { + "extra_capabilities": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "", + "example": "example", + "type": "string" + }, + "reservable": { + "default": true, + "description": "", + "type": "boolean" + } + }, + "type": "object" + } + }, + "required": [ + "host" + ], + "type": "object" + }, + "POST /v1/notifications": { + "description": "", + "properties": { + "notification": { + "description": "", + "properties": { + "generated_time": { + "description": "", + "example": "2026-01-01T00:00:00Z", + "type": "string" + }, + "hostname": { + "description": "", + "example": "compute-1", + "type": "string" + }, + "payload": { + "description": "", + "properties": { + "event": { + "description": "", + "type": "string" + }, + "instance_uuid": { + "description": "", + "format": "uuid", + "type": "string" + }, + "vir_domain_event": { + "description": "", + "type": "string" + } + }, + "type": "object" + }, + "source_host_uuid": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "enum": [ + "VM", + "PROCESS", + "COMPUTE_HOST" + ], + "example": "VM", + "type": "string" + } + }, + "required": [ + "type", + "hostname", + "generated_time", + "payload" + ], + "type": "object" + } + }, + "required": [ + "notification" + ], + "type": "object" + }, + "POST /v1/segments": { + "description": "", + "properties": { + "segment": { + "description": "", + "properties": { + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "recovery_method": { + "description": "", + "enum": [ + "auto", + "reserved_host", + "auto_priority", + "rh_priority" + ], + "example": "auto", + "type": "string" + }, + "service_type": { + "description": "", + "enum": [ + "compute" + ], + "example": "compute", + "type": "string" + } + }, + "required": [ + "name", + "recovery_method", + "service_type" + ], + "type": "object" + } + }, + "required": [ + "segment" + ], + "type": "object" + }, + "POST /v1/segments/{segment_id}/hosts": { + "description": "", + "properties": { + "host": { + "description": "", + "properties": { + "extra_capabilities": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "", + "example": "example", + "type": "string" + }, + "reservable": { + "default": true, + "description": "", + "type": "boolean" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "host" + ], + "type": "object" + }, + "PUT /v1/notifications/{id}": { + "description": "", + "properties": { + "notification": { + "description": "", + "properties": { + "generated_time": { + "description": "", + "example": "2026-01-01T00:00:00Z", + "type": "string" + }, + "hostname": { + "description": "", + "example": "compute-1", + "type": "string" + }, + "payload": { + "description": "", + "properties": { + "event": { + "description": "", + "type": "string" + }, + "instance_uuid": { + "description": "", + "format": "uuid", + "type": "string" + }, + "vir_domain_event": { + "description": "", + "type": "string" + } + }, + "type": "object" + }, + "source_host_uuid": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "enum": [ + "VM", + "PROCESS", + "COMPUTE_HOST" + ], + "example": "VM", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "notification" + ], + "type": "object" + }, + "PUT /v1/segments/{id}": { + "description": "", + "properties": { + "segment": { + "description": "", + "properties": { + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "recovery_method": { + "description": "", + "enum": [ + "auto", + "reserved_host", + "auto_priority", + "rh_priority" + ], + "example": "auto", + "type": "string" + }, + "service_type": { + "description": "", + "enum": [ + "compute" + ], + "example": "compute", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "segment" + ], + "type": "object" + }, + "PUT /v1/segments/{segment_id}/hosts/{id}": { + "description": "", + "properties": { + "host": { + "description": "", + "properties": { + "extra_capabilities": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "", + "example": "example", + "type": "string" + }, + "reservable": { + "default": true, + "description": "", + "type": "boolean" + } + }, + "type": "object" + } + }, + "required": [ + "host" + ], + "type": "object" + } + }, + "operations": { + "host_create": { + "description": "", + "properties": { + "host": { + "description": "", + "properties": { + "extra_capabilities": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "", + "example": "example", + "type": "string" + }, + "reservable": { + "default": true, + "description": "", + "type": "boolean" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "host" + ], + "type": "object" + }, + "host_patch": { + "description": "", + "properties": { + "host": { + "description": "", + "properties": { + "extra_capabilities": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "", + "example": "example", + "type": "string" + }, + "reservable": { + "default": true, + "description": "", + "type": "boolean" + } + }, + "type": "object" + } + }, + "required": [ + "host" + ], + "type": "object" + }, + "host_update": { + "description": "", + "properties": { + "host": { + "description": "", + "properties": { + "extra_capabilities": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "", + "example": "example", + "type": "string" + }, + "reservable": { + "default": true, + "description": "", + "type": "boolean" + } + }, + "type": "object" + } + }, + "required": [ + "host" + ], + "type": "object" + }, + "notification_create": { + "description": "", + "properties": { + "notification": { + "description": "", + "properties": { + "generated_time": { + "description": "", + "example": "2026-01-01T00:00:00Z", + "type": "string" + }, + "hostname": { + "description": "", + "example": "compute-1", + "type": "string" + }, + "payload": { + "description": "", + "properties": { + "event": { + "description": "", + "type": "string" + }, + "instance_uuid": { + "description": "", + "format": "uuid", + "type": "string" + }, + "vir_domain_event": { + "description": "", + "type": "string" + } + }, + "type": "object" + }, + "source_host_uuid": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "enum": [ + "VM", + "PROCESS", + "COMPUTE_HOST" + ], + "example": "VM", + "type": "string" + } + }, + "required": [ + "type", + "hostname", + "generated_time", + "payload" + ], + "type": "object" + } + }, + "required": [ + "notification" + ], + "type": "object" + }, + "notification_patch": { + "description": "", + "properties": { + "notification": { + "description": "", + "properties": { + "generated_time": { + "description": "", + "example": "2026-01-01T00:00:00Z", + "type": "string" + }, + "hostname": { + "description": "", + "example": "compute-1", + "type": "string" + }, + "payload": { + "description": "", + "properties": { + "event": { + "description": "", + "type": "string" + }, + "instance_uuid": { + "description": "", + "format": "uuid", + "type": "string" + }, + "vir_domain_event": { + "description": "", + "type": "string" + } + }, + "type": "object" + }, + "source_host_uuid": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "enum": [ + "VM", + "PROCESS", + "COMPUTE_HOST" + ], + "example": "VM", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "notification" + ], + "type": "object" + }, + "notification_update": { + "description": "", + "properties": { + "notification": { + "description": "", + "properties": { + "generated_time": { + "description": "", + "example": "2026-01-01T00:00:00Z", + "type": "string" + }, + "hostname": { + "description": "", + "example": "compute-1", + "type": "string" + }, + "payload": { + "description": "", + "properties": { + "event": { + "description": "", + "type": "string" + }, + "instance_uuid": { + "description": "", + "format": "uuid", + "type": "string" + }, + "vir_domain_event": { + "description": "", + "type": "string" + } + }, + "type": "object" + }, + "source_host_uuid": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "enum": [ + "VM", + "PROCESS", + "COMPUTE_HOST" + ], + "example": "VM", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "notification" + ], + "type": "object" + }, + "segment_create": { + "description": "", + "properties": { + "segment": { + "description": "", + "properties": { + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "recovery_method": { + "description": "", + "enum": [ + "auto", + "reserved_host", + "auto_priority", + "rh_priority" + ], + "example": "auto", + "type": "string" + }, + "service_type": { + "description": "", + "enum": [ + "compute" + ], + "example": "compute", + "type": "string" + } + }, + "required": [ + "name", + "recovery_method", + "service_type" + ], + "type": "object" + } + }, + "required": [ + "segment" + ], + "type": "object" + }, + "segment_patch": { + "description": "", + "properties": { + "segment": { + "description": "", + "properties": { + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "recovery_method": { + "description": "", + "enum": [ + "auto", + "reserved_host", + "auto_priority", + "rh_priority" + ], + "example": "auto", + "type": "string" + }, + "service_type": { + "description": "", + "enum": [ + "compute" + ], + "example": "compute", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "segment" + ], + "type": "object" + }, + "segment_update": { + "description": "", + "properties": { + "segment": { + "description": "", + "properties": { + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "recovery_method": { + "description": "", + "enum": [ + "auto", + "reserved_host", + "auto_priority", + "rh_priority" + ], + "example": "auto", + "type": "string" + }, + "service_type": { + "description": "", + "enum": [ + "compute" + ], + "example": "compute", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "segment" + ], + "type": "object" + } + }, + "service": "masakari", + "source": "generated-from-api-ref-catalog" +} diff --git a/contracts/openstack/request_bodies/mistral.json b/contracts/openstack/request_bodies/mistral.json new file mode 100644 index 0000000..aac652c --- /dev/null +++ b/contracts/openstack/request_bodies/mistral.json @@ -0,0 +1,3182 @@ +{ + "by_path": { + "PATCH /v2/actions/{id}": { + "description": "", + "properties": { + "action": { + "description": "", + "properties": { + "action": { + "description": "", + "example": "os-start", + "type": "string" + }, + "name": { + "description": "", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "action" + ], + "type": "object" + }, + "PATCH /v2/cron_triggers/{id}": { + "description": "", + "properties": { + "cron_trigger": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "cron_trigger", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "cron_trigger" + ], + "type": "object" + }, + "PATCH /v2/executions/{id}": { + "description": "", + "properties": { + "execution": { + "description": "", + "properties": { + "description": { + "description": "", + "type": "string" + }, + "input": { + "description": "", + "properties": {}, + "type": "object" + }, + "params": { + "description": "", + "properties": {}, + "type": "object" + }, + "workflow_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "workflow_name": { + "description": "", + "example": "example", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "execution" + ], + "type": "object" + }, + "PATCH /v2/tasks/{id}": { + "description": "", + "properties": { + "task": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "task", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "task" + ], + "type": "object" + }, + "PATCH /v2/workbooks/{id}": { + "description": "", + "properties": { + "workbook": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "workbook", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "workbook" + ], + "type": "object" + }, + "PATCH /v2/workflows/{id}": { + "description": "", + "properties": { + "workflow": { + "description": "", + "properties": { + "definition": { + "description": "Workflow DSL", + "example": "version: '2.0'\nexample:\n tasks: {}", + "type": "string" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "input": { + "description": "", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "namespace": { + "description": "", + "type": "string" + }, + "scope": { + "description": "", + "enum": [ + "private", + "public" + ], + "example": "private", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + } + }, + "required": [ + "workflow" + ], + "type": "object" + }, + "POST /v2/actions": { + "description": "", + "properties": { + "action": { + "description": "", + "properties": { + "action": { + "description": "", + "example": "os-start", + "type": "string" + }, + "name": { + "description": "", + "type": "string" + } + }, + "required": [ + "action" + ], + "type": "object" + } + }, + "required": [ + "action" + ], + "type": "object" + }, + "POST /v2/cron_triggers": { + "description": "", + "properties": { + "cron_trigger": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "cron_trigger", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "cron_trigger" + ], + "type": "object" + }, + "POST /v2/executions": { + "description": "", + "properties": { + "execution": { + "description": "", + "properties": { + "description": { + "description": "", + "type": "string" + }, + "input": { + "description": "", + "properties": {}, + "type": "object" + }, + "params": { + "description": "", + "properties": {}, + "type": "object" + }, + "workflow_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "workflow_name": { + "description": "", + "example": "example", + "type": "string" + } + }, + "required": [ + "workflow_name" + ], + "type": "object" + } + }, + "required": [ + "execution" + ], + "type": "object" + }, + "POST /v2/tasks": { + "description": "", + "properties": { + "task": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "task", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "task" + ], + "type": "object" + }, + "POST /v2/workbooks": { + "description": "", + "properties": { + "workbook": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "workbook", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "workbook" + ], + "type": "object" + }, + "POST /v2/workflows": { + "description": "", + "properties": { + "workflow": { + "description": "", + "properties": { + "definition": { + "description": "Workflow DSL", + "example": "version: '2.0'\nexample:\n tasks: {}", + "type": "string" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "input": { + "description": "", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "namespace": { + "description": "", + "type": "string" + }, + "scope": { + "description": "", + "enum": [ + "private", + "public" + ], + "example": "private", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "definition" + ], + "type": "object" + } + }, + "required": [ + "workflow" + ], + "type": "object" + }, + "PUT /v2/actions/{id}": { + "description": "", + "properties": { + "action": { + "description": "", + "properties": { + "action": { + "description": "", + "example": "os-start", + "type": "string" + }, + "name": { + "description": "", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "action" + ], + "type": "object" + }, + "PUT /v2/cron_triggers/{id}": { + "description": "", + "properties": { + "cron_trigger": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "cron_trigger", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "cron_trigger" + ], + "type": "object" + }, + "PUT /v2/executions/{id}": { + "description": "", + "properties": { + "execution": { + "description": "", + "properties": { + "description": { + "description": "", + "type": "string" + }, + "input": { + "description": "", + "properties": {}, + "type": "object" + }, + "params": { + "description": "", + "properties": {}, + "type": "object" + }, + "workflow_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "workflow_name": { + "description": "", + "example": "example", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "execution" + ], + "type": "object" + }, + "PUT /v2/tasks/{id}": { + "description": "", + "properties": { + "task": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "task", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "task" + ], + "type": "object" + }, + "PUT /v2/workbooks/{id}": { + "description": "", + "properties": { + "workbook": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "workbook", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "workbook" + ], + "type": "object" + }, + "PUT /v2/workflows/{id}": { + "description": "", + "properties": { + "workflow": { + "description": "", + "properties": { + "definition": { + "description": "Workflow DSL", + "example": "version: '2.0'\nexample:\n tasks: {}", + "type": "string" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "input": { + "description": "", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "namespace": { + "description": "", + "type": "string" + }, + "scope": { + "description": "", + "enum": [ + "private", + "public" + ], + "example": "private", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + } + }, + "required": [ + "workflow" + ], + "type": "object" + } + }, + "operations": { + "action_create": { + "description": "", + "properties": { + "action": { + "description": "", + "properties": { + "action": { + "description": "", + "example": "os-start", + "type": "string" + }, + "name": { + "description": "", + "type": "string" + } + }, + "required": [ + "action" + ], + "type": "object" + } + }, + "required": [ + "action" + ], + "type": "object" + }, + "action_patch": { + "description": "", + "properties": { + "action": { + "description": "", + "properties": { + "action": { + "description": "", + "example": "os-start", + "type": "string" + }, + "name": { + "description": "", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "action" + ], + "type": "object" + }, + "action_update": { + "description": "", + "properties": { + "action": { + "description": "", + "properties": { + "action": { + "description": "", + "example": "os-start", + "type": "string" + }, + "name": { + "description": "", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "action" + ], + "type": "object" + }, + "cron_trigger_create": { + "description": "", + "properties": { + "cron_trigger": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "cron_trigger", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "cron_trigger" + ], + "type": "object" + }, + "cron_trigger_patch": { + "description": "", + "properties": { + "cron_trigger": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "cron_trigger", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "cron_trigger" + ], + "type": "object" + }, + "cron_trigger_update": { + "description": "", + "properties": { + "cron_trigger": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "cron_trigger", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "cron_trigger" + ], + "type": "object" + }, + "execution_create": { + "description": "", + "properties": { + "execution": { + "description": "", + "properties": { + "description": { + "description": "", + "type": "string" + }, + "input": { + "description": "", + "properties": {}, + "type": "object" + }, + "params": { + "description": "", + "properties": {}, + "type": "object" + }, + "workflow_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "workflow_name": { + "description": "", + "example": "example", + "type": "string" + } + }, + "required": [ + "workflow_name" + ], + "type": "object" + } + }, + "required": [ + "execution" + ], + "type": "object" + }, + "execution_patch": { + "description": "", + "properties": { + "execution": { + "description": "", + "properties": { + "description": { + "description": "", + "type": "string" + }, + "input": { + "description": "", + "properties": {}, + "type": "object" + }, + "params": { + "description": "", + "properties": {}, + "type": "object" + }, + "workflow_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "workflow_name": { + "description": "", + "example": "example", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "execution" + ], + "type": "object" + }, + "execution_update": { + "description": "", + "properties": { + "execution": { + "description": "", + "properties": { + "description": { + "description": "", + "type": "string" + }, + "input": { + "description": "", + "properties": {}, + "type": "object" + }, + "params": { + "description": "", + "properties": {}, + "type": "object" + }, + "workflow_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "workflow_name": { + "description": "", + "example": "example", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "execution" + ], + "type": "object" + }, + "task_create": { + "description": "", + "properties": { + "task": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "task", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "task" + ], + "type": "object" + }, + "task_patch": { + "description": "", + "properties": { + "task": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "task", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "task" + ], + "type": "object" + }, + "task_update": { + "description": "", + "properties": { + "task": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "task", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "task" + ], + "type": "object" + }, + "workbook_create": { + "description": "", + "properties": { + "workbook": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "workbook", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "workbook" + ], + "type": "object" + }, + "workbook_patch": { + "description": "", + "properties": { + "workbook": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "workbook", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "workbook" + ], + "type": "object" + }, + "workbook_update": { + "description": "", + "properties": { + "workbook": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "workbook", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "workbook" + ], + "type": "object" + }, + "workflow_create": { + "description": "", + "properties": { + "workflow": { + "description": "", + "properties": { + "definition": { + "description": "Workflow DSL", + "example": "version: '2.0'\nexample:\n tasks: {}", + "type": "string" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "input": { + "description": "", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "namespace": { + "description": "", + "type": "string" + }, + "scope": { + "description": "", + "enum": [ + "private", + "public" + ], + "example": "private", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "definition" + ], + "type": "object" + } + }, + "required": [ + "workflow" + ], + "type": "object" + }, + "workflow_patch": { + "description": "", + "properties": { + "workflow": { + "description": "", + "properties": { + "definition": { + "description": "Workflow DSL", + "example": "version: '2.0'\nexample:\n tasks: {}", + "type": "string" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "input": { + "description": "", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "namespace": { + "description": "", + "type": "string" + }, + "scope": { + "description": "", + "enum": [ + "private", + "public" + ], + "example": "private", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + } + }, + "required": [ + "workflow" + ], + "type": "object" + }, + "workflow_update": { + "description": "", + "properties": { + "workflow": { + "description": "", + "properties": { + "definition": { + "description": "Workflow DSL", + "example": "version: '2.0'\nexample:\n tasks: {}", + "type": "string" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "input": { + "description": "", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "namespace": { + "description": "", + "type": "string" + }, + "scope": { + "description": "", + "enum": [ + "private", + "public" + ], + "example": "private", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + } + }, + "required": [ + "workflow" + ], + "type": "object" + } + }, + "service": "mistral", + "source": "generated-from-api-ref-catalog" +} diff --git a/contracts/openstack/request_bodies/neutron.json b/contracts/openstack/request_bodies/neutron.json new file mode 100644 index 0000000..a838fe7 --- /dev/null +++ b/contracts/openstack/request_bodies/neutron.json @@ -0,0 +1,32376 @@ +{ + "by_path": { + "PATCH /v2.0/address-groups/{id}": { + "description": "", + "properties": { + "address_group": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "address_group", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "address_group" + ], + "type": "object" + }, + "PATCH /v2.0/address-scopes/{id}": { + "description": "", + "properties": { + "address_scope": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "address_scope", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "address_scope" + ], + "type": "object" + }, + "PATCH /v2.0/bgp-peers/{id}": { + "description": "", + "properties": { + "bgp_peer": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "bgp_peer", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "bgp_peer" + ], + "type": "object" + }, + "PATCH /v2.0/bgp-speakers/{id}": { + "description": "", + "properties": { + "bgp_speaker": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "bgp_speaker", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "bgp_speaker" + ], + "type": "object" + }, + "PATCH /v2.0/bgpvpn/bgpvpns/{bgpvpn_id}/network_associations/{id}": { + "description": "", + "properties": { + "network_association": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "bgpvpn_network_association", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "network_association" + ], + "type": "object" + }, + "PATCH /v2.0/bgpvpn/bgpvpns/{bgpvpn_id}/router_associations/{id}": { + "description": "", + "properties": { + "router_association": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "bgpvpn_router_association", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "router_association" + ], + "type": "object" + }, + "PATCH /v2.0/bgpvpn/bgpvpns/{id}": { + "description": "", + "properties": { + "bgpvpn": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "bgpvpn", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "bgpvpn" + ], + "type": "object" + }, + "PATCH /v2.0/default-security-group-rules/{id}": { + "description": "", + "properties": { + "default_security_group_rule": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "default_security_group_rule", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "default_security_group_rule" + ], + "type": "object" + }, + "PATCH /v2.0/flavors/{id}": { + "description": "", + "properties": { + "flavor": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "neutron_flavor", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "flavor" + ], + "type": "object" + }, + "PATCH /v2.0/floatingips/{floatingip_id}/port_forwardings/{id}": { + "description": "", + "properties": { + "port_forwarding": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "floatingip_port_forwarding", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "port_forwarding" + ], + "type": "object" + }, + "PATCH /v2.0/floatingips/{id}": { + "description": "", + "properties": { + "floatingip": { + "description": "", + "properties": { + "description": { + "description": "", + "type": "string" + }, + "dns_domain": { + "description": "", + "type": "string" + }, + "dns_name": { + "description": "", + "type": "string" + }, + "fixed_ip_address": { + "description": "Fixed IP", + "type": "string" + }, + "floating_ip_address": { + "description": "Floating IP", + "type": "string" + }, + "floating_network_id": { + "description": "External network UUID", + "format": "uuid", + "type": "string" + }, + "port_id": { + "description": "Port UUID", + "format": "uuid", + "type": "string" + }, + "subnet_id": { + "description": "Subnet UUID", + "format": "uuid", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "floatingip" + ], + "type": "object" + }, + "PATCH /v2.0/fwaas/firewall_groups/{id}": { + "description": "", + "properties": { + "firewall_group": { + "description": "", + "properties": { + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "egress_firewall_policy_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "ingress_firewall_policy_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "ports": { + "description": "", + "items": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": "array" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + } + }, + "type": "object" + } + }, + "required": [ + "firewall_group" + ], + "type": "object" + }, + "PATCH /v2.0/fwaas/firewall_policies/{id}": { + "description": "", + "properties": { + "firewall_policy": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "firewall_policy", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "firewall_policy" + ], + "type": "object" + }, + "PATCH /v2.0/fwaas/firewall_rules/{id}": { + "description": "", + "properties": { + "firewall_rule": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "firewall_rule", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "firewall_rule" + ], + "type": "object" + }, + "PATCH /v2.0/lbaas/listeners/{id}": { + "description": "", + "properties": { + "listener": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "lbaas_listener", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "listener" + ], + "type": "object" + }, + "PATCH /v2.0/lbaas/loadbalancers/{id}": { + "description": "", + "properties": { + "loadbalancer": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "lbaas_loadbalancer", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "loadbalancer" + ], + "type": "object" + }, + "PATCH /v2.0/lbaas/pools/{id}": { + "description": "", + "properties": { + "pool": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "lbaas_pool", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "pool" + ], + "type": "object" + }, + "PATCH /v2.0/local_ips/{id}": { + "description": "", + "properties": { + "local_ip": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "local_ip", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "local_ip" + ], + "type": "object" + }, + "PATCH /v2.0/local_ips/{local_ip_id}/port_associations/{id}": { + "description": "", + "properties": { + "port_association": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "local_ip_association", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "port_association" + ], + "type": "object" + }, + "PATCH /v2.0/log/logs/{id}": { + "description": "", + "properties": { + "log": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "log", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "log" + ], + "type": "object" + }, + "PATCH /v2.0/metering/metering-label-rules/{id}": { + "description": "", + "properties": { + "metering_label_rule": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "metering_label_rule", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "metering_label_rule" + ], + "type": "object" + }, + "PATCH /v2.0/metering/metering-labels/{id}": { + "description": "", + "properties": { + "metering_label": { + "description": "", + "properties": { + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + } + }, + "type": "object" + } + }, + "required": [ + "metering_label" + ], + "type": "object" + }, + "PATCH /v2.0/ndp_proxies/{id}": { + "description": "", + "properties": { + "ndp_proxy": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "ndp_proxy", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "ndp_proxy" + ], + "type": "object" + }, + "PATCH /v2.0/network_segment_ranges/{id}": { + "description": "", + "properties": { + "network_segment_range": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "network_segment_range", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "network_segment_range" + ], + "type": "object" + }, + "PATCH /v2.0/networks/{id}": { + "description": "", + "properties": { + "network": { + "description": "", + "properties": { + "admin_state_up": { + "default": true, + "description": "Administrative state", + "type": "boolean" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "external": { + "default": false, + "description": "External network", + "type": "boolean" + }, + "mtu": { + "description": "MTU", + "example": 1500, + "minimum": 68, + "type": "integer" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port_security_enabled": { + "default": true, + "description": "Port security", + "type": "boolean" + }, + "provider:network_type": { + "description": "Provider network type", + "enum": [ + "local", + "flat", + "vlan", + "vxlan", + "gre" + ], + "type": "string" + }, + "provider:physical_network": { + "description": "Physical network label", + "type": "string" + }, + "provider:segmentation_id": { + "description": "Segmentation id", + "type": "integer" + }, + "router:external": { + "default": false, + "description": "Router external alias", + "type": "boolean" + }, + "shared": { + "default": false, + "description": "Shared across projects", + "type": "boolean" + } + }, + "type": "object" + } + }, + "required": [ + "network" + ], + "type": "object" + }, + "PATCH /v2.0/ports/{id}": { + "description": "", + "properties": { + "port": { + "description": "", + "properties": { + "admin_state_up": { + "default": true, + "description": "Administrative state", + "type": "boolean" + }, + "allowed_address_pairs": { + "description": "", + "items": { + "description": "", + "properties": { + "ip_address": { + "description": "", + "type": "string" + }, + "mac_address": { + "description": "", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "binding:vnic_type": { + "description": "VNIC type", + "enum": [ + "normal", + "direct", + "macvtap", + "baremetal" + ], + "type": "string" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "device_id": { + "description": "Device UUID", + "format": "uuid", + "type": "string" + }, + "device_owner": { + "description": "Device owner", + "type": "string" + }, + "fixed_ips": { + "description": "Fixed IPs", + "items": { + "description": "", + "properties": { + "ip_address": { + "description": "", + "type": "string" + }, + "subnet_id": { + "description": "", + "format": "uuid", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "mac_address": { + "description": "MAC address", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "network_id": { + "description": "Network UUID", + "format": "uuid", + "type": "string" + }, + "port_security_enabled": { + "description": "Port security", + "type": "boolean" + }, + "security_groups": { + "description": "", + "items": { + "description": "Security group UUID", + "format": "uuid", + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + } + }, + "required": [ + "port" + ], + "type": "object" + }, + "PATCH /v2.0/qos/policies/{id}": { + "description": "", + "properties": { + "policy": { + "description": "", + "properties": { + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "is_default": { + "default": false, + "description": "", + "type": "boolean" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + } + }, + "type": "object" + } + }, + "required": [ + "policy" + ], + "type": "object" + }, + "PATCH /v2.0/qos/policies/{policy_id}/bandwidth_limit_rules/{id}": { + "description": "", + "properties": { + "bandwidth_limit_rule": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "qos_bandwidth_limit_rule", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "bandwidth_limit_rule" + ], + "type": "object" + }, + "PATCH /v2.0/qos/policies/{policy_id}/dscp_marking_rules/{id}": { + "description": "", + "properties": { + "dscp_marking_rule": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "qos_dscp_marking_rule", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "dscp_marking_rule" + ], + "type": "object" + }, + "PATCH /v2.0/qos/policies/{policy_id}/minimum_bandwidth_rules/{id}": { + "description": "", + "properties": { + "minimum_bandwidth_rule": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "qos_minimum_bandwidth_rule", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "minimum_bandwidth_rule" + ], + "type": "object" + }, + "PATCH /v2.0/rbac-policies/{id}": { + "description": "", + "properties": { + "rbac_policy": { + "description": "", + "properties": { + "action": { + "description": "", + "enum": [ + "access_as_shared", + "access_as_external" + ], + "example": "access_as_shared", + "type": "string" + }, + "object_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "object_type": { + "description": "", + "example": "network", + "type": "string" + }, + "target_tenant": { + "description": "", + "format": "uuid", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "rbac_policy" + ], + "type": "object" + }, + "PATCH /v2.0/routers/{id}": { + "description": "", + "properties": { + "router": { + "description": "", + "properties": { + "admin_state_up": { + "default": true, + "description": "Administrative state", + "type": "boolean" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "distributed": { + "description": "DVR router", + "type": "boolean" + }, + "external_gateway_info": { + "description": "", + "properties": { + "enable_snat": { + "default": true, + "description": "SNAT", + "type": "boolean" + }, + "external_fixed_ips": { + "description": "", + "items": { + "description": "", + "properties": { + "ip_address": { + "description": "", + "type": "string" + }, + "subnet_id": { + "description": "", + "format": "uuid", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "network_id": { + "description": "External network UUID", + "format": "uuid", + "type": "string" + } + }, + "type": "object" + }, + "ha": { + "description": "Highly available", + "type": "boolean" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "routes": { + "description": "", + "items": { + "description": "", + "properties": { + "destination": { + "description": "", + "type": "string" + }, + "nexthop": { + "description": "", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + } + }, + "type": "object" + } + }, + "required": [ + "router" + ], + "type": "object" + }, + "PATCH /v2.0/routers/{router_id}/conntrack_helpers/{id}": { + "description": "", + "properties": { + "conntrack_helper": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "conntrack_helper", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "conntrack_helper" + ], + "type": "object" + }, + "PATCH /v2.0/security-group-rules/{id}": { + "description": "", + "properties": { + "security_group_rule": { + "description": "", + "properties": { + "description": { + "description": "", + "type": "string" + }, + "direction": { + "description": "Direction", + "enum": [ + "ingress", + "egress" + ], + "example": "ingress", + "type": "string" + }, + "ethertype": { + "description": "Ethertype", + "enum": [ + "IPv4", + "IPv6" + ], + "example": "IPv4", + "type": "string" + }, + "port_range_max": { + "description": "Max port", + "example": 22, + "type": "integer" + }, + "port_range_min": { + "description": "Min port", + "example": 22, + "type": "integer" + }, + "protocol": { + "description": "Protocol", + "example": "tcp", + "type": "string" + }, + "remote_group_id": { + "description": "Remote SG UUID", + "format": "uuid", + "type": "string" + }, + "remote_ip_prefix": { + "description": "CIDR", + "example": "0.0.0.0/0", + "type": "string" + }, + "security_group_id": { + "description": "Security group UUID", + "format": "uuid", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "security_group_rule" + ], + "type": "object" + }, + "PATCH /v2.0/security-groups/{id}": { + "description": "", + "properties": { + "security_group": { + "description": "", + "properties": { + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "security_group" + ], + "type": "object" + }, + "PATCH /v2.0/segments/{id}": { + "description": "", + "properties": { + "segment": { + "description": "", + "properties": { + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "recovery_method": { + "description": "", + "enum": [ + "auto", + "reserved_host", + "auto_priority", + "rh_priority" + ], + "example": "auto", + "type": "string" + }, + "service_type": { + "description": "", + "enum": [ + "compute" + ], + "example": "compute", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "segment" + ], + "type": "object" + }, + "PATCH /v2.0/service_profiles/{id}": { + "description": "", + "properties": { + "service_profile": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "service_profile", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "service_profile" + ], + "type": "object" + }, + "PATCH /v2.0/subnetpools/{id}": { + "description": "", + "properties": { + "subnetpool": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "subnetpool", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "subnetpool" + ], + "type": "object" + }, + "PATCH /v2.0/subnets/{id}": { + "description": "", + "properties": { + "subnet": { + "description": "", + "properties": { + "allocation_pools": { + "description": "Allocation pools", + "items": { + "description": "", + "properties": { + "end": { + "description": "End IP", + "type": "string" + }, + "start": { + "description": "Start IP", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "cidr": { + "description": "CIDR", + "example": "10.0.0.0/24", + "type": "string" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "dns_nameservers": { + "description": "DNS nameservers", + "items": { + "description": "DNS server", + "type": "string" + }, + "type": "array" + }, + "enable_dhcp": { + "default": true, + "description": "DHCP enabled", + "type": "boolean" + }, + "gateway_ip": { + "description": "Gateway IP", + "type": "string" + }, + "host_routes": { + "description": "Host routes", + "items": { + "description": "", + "properties": { + "destination": { + "description": "", + "type": "string" + }, + "nexthop": { + "description": "", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "ip_version": { + "description": "IP version", + "example": 4, + "type": "integer" + }, + "ipv6_address_mode": { + "description": "IPv6 address mode", + "type": "string" + }, + "ipv6_ra_mode": { + "description": "IPv6 RA mode", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "network_id": { + "description": "Parent network UUID", + "format": "uuid", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "subnet" + ], + "type": "object" + }, + "PATCH /v2.0/trunks/{id}": { + "description": "", + "properties": { + "trunk": { + "description": "", + "properties": { + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "sub_ports": { + "description": "", + "items": { + "description": "", + "properties": { + "port_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "segmentation_id": { + "description": "", + "example": 100, + "type": "integer" + }, + "segmentation_type": { + "description": "", + "example": "vlan", + "type": "string" + } + }, + "required": [ + "port_id", + "segmentation_type", + "segmentation_id" + ], + "type": "object" + }, + "type": "array" + } + }, + "type": "object" + } + }, + "required": [ + "trunk" + ], + "type": "object" + }, + "PATCH /v2.0/trunks/{trunk_id}/add_subports/{id}": { + "description": "", + "properties": { + "sub_port": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "trunk_subport", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "sub_port" + ], + "type": "object" + }, + "PATCH /v2.0/vpn/endpoint-groups/{id}": { + "description": "", + "properties": { + "endpoint_group": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "vpn_endpoint_group", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "endpoint_group" + ], + "type": "object" + }, + "PATCH /v2.0/vpn/ikepolicies/{id}": { + "description": "", + "properties": { + "ikepolicy": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "ike_policy", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "ikepolicy" + ], + "type": "object" + }, + "PATCH /v2.0/vpn/ipsec-site-connections/{id}": { + "description": "", + "properties": { + "ipsec_site_connection": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "ipsec_site_connection", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "ipsec_site_connection" + ], + "type": "object" + }, + "PATCH /v2.0/vpn/ipsecpolicies/{id}": { + "description": "", + "properties": { + "ipsecpolicy": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "ipsec_policy", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "ipsecpolicy" + ], + "type": "object" + }, + "PATCH /v2.0/vpn/vpnservices/{id}": { + "description": "", + "properties": { + "vpnservice": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "vpn_service", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "vpnservice" + ], + "type": "object" + }, + "POST /v2.0/address-groups": { + "description": "", + "properties": { + "address_group": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "address_group", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "address_group" + ], + "type": "object" + }, + "POST /v2.0/address-scopes": { + "description": "", + "properties": { + "address_scope": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "address_scope", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "address_scope" + ], + "type": "object" + }, + "POST /v2.0/bgp-peers": { + "description": "", + "properties": { + "bgp_peer": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "bgp_peer", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "bgp_peer" + ], + "type": "object" + }, + "POST /v2.0/bgp-speakers": { + "description": "", + "properties": { + "bgp_speaker": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "bgp_speaker", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "bgp_speaker" + ], + "type": "object" + }, + "POST /v2.0/bgpvpn/bgpvpns": { + "description": "", + "properties": { + "bgpvpn": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "bgpvpn", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "bgpvpn" + ], + "type": "object" + }, + "POST /v2.0/bgpvpn/bgpvpns/{bgpvpn_id}/network_associations": { + "description": "", + "properties": { + "network_association": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "bgpvpn_network_association", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "network_association" + ], + "type": "object" + }, + "POST /v2.0/bgpvpn/bgpvpns/{bgpvpn_id}/router_associations": { + "description": "", + "properties": { + "router_association": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "bgpvpn_router_association", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "router_association" + ], + "type": "object" + }, + "POST /v2.0/default-security-group-rules": { + "description": "", + "properties": { + "default_security_group_rule": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "default_security_group_rule", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "default_security_group_rule" + ], + "type": "object" + }, + "POST /v2.0/flavors": { + "description": "", + "properties": { + "flavor": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "neutron_flavor", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "flavor" + ], + "type": "object" + }, + "POST /v2.0/floatingips": { + "description": "", + "properties": { + "floatingip": { + "description": "", + "properties": { + "description": { + "description": "", + "type": "string" + }, + "dns_domain": { + "description": "", + "type": "string" + }, + "dns_name": { + "description": "", + "type": "string" + }, + "fixed_ip_address": { + "description": "Fixed IP", + "type": "string" + }, + "floating_ip_address": { + "description": "Floating IP", + "type": "string" + }, + "floating_network_id": { + "description": "External network UUID", + "format": "uuid", + "type": "string" + }, + "port_id": { + "description": "Port UUID", + "format": "uuid", + "type": "string" + }, + "subnet_id": { + "description": "Subnet UUID", + "format": "uuid", + "type": "string" + } + }, + "required": [ + "floating_network_id" + ], + "type": "object" + } + }, + "required": [ + "floatingip" + ], + "type": "object" + }, + "POST /v2.0/floatingips/{floatingip_id}/port_forwardings": { + "description": "", + "properties": { + "port_forwarding": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "floatingip_port_forwarding", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "port_forwarding" + ], + "type": "object" + }, + "POST /v2.0/fwaas/firewall_groups": { + "description": "", + "properties": { + "firewall_group": { + "description": "", + "properties": { + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "egress_firewall_policy_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "ingress_firewall_policy_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "ports": { + "description": "", + "items": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": "array" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "firewall_group" + ], + "type": "object" + }, + "POST /v2.0/fwaas/firewall_policies": { + "description": "", + "properties": { + "firewall_policy": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "firewall_policy", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "firewall_policy" + ], + "type": "object" + }, + "POST /v2.0/fwaas/firewall_rules": { + "description": "", + "properties": { + "firewall_rule": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "firewall_rule", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "firewall_rule" + ], + "type": "object" + }, + "POST /v2.0/lbaas/listeners": { + "description": "", + "properties": { + "listener": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "lbaas_listener", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "listener" + ], + "type": "object" + }, + "POST /v2.0/lbaas/loadbalancers": { + "description": "", + "properties": { + "loadbalancer": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "lbaas_loadbalancer", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "loadbalancer" + ], + "type": "object" + }, + "POST /v2.0/lbaas/pools": { + "description": "", + "properties": { + "pool": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "lbaas_pool", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "pool" + ], + "type": "object" + }, + "POST /v2.0/local_ips": { + "description": "", + "properties": { + "local_ip": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "local_ip", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "local_ip" + ], + "type": "object" + }, + "POST /v2.0/local_ips/{local_ip_id}/port_associations": { + "description": "", + "properties": { + "port_association": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "local_ip_association", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "port_association" + ], + "type": "object" + }, + "POST /v2.0/log/logs": { + "description": "", + "properties": { + "log": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "log", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "log" + ], + "type": "object" + }, + "POST /v2.0/metering/metering-label-rules": { + "description": "", + "properties": { + "metering_label_rule": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "metering_label_rule", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "metering_label_rule" + ], + "type": "object" + }, + "POST /v2.0/metering/metering-labels": { + "description": "", + "properties": { + "metering_label": { + "description": "", + "properties": { + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "metering_label" + ], + "type": "object" + }, + "POST /v2.0/ndp_proxies": { + "description": "", + "properties": { + "ndp_proxy": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "ndp_proxy", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "ndp_proxy" + ], + "type": "object" + }, + "POST /v2.0/network_segment_ranges": { + "description": "", + "properties": { + "network_segment_range": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "network_segment_range", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "network_segment_range" + ], + "type": "object" + }, + "POST /v2.0/networks": { + "description": "", + "properties": { + "network": { + "description": "", + "properties": { + "admin_state_up": { + "default": true, + "description": "Administrative state", + "type": "boolean" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "external": { + "default": false, + "description": "External network", + "type": "boolean" + }, + "mtu": { + "description": "MTU", + "example": 1500, + "minimum": 68, + "type": "integer" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port_security_enabled": { + "default": true, + "description": "Port security", + "type": "boolean" + }, + "provider:network_type": { + "description": "Provider network type", + "enum": [ + "local", + "flat", + "vlan", + "vxlan", + "gre" + ], + "type": "string" + }, + "provider:physical_network": { + "description": "Physical network label", + "type": "string" + }, + "provider:segmentation_id": { + "description": "Segmentation id", + "type": "integer" + }, + "router:external": { + "default": false, + "description": "Router external alias", + "type": "boolean" + }, + "shared": { + "default": false, + "description": "Shared across projects", + "type": "boolean" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "network" + ], + "type": "object" + }, + "POST /v2.0/ports": { + "description": "", + "properties": { + "port": { + "description": "", + "properties": { + "admin_state_up": { + "default": true, + "description": "Administrative state", + "type": "boolean" + }, + "allowed_address_pairs": { + "description": "", + "items": { + "description": "", + "properties": { + "ip_address": { + "description": "", + "type": "string" + }, + "mac_address": { + "description": "", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "binding:vnic_type": { + "description": "VNIC type", + "enum": [ + "normal", + "direct", + "macvtap", + "baremetal" + ], + "type": "string" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "device_id": { + "description": "Device UUID", + "format": "uuid", + "type": "string" + }, + "device_owner": { + "description": "Device owner", + "type": "string" + }, + "fixed_ips": { + "description": "Fixed IPs", + "items": { + "description": "", + "properties": { + "ip_address": { + "description": "", + "type": "string" + }, + "subnet_id": { + "description": "", + "format": "uuid", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "mac_address": { + "description": "MAC address", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "network_id": { + "description": "Network UUID", + "format": "uuid", + "type": "string" + }, + "port_security_enabled": { + "description": "Port security", + "type": "boolean" + }, + "security_groups": { + "description": "", + "items": { + "description": "Security group UUID", + "format": "uuid", + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "network_id" + ], + "type": "object" + } + }, + "required": [ + "port" + ], + "type": "object" + }, + "POST /v2.0/qos/policies": { + "description": "", + "properties": { + "policy": { + "description": "", + "properties": { + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "is_default": { + "default": false, + "description": "", + "type": "boolean" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "policy" + ], + "type": "object" + }, + "POST /v2.0/qos/policies/{policy_id}/bandwidth_limit_rules": { + "description": "", + "properties": { + "bandwidth_limit_rule": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "qos_bandwidth_limit_rule", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "bandwidth_limit_rule" + ], + "type": "object" + }, + "POST /v2.0/qos/policies/{policy_id}/dscp_marking_rules": { + "description": "", + "properties": { + "dscp_marking_rule": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "qos_dscp_marking_rule", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "dscp_marking_rule" + ], + "type": "object" + }, + "POST /v2.0/qos/policies/{policy_id}/minimum_bandwidth_rules": { + "description": "", + "properties": { + "minimum_bandwidth_rule": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "qos_minimum_bandwidth_rule", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "minimum_bandwidth_rule" + ], + "type": "object" + }, + "POST /v2.0/rbac-policies": { + "description": "", + "properties": { + "rbac_policy": { + "description": "", + "properties": { + "action": { + "description": "", + "enum": [ + "access_as_shared", + "access_as_external" + ], + "example": "access_as_shared", + "type": "string" + }, + "object_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "object_type": { + "description": "", + "example": "network", + "type": "string" + }, + "target_tenant": { + "description": "", + "format": "uuid", + "type": "string" + } + }, + "required": [ + "object_type", + "object_id", + "target_tenant", + "action" + ], + "type": "object" + } + }, + "required": [ + "rbac_policy" + ], + "type": "object" + }, + "POST /v2.0/routers": { + "description": "", + "properties": { + "router": { + "description": "", + "properties": { + "admin_state_up": { + "default": true, + "description": "Administrative state", + "type": "boolean" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "distributed": { + "description": "DVR router", + "type": "boolean" + }, + "external_gateway_info": { + "description": "", + "properties": { + "enable_snat": { + "default": true, + "description": "SNAT", + "type": "boolean" + }, + "external_fixed_ips": { + "description": "", + "items": { + "description": "", + "properties": { + "ip_address": { + "description": "", + "type": "string" + }, + "subnet_id": { + "description": "", + "format": "uuid", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "network_id": { + "description": "External network UUID", + "format": "uuid", + "type": "string" + } + }, + "type": "object" + }, + "ha": { + "description": "Highly available", + "type": "boolean" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "routes": { + "description": "", + "items": { + "description": "", + "properties": { + "destination": { + "description": "", + "type": "string" + }, + "nexthop": { + "description": "", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "router" + ], + "type": "object" + }, + "POST /v2.0/routers/{router_id}/conntrack_helpers": { + "description": "", + "properties": { + "conntrack_helper": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "conntrack_helper", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "conntrack_helper" + ], + "type": "object" + }, + "POST /v2.0/security-group-rules": { + "description": "", + "properties": { + "security_group_rule": { + "description": "", + "properties": { + "description": { + "description": "", + "type": "string" + }, + "direction": { + "description": "Direction", + "enum": [ + "ingress", + "egress" + ], + "example": "ingress", + "type": "string" + }, + "ethertype": { + "description": "Ethertype", + "enum": [ + "IPv4", + "IPv6" + ], + "example": "IPv4", + "type": "string" + }, + "port_range_max": { + "description": "Max port", + "example": 22, + "type": "integer" + }, + "port_range_min": { + "description": "Min port", + "example": 22, + "type": "integer" + }, + "protocol": { + "description": "Protocol", + "example": "tcp", + "type": "string" + }, + "remote_group_id": { + "description": "Remote SG UUID", + "format": "uuid", + "type": "string" + }, + "remote_ip_prefix": { + "description": "CIDR", + "example": "0.0.0.0/0", + "type": "string" + }, + "security_group_id": { + "description": "Security group UUID", + "format": "uuid", + "type": "string" + } + }, + "required": [ + "security_group_id", + "direction" + ], + "type": "object" + } + }, + "required": [ + "security_group_rule" + ], + "type": "object" + }, + "POST /v2.0/security-groups": { + "description": "", + "properties": { + "security_group": { + "description": "", + "properties": { + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "security_group" + ], + "type": "object" + }, + "POST /v2.0/segments": { + "description": "", + "properties": { + "segment": { + "description": "", + "properties": { + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "recovery_method": { + "description": "", + "enum": [ + "auto", + "reserved_host", + "auto_priority", + "rh_priority" + ], + "example": "auto", + "type": "string" + }, + "service_type": { + "description": "", + "enum": [ + "compute" + ], + "example": "compute", + "type": "string" + } + }, + "required": [ + "name", + "recovery_method", + "service_type" + ], + "type": "object" + } + }, + "required": [ + "segment" + ], + "type": "object" + }, + "POST /v2.0/service_profiles": { + "description": "", + "properties": { + "service_profile": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "service_profile", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "service_profile" + ], + "type": "object" + }, + "POST /v2.0/subnetpools": { + "description": "", + "properties": { + "subnetpool": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "subnetpool", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "subnetpool" + ], + "type": "object" + }, + "POST /v2.0/subnets": { + "description": "", + "properties": { + "subnet": { + "description": "", + "properties": { + "allocation_pools": { + "description": "Allocation pools", + "items": { + "description": "", + "properties": { + "end": { + "description": "End IP", + "type": "string" + }, + "start": { + "description": "Start IP", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "cidr": { + "description": "CIDR", + "example": "10.0.0.0/24", + "type": "string" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "dns_nameservers": { + "description": "DNS nameservers", + "items": { + "description": "DNS server", + "type": "string" + }, + "type": "array" + }, + "enable_dhcp": { + "default": true, + "description": "DHCP enabled", + "type": "boolean" + }, + "gateway_ip": { + "description": "Gateway IP", + "type": "string" + }, + "host_routes": { + "description": "Host routes", + "items": { + "description": "", + "properties": { + "destination": { + "description": "", + "type": "string" + }, + "nexthop": { + "description": "", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "ip_version": { + "description": "IP version", + "example": 4, + "type": "integer" + }, + "ipv6_address_mode": { + "description": "IPv6 address mode", + "type": "string" + }, + "ipv6_ra_mode": { + "description": "IPv6 RA mode", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "network_id": { + "description": "Parent network UUID", + "format": "uuid", + "type": "string" + } + }, + "required": [ + "network_id", + "cidr", + "ip_version" + ], + "type": "object" + } + }, + "required": [ + "subnet" + ], + "type": "object" + }, + "POST /v2.0/trunks": { + "description": "", + "properties": { + "trunk": { + "description": "", + "properties": { + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "sub_ports": { + "description": "", + "items": { + "description": "", + "properties": { + "port_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "segmentation_id": { + "description": "", + "example": 100, + "type": "integer" + }, + "segmentation_type": { + "description": "", + "example": "vlan", + "type": "string" + } + }, + "required": [ + "port_id", + "segmentation_type", + "segmentation_id" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "port_id" + ], + "type": "object" + } + }, + "required": [ + "trunk" + ], + "type": "object" + }, + "POST /v2.0/trunks/{trunk_id}/add_subports": { + "description": "", + "properties": { + "sub_port": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "trunk_subport", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "sub_port" + ], + "type": "object" + }, + "POST /v2.0/vpn/endpoint-groups": { + "description": "", + "properties": { + "endpoint_group": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "vpn_endpoint_group", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "endpoint_group" + ], + "type": "object" + }, + "POST /v2.0/vpn/ikepolicies": { + "description": "", + "properties": { + "ikepolicy": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "ike_policy", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "ikepolicy" + ], + "type": "object" + }, + "POST /v2.0/vpn/ipsec-site-connections": { + "description": "", + "properties": { + "ipsec_site_connection": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "ipsec_site_connection", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "ipsec_site_connection" + ], + "type": "object" + }, + "POST /v2.0/vpn/ipsecpolicies": { + "description": "", + "properties": { + "ipsecpolicy": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "ipsec_policy", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "ipsecpolicy" + ], + "type": "object" + }, + "POST /v2.0/vpn/vpnservices": { + "description": "", + "properties": { + "vpnservice": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "vpn_service", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "vpnservice" + ], + "type": "object" + }, + "PUT /v2.0/address-groups/{id}": { + "description": "", + "properties": { + "address_group": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "address_group", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "address_group" + ], + "type": "object" + }, + "PUT /v2.0/address-scopes/{id}": { + "description": "", + "properties": { + "address_scope": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "address_scope", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "address_scope" + ], + "type": "object" + }, + "PUT /v2.0/bgp-peers/{id}": { + "description": "", + "properties": { + "bgp_peer": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "bgp_peer", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "bgp_peer" + ], + "type": "object" + }, + "PUT /v2.0/bgp-speakers/{id}": { + "description": "", + "properties": { + "bgp_speaker": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "bgp_speaker", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "bgp_speaker" + ], + "type": "object" + }, + "PUT /v2.0/bgpvpn/bgpvpns/{bgpvpn_id}/network_associations/{id}": { + "description": "", + "properties": { + "network_association": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "bgpvpn_network_association", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "network_association" + ], + "type": "object" + }, + "PUT /v2.0/bgpvpn/bgpvpns/{bgpvpn_id}/router_associations/{id}": { + "description": "", + "properties": { + "router_association": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "bgpvpn_router_association", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "router_association" + ], + "type": "object" + }, + "PUT /v2.0/bgpvpn/bgpvpns/{id}": { + "description": "", + "properties": { + "bgpvpn": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "bgpvpn", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "bgpvpn" + ], + "type": "object" + }, + "PUT /v2.0/default-security-group-rules/{id}": { + "description": "", + "properties": { + "default_security_group_rule": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "default_security_group_rule", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "default_security_group_rule" + ], + "type": "object" + }, + "PUT /v2.0/flavors/{id}": { + "description": "", + "properties": { + "flavor": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "neutron_flavor", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "flavor" + ], + "type": "object" + }, + "PUT /v2.0/floatingips/{floatingip_id}/port_forwardings/{id}": { + "description": "", + "properties": { + "port_forwarding": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "floatingip_port_forwarding", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "port_forwarding" + ], + "type": "object" + }, + "PUT /v2.0/floatingips/{id}": { + "description": "", + "properties": { + "floatingip": { + "description": "", + "properties": { + "description": { + "description": "", + "type": "string" + }, + "dns_domain": { + "description": "", + "type": "string" + }, + "dns_name": { + "description": "", + "type": "string" + }, + "fixed_ip_address": { + "description": "Fixed IP", + "type": "string" + }, + "floating_ip_address": { + "description": "Floating IP", + "type": "string" + }, + "floating_network_id": { + "description": "External network UUID", + "format": "uuid", + "type": "string" + }, + "port_id": { + "description": "Port UUID", + "format": "uuid", + "type": "string" + }, + "subnet_id": { + "description": "Subnet UUID", + "format": "uuid", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "floatingip" + ], + "type": "object" + }, + "PUT /v2.0/fwaas/firewall_groups/{id}": { + "description": "", + "properties": { + "firewall_group": { + "description": "", + "properties": { + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "egress_firewall_policy_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "ingress_firewall_policy_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "ports": { + "description": "", + "items": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": "array" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + } + }, + "type": "object" + } + }, + "required": [ + "firewall_group" + ], + "type": "object" + }, + "PUT /v2.0/fwaas/firewall_policies/{id}": { + "description": "", + "properties": { + "firewall_policy": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "firewall_policy", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "firewall_policy" + ], + "type": "object" + }, + "PUT /v2.0/fwaas/firewall_rules/{id}": { + "description": "", + "properties": { + "firewall_rule": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "firewall_rule", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "firewall_rule" + ], + "type": "object" + }, + "PUT /v2.0/lbaas/listeners/{id}": { + "description": "", + "properties": { + "listener": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "lbaas_listener", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "listener" + ], + "type": "object" + }, + "PUT /v2.0/lbaas/loadbalancers/{id}": { + "description": "", + "properties": { + "loadbalancer": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "lbaas_loadbalancer", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "loadbalancer" + ], + "type": "object" + }, + "PUT /v2.0/lbaas/pools/{id}": { + "description": "", + "properties": { + "pool": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "lbaas_pool", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "pool" + ], + "type": "object" + }, + "PUT /v2.0/local_ips/{id}": { + "description": "", + "properties": { + "local_ip": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "local_ip", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "local_ip" + ], + "type": "object" + }, + "PUT /v2.0/local_ips/{local_ip_id}/port_associations/{id}": { + "description": "", + "properties": { + "port_association": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "local_ip_association", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "port_association" + ], + "type": "object" + }, + "PUT /v2.0/log/logs/{id}": { + "description": "", + "properties": { + "log": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "log", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "log" + ], + "type": "object" + }, + "PUT /v2.0/metering/metering-label-rules/{id}": { + "description": "", + "properties": { + "metering_label_rule": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "metering_label_rule", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "metering_label_rule" + ], + "type": "object" + }, + "PUT /v2.0/metering/metering-labels/{id}": { + "description": "", + "properties": { + "metering_label": { + "description": "", + "properties": { + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + } + }, + "type": "object" + } + }, + "required": [ + "metering_label" + ], + "type": "object" + }, + "PUT /v2.0/ndp_proxies/{id}": { + "description": "", + "properties": { + "ndp_proxy": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "ndp_proxy", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "ndp_proxy" + ], + "type": "object" + }, + "PUT /v2.0/network_segment_ranges/{id}": { + "description": "", + "properties": { + "network_segment_range": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "network_segment_range", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "network_segment_range" + ], + "type": "object" + }, + "PUT /v2.0/networks/{id}": { + "description": "", + "properties": { + "network": { + "description": "", + "properties": { + "admin_state_up": { + "default": true, + "description": "Administrative state", + "type": "boolean" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "external": { + "default": false, + "description": "External network", + "type": "boolean" + }, + "mtu": { + "description": "MTU", + "example": 1500, + "minimum": 68, + "type": "integer" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port_security_enabled": { + "default": true, + "description": "Port security", + "type": "boolean" + }, + "provider:network_type": { + "description": "Provider network type", + "enum": [ + "local", + "flat", + "vlan", + "vxlan", + "gre" + ], + "type": "string" + }, + "provider:physical_network": { + "description": "Physical network label", + "type": "string" + }, + "provider:segmentation_id": { + "description": "Segmentation id", + "type": "integer" + }, + "router:external": { + "default": false, + "description": "Router external alias", + "type": "boolean" + }, + "shared": { + "default": false, + "description": "Shared across projects", + "type": "boolean" + } + }, + "type": "object" + } + }, + "required": [ + "network" + ], + "type": "object" + }, + "PUT /v2.0/ports/{id}": { + "description": "", + "properties": { + "port": { + "description": "", + "properties": { + "admin_state_up": { + "default": true, + "description": "Administrative state", + "type": "boolean" + }, + "allowed_address_pairs": { + "description": "", + "items": { + "description": "", + "properties": { + "ip_address": { + "description": "", + "type": "string" + }, + "mac_address": { + "description": "", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "binding:vnic_type": { + "description": "VNIC type", + "enum": [ + "normal", + "direct", + "macvtap", + "baremetal" + ], + "type": "string" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "device_id": { + "description": "Device UUID", + "format": "uuid", + "type": "string" + }, + "device_owner": { + "description": "Device owner", + "type": "string" + }, + "fixed_ips": { + "description": "Fixed IPs", + "items": { + "description": "", + "properties": { + "ip_address": { + "description": "", + "type": "string" + }, + "subnet_id": { + "description": "", + "format": "uuid", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "mac_address": { + "description": "MAC address", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "network_id": { + "description": "Network UUID", + "format": "uuid", + "type": "string" + }, + "port_security_enabled": { + "description": "Port security", + "type": "boolean" + }, + "security_groups": { + "description": "", + "items": { + "description": "Security group UUID", + "format": "uuid", + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + } + }, + "required": [ + "port" + ], + "type": "object" + }, + "PUT /v2.0/qos/policies/{id}": { + "description": "", + "properties": { + "policy": { + "description": "", + "properties": { + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "is_default": { + "default": false, + "description": "", + "type": "boolean" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + } + }, + "type": "object" + } + }, + "required": [ + "policy" + ], + "type": "object" + }, + "PUT /v2.0/qos/policies/{policy_id}/bandwidth_limit_rules/{id}": { + "description": "", + "properties": { + "bandwidth_limit_rule": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "qos_bandwidth_limit_rule", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "bandwidth_limit_rule" + ], + "type": "object" + }, + "PUT /v2.0/qos/policies/{policy_id}/dscp_marking_rules/{id}": { + "description": "", + "properties": { + "dscp_marking_rule": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "qos_dscp_marking_rule", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "dscp_marking_rule" + ], + "type": "object" + }, + "PUT /v2.0/qos/policies/{policy_id}/minimum_bandwidth_rules/{id}": { + "description": "", + "properties": { + "minimum_bandwidth_rule": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "qos_minimum_bandwidth_rule", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "minimum_bandwidth_rule" + ], + "type": "object" + }, + "PUT /v2.0/quotas/{id}": { + "description": "", + "properties": { + "quota": { + "description": "", + "properties": { + "cores": { + "description": "", + "example": 20, + "type": "integer" + }, + "fixed_ips": { + "description": "", + "example": -1, + "type": "integer" + }, + "floating_ips": { + "description": "", + "example": 10, + "type": "integer" + }, + "force": { + "default": false, + "description": "", + "type": "boolean" + }, + "gigabytes": { + "description": "", + "example": 1000, + "type": "integer" + }, + "injected_file_content_bytes": { + "description": "", + "example": 10240, + "type": "integer" + }, + "injected_files": { + "description": "", + "example": 5, + "type": "integer" + }, + "instances": { + "description": "", + "example": 10, + "type": "integer" + }, + "key_pairs": { + "description": "", + "example": 100, + "type": "integer" + }, + "metadata_items": { + "description": "", + "example": 128, + "type": "integer" + }, + "networks": { + "description": "", + "example": 100, + "type": "integer" + }, + "ports": { + "description": "", + "example": 500, + "type": "integer" + }, + "ram": { + "description": "", + "example": 51200, + "type": "integer" + }, + "routers": { + "description": "", + "example": 10, + "type": "integer" + }, + "security_group_rules": { + "description": "", + "example": 20, + "type": "integer" + }, + "security_groups": { + "description": "", + "example": 10, + "type": "integer" + }, + "snapshots": { + "description": "", + "example": 10, + "type": "integer" + }, + "subnets": { + "description": "", + "example": 100, + "type": "integer" + }, + "volumes": { + "description": "", + "example": 10, + "type": "integer" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "PUT /v2.0/rbac-policies/{id}": { + "description": "", + "properties": { + "rbac_policy": { + "description": "", + "properties": { + "action": { + "description": "", + "enum": [ + "access_as_shared", + "access_as_external" + ], + "example": "access_as_shared", + "type": "string" + }, + "object_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "object_type": { + "description": "", + "example": "network", + "type": "string" + }, + "target_tenant": { + "description": "", + "format": "uuid", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "rbac_policy" + ], + "type": "object" + }, + "PUT /v2.0/routers/{id}": { + "description": "", + "properties": { + "router": { + "description": "", + "properties": { + "admin_state_up": { + "default": true, + "description": "Administrative state", + "type": "boolean" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "distributed": { + "description": "DVR router", + "type": "boolean" + }, + "external_gateway_info": { + "description": "", + "properties": { + "enable_snat": { + "default": true, + "description": "SNAT", + "type": "boolean" + }, + "external_fixed_ips": { + "description": "", + "items": { + "description": "", + "properties": { + "ip_address": { + "description": "", + "type": "string" + }, + "subnet_id": { + "description": "", + "format": "uuid", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "network_id": { + "description": "External network UUID", + "format": "uuid", + "type": "string" + } + }, + "type": "object" + }, + "ha": { + "description": "Highly available", + "type": "boolean" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "routes": { + "description": "", + "items": { + "description": "", + "properties": { + "destination": { + "description": "", + "type": "string" + }, + "nexthop": { + "description": "", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + } + }, + "type": "object" + } + }, + "required": [ + "router" + ], + "type": "object" + }, + "PUT /v2.0/routers/{id}/add_extraroutes": { + "description": "", + "properties": { + "router": { + "description": "", + "properties": { + "admin_state_up": { + "default": true, + "description": "Administrative state", + "type": "boolean" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "distributed": { + "description": "DVR router", + "type": "boolean" + }, + "external_gateway_info": { + "description": "", + "properties": { + "enable_snat": { + "default": true, + "description": "SNAT", + "type": "boolean" + }, + "external_fixed_ips": { + "description": "", + "items": { + "description": "", + "properties": { + "ip_address": { + "description": "", + "type": "string" + }, + "subnet_id": { + "description": "", + "format": "uuid", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "network_id": { + "description": "External network UUID", + "format": "uuid", + "type": "string" + } + }, + "type": "object" + }, + "ha": { + "description": "Highly available", + "type": "boolean" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "routes": { + "description": "", + "items": { + "description": "", + "properties": { + "destination": { + "description": "", + "type": "string" + }, + "nexthop": { + "description": "", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "type": "object" + }, + "PUT /v2.0/routers/{id}/add_router_interface": { + "description": "", + "properties": { + "port_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "subnet_id": { + "description": "", + "format": "uuid", + "type": "string" + } + }, + "type": "object" + }, + "PUT /v2.0/routers/{id}/remove_extraroutes": { + "description": "", + "properties": { + "router": { + "description": "", + "properties": { + "admin_state_up": { + "default": true, + "description": "Administrative state", + "type": "boolean" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "distributed": { + "description": "DVR router", + "type": "boolean" + }, + "external_gateway_info": { + "description": "", + "properties": { + "enable_snat": { + "default": true, + "description": "SNAT", + "type": "boolean" + }, + "external_fixed_ips": { + "description": "", + "items": { + "description": "", + "properties": { + "ip_address": { + "description": "", + "type": "string" + }, + "subnet_id": { + "description": "", + "format": "uuid", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "network_id": { + "description": "External network UUID", + "format": "uuid", + "type": "string" + } + }, + "type": "object" + }, + "ha": { + "description": "Highly available", + "type": "boolean" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "routes": { + "description": "", + "items": { + "description": "", + "properties": { + "destination": { + "description": "", + "type": "string" + }, + "nexthop": { + "description": "", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "type": "object" + }, + "PUT /v2.0/routers/{id}/remove_router_interface": { + "description": "", + "properties": { + "port_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "subnet_id": { + "description": "", + "format": "uuid", + "type": "string" + } + }, + "type": "object" + }, + "PUT /v2.0/routers/{router_id}/conntrack_helpers/{id}": { + "description": "", + "properties": { + "conntrack_helper": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "conntrack_helper", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "conntrack_helper" + ], + "type": "object" + }, + "PUT /v2.0/security-group-rules/{id}": { + "description": "", + "properties": { + "security_group_rule": { + "description": "", + "properties": { + "description": { + "description": "", + "type": "string" + }, + "direction": { + "description": "Direction", + "enum": [ + "ingress", + "egress" + ], + "example": "ingress", + "type": "string" + }, + "ethertype": { + "description": "Ethertype", + "enum": [ + "IPv4", + "IPv6" + ], + "example": "IPv4", + "type": "string" + }, + "port_range_max": { + "description": "Max port", + "example": 22, + "type": "integer" + }, + "port_range_min": { + "description": "Min port", + "example": 22, + "type": "integer" + }, + "protocol": { + "description": "Protocol", + "example": "tcp", + "type": "string" + }, + "remote_group_id": { + "description": "Remote SG UUID", + "format": "uuid", + "type": "string" + }, + "remote_ip_prefix": { + "description": "CIDR", + "example": "0.0.0.0/0", + "type": "string" + }, + "security_group_id": { + "description": "Security group UUID", + "format": "uuid", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "security_group_rule" + ], + "type": "object" + }, + "PUT /v2.0/security-groups/{id}": { + "description": "", + "properties": { + "security_group": { + "description": "", + "properties": { + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "security_group" + ], + "type": "object" + }, + "PUT /v2.0/segments/{id}": { + "description": "", + "properties": { + "segment": { + "description": "", + "properties": { + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "recovery_method": { + "description": "", + "enum": [ + "auto", + "reserved_host", + "auto_priority", + "rh_priority" + ], + "example": "auto", + "type": "string" + }, + "service_type": { + "description": "", + "enum": [ + "compute" + ], + "example": "compute", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "segment" + ], + "type": "object" + }, + "PUT /v2.0/service_profiles/{id}": { + "description": "", + "properties": { + "service_profile": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "service_profile", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "service_profile" + ], + "type": "object" + }, + "PUT /v2.0/subnetpools/{id}": { + "description": "", + "properties": { + "subnetpool": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "subnetpool", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "subnetpool" + ], + "type": "object" + }, + "PUT /v2.0/subnets/{id}": { + "description": "", + "properties": { + "subnet": { + "description": "", + "properties": { + "allocation_pools": { + "description": "Allocation pools", + "items": { + "description": "", + "properties": { + "end": { + "description": "End IP", + "type": "string" + }, + "start": { + "description": "Start IP", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "cidr": { + "description": "CIDR", + "example": "10.0.0.0/24", + "type": "string" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "dns_nameservers": { + "description": "DNS nameservers", + "items": { + "description": "DNS server", + "type": "string" + }, + "type": "array" + }, + "enable_dhcp": { + "default": true, + "description": "DHCP enabled", + "type": "boolean" + }, + "gateway_ip": { + "description": "Gateway IP", + "type": "string" + }, + "host_routes": { + "description": "Host routes", + "items": { + "description": "", + "properties": { + "destination": { + "description": "", + "type": "string" + }, + "nexthop": { + "description": "", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "ip_version": { + "description": "IP version", + "example": 4, + "type": "integer" + }, + "ipv6_address_mode": { + "description": "IPv6 address mode", + "type": "string" + }, + "ipv6_ra_mode": { + "description": "IPv6 RA mode", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "network_id": { + "description": "Parent network UUID", + "format": "uuid", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "subnet" + ], + "type": "object" + }, + "PUT /v2.0/trunks/{id}": { + "description": "", + "properties": { + "trunk": { + "description": "", + "properties": { + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "sub_ports": { + "description": "", + "items": { + "description": "", + "properties": { + "port_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "segmentation_id": { + "description": "", + "example": 100, + "type": "integer" + }, + "segmentation_type": { + "description": "", + "example": "vlan", + "type": "string" + } + }, + "required": [ + "port_id", + "segmentation_type", + "segmentation_id" + ], + "type": "object" + }, + "type": "array" + } + }, + "type": "object" + } + }, + "required": [ + "trunk" + ], + "type": "object" + }, + "PUT /v2.0/trunks/{trunk_id}/add_subports/{id}": { + "description": "", + "properties": { + "sub_port": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "trunk_subport", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "sub_port" + ], + "type": "object" + }, + "PUT /v2.0/vpn/endpoint-groups/{id}": { + "description": "", + "properties": { + "endpoint_group": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "vpn_endpoint_group", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "endpoint_group" + ], + "type": "object" + }, + "PUT /v2.0/vpn/ikepolicies/{id}": { + "description": "", + "properties": { + "ikepolicy": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "ike_policy", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "ikepolicy" + ], + "type": "object" + }, + "PUT /v2.0/vpn/ipsec-site-connections/{id}": { + "description": "", + "properties": { + "ipsec_site_connection": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "ipsec_site_connection", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "ipsec_site_connection" + ], + "type": "object" + }, + "PUT /v2.0/vpn/ipsecpolicies/{id}": { + "description": "", + "properties": { + "ipsecpolicy": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "ipsec_policy", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "ipsecpolicy" + ], + "type": "object" + }, + "PUT /v2.0/vpn/vpnservices/{id}": { + "description": "", + "properties": { + "vpnservice": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "vpn_service", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "vpnservice" + ], + "type": "object" + } + }, + "operations": { + "address_group_create": { + "description": "", + "properties": { + "address_group": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "address_group", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "address_group" + ], + "type": "object" + }, + "address_group_patch": { + "description": "", + "properties": { + "address_group": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "address_group", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "address_group" + ], + "type": "object" + }, + "address_group_update": { + "description": "", + "properties": { + "address_group": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "address_group", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "address_group" + ], + "type": "object" + }, + "address_scope_create": { + "description": "", + "properties": { + "address_scope": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "address_scope", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "address_scope" + ], + "type": "object" + }, + "address_scope_patch": { + "description": "", + "properties": { + "address_scope": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "address_scope", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "address_scope" + ], + "type": "object" + }, + "address_scope_update": { + "description": "", + "properties": { + "address_scope": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "address_scope", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "address_scope" + ], + "type": "object" + }, + "bgp_peer_create": { + "description": "", + "properties": { + "bgp_peer": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "bgp_peer", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "bgp_peer" + ], + "type": "object" + }, + "bgp_peer_patch": { + "description": "", + "properties": { + "bgp_peer": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "bgp_peer", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "bgp_peer" + ], + "type": "object" + }, + "bgp_peer_update": { + "description": "", + "properties": { + "bgp_peer": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "bgp_peer", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "bgp_peer" + ], + "type": "object" + }, + "bgp_speaker_create": { + "description": "", + "properties": { + "bgp_speaker": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "bgp_speaker", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "bgp_speaker" + ], + "type": "object" + }, + "bgp_speaker_patch": { + "description": "", + "properties": { + "bgp_speaker": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "bgp_speaker", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "bgp_speaker" + ], + "type": "object" + }, + "bgp_speaker_update": { + "description": "", + "properties": { + "bgp_speaker": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "bgp_speaker", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "bgp_speaker" + ], + "type": "object" + }, + "bgpvpn_create": { + "description": "", + "properties": { + "bgpvpn": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "bgpvpn", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "bgpvpn" + ], + "type": "object" + }, + "bgpvpn_network_association_create": { + "description": "", + "properties": { + "network_association": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "bgpvpn_network_association", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "network_association" + ], + "type": "object" + }, + "bgpvpn_network_association_patch": { + "description": "", + "properties": { + "network_association": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "bgpvpn_network_association", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "network_association" + ], + "type": "object" + }, + "bgpvpn_network_association_update": { + "description": "", + "properties": { + "network_association": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "bgpvpn_network_association", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "network_association" + ], + "type": "object" + }, + "bgpvpn_patch": { + "description": "", + "properties": { + "bgpvpn": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "bgpvpn", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "bgpvpn" + ], + "type": "object" + }, + "bgpvpn_router_association_create": { + "description": "", + "properties": { + "router_association": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "bgpvpn_router_association", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "router_association" + ], + "type": "object" + }, + "bgpvpn_router_association_patch": { + "description": "", + "properties": { + "router_association": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "bgpvpn_router_association", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "router_association" + ], + "type": "object" + }, + "bgpvpn_router_association_update": { + "description": "", + "properties": { + "router_association": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "bgpvpn_router_association", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "router_association" + ], + "type": "object" + }, + "bgpvpn_update": { + "description": "", + "properties": { + "bgpvpn": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "bgpvpn", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "bgpvpn" + ], + "type": "object" + }, + "conntrack_helper_create": { + "description": "", + "properties": { + "conntrack_helper": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "conntrack_helper", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "conntrack_helper" + ], + "type": "object" + }, + "conntrack_helper_patch": { + "description": "", + "properties": { + "conntrack_helper": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "conntrack_helper", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "conntrack_helper" + ], + "type": "object" + }, + "conntrack_helper_update": { + "description": "", + "properties": { + "conntrack_helper": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "conntrack_helper", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "conntrack_helper" + ], + "type": "object" + }, + "default_security_group_rule_create": { + "description": "", + "properties": { + "default_security_group_rule": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "default_security_group_rule", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "default_security_group_rule" + ], + "type": "object" + }, + "default_security_group_rule_patch": { + "description": "", + "properties": { + "default_security_group_rule": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "default_security_group_rule", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "default_security_group_rule" + ], + "type": "object" + }, + "default_security_group_rule_update": { + "description": "", + "properties": { + "default_security_group_rule": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "default_security_group_rule", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "default_security_group_rule" + ], + "type": "object" + }, + "firewall_group_create": { + "description": "", + "properties": { + "firewall_group": { + "description": "", + "properties": { + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "egress_firewall_policy_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "ingress_firewall_policy_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "ports": { + "description": "", + "items": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": "array" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "firewall_group" + ], + "type": "object" + }, + "firewall_group_patch": { + "description": "", + "properties": { + "firewall_group": { + "description": "", + "properties": { + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "egress_firewall_policy_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "ingress_firewall_policy_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "ports": { + "description": "", + "items": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": "array" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + } + }, + "type": "object" + } + }, + "required": [ + "firewall_group" + ], + "type": "object" + }, + "firewall_group_update": { + "description": "", + "properties": { + "firewall_group": { + "description": "", + "properties": { + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "egress_firewall_policy_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "ingress_firewall_policy_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "ports": { + "description": "", + "items": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": "array" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + } + }, + "type": "object" + } + }, + "required": [ + "firewall_group" + ], + "type": "object" + }, + "firewall_policy_create": { + "description": "", + "properties": { + "firewall_policy": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "firewall_policy", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "firewall_policy" + ], + "type": "object" + }, + "firewall_policy_patch": { + "description": "", + "properties": { + "firewall_policy": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "firewall_policy", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "firewall_policy" + ], + "type": "object" + }, + "firewall_policy_update": { + "description": "", + "properties": { + "firewall_policy": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "firewall_policy", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "firewall_policy" + ], + "type": "object" + }, + "firewall_rule_create": { + "description": "", + "properties": { + "firewall_rule": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "firewall_rule", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "firewall_rule" + ], + "type": "object" + }, + "firewall_rule_patch": { + "description": "", + "properties": { + "firewall_rule": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "firewall_rule", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "firewall_rule" + ], + "type": "object" + }, + "firewall_rule_update": { + "description": "", + "properties": { + "firewall_rule": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "firewall_rule", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "firewall_rule" + ], + "type": "object" + }, + "floatingip_create": { + "description": "", + "properties": { + "floatingip": { + "description": "", + "properties": { + "description": { + "description": "", + "type": "string" + }, + "dns_domain": { + "description": "", + "type": "string" + }, + "dns_name": { + "description": "", + "type": "string" + }, + "fixed_ip_address": { + "description": "Fixed IP", + "type": "string" + }, + "floating_ip_address": { + "description": "Floating IP", + "type": "string" + }, + "floating_network_id": { + "description": "External network UUID", + "format": "uuid", + "type": "string" + }, + "port_id": { + "description": "Port UUID", + "format": "uuid", + "type": "string" + }, + "subnet_id": { + "description": "Subnet UUID", + "format": "uuid", + "type": "string" + } + }, + "required": [ + "floating_network_id" + ], + "type": "object" + } + }, + "required": [ + "floatingip" + ], + "type": "object" + }, + "floatingip_patch": { + "description": "", + "properties": { + "floatingip": { + "description": "", + "properties": { + "description": { + "description": "", + "type": "string" + }, + "dns_domain": { + "description": "", + "type": "string" + }, + "dns_name": { + "description": "", + "type": "string" + }, + "fixed_ip_address": { + "description": "Fixed IP", + "type": "string" + }, + "floating_ip_address": { + "description": "Floating IP", + "type": "string" + }, + "floating_network_id": { + "description": "External network UUID", + "format": "uuid", + "type": "string" + }, + "port_id": { + "description": "Port UUID", + "format": "uuid", + "type": "string" + }, + "subnet_id": { + "description": "Subnet UUID", + "format": "uuid", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "floatingip" + ], + "type": "object" + }, + "floatingip_port_forwarding_create": { + "description": "", + "properties": { + "port_forwarding": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "floatingip_port_forwarding", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "port_forwarding" + ], + "type": "object" + }, + "floatingip_port_forwarding_patch": { + "description": "", + "properties": { + "port_forwarding": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "floatingip_port_forwarding", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "port_forwarding" + ], + "type": "object" + }, + "floatingip_port_forwarding_update": { + "description": "", + "properties": { + "port_forwarding": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "floatingip_port_forwarding", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "port_forwarding" + ], + "type": "object" + }, + "floatingip_update": { + "description": "", + "properties": { + "floatingip": { + "description": "", + "properties": { + "description": { + "description": "", + "type": "string" + }, + "dns_domain": { + "description": "", + "type": "string" + }, + "dns_name": { + "description": "", + "type": "string" + }, + "fixed_ip_address": { + "description": "Fixed IP", + "type": "string" + }, + "floating_ip_address": { + "description": "Floating IP", + "type": "string" + }, + "floating_network_id": { + "description": "External network UUID", + "format": "uuid", + "type": "string" + }, + "port_id": { + "description": "Port UUID", + "format": "uuid", + "type": "string" + }, + "subnet_id": { + "description": "Subnet UUID", + "format": "uuid", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "floatingip" + ], + "type": "object" + }, + "ike_policy_create": { + "description": "", + "properties": { + "ikepolicy": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "ike_policy", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "ikepolicy" + ], + "type": "object" + }, + "ike_policy_patch": { + "description": "", + "properties": { + "ikepolicy": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "ike_policy", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "ikepolicy" + ], + "type": "object" + }, + "ike_policy_update": { + "description": "", + "properties": { + "ikepolicy": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "ike_policy", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "ikepolicy" + ], + "type": "object" + }, + "ipsec_policy_create": { + "description": "", + "properties": { + "ipsecpolicy": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "ipsec_policy", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "ipsecpolicy" + ], + "type": "object" + }, + "ipsec_policy_patch": { + "description": "", + "properties": { + "ipsecpolicy": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "ipsec_policy", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "ipsecpolicy" + ], + "type": "object" + }, + "ipsec_policy_update": { + "description": "", + "properties": { + "ipsecpolicy": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "ipsec_policy", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "ipsecpolicy" + ], + "type": "object" + }, + "ipsec_site_connection_create": { + "description": "", + "properties": { + "ipsec_site_connection": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "ipsec_site_connection", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "ipsec_site_connection" + ], + "type": "object" + }, + "ipsec_site_connection_patch": { + "description": "", + "properties": { + "ipsec_site_connection": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "ipsec_site_connection", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "ipsec_site_connection" + ], + "type": "object" + }, + "ipsec_site_connection_update": { + "description": "", + "properties": { + "ipsec_site_connection": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "ipsec_site_connection", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "ipsec_site_connection" + ], + "type": "object" + }, + "lbaas_listener_create": { + "description": "", + "properties": { + "listener": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "lbaas_listener", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "listener" + ], + "type": "object" + }, + "lbaas_listener_patch": { + "description": "", + "properties": { + "listener": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "lbaas_listener", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "listener" + ], + "type": "object" + }, + "lbaas_listener_update": { + "description": "", + "properties": { + "listener": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "lbaas_listener", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "listener" + ], + "type": "object" + }, + "lbaas_loadbalancer_create": { + "description": "", + "properties": { + "loadbalancer": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "lbaas_loadbalancer", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "loadbalancer" + ], + "type": "object" + }, + "lbaas_loadbalancer_patch": { + "description": "", + "properties": { + "loadbalancer": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "lbaas_loadbalancer", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "loadbalancer" + ], + "type": "object" + }, + "lbaas_loadbalancer_update": { + "description": "", + "properties": { + "loadbalancer": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "lbaas_loadbalancer", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "loadbalancer" + ], + "type": "object" + }, + "lbaas_pool_create": { + "description": "", + "properties": { + "pool": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "lbaas_pool", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "pool" + ], + "type": "object" + }, + "lbaas_pool_patch": { + "description": "", + "properties": { + "pool": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "lbaas_pool", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "pool" + ], + "type": "object" + }, + "lbaas_pool_update": { + "description": "", + "properties": { + "pool": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "lbaas_pool", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "pool" + ], + "type": "object" + }, + "local_ip_association_create": { + "description": "", + "properties": { + "port_association": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "local_ip_association", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "port_association" + ], + "type": "object" + }, + "local_ip_association_patch": { + "description": "", + "properties": { + "port_association": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "local_ip_association", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "port_association" + ], + "type": "object" + }, + "local_ip_association_update": { + "description": "", + "properties": { + "port_association": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "local_ip_association", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "port_association" + ], + "type": "object" + }, + "local_ip_create": { + "description": "", + "properties": { + "local_ip": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "local_ip", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "local_ip" + ], + "type": "object" + }, + "local_ip_patch": { + "description": "", + "properties": { + "local_ip": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "local_ip", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "local_ip" + ], + "type": "object" + }, + "local_ip_update": { + "description": "", + "properties": { + "local_ip": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "local_ip", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "local_ip" + ], + "type": "object" + }, + "log_create": { + "description": "", + "properties": { + "log": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "log", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "log" + ], + "type": "object" + }, + "log_patch": { + "description": "", + "properties": { + "log": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "log", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "log" + ], + "type": "object" + }, + "log_update": { + "description": "", + "properties": { + "log": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "log", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "log" + ], + "type": "object" + }, + "metering_label_create": { + "description": "", + "properties": { + "metering_label": { + "description": "", + "properties": { + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "metering_label" + ], + "type": "object" + }, + "metering_label_patch": { + "description": "", + "properties": { + "metering_label": { + "description": "", + "properties": { + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + } + }, + "type": "object" + } + }, + "required": [ + "metering_label" + ], + "type": "object" + }, + "metering_label_rule_create": { + "description": "", + "properties": { + "metering_label_rule": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "metering_label_rule", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "metering_label_rule" + ], + "type": "object" + }, + "metering_label_rule_patch": { + "description": "", + "properties": { + "metering_label_rule": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "metering_label_rule", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "metering_label_rule" + ], + "type": "object" + }, + "metering_label_rule_update": { + "description": "", + "properties": { + "metering_label_rule": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "metering_label_rule", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "metering_label_rule" + ], + "type": "object" + }, + "metering_label_update": { + "description": "", + "properties": { + "metering_label": { + "description": "", + "properties": { + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + } + }, + "type": "object" + } + }, + "required": [ + "metering_label" + ], + "type": "object" + }, + "ndp_proxy_create": { + "description": "", + "properties": { + "ndp_proxy": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "ndp_proxy", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "ndp_proxy" + ], + "type": "object" + }, + "ndp_proxy_patch": { + "description": "", + "properties": { + "ndp_proxy": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "ndp_proxy", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "ndp_proxy" + ], + "type": "object" + }, + "ndp_proxy_update": { + "description": "", + "properties": { + "ndp_proxy": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "ndp_proxy", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "ndp_proxy" + ], + "type": "object" + }, + "network_create": { + "description": "", + "properties": { + "network": { + "description": "", + "properties": { + "admin_state_up": { + "default": true, + "description": "Administrative state", + "type": "boolean" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "external": { + "default": false, + "description": "External network", + "type": "boolean" + }, + "mtu": { + "description": "MTU", + "example": 1500, + "minimum": 68, + "type": "integer" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port_security_enabled": { + "default": true, + "description": "Port security", + "type": "boolean" + }, + "provider:network_type": { + "description": "Provider network type", + "enum": [ + "local", + "flat", + "vlan", + "vxlan", + "gre" + ], + "type": "string" + }, + "provider:physical_network": { + "description": "Physical network label", + "type": "string" + }, + "provider:segmentation_id": { + "description": "Segmentation id", + "type": "integer" + }, + "router:external": { + "default": false, + "description": "Router external alias", + "type": "boolean" + }, + "shared": { + "default": false, + "description": "Shared across projects", + "type": "boolean" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "network" + ], + "type": "object" + }, + "network_patch": { + "description": "", + "properties": { + "network": { + "description": "", + "properties": { + "admin_state_up": { + "default": true, + "description": "Administrative state", + "type": "boolean" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "external": { + "default": false, + "description": "External network", + "type": "boolean" + }, + "mtu": { + "description": "MTU", + "example": 1500, + "minimum": 68, + "type": "integer" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port_security_enabled": { + "default": true, + "description": "Port security", + "type": "boolean" + }, + "provider:network_type": { + "description": "Provider network type", + "enum": [ + "local", + "flat", + "vlan", + "vxlan", + "gre" + ], + "type": "string" + }, + "provider:physical_network": { + "description": "Physical network label", + "type": "string" + }, + "provider:segmentation_id": { + "description": "Segmentation id", + "type": "integer" + }, + "router:external": { + "default": false, + "description": "Router external alias", + "type": "boolean" + }, + "shared": { + "default": false, + "description": "Shared across projects", + "type": "boolean" + } + }, + "type": "object" + } + }, + "required": [ + "network" + ], + "type": "object" + }, + "network_segment_range_create": { + "description": "", + "properties": { + "network_segment_range": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "network_segment_range", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "network_segment_range" + ], + "type": "object" + }, + "network_segment_range_patch": { + "description": "", + "properties": { + "network_segment_range": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "network_segment_range", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "network_segment_range" + ], + "type": "object" + }, + "network_segment_range_update": { + "description": "", + "properties": { + "network_segment_range": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "network_segment_range", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "network_segment_range" + ], + "type": "object" + }, + "network_update": { + "description": "", + "properties": { + "network": { + "description": "", + "properties": { + "admin_state_up": { + "default": true, + "description": "Administrative state", + "type": "boolean" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "external": { + "default": false, + "description": "External network", + "type": "boolean" + }, + "mtu": { + "description": "MTU", + "example": 1500, + "minimum": 68, + "type": "integer" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port_security_enabled": { + "default": true, + "description": "Port security", + "type": "boolean" + }, + "provider:network_type": { + "description": "Provider network type", + "enum": [ + "local", + "flat", + "vlan", + "vxlan", + "gre" + ], + "type": "string" + }, + "provider:physical_network": { + "description": "Physical network label", + "type": "string" + }, + "provider:segmentation_id": { + "description": "Segmentation id", + "type": "integer" + }, + "router:external": { + "default": false, + "description": "Router external alias", + "type": "boolean" + }, + "shared": { + "default": false, + "description": "Shared across projects", + "type": "boolean" + } + }, + "type": "object" + } + }, + "required": [ + "network" + ], + "type": "object" + }, + "neutron_flavor_create": { + "description": "", + "properties": { + "flavor": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "neutron_flavor", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "flavor" + ], + "type": "object" + }, + "neutron_flavor_patch": { + "description": "", + "properties": { + "flavor": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "neutron_flavor", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "flavor" + ], + "type": "object" + }, + "neutron_flavor_update": { + "description": "", + "properties": { + "flavor": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "neutron_flavor", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "flavor" + ], + "type": "object" + }, + "neutron_quota_update": { + "description": "", + "properties": { + "quota": { + "description": "", + "properties": { + "cores": { + "description": "", + "example": 20, + "type": "integer" + }, + "fixed_ips": { + "description": "", + "example": -1, + "type": "integer" + }, + "floating_ips": { + "description": "", + "example": 10, + "type": "integer" + }, + "force": { + "default": false, + "description": "", + "type": "boolean" + }, + "gigabytes": { + "description": "", + "example": 1000, + "type": "integer" + }, + "injected_file_content_bytes": { + "description": "", + "example": 10240, + "type": "integer" + }, + "injected_files": { + "description": "", + "example": 5, + "type": "integer" + }, + "instances": { + "description": "", + "example": 10, + "type": "integer" + }, + "key_pairs": { + "description": "", + "example": 100, + "type": "integer" + }, + "metadata_items": { + "description": "", + "example": 128, + "type": "integer" + }, + "networks": { + "description": "", + "example": 100, + "type": "integer" + }, + "ports": { + "description": "", + "example": 500, + "type": "integer" + }, + "ram": { + "description": "", + "example": 51200, + "type": "integer" + }, + "routers": { + "description": "", + "example": 10, + "type": "integer" + }, + "security_group_rules": { + "description": "", + "example": 20, + "type": "integer" + }, + "security_groups": { + "description": "", + "example": 10, + "type": "integer" + }, + "snapshots": { + "description": "", + "example": 10, + "type": "integer" + }, + "subnets": { + "description": "", + "example": 100, + "type": "integer" + }, + "volumes": { + "description": "", + "example": 10, + "type": "integer" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "port_create": { + "description": "", + "properties": { + "port": { + "description": "", + "properties": { + "admin_state_up": { + "default": true, + "description": "Administrative state", + "type": "boolean" + }, + "allowed_address_pairs": { + "description": "", + "items": { + "description": "", + "properties": { + "ip_address": { + "description": "", + "type": "string" + }, + "mac_address": { + "description": "", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "binding:vnic_type": { + "description": "VNIC type", + "enum": [ + "normal", + "direct", + "macvtap", + "baremetal" + ], + "type": "string" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "device_id": { + "description": "Device UUID", + "format": "uuid", + "type": "string" + }, + "device_owner": { + "description": "Device owner", + "type": "string" + }, + "fixed_ips": { + "description": "Fixed IPs", + "items": { + "description": "", + "properties": { + "ip_address": { + "description": "", + "type": "string" + }, + "subnet_id": { + "description": "", + "format": "uuid", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "mac_address": { + "description": "MAC address", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "network_id": { + "description": "Network UUID", + "format": "uuid", + "type": "string" + }, + "port_security_enabled": { + "description": "Port security", + "type": "boolean" + }, + "security_groups": { + "description": "", + "items": { + "description": "Security group UUID", + "format": "uuid", + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "network_id" + ], + "type": "object" + } + }, + "required": [ + "port" + ], + "type": "object" + }, + "port_patch": { + "description": "", + "properties": { + "port": { + "description": "", + "properties": { + "admin_state_up": { + "default": true, + "description": "Administrative state", + "type": "boolean" + }, + "allowed_address_pairs": { + "description": "", + "items": { + "description": "", + "properties": { + "ip_address": { + "description": "", + "type": "string" + }, + "mac_address": { + "description": "", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "binding:vnic_type": { + "description": "VNIC type", + "enum": [ + "normal", + "direct", + "macvtap", + "baremetal" + ], + "type": "string" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "device_id": { + "description": "Device UUID", + "format": "uuid", + "type": "string" + }, + "device_owner": { + "description": "Device owner", + "type": "string" + }, + "fixed_ips": { + "description": "Fixed IPs", + "items": { + "description": "", + "properties": { + "ip_address": { + "description": "", + "type": "string" + }, + "subnet_id": { + "description": "", + "format": "uuid", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "mac_address": { + "description": "MAC address", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "network_id": { + "description": "Network UUID", + "format": "uuid", + "type": "string" + }, + "port_security_enabled": { + "description": "Port security", + "type": "boolean" + }, + "security_groups": { + "description": "", + "items": { + "description": "Security group UUID", + "format": "uuid", + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + } + }, + "required": [ + "port" + ], + "type": "object" + }, + "port_update": { + "description": "", + "properties": { + "port": { + "description": "", + "properties": { + "admin_state_up": { + "default": true, + "description": "Administrative state", + "type": "boolean" + }, + "allowed_address_pairs": { + "description": "", + "items": { + "description": "", + "properties": { + "ip_address": { + "description": "", + "type": "string" + }, + "mac_address": { + "description": "", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "binding:vnic_type": { + "description": "VNIC type", + "enum": [ + "normal", + "direct", + "macvtap", + "baremetal" + ], + "type": "string" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "device_id": { + "description": "Device UUID", + "format": "uuid", + "type": "string" + }, + "device_owner": { + "description": "Device owner", + "type": "string" + }, + "fixed_ips": { + "description": "Fixed IPs", + "items": { + "description": "", + "properties": { + "ip_address": { + "description": "", + "type": "string" + }, + "subnet_id": { + "description": "", + "format": "uuid", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "mac_address": { + "description": "MAC address", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "network_id": { + "description": "Network UUID", + "format": "uuid", + "type": "string" + }, + "port_security_enabled": { + "description": "Port security", + "type": "boolean" + }, + "security_groups": { + "description": "", + "items": { + "description": "Security group UUID", + "format": "uuid", + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + } + }, + "required": [ + "port" + ], + "type": "object" + }, + "qos_bandwidth_limit_rule_create": { + "description": "", + "properties": { + "bandwidth_limit_rule": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "qos_bandwidth_limit_rule", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "bandwidth_limit_rule" + ], + "type": "object" + }, + "qos_bandwidth_limit_rule_patch": { + "description": "", + "properties": { + "bandwidth_limit_rule": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "qos_bandwidth_limit_rule", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "bandwidth_limit_rule" + ], + "type": "object" + }, + "qos_bandwidth_limit_rule_update": { + "description": "", + "properties": { + "bandwidth_limit_rule": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "qos_bandwidth_limit_rule", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "bandwidth_limit_rule" + ], + "type": "object" + }, + "qos_dscp_marking_rule_create": { + "description": "", + "properties": { + "dscp_marking_rule": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "qos_dscp_marking_rule", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "dscp_marking_rule" + ], + "type": "object" + }, + "qos_dscp_marking_rule_patch": { + "description": "", + "properties": { + "dscp_marking_rule": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "qos_dscp_marking_rule", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "dscp_marking_rule" + ], + "type": "object" + }, + "qos_dscp_marking_rule_update": { + "description": "", + "properties": { + "dscp_marking_rule": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "qos_dscp_marking_rule", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "dscp_marking_rule" + ], + "type": "object" + }, + "qos_minimum_bandwidth_rule_create": { + "description": "", + "properties": { + "minimum_bandwidth_rule": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "qos_minimum_bandwidth_rule", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "minimum_bandwidth_rule" + ], + "type": "object" + }, + "qos_minimum_bandwidth_rule_patch": { + "description": "", + "properties": { + "minimum_bandwidth_rule": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "qos_minimum_bandwidth_rule", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "minimum_bandwidth_rule" + ], + "type": "object" + }, + "qos_minimum_bandwidth_rule_update": { + "description": "", + "properties": { + "minimum_bandwidth_rule": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "qos_minimum_bandwidth_rule", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "minimum_bandwidth_rule" + ], + "type": "object" + }, + "qos_policy_create": { + "description": "", + "properties": { + "policy": { + "description": "", + "properties": { + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "is_default": { + "default": false, + "description": "", + "type": "boolean" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "policy" + ], + "type": "object" + }, + "qos_policy_patch": { + "description": "", + "properties": { + "policy": { + "description": "", + "properties": { + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "is_default": { + "default": false, + "description": "", + "type": "boolean" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + } + }, + "type": "object" + } + }, + "required": [ + "policy" + ], + "type": "object" + }, + "qos_policy_update": { + "description": "", + "properties": { + "policy": { + "description": "", + "properties": { + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "is_default": { + "default": false, + "description": "", + "type": "boolean" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + } + }, + "type": "object" + } + }, + "required": [ + "policy" + ], + "type": "object" + }, + "rbac_policy_create": { + "description": "", + "properties": { + "rbac_policy": { + "description": "", + "properties": { + "action": { + "description": "", + "enum": [ + "access_as_shared", + "access_as_external" + ], + "example": "access_as_shared", + "type": "string" + }, + "object_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "object_type": { + "description": "", + "example": "network", + "type": "string" + }, + "target_tenant": { + "description": "", + "format": "uuid", + "type": "string" + } + }, + "required": [ + "object_type", + "object_id", + "target_tenant", + "action" + ], + "type": "object" + } + }, + "required": [ + "rbac_policy" + ], + "type": "object" + }, + "rbac_policy_patch": { + "description": "", + "properties": { + "rbac_policy": { + "description": "", + "properties": { + "action": { + "description": "", + "enum": [ + "access_as_shared", + "access_as_external" + ], + "example": "access_as_shared", + "type": "string" + }, + "object_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "object_type": { + "description": "", + "example": "network", + "type": "string" + }, + "target_tenant": { + "description": "", + "format": "uuid", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "rbac_policy" + ], + "type": "object" + }, + "rbac_policy_update": { + "description": "", + "properties": { + "rbac_policy": { + "description": "", + "properties": { + "action": { + "description": "", + "enum": [ + "access_as_shared", + "access_as_external" + ], + "example": "access_as_shared", + "type": "string" + }, + "object_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "object_type": { + "description": "", + "example": "network", + "type": "string" + }, + "target_tenant": { + "description": "", + "format": "uuid", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "rbac_policy" + ], + "type": "object" + }, + "router_add_extraroutes": { + "description": "", + "properties": { + "router": { + "description": "", + "properties": { + "admin_state_up": { + "default": true, + "description": "Administrative state", + "type": "boolean" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "distributed": { + "description": "DVR router", + "type": "boolean" + }, + "external_gateway_info": { + "description": "", + "properties": { + "enable_snat": { + "default": true, + "description": "SNAT", + "type": "boolean" + }, + "external_fixed_ips": { + "description": "", + "items": { + "description": "", + "properties": { + "ip_address": { + "description": "", + "type": "string" + }, + "subnet_id": { + "description": "", + "format": "uuid", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "network_id": { + "description": "External network UUID", + "format": "uuid", + "type": "string" + } + }, + "type": "object" + }, + "ha": { + "description": "Highly available", + "type": "boolean" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "routes": { + "description": "", + "items": { + "description": "", + "properties": { + "destination": { + "description": "", + "type": "string" + }, + "nexthop": { + "description": "", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "type": "object" + }, + "router_add_interface": { + "description": "", + "properties": { + "port_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "subnet_id": { + "description": "", + "format": "uuid", + "type": "string" + } + }, + "type": "object" + }, + "router_create": { + "description": "", + "properties": { + "router": { + "description": "", + "properties": { + "admin_state_up": { + "default": true, + "description": "Administrative state", + "type": "boolean" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "distributed": { + "description": "DVR router", + "type": "boolean" + }, + "external_gateway_info": { + "description": "", + "properties": { + "enable_snat": { + "default": true, + "description": "SNAT", + "type": "boolean" + }, + "external_fixed_ips": { + "description": "", + "items": { + "description": "", + "properties": { + "ip_address": { + "description": "", + "type": "string" + }, + "subnet_id": { + "description": "", + "format": "uuid", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "network_id": { + "description": "External network UUID", + "format": "uuid", + "type": "string" + } + }, + "type": "object" + }, + "ha": { + "description": "Highly available", + "type": "boolean" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "routes": { + "description": "", + "items": { + "description": "", + "properties": { + "destination": { + "description": "", + "type": "string" + }, + "nexthop": { + "description": "", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "router" + ], + "type": "object" + }, + "router_patch": { + "description": "", + "properties": { + "router": { + "description": "", + "properties": { + "admin_state_up": { + "default": true, + "description": "Administrative state", + "type": "boolean" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "distributed": { + "description": "DVR router", + "type": "boolean" + }, + "external_gateway_info": { + "description": "", + "properties": { + "enable_snat": { + "default": true, + "description": "SNAT", + "type": "boolean" + }, + "external_fixed_ips": { + "description": "", + "items": { + "description": "", + "properties": { + "ip_address": { + "description": "", + "type": "string" + }, + "subnet_id": { + "description": "", + "format": "uuid", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "network_id": { + "description": "External network UUID", + "format": "uuid", + "type": "string" + } + }, + "type": "object" + }, + "ha": { + "description": "Highly available", + "type": "boolean" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "routes": { + "description": "", + "items": { + "description": "", + "properties": { + "destination": { + "description": "", + "type": "string" + }, + "nexthop": { + "description": "", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + } + }, + "type": "object" + } + }, + "required": [ + "router" + ], + "type": "object" + }, + "router_remove_extraroutes": { + "description": "", + "properties": { + "router": { + "description": "", + "properties": { + "admin_state_up": { + "default": true, + "description": "Administrative state", + "type": "boolean" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "distributed": { + "description": "DVR router", + "type": "boolean" + }, + "external_gateway_info": { + "description": "", + "properties": { + "enable_snat": { + "default": true, + "description": "SNAT", + "type": "boolean" + }, + "external_fixed_ips": { + "description": "", + "items": { + "description": "", + "properties": { + "ip_address": { + "description": "", + "type": "string" + }, + "subnet_id": { + "description": "", + "format": "uuid", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "network_id": { + "description": "External network UUID", + "format": "uuid", + "type": "string" + } + }, + "type": "object" + }, + "ha": { + "description": "Highly available", + "type": "boolean" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "routes": { + "description": "", + "items": { + "description": "", + "properties": { + "destination": { + "description": "", + "type": "string" + }, + "nexthop": { + "description": "", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "type": "object" + }, + "router_remove_interface": { + "description": "", + "properties": { + "port_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "subnet_id": { + "description": "", + "format": "uuid", + "type": "string" + } + }, + "type": "object" + }, + "router_update": { + "description": "", + "properties": { + "router": { + "description": "", + "properties": { + "admin_state_up": { + "default": true, + "description": "Administrative state", + "type": "boolean" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "distributed": { + "description": "DVR router", + "type": "boolean" + }, + "external_gateway_info": { + "description": "", + "properties": { + "enable_snat": { + "default": true, + "description": "SNAT", + "type": "boolean" + }, + "external_fixed_ips": { + "description": "", + "items": { + "description": "", + "properties": { + "ip_address": { + "description": "", + "type": "string" + }, + "subnet_id": { + "description": "", + "format": "uuid", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "network_id": { + "description": "External network UUID", + "format": "uuid", + "type": "string" + } + }, + "type": "object" + }, + "ha": { + "description": "Highly available", + "type": "boolean" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "routes": { + "description": "", + "items": { + "description": "", + "properties": { + "destination": { + "description": "", + "type": "string" + }, + "nexthop": { + "description": "", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + } + }, + "type": "object" + } + }, + "required": [ + "router" + ], + "type": "object" + }, + "security_group_create": { + "description": "", + "properties": { + "security_group": { + "description": "", + "properties": { + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "security_group" + ], + "type": "object" + }, + "security_group_patch": { + "description": "", + "properties": { + "security_group": { + "description": "", + "properties": { + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "security_group" + ], + "type": "object" + }, + "security_group_rule_create": { + "description": "", + "properties": { + "security_group_rule": { + "description": "", + "properties": { + "description": { + "description": "", + "type": "string" + }, + "direction": { + "description": "Direction", + "enum": [ + "ingress", + "egress" + ], + "example": "ingress", + "type": "string" + }, + "ethertype": { + "description": "Ethertype", + "enum": [ + "IPv4", + "IPv6" + ], + "example": "IPv4", + "type": "string" + }, + "port_range_max": { + "description": "Max port", + "example": 22, + "type": "integer" + }, + "port_range_min": { + "description": "Min port", + "example": 22, + "type": "integer" + }, + "protocol": { + "description": "Protocol", + "example": "tcp", + "type": "string" + }, + "remote_group_id": { + "description": "Remote SG UUID", + "format": "uuid", + "type": "string" + }, + "remote_ip_prefix": { + "description": "CIDR", + "example": "0.0.0.0/0", + "type": "string" + }, + "security_group_id": { + "description": "Security group UUID", + "format": "uuid", + "type": "string" + } + }, + "required": [ + "security_group_id", + "direction" + ], + "type": "object" + } + }, + "required": [ + "security_group_rule" + ], + "type": "object" + }, + "security_group_rule_patch": { + "description": "", + "properties": { + "security_group_rule": { + "description": "", + "properties": { + "description": { + "description": "", + "type": "string" + }, + "direction": { + "description": "Direction", + "enum": [ + "ingress", + "egress" + ], + "example": "ingress", + "type": "string" + }, + "ethertype": { + "description": "Ethertype", + "enum": [ + "IPv4", + "IPv6" + ], + "example": "IPv4", + "type": "string" + }, + "port_range_max": { + "description": "Max port", + "example": 22, + "type": "integer" + }, + "port_range_min": { + "description": "Min port", + "example": 22, + "type": "integer" + }, + "protocol": { + "description": "Protocol", + "example": "tcp", + "type": "string" + }, + "remote_group_id": { + "description": "Remote SG UUID", + "format": "uuid", + "type": "string" + }, + "remote_ip_prefix": { + "description": "CIDR", + "example": "0.0.0.0/0", + "type": "string" + }, + "security_group_id": { + "description": "Security group UUID", + "format": "uuid", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "security_group_rule" + ], + "type": "object" + }, + "security_group_rule_update": { + "description": "", + "properties": { + "security_group_rule": { + "description": "", + "properties": { + "description": { + "description": "", + "type": "string" + }, + "direction": { + "description": "Direction", + "enum": [ + "ingress", + "egress" + ], + "example": "ingress", + "type": "string" + }, + "ethertype": { + "description": "Ethertype", + "enum": [ + "IPv4", + "IPv6" + ], + "example": "IPv4", + "type": "string" + }, + "port_range_max": { + "description": "Max port", + "example": 22, + "type": "integer" + }, + "port_range_min": { + "description": "Min port", + "example": 22, + "type": "integer" + }, + "protocol": { + "description": "Protocol", + "example": "tcp", + "type": "string" + }, + "remote_group_id": { + "description": "Remote SG UUID", + "format": "uuid", + "type": "string" + }, + "remote_ip_prefix": { + "description": "CIDR", + "example": "0.0.0.0/0", + "type": "string" + }, + "security_group_id": { + "description": "Security group UUID", + "format": "uuid", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "security_group_rule" + ], + "type": "object" + }, + "security_group_update": { + "description": "", + "properties": { + "security_group": { + "description": "", + "properties": { + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "security_group" + ], + "type": "object" + }, + "segment_create": { + "description": "", + "properties": { + "segment": { + "description": "", + "properties": { + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "recovery_method": { + "description": "", + "enum": [ + "auto", + "reserved_host", + "auto_priority", + "rh_priority" + ], + "example": "auto", + "type": "string" + }, + "service_type": { + "description": "", + "enum": [ + "compute" + ], + "example": "compute", + "type": "string" + } + }, + "required": [ + "name", + "recovery_method", + "service_type" + ], + "type": "object" + } + }, + "required": [ + "segment" + ], + "type": "object" + }, + "segment_patch": { + "description": "", + "properties": { + "segment": { + "description": "", + "properties": { + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "recovery_method": { + "description": "", + "enum": [ + "auto", + "reserved_host", + "auto_priority", + "rh_priority" + ], + "example": "auto", + "type": "string" + }, + "service_type": { + "description": "", + "enum": [ + "compute" + ], + "example": "compute", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "segment" + ], + "type": "object" + }, + "segment_update": { + "description": "", + "properties": { + "segment": { + "description": "", + "properties": { + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "recovery_method": { + "description": "", + "enum": [ + "auto", + "reserved_host", + "auto_priority", + "rh_priority" + ], + "example": "auto", + "type": "string" + }, + "service_type": { + "description": "", + "enum": [ + "compute" + ], + "example": "compute", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "segment" + ], + "type": "object" + }, + "service_profile_create": { + "description": "", + "properties": { + "service_profile": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "service_profile", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "service_profile" + ], + "type": "object" + }, + "service_profile_patch": { + "description": "", + "properties": { + "service_profile": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "service_profile", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "service_profile" + ], + "type": "object" + }, + "service_profile_update": { + "description": "", + "properties": { + "service_profile": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "service_profile", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "service_profile" + ], + "type": "object" + }, + "subnet_create": { + "description": "", + "properties": { + "subnet": { + "description": "", + "properties": { + "allocation_pools": { + "description": "Allocation pools", + "items": { + "description": "", + "properties": { + "end": { + "description": "End IP", + "type": "string" + }, + "start": { + "description": "Start IP", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "cidr": { + "description": "CIDR", + "example": "10.0.0.0/24", + "type": "string" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "dns_nameservers": { + "description": "DNS nameservers", + "items": { + "description": "DNS server", + "type": "string" + }, + "type": "array" + }, + "enable_dhcp": { + "default": true, + "description": "DHCP enabled", + "type": "boolean" + }, + "gateway_ip": { + "description": "Gateway IP", + "type": "string" + }, + "host_routes": { + "description": "Host routes", + "items": { + "description": "", + "properties": { + "destination": { + "description": "", + "type": "string" + }, + "nexthop": { + "description": "", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "ip_version": { + "description": "IP version", + "example": 4, + "type": "integer" + }, + "ipv6_address_mode": { + "description": "IPv6 address mode", + "type": "string" + }, + "ipv6_ra_mode": { + "description": "IPv6 RA mode", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "network_id": { + "description": "Parent network UUID", + "format": "uuid", + "type": "string" + } + }, + "required": [ + "network_id", + "cidr", + "ip_version" + ], + "type": "object" + } + }, + "required": [ + "subnet" + ], + "type": "object" + }, + "subnet_patch": { + "description": "", + "properties": { + "subnet": { + "description": "", + "properties": { + "allocation_pools": { + "description": "Allocation pools", + "items": { + "description": "", + "properties": { + "end": { + "description": "End IP", + "type": "string" + }, + "start": { + "description": "Start IP", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "cidr": { + "description": "CIDR", + "example": "10.0.0.0/24", + "type": "string" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "dns_nameservers": { + "description": "DNS nameservers", + "items": { + "description": "DNS server", + "type": "string" + }, + "type": "array" + }, + "enable_dhcp": { + "default": true, + "description": "DHCP enabled", + "type": "boolean" + }, + "gateway_ip": { + "description": "Gateway IP", + "type": "string" + }, + "host_routes": { + "description": "Host routes", + "items": { + "description": "", + "properties": { + "destination": { + "description": "", + "type": "string" + }, + "nexthop": { + "description": "", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "ip_version": { + "description": "IP version", + "example": 4, + "type": "integer" + }, + "ipv6_address_mode": { + "description": "IPv6 address mode", + "type": "string" + }, + "ipv6_ra_mode": { + "description": "IPv6 RA mode", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "network_id": { + "description": "Parent network UUID", + "format": "uuid", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "subnet" + ], + "type": "object" + }, + "subnet_update": { + "description": "", + "properties": { + "subnet": { + "description": "", + "properties": { + "allocation_pools": { + "description": "Allocation pools", + "items": { + "description": "", + "properties": { + "end": { + "description": "End IP", + "type": "string" + }, + "start": { + "description": "Start IP", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "cidr": { + "description": "CIDR", + "example": "10.0.0.0/24", + "type": "string" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "dns_nameservers": { + "description": "DNS nameservers", + "items": { + "description": "DNS server", + "type": "string" + }, + "type": "array" + }, + "enable_dhcp": { + "default": true, + "description": "DHCP enabled", + "type": "boolean" + }, + "gateway_ip": { + "description": "Gateway IP", + "type": "string" + }, + "host_routes": { + "description": "Host routes", + "items": { + "description": "", + "properties": { + "destination": { + "description": "", + "type": "string" + }, + "nexthop": { + "description": "", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "ip_version": { + "description": "IP version", + "example": 4, + "type": "integer" + }, + "ipv6_address_mode": { + "description": "IPv6 address mode", + "type": "string" + }, + "ipv6_ra_mode": { + "description": "IPv6 RA mode", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "network_id": { + "description": "Parent network UUID", + "format": "uuid", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "subnet" + ], + "type": "object" + }, + "subnetpool_create": { + "description": "", + "properties": { + "subnetpool": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "subnetpool", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "subnetpool" + ], + "type": "object" + }, + "subnetpool_patch": { + "description": "", + "properties": { + "subnetpool": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "subnetpool", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "subnetpool" + ], + "type": "object" + }, + "subnetpool_update": { + "description": "", + "properties": { + "subnetpool": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "subnetpool", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "subnetpool" + ], + "type": "object" + }, + "trunk_create": { + "description": "", + "properties": { + "trunk": { + "description": "", + "properties": { + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "sub_ports": { + "description": "", + "items": { + "description": "", + "properties": { + "port_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "segmentation_id": { + "description": "", + "example": 100, + "type": "integer" + }, + "segmentation_type": { + "description": "", + "example": "vlan", + "type": "string" + } + }, + "required": [ + "port_id", + "segmentation_type", + "segmentation_id" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "port_id" + ], + "type": "object" + } + }, + "required": [ + "trunk" + ], + "type": "object" + }, + "trunk_patch": { + "description": "", + "properties": { + "trunk": { + "description": "", + "properties": { + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "sub_ports": { + "description": "", + "items": { + "description": "", + "properties": { + "port_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "segmentation_id": { + "description": "", + "example": 100, + "type": "integer" + }, + "segmentation_type": { + "description": "", + "example": "vlan", + "type": "string" + } + }, + "required": [ + "port_id", + "segmentation_type", + "segmentation_id" + ], + "type": "object" + }, + "type": "array" + } + }, + "type": "object" + } + }, + "required": [ + "trunk" + ], + "type": "object" + }, + "trunk_subport_create": { + "description": "", + "properties": { + "sub_port": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "trunk_subport", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "sub_port" + ], + "type": "object" + }, + "trunk_subport_patch": { + "description": "", + "properties": { + "sub_port": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "trunk_subport", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "sub_port" + ], + "type": "object" + }, + "trunk_subport_update": { + "description": "", + "properties": { + "sub_port": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "trunk_subport", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "sub_port" + ], + "type": "object" + }, + "trunk_update": { + "description": "", + "properties": { + "trunk": { + "description": "", + "properties": { + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "sub_ports": { + "description": "", + "items": { + "description": "", + "properties": { + "port_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "segmentation_id": { + "description": "", + "example": 100, + "type": "integer" + }, + "segmentation_type": { + "description": "", + "example": "vlan", + "type": "string" + } + }, + "required": [ + "port_id", + "segmentation_type", + "segmentation_id" + ], + "type": "object" + }, + "type": "array" + } + }, + "type": "object" + } + }, + "required": [ + "trunk" + ], + "type": "object" + }, + "vpn_endpoint_group_create": { + "description": "", + "properties": { + "endpoint_group": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "vpn_endpoint_group", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "endpoint_group" + ], + "type": "object" + }, + "vpn_endpoint_group_patch": { + "description": "", + "properties": { + "endpoint_group": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "vpn_endpoint_group", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "endpoint_group" + ], + "type": "object" + }, + "vpn_endpoint_group_update": { + "description": "", + "properties": { + "endpoint_group": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "vpn_endpoint_group", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "endpoint_group" + ], + "type": "object" + }, + "vpn_service_create": { + "description": "", + "properties": { + "vpnservice": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "vpn_service", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "vpnservice" + ], + "type": "object" + }, + "vpn_service_patch": { + "description": "", + "properties": { + "vpnservice": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "vpn_service", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "vpnservice" + ], + "type": "object" + }, + "vpn_service_update": { + "description": "", + "properties": { + "vpnservice": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "vpn_service", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "vpnservice" + ], + "type": "object" + } + }, + "service": "neutron", + "source": "generated-from-api-ref-catalog" +} diff --git a/contracts/openstack/request_bodies/nova.json b/contracts/openstack/request_bodies/nova.json new file mode 100644 index 0000000..8078cf8 --- /dev/null +++ b/contracts/openstack/request_bodies/nova.json @@ -0,0 +1,10356 @@ +{ + "by_path": { + "PATCH /v2.1/flavors/{flavor_id}/os-extra_specs/{id}": { + "description": "", + "properties": { + "extra_spec": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "flavor_extra_spec", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "extra_spec" + ], + "type": "object" + }, + "PATCH /v2.1/flavors/{id}": { + "description": "", + "properties": { + "flavor": { + "description": "", + "properties": { + "OS-FLV-EXT-DATA:ephemeral": { + "description": "", + "example": 0, + "type": "integer" + }, + "disk": { + "description": "Root disk GiB", + "example": 1, + "type": "integer" + }, + "id": { + "description": "", + "example": "auto", + "type": "string" + }, + "name": { + "description": "", + "example": "example", + "type": "string" + }, + "os-flavor-access:is_public": { + "default": true, + "description": "", + "type": "boolean" + }, + "ram": { + "description": "RAM MiB", + "example": 512, + "type": "integer" + }, + "rxtx_factor": { + "example": 1.0, + "type": "number" + }, + "swap": { + "description": "", + "example": 0, + "type": "integer" + }, + "vcpus": { + "description": "", + "example": 1, + "type": "integer" + } + }, + "type": "object" + } + }, + "required": [ + "flavor" + ], + "type": "object" + }, + "PATCH /v2.1/os-agents/{id}": { + "description": "", + "properties": { + "agent": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "agent", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "agent" + ], + "type": "object" + }, + "PATCH /v2.1/os-aggregates/{id}": { + "description": "", + "properties": { + "aggregate": { + "description": "", + "properties": { + "availability_zone": { + "description": "", + "example": "nova", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "", + "example": "example", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "aggregate" + ], + "type": "object" + }, + "PATCH /v2.1/os-keypairs/{id}": { + "description": "", + "properties": { + "keypair": { + "description": "", + "properties": { + "name": { + "description": "", + "example": "example", + "type": "string" + }, + "public_key": { + "description": "SSH public key", + "type": "string" + }, + "type": { + "description": "", + "enum": [ + "ssh", + "x509" + ], + "example": "ssh", + "type": "string" + }, + "user_id": { + "description": "", + "format": "uuid", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "keypair" + ], + "type": "object" + }, + "PATCH /v2.1/os-server-groups/{id}": { + "description": "", + "properties": { + "server_group": { + "description": "", + "properties": { + "name": { + "description": "", + "example": "example", + "type": "string" + }, + "policies": { + "description": "", + "items": { + "description": "", + "enum": [ + "affinity", + "anti-affinity", + "soft-affinity", + "soft-anti-affinity" + ], + "type": "string" + }, + "type": "array" + }, + "policy": { + "description": "", + "enum": [ + "affinity", + "anti-affinity", + "soft-affinity", + "soft-anti-affinity" + ], + "type": "string" + }, + "rules": { + "description": "", + "properties": { + "max_server_per_host": { + "description": "", + "example": 1, + "type": "integer" + } + }, + "type": "object" + } + }, + "type": "object" + } + }, + "required": [ + "server_group" + ], + "type": "object" + }, + "PATCH /v2.1/servers/{id}": { + "description": "", + "properties": { + "server": { + "description": "", + "properties": { + "adminPass": { + "description": "Admin password", + "type": "string" + }, + "availability_zone": { + "description": "AZ name", + "type": "string" + }, + "block_device_mapping_v2": { + "description": "", + "items": { + "description": "BDM v2 entry", + "properties": {}, + "type": "object" + }, + "type": "array" + }, + "config_drive": { + "description": "Attach config drive", + "type": "boolean" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "flavorRef": { + "description": "Flavor UUID or id", + "example": "1", + "type": "string" + }, + "imageRef": { + "description": "Image UUID", + "format": "uuid", + "type": "string" + }, + "key_name": { + "description": "Keypair name", + "type": "string" + }, + "max_count": { + "description": "Maximum instances", + "example": 1, + "minimum": 1, + "type": "integer" + }, + "metadata": { + "description": "Arbitrary key/value metadata", + "properties": {}, + "type": "object" + }, + "min_count": { + "description": "Minimum instances", + "example": 1, + "minimum": 1, + "type": "integer" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "networks": { + "description": "NICs", + "items": { + "description": "", + "properties": { + "fixed_ip": { + "description": "Fixed IP address", + "type": "string" + }, + "port": { + "description": "Port UUID", + "format": "uuid", + "type": "string" + }, + "uuid": { + "description": "Network UUID", + "format": "uuid", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "security_groups": { + "description": "", + "items": { + "description": "", + "properties": { + "name": { + "description": "Security group name", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "user_data": { + "description": "Base64 user data", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "server" + ], + "type": "object" + }, + "PATCH /v2.1/servers/{server_id}/consoles/{id}": { + "description": "", + "properties": { + "console": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "console", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "console" + ], + "type": "object" + }, + "PATCH /v2.1/servers/{server_id}/metadata/{id}": { + "description": "", + "properties": { + "metadata": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "server_metadata", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "metadata" + ], + "type": "object" + }, + "PATCH /v2.1/servers/{server_id}/migrations/{id}": { + "description": "", + "properties": { + "migration": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "server_migration", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "migration" + ], + "type": "object" + }, + "PATCH /v2.1/servers/{server_id}/os-instance-actions/{id}": { + "description": "", + "properties": { + "instanceAction": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "instance_action", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "instanceAction" + ], + "type": "object" + }, + "PATCH /v2.1/servers/{server_id}/os-interface/{id}": { + "description": "", + "properties": { + "interfaceAttachment": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "interface_attachment", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "interfaceAttachment" + ], + "type": "object" + }, + "PATCH /v2.1/servers/{server_id}/os-security-groups/{id}": { + "description": "", + "properties": { + "security_group": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "server_security_group", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "security_group" + ], + "type": "object" + }, + "PATCH /v2.1/servers/{server_id}/os-volume_attachments/{id}": { + "description": "", + "properties": { + "volumeAttachment": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "volume_attachment", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "volumeAttachment" + ], + "type": "object" + }, + "PATCH /v2.1/servers/{server_id}/tags/{id}": { + "description": "", + "properties": { + "tag": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "server_tag", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "tag" + ], + "type": "object" + }, + "POST /v2.1/flavors": { + "description": "", + "properties": { + "flavor": { + "description": "", + "properties": { + "OS-FLV-EXT-DATA:ephemeral": { + "description": "", + "example": 0, + "type": "integer" + }, + "disk": { + "description": "Root disk GiB", + "example": 1, + "type": "integer" + }, + "id": { + "description": "", + "example": "auto", + "type": "string" + }, + "name": { + "description": "", + "example": "example", + "type": "string" + }, + "os-flavor-access:is_public": { + "default": true, + "description": "", + "type": "boolean" + }, + "ram": { + "description": "RAM MiB", + "example": 512, + "type": "integer" + }, + "rxtx_factor": { + "example": 1.0, + "type": "number" + }, + "swap": { + "description": "", + "example": 0, + "type": "integer" + }, + "vcpus": { + "description": "", + "example": 1, + "type": "integer" + } + }, + "required": [ + "name", + "ram", + "vcpus", + "disk" + ], + "type": "object" + } + }, + "required": [ + "flavor" + ], + "type": "object" + }, + "POST /v2.1/flavors/{flavor_id}/os-extra_specs": { + "description": "", + "properties": { + "extra_spec": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "flavor_extra_spec", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "extra_spec" + ], + "type": "object" + }, + "POST /v2.1/os-agents": { + "description": "", + "properties": { + "agent": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "agent", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "agent" + ], + "type": "object" + }, + "POST /v2.1/os-aggregates": { + "description": "", + "properties": { + "aggregate": { + "description": "", + "properties": { + "availability_zone": { + "description": "", + "example": "nova", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "", + "example": "example", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "aggregate" + ], + "type": "object" + }, + "POST /v2.1/os-keypairs": { + "description": "", + "properties": { + "keypair": { + "description": "", + "properties": { + "name": { + "description": "", + "example": "example", + "type": "string" + }, + "public_key": { + "description": "SSH public key", + "type": "string" + }, + "type": { + "description": "", + "enum": [ + "ssh", + "x509" + ], + "example": "ssh", + "type": "string" + }, + "user_id": { + "description": "", + "format": "uuid", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "keypair" + ], + "type": "object" + }, + "POST /v2.1/os-server-external-events": { + "description": "", + "properties": { + "event": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "server_external_event", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "type": "object" + }, + "POST /v2.1/os-server-groups": { + "description": "", + "properties": { + "server_group": { + "description": "", + "properties": { + "name": { + "description": "", + "example": "example", + "type": "string" + }, + "policies": { + "description": "", + "items": { + "description": "", + "enum": [ + "affinity", + "anti-affinity", + "soft-affinity", + "soft-anti-affinity" + ], + "type": "string" + }, + "type": "array" + }, + "policy": { + "description": "", + "enum": [ + "affinity", + "anti-affinity", + "soft-affinity", + "soft-anti-affinity" + ], + "type": "string" + }, + "rules": { + "description": "", + "properties": { + "max_server_per_host": { + "description": "", + "example": 1, + "type": "integer" + } + }, + "type": "object" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "server_group" + ], + "type": "object" + }, + "POST /v2.1/servers": { + "description": "", + "properties": { + "server": { + "description": "", + "properties": { + "adminPass": { + "description": "Admin password", + "type": "string" + }, + "availability_zone": { + "description": "AZ name", + "type": "string" + }, + "block_device_mapping_v2": { + "description": "", + "items": { + "description": "BDM v2 entry", + "properties": {}, + "type": "object" + }, + "type": "array" + }, + "config_drive": { + "description": "Attach config drive", + "type": "boolean" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "flavorRef": { + "description": "Flavor UUID or id", + "example": "1", + "type": "string" + }, + "imageRef": { + "description": "Image UUID", + "format": "uuid", + "type": "string" + }, + "key_name": { + "description": "Keypair name", + "type": "string" + }, + "max_count": { + "description": "Maximum instances", + "example": 1, + "minimum": 1, + "type": "integer" + }, + "metadata": { + "description": "Arbitrary key/value metadata", + "properties": {}, + "type": "object" + }, + "min_count": { + "description": "Minimum instances", + "example": 1, + "minimum": 1, + "type": "integer" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "networks": { + "description": "NICs", + "items": { + "description": "", + "properties": { + "fixed_ip": { + "description": "Fixed IP address", + "type": "string" + }, + "port": { + "description": "Port UUID", + "format": "uuid", + "type": "string" + }, + "uuid": { + "description": "Network UUID", + "format": "uuid", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "security_groups": { + "description": "", + "items": { + "description": "", + "properties": { + "name": { + "description": "Security group name", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "user_data": { + "description": "Base64 user data", + "type": "string" + } + }, + "required": [ + "name", + "flavorRef", + "networks" + ], + "type": "object" + } + }, + "required": [ + "server" + ], + "type": "object" + }, + "POST /v2.1/servers/{id}/action": { + "description": "", + "properties": { + "os-start": { + "description": "Action os-start body (null object)", + "type": "null" + } + }, + "required": [ + "os-start" + ], + "type": "object" + }, + "POST /v2.1/servers/{server_id}/consoles": { + "description": "", + "properties": { + "console": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "console", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "console" + ], + "type": "object" + }, + "POST /v2.1/servers/{server_id}/metadata": { + "description": "", + "properties": { + "metadata": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "server_metadata", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "metadata" + ], + "type": "object" + }, + "POST /v2.1/servers/{server_id}/migrations": { + "description": "", + "properties": { + "migration": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "server_migration", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "migration" + ], + "type": "object" + }, + "POST /v2.1/servers/{server_id}/os-instance-actions": { + "description": "", + "properties": { + "instanceAction": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "instance_action", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "instanceAction" + ], + "type": "object" + }, + "POST /v2.1/servers/{server_id}/os-interface": { + "description": "", + "properties": { + "interfaceAttachment": { + "description": "", + "properties": { + "fixed_ips": { + "description": "", + "items": { + "description": "", + "properties": { + "ip_address": { + "description": "", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "net_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "port_id": { + "description": "", + "format": "uuid", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "interfaceAttachment" + ], + "type": "object" + }, + "POST /v2.1/servers/{server_id}/os-security-groups": { + "description": "", + "properties": { + "security_group": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "server_security_group", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "security_group" + ], + "type": "object" + }, + "POST /v2.1/servers/{server_id}/os-volume_attachments": { + "description": "", + "properties": { + "volumeAttachment": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "volume_attachment", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "volumeAttachment" + ], + "type": "object" + }, + "POST /v2.1/servers/{server_id}/remote-consoles": { + "description": "", + "properties": { + "remote_console": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "remote_console", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "type": "object" + }, + "POST /v2.1/servers/{server_id}/tags": { + "description": "", + "properties": { + "tags": { + "description": "", + "items": { + "description": "", + "example": "demo", + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "tags" + ], + "type": "object" + }, + "PUT /v2.1/flavors/{flavor_id}/os-extra_specs/{id}": { + "description": "", + "properties": { + "extra_spec": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "flavor_extra_spec", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "extra_spec" + ], + "type": "object" + }, + "PUT /v2.1/flavors/{id}": { + "description": "", + "properties": { + "flavor": { + "description": "", + "properties": { + "OS-FLV-EXT-DATA:ephemeral": { + "description": "", + "example": 0, + "type": "integer" + }, + "disk": { + "description": "Root disk GiB", + "example": 1, + "type": "integer" + }, + "id": { + "description": "", + "example": "auto", + "type": "string" + }, + "name": { + "description": "", + "example": "example", + "type": "string" + }, + "os-flavor-access:is_public": { + "default": true, + "description": "", + "type": "boolean" + }, + "ram": { + "description": "RAM MiB", + "example": 512, + "type": "integer" + }, + "rxtx_factor": { + "example": 1.0, + "type": "number" + }, + "swap": { + "description": "", + "example": 0, + "type": "integer" + }, + "vcpus": { + "description": "", + "example": 1, + "type": "integer" + } + }, + "type": "object" + } + }, + "required": [ + "flavor" + ], + "type": "object" + }, + "PUT /v2.1/os-agents/{id}": { + "description": "", + "properties": { + "agent": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "agent", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "agent" + ], + "type": "object" + }, + "PUT /v2.1/os-aggregates/{id}": { + "description": "", + "properties": { + "aggregate": { + "description": "", + "properties": { + "availability_zone": { + "description": "", + "example": "nova", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "", + "example": "example", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "aggregate" + ], + "type": "object" + }, + "PUT /v2.1/os-keypairs/{id}": { + "description": "", + "properties": { + "keypair": { + "description": "", + "properties": { + "name": { + "description": "", + "example": "example", + "type": "string" + }, + "public_key": { + "description": "SSH public key", + "type": "string" + }, + "type": { + "description": "", + "enum": [ + "ssh", + "x509" + ], + "example": "ssh", + "type": "string" + }, + "user_id": { + "description": "", + "format": "uuid", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "keypair" + ], + "type": "object" + }, + "PUT /v2.1/os-quota-sets/{id}": { + "description": "", + "properties": { + "quota_set": { + "description": "", + "properties": { + "cores": { + "description": "", + "example": 20, + "type": "integer" + }, + "fixed_ips": { + "description": "", + "example": -1, + "type": "integer" + }, + "floating_ips": { + "description": "", + "example": 10, + "type": "integer" + }, + "force": { + "default": false, + "description": "", + "type": "boolean" + }, + "gigabytes": { + "description": "", + "example": 1000, + "type": "integer" + }, + "injected_file_content_bytes": { + "description": "", + "example": 10240, + "type": "integer" + }, + "injected_files": { + "description": "", + "example": 5, + "type": "integer" + }, + "instances": { + "description": "", + "example": 10, + "type": "integer" + }, + "key_pairs": { + "description": "", + "example": 100, + "type": "integer" + }, + "metadata_items": { + "description": "", + "example": 128, + "type": "integer" + }, + "networks": { + "description": "", + "example": 100, + "type": "integer" + }, + "ports": { + "description": "", + "example": 500, + "type": "integer" + }, + "ram": { + "description": "", + "example": 51200, + "type": "integer" + }, + "routers": { + "description": "", + "example": 10, + "type": "integer" + }, + "security_group_rules": { + "description": "", + "example": 20, + "type": "integer" + }, + "security_groups": { + "description": "", + "example": 10, + "type": "integer" + }, + "snapshots": { + "description": "", + "example": 10, + "type": "integer" + }, + "subnets": { + "description": "", + "example": 100, + "type": "integer" + }, + "volumes": { + "description": "", + "example": 10, + "type": "integer" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "PUT /v2.1/os-server-groups/{id}": { + "description": "", + "properties": { + "server_group": { + "description": "", + "properties": { + "name": { + "description": "", + "example": "example", + "type": "string" + }, + "policies": { + "description": "", + "items": { + "description": "", + "enum": [ + "affinity", + "anti-affinity", + "soft-affinity", + "soft-anti-affinity" + ], + "type": "string" + }, + "type": "array" + }, + "policy": { + "description": "", + "enum": [ + "affinity", + "anti-affinity", + "soft-affinity", + "soft-anti-affinity" + ], + "type": "string" + }, + "rules": { + "description": "", + "properties": { + "max_server_per_host": { + "description": "", + "example": 1, + "type": "integer" + } + }, + "type": "object" + } + }, + "type": "object" + } + }, + "required": [ + "server_group" + ], + "type": "object" + }, + "PUT /v2.1/servers/{id}": { + "description": "", + "properties": { + "server": { + "description": "", + "properties": { + "adminPass": { + "description": "Admin password", + "type": "string" + }, + "availability_zone": { + "description": "AZ name", + "type": "string" + }, + "block_device_mapping_v2": { + "description": "", + "items": { + "description": "BDM v2 entry", + "properties": {}, + "type": "object" + }, + "type": "array" + }, + "config_drive": { + "description": "Attach config drive", + "type": "boolean" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "flavorRef": { + "description": "Flavor UUID or id", + "example": "1", + "type": "string" + }, + "imageRef": { + "description": "Image UUID", + "format": "uuid", + "type": "string" + }, + "key_name": { + "description": "Keypair name", + "type": "string" + }, + "max_count": { + "description": "Maximum instances", + "example": 1, + "minimum": 1, + "type": "integer" + }, + "metadata": { + "description": "Arbitrary key/value metadata", + "properties": {}, + "type": "object" + }, + "min_count": { + "description": "Minimum instances", + "example": 1, + "minimum": 1, + "type": "integer" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "networks": { + "description": "NICs", + "items": { + "description": "", + "properties": { + "fixed_ip": { + "description": "Fixed IP address", + "type": "string" + }, + "port": { + "description": "Port UUID", + "format": "uuid", + "type": "string" + }, + "uuid": { + "description": "Network UUID", + "format": "uuid", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "security_groups": { + "description": "", + "items": { + "description": "", + "properties": { + "name": { + "description": "Security group name", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "user_data": { + "description": "Base64 user data", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "server" + ], + "type": "object" + }, + "PUT /v2.1/servers/{server_id}/consoles/{id}": { + "description": "", + "properties": { + "console": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "console", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "console" + ], + "type": "object" + }, + "PUT /v2.1/servers/{server_id}/metadata/{id}": { + "description": "", + "properties": { + "metadata": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "server_metadata", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "metadata" + ], + "type": "object" + }, + "PUT /v2.1/servers/{server_id}/migrations/{id}": { + "description": "", + "properties": { + "migration": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "server_migration", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "migration" + ], + "type": "object" + }, + "PUT /v2.1/servers/{server_id}/os-instance-actions/{id}": { + "description": "", + "properties": { + "instanceAction": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "instance_action", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "instanceAction" + ], + "type": "object" + }, + "PUT /v2.1/servers/{server_id}/os-interface/{id}": { + "description": "", + "properties": { + "interfaceAttachment": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "interface_attachment", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "interfaceAttachment" + ], + "type": "object" + }, + "PUT /v2.1/servers/{server_id}/os-security-groups/{id}": { + "description": "", + "properties": { + "security_group": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "server_security_group", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "security_group" + ], + "type": "object" + }, + "PUT /v2.1/servers/{server_id}/os-volume_attachments/{id}": { + "description": "", + "properties": { + "volumeAttachment": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "volume_attachment", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "volumeAttachment" + ], + "type": "object" + }, + "PUT /v2.1/servers/{server_id}/tags/{id}": { + "description": "", + "properties": { + "tag": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "server_tag", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "tag" + ], + "type": "object" + } + }, + "operations": { + "agent_create": { + "description": "", + "properties": { + "agent": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "agent", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "agent" + ], + "type": "object" + }, + "agent_patch": { + "description": "", + "properties": { + "agent": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "agent", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "agent" + ], + "type": "object" + }, + "agent_update": { + "description": "", + "properties": { + "agent": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "agent", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "agent" + ], + "type": "object" + }, + "aggregate_create": { + "description": "", + "properties": { + "aggregate": { + "description": "", + "properties": { + "availability_zone": { + "description": "", + "example": "nova", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "", + "example": "example", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "aggregate" + ], + "type": "object" + }, + "aggregate_patch": { + "description": "", + "properties": { + "aggregate": { + "description": "", + "properties": { + "availability_zone": { + "description": "", + "example": "nova", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "", + "example": "example", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "aggregate" + ], + "type": "object" + }, + "aggregate_update": { + "description": "", + "properties": { + "aggregate": { + "description": "", + "properties": { + "availability_zone": { + "description": "", + "example": "nova", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "", + "example": "example", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "aggregate" + ], + "type": "object" + }, + "console_create": { + "description": "", + "properties": { + "console": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "console", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "console" + ], + "type": "object" + }, + "console_patch": { + "description": "", + "properties": { + "console": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "console", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "console" + ], + "type": "object" + }, + "console_update": { + "description": "", + "properties": { + "console": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "console", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "console" + ], + "type": "object" + }, + "flavor_create": { + "description": "", + "properties": { + "flavor": { + "description": "", + "properties": { + "OS-FLV-EXT-DATA:ephemeral": { + "description": "", + "example": 0, + "type": "integer" + }, + "disk": { + "description": "Root disk GiB", + "example": 1, + "type": "integer" + }, + "id": { + "description": "", + "example": "auto", + "type": "string" + }, + "name": { + "description": "", + "example": "example", + "type": "string" + }, + "os-flavor-access:is_public": { + "default": true, + "description": "", + "type": "boolean" + }, + "ram": { + "description": "RAM MiB", + "example": 512, + "type": "integer" + }, + "rxtx_factor": { + "example": 1.0, + "type": "number" + }, + "swap": { + "description": "", + "example": 0, + "type": "integer" + }, + "vcpus": { + "description": "", + "example": 1, + "type": "integer" + } + }, + "required": [ + "name", + "ram", + "vcpus", + "disk" + ], + "type": "object" + } + }, + "required": [ + "flavor" + ], + "type": "object" + }, + "flavor_extra_spec_create": { + "description": "", + "properties": { + "extra_spec": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "flavor_extra_spec", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "extra_spec" + ], + "type": "object" + }, + "flavor_extra_spec_patch": { + "description": "", + "properties": { + "extra_spec": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "flavor_extra_spec", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "extra_spec" + ], + "type": "object" + }, + "flavor_extra_spec_update": { + "description": "", + "properties": { + "extra_spec": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "flavor_extra_spec", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "extra_spec" + ], + "type": "object" + }, + "flavor_patch": { + "description": "", + "properties": { + "flavor": { + "description": "", + "properties": { + "OS-FLV-EXT-DATA:ephemeral": { + "description": "", + "example": 0, + "type": "integer" + }, + "disk": { + "description": "Root disk GiB", + "example": 1, + "type": "integer" + }, + "id": { + "description": "", + "example": "auto", + "type": "string" + }, + "name": { + "description": "", + "example": "example", + "type": "string" + }, + "os-flavor-access:is_public": { + "default": true, + "description": "", + "type": "boolean" + }, + "ram": { + "description": "RAM MiB", + "example": 512, + "type": "integer" + }, + "rxtx_factor": { + "example": 1.0, + "type": "number" + }, + "swap": { + "description": "", + "example": 0, + "type": "integer" + }, + "vcpus": { + "description": "", + "example": 1, + "type": "integer" + } + }, + "type": "object" + } + }, + "required": [ + "flavor" + ], + "type": "object" + }, + "flavor_update": { + "description": "", + "properties": { + "flavor": { + "description": "", + "properties": { + "OS-FLV-EXT-DATA:ephemeral": { + "description": "", + "example": 0, + "type": "integer" + }, + "disk": { + "description": "Root disk GiB", + "example": 1, + "type": "integer" + }, + "id": { + "description": "", + "example": "auto", + "type": "string" + }, + "name": { + "description": "", + "example": "example", + "type": "string" + }, + "os-flavor-access:is_public": { + "default": true, + "description": "", + "type": "boolean" + }, + "ram": { + "description": "RAM MiB", + "example": 512, + "type": "integer" + }, + "rxtx_factor": { + "example": 1.0, + "type": "number" + }, + "swap": { + "description": "", + "example": 0, + "type": "integer" + }, + "vcpus": { + "description": "", + "example": 1, + "type": "integer" + } + }, + "type": "object" + } + }, + "required": [ + "flavor" + ], + "type": "object" + }, + "instance_action_create": { + "description": "", + "properties": { + "instanceAction": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "instance_action", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "instanceAction" + ], + "type": "object" + }, + "instance_action_patch": { + "description": "", + "properties": { + "instanceAction": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "instance_action", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "instanceAction" + ], + "type": "object" + }, + "instance_action_update": { + "description": "", + "properties": { + "instanceAction": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "instance_action", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "instanceAction" + ], + "type": "object" + }, + "interface_attachment_create": { + "description": "", + "properties": { + "interfaceAttachment": { + "description": "", + "properties": { + "fixed_ips": { + "description": "", + "items": { + "description": "", + "properties": { + "ip_address": { + "description": "", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "net_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "port_id": { + "description": "", + "format": "uuid", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "interfaceAttachment" + ], + "type": "object" + }, + "interface_attachment_patch": { + "description": "", + "properties": { + "interfaceAttachment": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "interface_attachment", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "interfaceAttachment" + ], + "type": "object" + }, + "interface_attachment_update": { + "description": "", + "properties": { + "interfaceAttachment": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "interface_attachment", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "interfaceAttachment" + ], + "type": "object" + }, + "keypair_create": { + "description": "", + "properties": { + "keypair": { + "description": "", + "properties": { + "name": { + "description": "", + "example": "example", + "type": "string" + }, + "public_key": { + "description": "SSH public key", + "type": "string" + }, + "type": { + "description": "", + "enum": [ + "ssh", + "x509" + ], + "example": "ssh", + "type": "string" + }, + "user_id": { + "description": "", + "format": "uuid", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "keypair" + ], + "type": "object" + }, + "keypair_patch": { + "description": "", + "properties": { + "keypair": { + "description": "", + "properties": { + "name": { + "description": "", + "example": "example", + "type": "string" + }, + "public_key": { + "description": "SSH public key", + "type": "string" + }, + "type": { + "description": "", + "enum": [ + "ssh", + "x509" + ], + "example": "ssh", + "type": "string" + }, + "user_id": { + "description": "", + "format": "uuid", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "keypair" + ], + "type": "object" + }, + "keypair_update": { + "description": "", + "properties": { + "keypair": { + "description": "", + "properties": { + "name": { + "description": "", + "example": "example", + "type": "string" + }, + "public_key": { + "description": "SSH public key", + "type": "string" + }, + "type": { + "description": "", + "enum": [ + "ssh", + "x509" + ], + "example": "ssh", + "type": "string" + }, + "user_id": { + "description": "", + "format": "uuid", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "keypair" + ], + "type": "object" + }, + "quota_set_update": { + "description": "", + "properties": { + "quota_set": { + "description": "", + "properties": { + "cores": { + "description": "", + "example": 20, + "type": "integer" + }, + "fixed_ips": { + "description": "", + "example": -1, + "type": "integer" + }, + "floating_ips": { + "description": "", + "example": 10, + "type": "integer" + }, + "force": { + "default": false, + "description": "", + "type": "boolean" + }, + "gigabytes": { + "description": "", + "example": 1000, + "type": "integer" + }, + "injected_file_content_bytes": { + "description": "", + "example": 10240, + "type": "integer" + }, + "injected_files": { + "description": "", + "example": 5, + "type": "integer" + }, + "instances": { + "description": "", + "example": 10, + "type": "integer" + }, + "key_pairs": { + "description": "", + "example": 100, + "type": "integer" + }, + "metadata_items": { + "description": "", + "example": 128, + "type": "integer" + }, + "networks": { + "description": "", + "example": 100, + "type": "integer" + }, + "ports": { + "description": "", + "example": 500, + "type": "integer" + }, + "ram": { + "description": "", + "example": 51200, + "type": "integer" + }, + "routers": { + "description": "", + "example": 10, + "type": "integer" + }, + "security_group_rules": { + "description": "", + "example": 20, + "type": "integer" + }, + "security_groups": { + "description": "", + "example": 10, + "type": "integer" + }, + "snapshots": { + "description": "", + "example": 10, + "type": "integer" + }, + "subnets": { + "description": "", + "example": 100, + "type": "integer" + }, + "volumes": { + "description": "", + "example": 10, + "type": "integer" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "remote_console_create": { + "description": "", + "properties": { + "remote_console": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "remote_console", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "type": "object" + }, + "server_action": { + "description": "", + "properties": { + "os-start": { + "description": "Action os-start body (null object)", + "type": "null" + } + }, + "required": [ + "os-start" + ], + "type": "object" + }, + "server_create": { + "description": "", + "properties": { + "server": { + "description": "", + "properties": { + "adminPass": { + "description": "Admin password", + "type": "string" + }, + "availability_zone": { + "description": "AZ name", + "type": "string" + }, + "block_device_mapping_v2": { + "description": "", + "items": { + "description": "BDM v2 entry", + "properties": {}, + "type": "object" + }, + "type": "array" + }, + "config_drive": { + "description": "Attach config drive", + "type": "boolean" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "flavorRef": { + "description": "Flavor UUID or id", + "example": "1", + "type": "string" + }, + "imageRef": { + "description": "Image UUID", + "format": "uuid", + "type": "string" + }, + "key_name": { + "description": "Keypair name", + "type": "string" + }, + "max_count": { + "description": "Maximum instances", + "example": 1, + "minimum": 1, + "type": "integer" + }, + "metadata": { + "description": "Arbitrary key/value metadata", + "properties": {}, + "type": "object" + }, + "min_count": { + "description": "Minimum instances", + "example": 1, + "minimum": 1, + "type": "integer" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "networks": { + "description": "NICs", + "items": { + "description": "", + "properties": { + "fixed_ip": { + "description": "Fixed IP address", + "type": "string" + }, + "port": { + "description": "Port UUID", + "format": "uuid", + "type": "string" + }, + "uuid": { + "description": "Network UUID", + "format": "uuid", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "security_groups": { + "description": "", + "items": { + "description": "", + "properties": { + "name": { + "description": "Security group name", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "user_data": { + "description": "Base64 user data", + "type": "string" + } + }, + "required": [ + "name", + "flavorRef", + "networks" + ], + "type": "object" + } + }, + "required": [ + "server" + ], + "type": "object" + }, + "server_external_events": { + "description": "", + "properties": { + "event": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "server_external_event", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "type": "object" + }, + "server_group_create": { + "description": "", + "properties": { + "server_group": { + "description": "", + "properties": { + "name": { + "description": "", + "example": "example", + "type": "string" + }, + "policies": { + "description": "", + "items": { + "description": "", + "enum": [ + "affinity", + "anti-affinity", + "soft-affinity", + "soft-anti-affinity" + ], + "type": "string" + }, + "type": "array" + }, + "policy": { + "description": "", + "enum": [ + "affinity", + "anti-affinity", + "soft-affinity", + "soft-anti-affinity" + ], + "type": "string" + }, + "rules": { + "description": "", + "properties": { + "max_server_per_host": { + "description": "", + "example": 1, + "type": "integer" + } + }, + "type": "object" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "server_group" + ], + "type": "object" + }, + "server_group_patch": { + "description": "", + "properties": { + "server_group": { + "description": "", + "properties": { + "name": { + "description": "", + "example": "example", + "type": "string" + }, + "policies": { + "description": "", + "items": { + "description": "", + "enum": [ + "affinity", + "anti-affinity", + "soft-affinity", + "soft-anti-affinity" + ], + "type": "string" + }, + "type": "array" + }, + "policy": { + "description": "", + "enum": [ + "affinity", + "anti-affinity", + "soft-affinity", + "soft-anti-affinity" + ], + "type": "string" + }, + "rules": { + "description": "", + "properties": { + "max_server_per_host": { + "description": "", + "example": 1, + "type": "integer" + } + }, + "type": "object" + } + }, + "type": "object" + } + }, + "required": [ + "server_group" + ], + "type": "object" + }, + "server_group_update": { + "description": "", + "properties": { + "server_group": { + "description": "", + "properties": { + "name": { + "description": "", + "example": "example", + "type": "string" + }, + "policies": { + "description": "", + "items": { + "description": "", + "enum": [ + "affinity", + "anti-affinity", + "soft-affinity", + "soft-anti-affinity" + ], + "type": "string" + }, + "type": "array" + }, + "policy": { + "description": "", + "enum": [ + "affinity", + "anti-affinity", + "soft-affinity", + "soft-anti-affinity" + ], + "type": "string" + }, + "rules": { + "description": "", + "properties": { + "max_server_per_host": { + "description": "", + "example": 1, + "type": "integer" + } + }, + "type": "object" + } + }, + "type": "object" + } + }, + "required": [ + "server_group" + ], + "type": "object" + }, + "server_metadata_create": { + "description": "", + "properties": { + "metadata": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "server_metadata", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "metadata" + ], + "type": "object" + }, + "server_metadata_patch": { + "description": "", + "properties": { + "metadata": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "server_metadata", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "metadata" + ], + "type": "object" + }, + "server_metadata_update": { + "description": "", + "properties": { + "metadata": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "server_metadata", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "metadata" + ], + "type": "object" + }, + "server_migration_create": { + "description": "", + "properties": { + "migration": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "server_migration", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "migration" + ], + "type": "object" + }, + "server_migration_patch": { + "description": "", + "properties": { + "migration": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "server_migration", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "migration" + ], + "type": "object" + }, + "server_migration_update": { + "description": "", + "properties": { + "migration": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "server_migration", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "migration" + ], + "type": "object" + }, + "server_patch": { + "description": "", + "properties": { + "server": { + "description": "", + "properties": { + "adminPass": { + "description": "Admin password", + "type": "string" + }, + "availability_zone": { + "description": "AZ name", + "type": "string" + }, + "block_device_mapping_v2": { + "description": "", + "items": { + "description": "BDM v2 entry", + "properties": {}, + "type": "object" + }, + "type": "array" + }, + "config_drive": { + "description": "Attach config drive", + "type": "boolean" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "flavorRef": { + "description": "Flavor UUID or id", + "example": "1", + "type": "string" + }, + "imageRef": { + "description": "Image UUID", + "format": "uuid", + "type": "string" + }, + "key_name": { + "description": "Keypair name", + "type": "string" + }, + "max_count": { + "description": "Maximum instances", + "example": 1, + "minimum": 1, + "type": "integer" + }, + "metadata": { + "description": "Arbitrary key/value metadata", + "properties": {}, + "type": "object" + }, + "min_count": { + "description": "Minimum instances", + "example": 1, + "minimum": 1, + "type": "integer" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "networks": { + "description": "NICs", + "items": { + "description": "", + "properties": { + "fixed_ip": { + "description": "Fixed IP address", + "type": "string" + }, + "port": { + "description": "Port UUID", + "format": "uuid", + "type": "string" + }, + "uuid": { + "description": "Network UUID", + "format": "uuid", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "security_groups": { + "description": "", + "items": { + "description": "", + "properties": { + "name": { + "description": "Security group name", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "user_data": { + "description": "Base64 user data", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "server" + ], + "type": "object" + }, + "server_security_group_create": { + "description": "", + "properties": { + "security_group": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "server_security_group", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "security_group" + ], + "type": "object" + }, + "server_security_group_patch": { + "description": "", + "properties": { + "security_group": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "server_security_group", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "security_group" + ], + "type": "object" + }, + "server_security_group_update": { + "description": "", + "properties": { + "security_group": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "server_security_group", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "security_group" + ], + "type": "object" + }, + "server_tag_create": { + "description": "", + "properties": { + "tags": { + "description": "", + "items": { + "description": "", + "example": "demo", + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "tags" + ], + "type": "object" + }, + "server_tag_patch": { + "description": "", + "properties": { + "tag": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "server_tag", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "tag" + ], + "type": "object" + }, + "server_tag_update": { + "description": "", + "properties": { + "tag": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "server_tag", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "tag" + ], + "type": "object" + }, + "server_update": { + "description": "", + "properties": { + "server": { + "description": "", + "properties": { + "adminPass": { + "description": "Admin password", + "type": "string" + }, + "availability_zone": { + "description": "AZ name", + "type": "string" + }, + "block_device_mapping_v2": { + "description": "", + "items": { + "description": "BDM v2 entry", + "properties": {}, + "type": "object" + }, + "type": "array" + }, + "config_drive": { + "description": "Attach config drive", + "type": "boolean" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "flavorRef": { + "description": "Flavor UUID or id", + "example": "1", + "type": "string" + }, + "imageRef": { + "description": "Image UUID", + "format": "uuid", + "type": "string" + }, + "key_name": { + "description": "Keypair name", + "type": "string" + }, + "max_count": { + "description": "Maximum instances", + "example": 1, + "minimum": 1, + "type": "integer" + }, + "metadata": { + "description": "Arbitrary key/value metadata", + "properties": {}, + "type": "object" + }, + "min_count": { + "description": "Minimum instances", + "example": 1, + "minimum": 1, + "type": "integer" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "networks": { + "description": "NICs", + "items": { + "description": "", + "properties": { + "fixed_ip": { + "description": "Fixed IP address", + "type": "string" + }, + "port": { + "description": "Port UUID", + "format": "uuid", + "type": "string" + }, + "uuid": { + "description": "Network UUID", + "format": "uuid", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "security_groups": { + "description": "", + "items": { + "description": "", + "properties": { + "name": { + "description": "Security group name", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "user_data": { + "description": "Base64 user data", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "server" + ], + "type": "object" + }, + "volume_attachment_create": { + "description": "", + "properties": { + "volumeAttachment": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "volume_attachment", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "volumeAttachment" + ], + "type": "object" + }, + "volume_attachment_patch": { + "description": "", + "properties": { + "volumeAttachment": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "volume_attachment", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "volumeAttachment" + ], + "type": "object" + }, + "volume_attachment_update": { + "description": "", + "properties": { + "volumeAttachment": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "volume_attachment", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "volumeAttachment" + ], + "type": "object" + } + }, + "service": "nova", + "source": "generated-from-api-ref-catalog" +} diff --git a/contracts/openstack/request_bodies/octavia.json b/contracts/openstack/request_bodies/octavia.json new file mode 100644 index 0000000..7e22749 --- /dev/null +++ b/contracts/openstack/request_bodies/octavia.json @@ -0,0 +1,6910 @@ +{ + "by_path": { + "PATCH /v2/lbaas/flavorprofiles/{id}": { + "description": "", + "properties": { + "flavorprofile": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "flavorprofile", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "flavorprofile" + ], + "type": "object" + }, + "PATCH /v2/lbaas/flavors/{id}": { + "description": "", + "properties": { + "flavor": { + "description": "", + "properties": { + "OS-FLV-EXT-DATA:ephemeral": { + "description": "", + "example": 0, + "type": "integer" + }, + "disk": { + "description": "Root disk GiB", + "example": 1, + "type": "integer" + }, + "id": { + "description": "", + "example": "auto", + "type": "string" + }, + "name": { + "description": "", + "example": "example", + "type": "string" + }, + "os-flavor-access:is_public": { + "default": true, + "description": "", + "type": "boolean" + }, + "ram": { + "description": "RAM MiB", + "example": 512, + "type": "integer" + }, + "rxtx_factor": { + "example": 1.0, + "type": "number" + }, + "swap": { + "description": "", + "example": 0, + "type": "integer" + }, + "vcpus": { + "description": "", + "example": 1, + "type": "integer" + } + }, + "type": "object" + } + }, + "required": [ + "flavor" + ], + "type": "object" + }, + "PATCH /v2/lbaas/healthmonitors/{id}": { + "description": "", + "properties": { + "healthmonitor": { + "description": "", + "properties": { + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "delay": { + "description": "", + "example": 5, + "type": "integer" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "expected_codes": { + "description": "", + "example": "200", + "type": "string" + }, + "http_method": { + "description": "", + "example": "GET", + "type": "string" + }, + "max_retries": { + "description": "", + "example": 3, + "type": "integer" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "pool_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "timeout": { + "description": "", + "example": 3, + "type": "integer" + }, + "type": { + "description": "", + "enum": [ + "HTTP", + "HTTPS", + "PING", + "TCP", + "TLS-HELLO", + "UDP-CONNECT" + ], + "example": "HTTP", + "type": "string" + }, + "url_path": { + "description": "", + "example": "/", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "healthmonitor" + ], + "type": "object" + }, + "PATCH /v2/lbaas/l7policies/{id}": { + "description": "", + "properties": { + "l7policy": { + "description": "", + "properties": { + "action": { + "description": "", + "enum": [ + "REJECT", + "REDIRECT_TO_URL", + "REDIRECT_TO_POOL", + "REDIRECT_PREFIX" + ], + "example": "REJECT", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "listener_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "position": { + "description": "", + "example": 1, + "type": "integer" + }, + "redirect_pool_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "redirect_url": { + "description": "", + "format": "uri", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "l7policy" + ], + "type": "object" + }, + "PATCH /v2/lbaas/l7policies/{l7policy_id}/rules/{id}": { + "description": "", + "properties": { + "rule": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "l7rule", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "rule" + ], + "type": "object" + }, + "PATCH /v2/lbaas/listeners/{id}": { + "description": "", + "properties": { + "listener": { + "description": "", + "properties": { + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "connection_limit": { + "description": "", + "example": -1, + "type": "integer" + }, + "default_pool_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "insert_headers": { + "description": "", + "properties": {}, + "type": "object" + }, + "loadbalancer_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "protocol": { + "description": "", + "enum": [ + "HTTP", + "HTTPS", + "TCP", + "UDP", + "TERMINATED_HTTPS" + ], + "example": "HTTP", + "type": "string" + }, + "protocol_port": { + "description": "", + "example": 80, + "type": "integer" + } + }, + "type": "object" + } + }, + "required": [ + "listener" + ], + "type": "object" + }, + "PATCH /v2/lbaas/loadbalancers/{id}": { + "description": "", + "properties": { + "loadbalancer": { + "description": "", + "properties": { + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "flavor_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "listeners": { + "description": "", + "items": { + "description": "", + "properties": {}, + "type": "object" + }, + "type": "array" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "pools": { + "description": "", + "items": { + "description": "", + "properties": {}, + "type": "object" + }, + "type": "array" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "provider": { + "description": "Provider", + "example": "amphora", + "type": "string" + }, + "vip_address": { + "description": "VIP address", + "type": "string" + }, + "vip_network_id": { + "description": "VIP network UUID", + "format": "uuid", + "type": "string" + }, + "vip_subnet_id": { + "description": "VIP subnet UUID", + "format": "uuid", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "loadbalancer" + ], + "type": "object" + }, + "PATCH /v2/lbaas/pools/{id}": { + "description": "", + "properties": { + "pool": { + "description": "", + "properties": { + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "lb_algorithm": { + "description": "", + "enum": [ + "ROUND_ROBIN", + "LEAST_CONNECTIONS", + "SOURCE_IP" + ], + "example": "ROUND_ROBIN", + "type": "string" + }, + "listener_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "loadbalancer_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "protocol": { + "description": "", + "enum": [ + "HTTP", + "HTTPS", + "TCP", + "UDP", + "PROXY" + ], + "example": "HTTP", + "type": "string" + }, + "session_persistence": { + "description": "", + "properties": { + "cookie_name": { + "description": "", + "type": "string" + }, + "type": { + "description": "", + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + } + }, + "required": [ + "pool" + ], + "type": "object" + }, + "PATCH /v2/lbaas/pools/{pool_id}/members/{id}": { + "description": "", + "properties": { + "member": { + "description": "", + "properties": { + "address": { + "description": "Member IP", + "example": "10.0.0.10", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "backup": { + "default": false, + "description": "", + "type": "boolean" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "monitor_address": { + "description": "", + "type": "string" + }, + "monitor_port": { + "description": "", + "type": "integer" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "protocol_port": { + "description": "", + "example": 80, + "type": "integer" + }, + "subnet_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "weight": { + "description": "", + "example": 1, + "type": "integer" + } + }, + "type": "object" + } + }, + "required": [ + "member" + ], + "type": "object" + }, + "PATCH /v2/lbaas/providers/{id}": { + "description": "", + "properties": { + "provider": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "provider", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "provider" + ], + "type": "object" + }, + "PATCH /v2/lbaas/quotas/{id}": { + "description": "", + "properties": { + "quota": { + "description": "", + "properties": { + "cores": { + "description": "", + "example": 20, + "type": "integer" + }, + "fixed_ips": { + "description": "", + "example": -1, + "type": "integer" + }, + "floating_ips": { + "description": "", + "example": 10, + "type": "integer" + }, + "force": { + "default": false, + "description": "", + "type": "boolean" + }, + "gigabytes": { + "description": "", + "example": 1000, + "type": "integer" + }, + "injected_file_content_bytes": { + "description": "", + "example": 10240, + "type": "integer" + }, + "injected_files": { + "description": "", + "example": 5, + "type": "integer" + }, + "instances": { + "description": "", + "example": 10, + "type": "integer" + }, + "key_pairs": { + "description": "", + "example": 100, + "type": "integer" + }, + "metadata_items": { + "description": "", + "example": 128, + "type": "integer" + }, + "networks": { + "description": "", + "example": 100, + "type": "integer" + }, + "ports": { + "description": "", + "example": 500, + "type": "integer" + }, + "ram": { + "description": "", + "example": 51200, + "type": "integer" + }, + "routers": { + "description": "", + "example": 10, + "type": "integer" + }, + "security_group_rules": { + "description": "", + "example": 20, + "type": "integer" + }, + "security_groups": { + "description": "", + "example": 10, + "type": "integer" + }, + "snapshots": { + "description": "", + "example": 10, + "type": "integer" + }, + "subnets": { + "description": "", + "example": 100, + "type": "integer" + }, + "volumes": { + "description": "", + "example": 10, + "type": "integer" + } + }, + "type": "object" + } + }, + "required": [ + "quota" + ], + "type": "object" + }, + "PATCH /v2/octavia/amphorae/{id}": { + "description": "", + "properties": { + "amphorae": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "amphora", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "amphorae" + ], + "type": "object" + }, + "POST /v2/lbaas/flavorprofiles": { + "description": "", + "properties": { + "flavorprofile": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "flavorprofile", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "flavorprofile" + ], + "type": "object" + }, + "POST /v2/lbaas/flavors": { + "description": "", + "properties": { + "flavor": { + "description": "", + "properties": { + "OS-FLV-EXT-DATA:ephemeral": { + "description": "", + "example": 0, + "type": "integer" + }, + "disk": { + "description": "Root disk GiB", + "example": 1, + "type": "integer" + }, + "id": { + "description": "", + "example": "auto", + "type": "string" + }, + "name": { + "description": "", + "example": "example", + "type": "string" + }, + "os-flavor-access:is_public": { + "default": true, + "description": "", + "type": "boolean" + }, + "ram": { + "description": "RAM MiB", + "example": 512, + "type": "integer" + }, + "rxtx_factor": { + "example": 1.0, + "type": "number" + }, + "swap": { + "description": "", + "example": 0, + "type": "integer" + }, + "vcpus": { + "description": "", + "example": 1, + "type": "integer" + } + }, + "required": [ + "name", + "ram", + "vcpus", + "disk" + ], + "type": "object" + } + }, + "required": [ + "flavor" + ], + "type": "object" + }, + "POST /v2/lbaas/healthmonitors": { + "description": "", + "properties": { + "healthmonitor": { + "description": "", + "properties": { + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "delay": { + "description": "", + "example": 5, + "type": "integer" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "expected_codes": { + "description": "", + "example": "200", + "type": "string" + }, + "http_method": { + "description": "", + "example": "GET", + "type": "string" + }, + "max_retries": { + "description": "", + "example": 3, + "type": "integer" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "pool_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "timeout": { + "description": "", + "example": 3, + "type": "integer" + }, + "type": { + "description": "", + "enum": [ + "HTTP", + "HTTPS", + "PING", + "TCP", + "TLS-HELLO", + "UDP-CONNECT" + ], + "example": "HTTP", + "type": "string" + }, + "url_path": { + "description": "", + "example": "/", + "type": "string" + } + }, + "required": [ + "type", + "delay", + "timeout", + "max_retries", + "pool_id" + ], + "type": "object" + } + }, + "required": [ + "healthmonitor" + ], + "type": "object" + }, + "POST /v2/lbaas/l7policies": { + "description": "", + "properties": { + "l7policy": { + "description": "", + "properties": { + "action": { + "description": "", + "enum": [ + "REJECT", + "REDIRECT_TO_URL", + "REDIRECT_TO_POOL", + "REDIRECT_PREFIX" + ], + "example": "REJECT", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "listener_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "position": { + "description": "", + "example": 1, + "type": "integer" + }, + "redirect_pool_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "redirect_url": { + "description": "", + "format": "uri", + "type": "string" + } + }, + "required": [ + "listener_id", + "action" + ], + "type": "object" + } + }, + "required": [ + "l7policy" + ], + "type": "object" + }, + "POST /v2/lbaas/l7policies/{l7policy_id}/rules": { + "description": "", + "properties": { + "rule": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "l7rule", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "rule" + ], + "type": "object" + }, + "POST /v2/lbaas/listeners": { + "description": "", + "properties": { + "listener": { + "description": "", + "properties": { + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "connection_limit": { + "description": "", + "example": -1, + "type": "integer" + }, + "default_pool_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "insert_headers": { + "description": "", + "properties": {}, + "type": "object" + }, + "loadbalancer_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "protocol": { + "description": "", + "enum": [ + "HTTP", + "HTTPS", + "TCP", + "UDP", + "TERMINATED_HTTPS" + ], + "example": "HTTP", + "type": "string" + }, + "protocol_port": { + "description": "", + "example": 80, + "type": "integer" + } + }, + "required": [ + "loadbalancer_id", + "protocol", + "protocol_port" + ], + "type": "object" + } + }, + "required": [ + "listener" + ], + "type": "object" + }, + "POST /v2/lbaas/loadbalancers": { + "description": "", + "properties": { + "loadbalancer": { + "description": "", + "properties": { + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "flavor_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "listeners": { + "description": "", + "items": { + "description": "", + "properties": {}, + "type": "object" + }, + "type": "array" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "pools": { + "description": "", + "items": { + "description": "", + "properties": {}, + "type": "object" + }, + "type": "array" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "provider": { + "description": "Provider", + "example": "amphora", + "type": "string" + }, + "vip_address": { + "description": "VIP address", + "type": "string" + }, + "vip_network_id": { + "description": "VIP network UUID", + "format": "uuid", + "type": "string" + }, + "vip_subnet_id": { + "description": "VIP subnet UUID", + "format": "uuid", + "type": "string" + } + }, + "required": [ + "vip_subnet_id" + ], + "type": "object" + } + }, + "required": [ + "loadbalancer" + ], + "type": "object" + }, + "POST /v2/lbaas/pools": { + "description": "", + "properties": { + "pool": { + "description": "", + "properties": { + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "lb_algorithm": { + "description": "", + "enum": [ + "ROUND_ROBIN", + "LEAST_CONNECTIONS", + "SOURCE_IP" + ], + "example": "ROUND_ROBIN", + "type": "string" + }, + "listener_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "loadbalancer_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "protocol": { + "description": "", + "enum": [ + "HTTP", + "HTTPS", + "TCP", + "UDP", + "PROXY" + ], + "example": "HTTP", + "type": "string" + }, + "session_persistence": { + "description": "", + "properties": { + "cookie_name": { + "description": "", + "type": "string" + }, + "type": { + "description": "", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "lb_algorithm", + "protocol" + ], + "type": "object" + } + }, + "required": [ + "pool" + ], + "type": "object" + }, + "POST /v2/lbaas/pools/{pool_id}/members": { + "description": "", + "properties": { + "member": { + "description": "", + "properties": { + "address": { + "description": "Member IP", + "example": "10.0.0.10", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "backup": { + "default": false, + "description": "", + "type": "boolean" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "monitor_address": { + "description": "", + "type": "string" + }, + "monitor_port": { + "description": "", + "type": "integer" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "protocol_port": { + "description": "", + "example": 80, + "type": "integer" + }, + "subnet_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "weight": { + "description": "", + "example": 1, + "type": "integer" + } + }, + "required": [ + "address", + "protocol_port" + ], + "type": "object" + } + }, + "required": [ + "member" + ], + "type": "object" + }, + "POST /v2/lbaas/providers": { + "description": "", + "properties": { + "provider": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "provider", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "provider" + ], + "type": "object" + }, + "POST /v2/lbaas/quotas": { + "description": "", + "properties": { + "quota": { + "description": "", + "properties": { + "cores": { + "description": "", + "example": 20, + "type": "integer" + }, + "fixed_ips": { + "description": "", + "example": -1, + "type": "integer" + }, + "floating_ips": { + "description": "", + "example": 10, + "type": "integer" + }, + "force": { + "default": false, + "description": "", + "type": "boolean" + }, + "gigabytes": { + "description": "", + "example": 1000, + "type": "integer" + }, + "injected_file_content_bytes": { + "description": "", + "example": 10240, + "type": "integer" + }, + "injected_files": { + "description": "", + "example": 5, + "type": "integer" + }, + "instances": { + "description": "", + "example": 10, + "type": "integer" + }, + "key_pairs": { + "description": "", + "example": 100, + "type": "integer" + }, + "metadata_items": { + "description": "", + "example": 128, + "type": "integer" + }, + "networks": { + "description": "", + "example": 100, + "type": "integer" + }, + "ports": { + "description": "", + "example": 500, + "type": "integer" + }, + "ram": { + "description": "", + "example": 51200, + "type": "integer" + }, + "routers": { + "description": "", + "example": 10, + "type": "integer" + }, + "security_group_rules": { + "description": "", + "example": 20, + "type": "integer" + }, + "security_groups": { + "description": "", + "example": 10, + "type": "integer" + }, + "snapshots": { + "description": "", + "example": 10, + "type": "integer" + }, + "subnets": { + "description": "", + "example": 100, + "type": "integer" + }, + "volumes": { + "description": "", + "example": 10, + "type": "integer" + } + }, + "type": "object" + } + }, + "required": [ + "quota" + ], + "type": "object" + }, + "POST /v2/octavia/amphorae": { + "description": "", + "properties": { + "amphorae": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "amphora", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "amphorae" + ], + "type": "object" + }, + "PUT /v2/lbaas/flavorprofiles/{id}": { + "description": "", + "properties": { + "flavorprofile": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "flavorprofile", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "flavorprofile" + ], + "type": "object" + }, + "PUT /v2/lbaas/flavors/{id}": { + "description": "", + "properties": { + "flavor": { + "description": "", + "properties": { + "OS-FLV-EXT-DATA:ephemeral": { + "description": "", + "example": 0, + "type": "integer" + }, + "disk": { + "description": "Root disk GiB", + "example": 1, + "type": "integer" + }, + "id": { + "description": "", + "example": "auto", + "type": "string" + }, + "name": { + "description": "", + "example": "example", + "type": "string" + }, + "os-flavor-access:is_public": { + "default": true, + "description": "", + "type": "boolean" + }, + "ram": { + "description": "RAM MiB", + "example": 512, + "type": "integer" + }, + "rxtx_factor": { + "example": 1.0, + "type": "number" + }, + "swap": { + "description": "", + "example": 0, + "type": "integer" + }, + "vcpus": { + "description": "", + "example": 1, + "type": "integer" + } + }, + "type": "object" + } + }, + "required": [ + "flavor" + ], + "type": "object" + }, + "PUT /v2/lbaas/healthmonitors/{id}": { + "description": "", + "properties": { + "healthmonitor": { + "description": "", + "properties": { + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "delay": { + "description": "", + "example": 5, + "type": "integer" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "expected_codes": { + "description": "", + "example": "200", + "type": "string" + }, + "http_method": { + "description": "", + "example": "GET", + "type": "string" + }, + "max_retries": { + "description": "", + "example": 3, + "type": "integer" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "pool_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "timeout": { + "description": "", + "example": 3, + "type": "integer" + }, + "type": { + "description": "", + "enum": [ + "HTTP", + "HTTPS", + "PING", + "TCP", + "TLS-HELLO", + "UDP-CONNECT" + ], + "example": "HTTP", + "type": "string" + }, + "url_path": { + "description": "", + "example": "/", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "healthmonitor" + ], + "type": "object" + }, + "PUT /v2/lbaas/l7policies/{id}": { + "description": "", + "properties": { + "l7policy": { + "description": "", + "properties": { + "action": { + "description": "", + "enum": [ + "REJECT", + "REDIRECT_TO_URL", + "REDIRECT_TO_POOL", + "REDIRECT_PREFIX" + ], + "example": "REJECT", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "listener_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "position": { + "description": "", + "example": 1, + "type": "integer" + }, + "redirect_pool_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "redirect_url": { + "description": "", + "format": "uri", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "l7policy" + ], + "type": "object" + }, + "PUT /v2/lbaas/l7policies/{l7policy_id}/rules/{id}": { + "description": "", + "properties": { + "rule": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "l7rule", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "rule" + ], + "type": "object" + }, + "PUT /v2/lbaas/listeners/{id}": { + "description": "", + "properties": { + "listener": { + "description": "", + "properties": { + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "connection_limit": { + "description": "", + "example": -1, + "type": "integer" + }, + "default_pool_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "insert_headers": { + "description": "", + "properties": {}, + "type": "object" + }, + "loadbalancer_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "protocol": { + "description": "", + "enum": [ + "HTTP", + "HTTPS", + "TCP", + "UDP", + "TERMINATED_HTTPS" + ], + "example": "HTTP", + "type": "string" + }, + "protocol_port": { + "description": "", + "example": 80, + "type": "integer" + } + }, + "type": "object" + } + }, + "required": [ + "listener" + ], + "type": "object" + }, + "PUT /v2/lbaas/loadbalancers/{id}": { + "description": "", + "properties": { + "loadbalancer": { + "description": "", + "properties": { + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "flavor_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "listeners": { + "description": "", + "items": { + "description": "", + "properties": {}, + "type": "object" + }, + "type": "array" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "pools": { + "description": "", + "items": { + "description": "", + "properties": {}, + "type": "object" + }, + "type": "array" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "provider": { + "description": "Provider", + "example": "amphora", + "type": "string" + }, + "vip_address": { + "description": "VIP address", + "type": "string" + }, + "vip_network_id": { + "description": "VIP network UUID", + "format": "uuid", + "type": "string" + }, + "vip_subnet_id": { + "description": "VIP subnet UUID", + "format": "uuid", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "loadbalancer" + ], + "type": "object" + }, + "PUT /v2/lbaas/loadbalancers/{id}/failover": { + "description": "", + "properties": { + "os-start": { + "description": "Action os-start body (null object)", + "type": "null" + } + }, + "required": [ + "os-start" + ], + "type": "object" + }, + "PUT /v2/lbaas/pools/{id}": { + "description": "", + "properties": { + "pool": { + "description": "", + "properties": { + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "lb_algorithm": { + "description": "", + "enum": [ + "ROUND_ROBIN", + "LEAST_CONNECTIONS", + "SOURCE_IP" + ], + "example": "ROUND_ROBIN", + "type": "string" + }, + "listener_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "loadbalancer_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "protocol": { + "description": "", + "enum": [ + "HTTP", + "HTTPS", + "TCP", + "UDP", + "PROXY" + ], + "example": "HTTP", + "type": "string" + }, + "session_persistence": { + "description": "", + "properties": { + "cookie_name": { + "description": "", + "type": "string" + }, + "type": { + "description": "", + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + } + }, + "required": [ + "pool" + ], + "type": "object" + }, + "PUT /v2/lbaas/pools/{pool_id}/members/{id}": { + "description": "", + "properties": { + "member": { + "description": "", + "properties": { + "address": { + "description": "Member IP", + "example": "10.0.0.10", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "backup": { + "default": false, + "description": "", + "type": "boolean" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "monitor_address": { + "description": "", + "type": "string" + }, + "monitor_port": { + "description": "", + "type": "integer" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "protocol_port": { + "description": "", + "example": 80, + "type": "integer" + }, + "subnet_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "weight": { + "description": "", + "example": 1, + "type": "integer" + } + }, + "type": "object" + } + }, + "required": [ + "member" + ], + "type": "object" + }, + "PUT /v2/lbaas/providers/{id}": { + "description": "", + "properties": { + "provider": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "provider", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "provider" + ], + "type": "object" + }, + "PUT /v2/lbaas/quotas/{id}": { + "description": "", + "properties": { + "quota": { + "description": "", + "properties": { + "cores": { + "description": "", + "example": 20, + "type": "integer" + }, + "fixed_ips": { + "description": "", + "example": -1, + "type": "integer" + }, + "floating_ips": { + "description": "", + "example": 10, + "type": "integer" + }, + "force": { + "default": false, + "description": "", + "type": "boolean" + }, + "gigabytes": { + "description": "", + "example": 1000, + "type": "integer" + }, + "injected_file_content_bytes": { + "description": "", + "example": 10240, + "type": "integer" + }, + "injected_files": { + "description": "", + "example": 5, + "type": "integer" + }, + "instances": { + "description": "", + "example": 10, + "type": "integer" + }, + "key_pairs": { + "description": "", + "example": 100, + "type": "integer" + }, + "metadata_items": { + "description": "", + "example": 128, + "type": "integer" + }, + "networks": { + "description": "", + "example": 100, + "type": "integer" + }, + "ports": { + "description": "", + "example": 500, + "type": "integer" + }, + "ram": { + "description": "", + "example": 51200, + "type": "integer" + }, + "routers": { + "description": "", + "example": 10, + "type": "integer" + }, + "security_group_rules": { + "description": "", + "example": 20, + "type": "integer" + }, + "security_groups": { + "description": "", + "example": 10, + "type": "integer" + }, + "snapshots": { + "description": "", + "example": 10, + "type": "integer" + }, + "subnets": { + "description": "", + "example": 100, + "type": "integer" + }, + "volumes": { + "description": "", + "example": 10, + "type": "integer" + } + }, + "type": "object" + } + }, + "required": [ + "quota" + ], + "type": "object" + }, + "PUT /v2/octavia/amphorae/{id}": { + "description": "", + "properties": { + "amphorae": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "amphora", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "amphorae" + ], + "type": "object" + } + }, + "operations": { + "amphora_create": { + "description": "", + "properties": { + "amphorae": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "amphora", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "amphorae" + ], + "type": "object" + }, + "amphora_patch": { + "description": "", + "properties": { + "amphorae": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "amphora", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "amphorae" + ], + "type": "object" + }, + "amphora_update": { + "description": "", + "properties": { + "amphorae": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "amphora", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "amphorae" + ], + "type": "object" + }, + "flavor_create": { + "description": "", + "properties": { + "flavor": { + "description": "", + "properties": { + "OS-FLV-EXT-DATA:ephemeral": { + "description": "", + "example": 0, + "type": "integer" + }, + "disk": { + "description": "Root disk GiB", + "example": 1, + "type": "integer" + }, + "id": { + "description": "", + "example": "auto", + "type": "string" + }, + "name": { + "description": "", + "example": "example", + "type": "string" + }, + "os-flavor-access:is_public": { + "default": true, + "description": "", + "type": "boolean" + }, + "ram": { + "description": "RAM MiB", + "example": 512, + "type": "integer" + }, + "rxtx_factor": { + "example": 1.0, + "type": "number" + }, + "swap": { + "description": "", + "example": 0, + "type": "integer" + }, + "vcpus": { + "description": "", + "example": 1, + "type": "integer" + } + }, + "required": [ + "name", + "ram", + "vcpus", + "disk" + ], + "type": "object" + } + }, + "required": [ + "flavor" + ], + "type": "object" + }, + "flavor_patch": { + "description": "", + "properties": { + "flavor": { + "description": "", + "properties": { + "OS-FLV-EXT-DATA:ephemeral": { + "description": "", + "example": 0, + "type": "integer" + }, + "disk": { + "description": "Root disk GiB", + "example": 1, + "type": "integer" + }, + "id": { + "description": "", + "example": "auto", + "type": "string" + }, + "name": { + "description": "", + "example": "example", + "type": "string" + }, + "os-flavor-access:is_public": { + "default": true, + "description": "", + "type": "boolean" + }, + "ram": { + "description": "RAM MiB", + "example": 512, + "type": "integer" + }, + "rxtx_factor": { + "example": 1.0, + "type": "number" + }, + "swap": { + "description": "", + "example": 0, + "type": "integer" + }, + "vcpus": { + "description": "", + "example": 1, + "type": "integer" + } + }, + "type": "object" + } + }, + "required": [ + "flavor" + ], + "type": "object" + }, + "flavor_update": { + "description": "", + "properties": { + "flavor": { + "description": "", + "properties": { + "OS-FLV-EXT-DATA:ephemeral": { + "description": "", + "example": 0, + "type": "integer" + }, + "disk": { + "description": "Root disk GiB", + "example": 1, + "type": "integer" + }, + "id": { + "description": "", + "example": "auto", + "type": "string" + }, + "name": { + "description": "", + "example": "example", + "type": "string" + }, + "os-flavor-access:is_public": { + "default": true, + "description": "", + "type": "boolean" + }, + "ram": { + "description": "RAM MiB", + "example": 512, + "type": "integer" + }, + "rxtx_factor": { + "example": 1.0, + "type": "number" + }, + "swap": { + "description": "", + "example": 0, + "type": "integer" + }, + "vcpus": { + "description": "", + "example": 1, + "type": "integer" + } + }, + "type": "object" + } + }, + "required": [ + "flavor" + ], + "type": "object" + }, + "flavorprofile_create": { + "description": "", + "properties": { + "flavorprofile": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "flavorprofile", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "flavorprofile" + ], + "type": "object" + }, + "flavorprofile_patch": { + "description": "", + "properties": { + "flavorprofile": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "flavorprofile", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "flavorprofile" + ], + "type": "object" + }, + "flavorprofile_update": { + "description": "", + "properties": { + "flavorprofile": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "flavorprofile", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "flavorprofile" + ], + "type": "object" + }, + "healthmonitor_create": { + "description": "", + "properties": { + "healthmonitor": { + "description": "", + "properties": { + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "delay": { + "description": "", + "example": 5, + "type": "integer" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "expected_codes": { + "description": "", + "example": "200", + "type": "string" + }, + "http_method": { + "description": "", + "example": "GET", + "type": "string" + }, + "max_retries": { + "description": "", + "example": 3, + "type": "integer" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "pool_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "timeout": { + "description": "", + "example": 3, + "type": "integer" + }, + "type": { + "description": "", + "enum": [ + "HTTP", + "HTTPS", + "PING", + "TCP", + "TLS-HELLO", + "UDP-CONNECT" + ], + "example": "HTTP", + "type": "string" + }, + "url_path": { + "description": "", + "example": "/", + "type": "string" + } + }, + "required": [ + "type", + "delay", + "timeout", + "max_retries", + "pool_id" + ], + "type": "object" + } + }, + "required": [ + "healthmonitor" + ], + "type": "object" + }, + "healthmonitor_patch": { + "description": "", + "properties": { + "healthmonitor": { + "description": "", + "properties": { + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "delay": { + "description": "", + "example": 5, + "type": "integer" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "expected_codes": { + "description": "", + "example": "200", + "type": "string" + }, + "http_method": { + "description": "", + "example": "GET", + "type": "string" + }, + "max_retries": { + "description": "", + "example": 3, + "type": "integer" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "pool_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "timeout": { + "description": "", + "example": 3, + "type": "integer" + }, + "type": { + "description": "", + "enum": [ + "HTTP", + "HTTPS", + "PING", + "TCP", + "TLS-HELLO", + "UDP-CONNECT" + ], + "example": "HTTP", + "type": "string" + }, + "url_path": { + "description": "", + "example": "/", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "healthmonitor" + ], + "type": "object" + }, + "healthmonitor_update": { + "description": "", + "properties": { + "healthmonitor": { + "description": "", + "properties": { + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "delay": { + "description": "", + "example": 5, + "type": "integer" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "expected_codes": { + "description": "", + "example": "200", + "type": "string" + }, + "http_method": { + "description": "", + "example": "GET", + "type": "string" + }, + "max_retries": { + "description": "", + "example": 3, + "type": "integer" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "pool_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "timeout": { + "description": "", + "example": 3, + "type": "integer" + }, + "type": { + "description": "", + "enum": [ + "HTTP", + "HTTPS", + "PING", + "TCP", + "TLS-HELLO", + "UDP-CONNECT" + ], + "example": "HTTP", + "type": "string" + }, + "url_path": { + "description": "", + "example": "/", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "healthmonitor" + ], + "type": "object" + }, + "l7policy_create": { + "description": "", + "properties": { + "l7policy": { + "description": "", + "properties": { + "action": { + "description": "", + "enum": [ + "REJECT", + "REDIRECT_TO_URL", + "REDIRECT_TO_POOL", + "REDIRECT_PREFIX" + ], + "example": "REJECT", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "listener_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "position": { + "description": "", + "example": 1, + "type": "integer" + }, + "redirect_pool_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "redirect_url": { + "description": "", + "format": "uri", + "type": "string" + } + }, + "required": [ + "listener_id", + "action" + ], + "type": "object" + } + }, + "required": [ + "l7policy" + ], + "type": "object" + }, + "l7policy_patch": { + "description": "", + "properties": { + "l7policy": { + "description": "", + "properties": { + "action": { + "description": "", + "enum": [ + "REJECT", + "REDIRECT_TO_URL", + "REDIRECT_TO_POOL", + "REDIRECT_PREFIX" + ], + "example": "REJECT", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "listener_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "position": { + "description": "", + "example": 1, + "type": "integer" + }, + "redirect_pool_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "redirect_url": { + "description": "", + "format": "uri", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "l7policy" + ], + "type": "object" + }, + "l7policy_update": { + "description": "", + "properties": { + "l7policy": { + "description": "", + "properties": { + "action": { + "description": "", + "enum": [ + "REJECT", + "REDIRECT_TO_URL", + "REDIRECT_TO_POOL", + "REDIRECT_PREFIX" + ], + "example": "REJECT", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "listener_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "position": { + "description": "", + "example": 1, + "type": "integer" + }, + "redirect_pool_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "redirect_url": { + "description": "", + "format": "uri", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "l7policy" + ], + "type": "object" + }, + "l7rule_create": { + "description": "", + "properties": { + "rule": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "l7rule", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "rule" + ], + "type": "object" + }, + "l7rule_patch": { + "description": "", + "properties": { + "rule": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "l7rule", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "rule" + ], + "type": "object" + }, + "l7rule_update": { + "description": "", + "properties": { + "rule": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "l7rule", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "rule" + ], + "type": "object" + }, + "listener_create": { + "description": "", + "properties": { + "listener": { + "description": "", + "properties": { + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "connection_limit": { + "description": "", + "example": -1, + "type": "integer" + }, + "default_pool_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "insert_headers": { + "description": "", + "properties": {}, + "type": "object" + }, + "loadbalancer_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "protocol": { + "description": "", + "enum": [ + "HTTP", + "HTTPS", + "TCP", + "UDP", + "TERMINATED_HTTPS" + ], + "example": "HTTP", + "type": "string" + }, + "protocol_port": { + "description": "", + "example": 80, + "type": "integer" + } + }, + "required": [ + "loadbalancer_id", + "protocol", + "protocol_port" + ], + "type": "object" + } + }, + "required": [ + "listener" + ], + "type": "object" + }, + "listener_patch": { + "description": "", + "properties": { + "listener": { + "description": "", + "properties": { + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "connection_limit": { + "description": "", + "example": -1, + "type": "integer" + }, + "default_pool_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "insert_headers": { + "description": "", + "properties": {}, + "type": "object" + }, + "loadbalancer_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "protocol": { + "description": "", + "enum": [ + "HTTP", + "HTTPS", + "TCP", + "UDP", + "TERMINATED_HTTPS" + ], + "example": "HTTP", + "type": "string" + }, + "protocol_port": { + "description": "", + "example": 80, + "type": "integer" + } + }, + "type": "object" + } + }, + "required": [ + "listener" + ], + "type": "object" + }, + "listener_update": { + "description": "", + "properties": { + "listener": { + "description": "", + "properties": { + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "connection_limit": { + "description": "", + "example": -1, + "type": "integer" + }, + "default_pool_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "insert_headers": { + "description": "", + "properties": {}, + "type": "object" + }, + "loadbalancer_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "protocol": { + "description": "", + "enum": [ + "HTTP", + "HTTPS", + "TCP", + "UDP", + "TERMINATED_HTTPS" + ], + "example": "HTTP", + "type": "string" + }, + "protocol_port": { + "description": "", + "example": 80, + "type": "integer" + } + }, + "type": "object" + } + }, + "required": [ + "listener" + ], + "type": "object" + }, + "loadbalancer_create": { + "description": "", + "properties": { + "loadbalancer": { + "description": "", + "properties": { + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "flavor_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "listeners": { + "description": "", + "items": { + "description": "", + "properties": {}, + "type": "object" + }, + "type": "array" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "pools": { + "description": "", + "items": { + "description": "", + "properties": {}, + "type": "object" + }, + "type": "array" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "provider": { + "description": "Provider", + "example": "amphora", + "type": "string" + }, + "vip_address": { + "description": "VIP address", + "type": "string" + }, + "vip_network_id": { + "description": "VIP network UUID", + "format": "uuid", + "type": "string" + }, + "vip_subnet_id": { + "description": "VIP subnet UUID", + "format": "uuid", + "type": "string" + } + }, + "required": [ + "vip_subnet_id" + ], + "type": "object" + } + }, + "required": [ + "loadbalancer" + ], + "type": "object" + }, + "loadbalancer_failover": { + "description": "", + "properties": { + "os-start": { + "description": "Action os-start body (null object)", + "type": "null" + } + }, + "required": [ + "os-start" + ], + "type": "object" + }, + "loadbalancer_patch": { + "description": "", + "properties": { + "loadbalancer": { + "description": "", + "properties": { + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "flavor_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "listeners": { + "description": "", + "items": { + "description": "", + "properties": {}, + "type": "object" + }, + "type": "array" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "pools": { + "description": "", + "items": { + "description": "", + "properties": {}, + "type": "object" + }, + "type": "array" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "provider": { + "description": "Provider", + "example": "amphora", + "type": "string" + }, + "vip_address": { + "description": "VIP address", + "type": "string" + }, + "vip_network_id": { + "description": "VIP network UUID", + "format": "uuid", + "type": "string" + }, + "vip_subnet_id": { + "description": "VIP subnet UUID", + "format": "uuid", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "loadbalancer" + ], + "type": "object" + }, + "loadbalancer_update": { + "description": "", + "properties": { + "loadbalancer": { + "description": "", + "properties": { + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "flavor_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "listeners": { + "description": "", + "items": { + "description": "", + "properties": {}, + "type": "object" + }, + "type": "array" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "pools": { + "description": "", + "items": { + "description": "", + "properties": {}, + "type": "object" + }, + "type": "array" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "provider": { + "description": "Provider", + "example": "amphora", + "type": "string" + }, + "vip_address": { + "description": "VIP address", + "type": "string" + }, + "vip_network_id": { + "description": "VIP network UUID", + "format": "uuid", + "type": "string" + }, + "vip_subnet_id": { + "description": "VIP subnet UUID", + "format": "uuid", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "loadbalancer" + ], + "type": "object" + }, + "member_create": { + "description": "", + "properties": { + "member": { + "description": "", + "properties": { + "address": { + "description": "Member IP", + "example": "10.0.0.10", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "backup": { + "default": false, + "description": "", + "type": "boolean" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "monitor_address": { + "description": "", + "type": "string" + }, + "monitor_port": { + "description": "", + "type": "integer" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "protocol_port": { + "description": "", + "example": 80, + "type": "integer" + }, + "subnet_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "weight": { + "description": "", + "example": 1, + "type": "integer" + } + }, + "required": [ + "address", + "protocol_port" + ], + "type": "object" + } + }, + "required": [ + "member" + ], + "type": "object" + }, + "member_patch": { + "description": "", + "properties": { + "member": { + "description": "", + "properties": { + "address": { + "description": "Member IP", + "example": "10.0.0.10", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "backup": { + "default": false, + "description": "", + "type": "boolean" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "monitor_address": { + "description": "", + "type": "string" + }, + "monitor_port": { + "description": "", + "type": "integer" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "protocol_port": { + "description": "", + "example": 80, + "type": "integer" + }, + "subnet_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "weight": { + "description": "", + "example": 1, + "type": "integer" + } + }, + "type": "object" + } + }, + "required": [ + "member" + ], + "type": "object" + }, + "member_update": { + "description": "", + "properties": { + "member": { + "description": "", + "properties": { + "address": { + "description": "Member IP", + "example": "10.0.0.10", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "backup": { + "default": false, + "description": "", + "type": "boolean" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "monitor_address": { + "description": "", + "type": "string" + }, + "monitor_port": { + "description": "", + "type": "integer" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "protocol_port": { + "description": "", + "example": 80, + "type": "integer" + }, + "subnet_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "weight": { + "description": "", + "example": 1, + "type": "integer" + } + }, + "type": "object" + } + }, + "required": [ + "member" + ], + "type": "object" + }, + "pool_create": { + "description": "", + "properties": { + "pool": { + "description": "", + "properties": { + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "lb_algorithm": { + "description": "", + "enum": [ + "ROUND_ROBIN", + "LEAST_CONNECTIONS", + "SOURCE_IP" + ], + "example": "ROUND_ROBIN", + "type": "string" + }, + "listener_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "loadbalancer_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "protocol": { + "description": "", + "enum": [ + "HTTP", + "HTTPS", + "TCP", + "UDP", + "PROXY" + ], + "example": "HTTP", + "type": "string" + }, + "session_persistence": { + "description": "", + "properties": { + "cookie_name": { + "description": "", + "type": "string" + }, + "type": { + "description": "", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "lb_algorithm", + "protocol" + ], + "type": "object" + } + }, + "required": [ + "pool" + ], + "type": "object" + }, + "pool_patch": { + "description": "", + "properties": { + "pool": { + "description": "", + "properties": { + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "lb_algorithm": { + "description": "", + "enum": [ + "ROUND_ROBIN", + "LEAST_CONNECTIONS", + "SOURCE_IP" + ], + "example": "ROUND_ROBIN", + "type": "string" + }, + "listener_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "loadbalancer_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "protocol": { + "description": "", + "enum": [ + "HTTP", + "HTTPS", + "TCP", + "UDP", + "PROXY" + ], + "example": "HTTP", + "type": "string" + }, + "session_persistence": { + "description": "", + "properties": { + "cookie_name": { + "description": "", + "type": "string" + }, + "type": { + "description": "", + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + } + }, + "required": [ + "pool" + ], + "type": "object" + }, + "pool_update": { + "description": "", + "properties": { + "pool": { + "description": "", + "properties": { + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "lb_algorithm": { + "description": "", + "enum": [ + "ROUND_ROBIN", + "LEAST_CONNECTIONS", + "SOURCE_IP" + ], + "example": "ROUND_ROBIN", + "type": "string" + }, + "listener_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "loadbalancer_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "protocol": { + "description": "", + "enum": [ + "HTTP", + "HTTPS", + "TCP", + "UDP", + "PROXY" + ], + "example": "HTTP", + "type": "string" + }, + "session_persistence": { + "description": "", + "properties": { + "cookie_name": { + "description": "", + "type": "string" + }, + "type": { + "description": "", + "type": "string" + } + }, + "type": "object" + } + }, + "type": "object" + } + }, + "required": [ + "pool" + ], + "type": "object" + }, + "provider_create": { + "description": "", + "properties": { + "provider": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "provider", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "provider" + ], + "type": "object" + }, + "provider_patch": { + "description": "", + "properties": { + "provider": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "provider", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "provider" + ], + "type": "object" + }, + "provider_update": { + "description": "", + "properties": { + "provider": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "provider", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "provider" + ], + "type": "object" + }, + "quota_create": { + "description": "", + "properties": { + "quota": { + "description": "", + "properties": { + "cores": { + "description": "", + "example": 20, + "type": "integer" + }, + "fixed_ips": { + "description": "", + "example": -1, + "type": "integer" + }, + "floating_ips": { + "description": "", + "example": 10, + "type": "integer" + }, + "force": { + "default": false, + "description": "", + "type": "boolean" + }, + "gigabytes": { + "description": "", + "example": 1000, + "type": "integer" + }, + "injected_file_content_bytes": { + "description": "", + "example": 10240, + "type": "integer" + }, + "injected_files": { + "description": "", + "example": 5, + "type": "integer" + }, + "instances": { + "description": "", + "example": 10, + "type": "integer" + }, + "key_pairs": { + "description": "", + "example": 100, + "type": "integer" + }, + "metadata_items": { + "description": "", + "example": 128, + "type": "integer" + }, + "networks": { + "description": "", + "example": 100, + "type": "integer" + }, + "ports": { + "description": "", + "example": 500, + "type": "integer" + }, + "ram": { + "description": "", + "example": 51200, + "type": "integer" + }, + "routers": { + "description": "", + "example": 10, + "type": "integer" + }, + "security_group_rules": { + "description": "", + "example": 20, + "type": "integer" + }, + "security_groups": { + "description": "", + "example": 10, + "type": "integer" + }, + "snapshots": { + "description": "", + "example": 10, + "type": "integer" + }, + "subnets": { + "description": "", + "example": 100, + "type": "integer" + }, + "volumes": { + "description": "", + "example": 10, + "type": "integer" + } + }, + "type": "object" + } + }, + "required": [ + "quota" + ], + "type": "object" + }, + "quota_patch": { + "description": "", + "properties": { + "quota": { + "description": "", + "properties": { + "cores": { + "description": "", + "example": 20, + "type": "integer" + }, + "fixed_ips": { + "description": "", + "example": -1, + "type": "integer" + }, + "floating_ips": { + "description": "", + "example": 10, + "type": "integer" + }, + "force": { + "default": false, + "description": "", + "type": "boolean" + }, + "gigabytes": { + "description": "", + "example": 1000, + "type": "integer" + }, + "injected_file_content_bytes": { + "description": "", + "example": 10240, + "type": "integer" + }, + "injected_files": { + "description": "", + "example": 5, + "type": "integer" + }, + "instances": { + "description": "", + "example": 10, + "type": "integer" + }, + "key_pairs": { + "description": "", + "example": 100, + "type": "integer" + }, + "metadata_items": { + "description": "", + "example": 128, + "type": "integer" + }, + "networks": { + "description": "", + "example": 100, + "type": "integer" + }, + "ports": { + "description": "", + "example": 500, + "type": "integer" + }, + "ram": { + "description": "", + "example": 51200, + "type": "integer" + }, + "routers": { + "description": "", + "example": 10, + "type": "integer" + }, + "security_group_rules": { + "description": "", + "example": 20, + "type": "integer" + }, + "security_groups": { + "description": "", + "example": 10, + "type": "integer" + }, + "snapshots": { + "description": "", + "example": 10, + "type": "integer" + }, + "subnets": { + "description": "", + "example": 100, + "type": "integer" + }, + "volumes": { + "description": "", + "example": 10, + "type": "integer" + } + }, + "type": "object" + } + }, + "required": [ + "quota" + ], + "type": "object" + }, + "quota_update": { + "description": "", + "properties": { + "quota": { + "description": "", + "properties": { + "cores": { + "description": "", + "example": 20, + "type": "integer" + }, + "fixed_ips": { + "description": "", + "example": -1, + "type": "integer" + }, + "floating_ips": { + "description": "", + "example": 10, + "type": "integer" + }, + "force": { + "default": false, + "description": "", + "type": "boolean" + }, + "gigabytes": { + "description": "", + "example": 1000, + "type": "integer" + }, + "injected_file_content_bytes": { + "description": "", + "example": 10240, + "type": "integer" + }, + "injected_files": { + "description": "", + "example": 5, + "type": "integer" + }, + "instances": { + "description": "", + "example": 10, + "type": "integer" + }, + "key_pairs": { + "description": "", + "example": 100, + "type": "integer" + }, + "metadata_items": { + "description": "", + "example": 128, + "type": "integer" + }, + "networks": { + "description": "", + "example": 100, + "type": "integer" + }, + "ports": { + "description": "", + "example": 500, + "type": "integer" + }, + "ram": { + "description": "", + "example": 51200, + "type": "integer" + }, + "routers": { + "description": "", + "example": 10, + "type": "integer" + }, + "security_group_rules": { + "description": "", + "example": 20, + "type": "integer" + }, + "security_groups": { + "description": "", + "example": 10, + "type": "integer" + }, + "snapshots": { + "description": "", + "example": 10, + "type": "integer" + }, + "subnets": { + "description": "", + "example": 100, + "type": "integer" + }, + "volumes": { + "description": "", + "example": 10, + "type": "integer" + } + }, + "type": "object" + } + }, + "required": [ + "quota" + ], + "type": "object" + } + }, + "service": "octavia", + "source": "generated-from-api-ref-catalog" +} diff --git a/contracts/openstack/request_bodies/placement.json b/contracts/openstack/request_bodies/placement.json new file mode 100644 index 0000000..363f508 --- /dev/null +++ b/contracts/openstack/request_bodies/placement.json @@ -0,0 +1,1358 @@ +{ + "by_path": { + "PATCH /resource_classes/{id}": { + "description": "", + "properties": { + "resource_classe": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "resource_class", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "resource_classe" + ], + "type": "object" + }, + "PATCH /resource_providers/{id}": { + "description": "", + "properties": { + "resource_provider": { + "description": "", + "properties": { + "name": { + "description": "", + "example": "example", + "type": "string" + }, + "parent_provider_uuid": { + "description": "", + "format": "uuid", + "type": "string" + }, + "uuid": { + "description": "", + "format": "uuid", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "resource_provider" + ], + "type": "object" + }, + "PATCH /traits/{id}": { + "description": "", + "properties": { + "trait": { + "description": "", + "properties": { + "name": { + "description": "", + "example": "CUSTOM_EXAMPLE", + "type": "string" + }, + "traits": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + } + }, + "required": [ + "trait" + ], + "type": "object" + }, + "POST /resource_classes": { + "description": "", + "properties": { + "resource_classe": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "resource_class", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "resource_classe" + ], + "type": "object" + }, + "POST /resource_providers": { + "description": "", + "properties": { + "resource_provider": { + "description": "", + "properties": { + "name": { + "description": "", + "example": "example", + "type": "string" + }, + "parent_provider_uuid": { + "description": "", + "format": "uuid", + "type": "string" + }, + "uuid": { + "description": "", + "format": "uuid", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "resource_provider" + ], + "type": "object" + }, + "POST /traits": { + "description": "", + "properties": { + "trait": { + "description": "", + "properties": { + "name": { + "description": "", + "example": "CUSTOM_EXAMPLE", + "type": "string" + }, + "traits": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "trait" + ], + "type": "object" + }, + "PUT /allocations/{consumer_uuid}": { + "description": "", + "properties": { + "allocation": { + "description": "", + "properties": { + "allocations": { + "description": "Map of resource provider UUID to resources", + "properties": {}, + "type": "object" + }, + "consumer_generation": { + "description": "Consumer generation", + "example": 0, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "user_id": { + "description": "", + "format": "uuid", + "type": "string" + } + }, + "required": [ + "allocations", + "project_id", + "user_id" + ], + "type": "object" + } + }, + "type": "object" + }, + "PUT /resource_classes/{id}": { + "description": "", + "properties": { + "resource_classe": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "resource_class", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "resource_classe" + ], + "type": "object" + }, + "PUT /resource_providers/{id}": { + "description": "", + "properties": { + "resource_provider": { + "description": "", + "properties": { + "name": { + "description": "", + "example": "example", + "type": "string" + }, + "parent_provider_uuid": { + "description": "", + "format": "uuid", + "type": "string" + }, + "uuid": { + "description": "", + "format": "uuid", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "resource_provider" + ], + "type": "object" + }, + "PUT /resource_providers/{id}/inventories": { + "description": "", + "properties": { + "inventory": { + "description": "", + "properties": { + "allocation_ratio": { + "example": 16.0, + "type": "number" + }, + "max_unit": { + "description": "", + "example": 8, + "type": "integer" + }, + "min_unit": { + "description": "", + "example": 1, + "type": "integer" + }, + "reserved": { + "description": "", + "example": 0, + "type": "integer" + }, + "resource_class": { + "description": "", + "example": "VCPU", + "type": "string" + }, + "step_size": { + "description": "", + "example": 1, + "type": "integer" + }, + "total": { + "description": "", + "example": 8, + "type": "integer" + } + }, + "required": [ + "resource_class", + "total" + ], + "type": "object" + } + }, + "type": "object" + }, + "PUT /traits/{id}": { + "description": "", + "properties": { + "trait": { + "description": "", + "properties": { + "name": { + "description": "", + "example": "CUSTOM_EXAMPLE", + "type": "string" + }, + "traits": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + } + }, + "required": [ + "trait" + ], + "type": "object" + } + }, + "operations": { + "allocation_set": { + "description": "", + "properties": { + "allocation": { + "description": "", + "properties": { + "allocations": { + "description": "Map of resource provider UUID to resources", + "properties": {}, + "type": "object" + }, + "consumer_generation": { + "description": "Consumer generation", + "example": 0, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "user_id": { + "description": "", + "format": "uuid", + "type": "string" + } + }, + "required": [ + "allocations", + "project_id", + "user_id" + ], + "type": "object" + } + }, + "type": "object" + }, + "resource_class_create": { + "description": "", + "properties": { + "resource_classe": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "resource_class", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "resource_classe" + ], + "type": "object" + }, + "resource_class_patch": { + "description": "", + "properties": { + "resource_classe": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "resource_class", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "resource_classe" + ], + "type": "object" + }, + "resource_class_update": { + "description": "", + "properties": { + "resource_classe": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "resource_class", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "resource_classe" + ], + "type": "object" + }, + "resource_provider_create": { + "description": "", + "properties": { + "resource_provider": { + "description": "", + "properties": { + "name": { + "description": "", + "example": "example", + "type": "string" + }, + "parent_provider_uuid": { + "description": "", + "format": "uuid", + "type": "string" + }, + "uuid": { + "description": "", + "format": "uuid", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "resource_provider" + ], + "type": "object" + }, + "resource_provider_patch": { + "description": "", + "properties": { + "resource_provider": { + "description": "", + "properties": { + "name": { + "description": "", + "example": "example", + "type": "string" + }, + "parent_provider_uuid": { + "description": "", + "format": "uuid", + "type": "string" + }, + "uuid": { + "description": "", + "format": "uuid", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "resource_provider" + ], + "type": "object" + }, + "resource_provider_update": { + "description": "", + "properties": { + "resource_provider": { + "description": "", + "properties": { + "name": { + "description": "", + "example": "example", + "type": "string" + }, + "parent_provider_uuid": { + "description": "", + "format": "uuid", + "type": "string" + }, + "uuid": { + "description": "", + "format": "uuid", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "resource_provider" + ], + "type": "object" + }, + "rp_inventories_set": { + "description": "", + "properties": { + "inventory": { + "description": "", + "properties": { + "allocation_ratio": { + "example": 16.0, + "type": "number" + }, + "max_unit": { + "description": "", + "example": 8, + "type": "integer" + }, + "min_unit": { + "description": "", + "example": 1, + "type": "integer" + }, + "reserved": { + "description": "", + "example": 0, + "type": "integer" + }, + "resource_class": { + "description": "", + "example": "VCPU", + "type": "string" + }, + "step_size": { + "description": "", + "example": 1, + "type": "integer" + }, + "total": { + "description": "", + "example": 8, + "type": "integer" + } + }, + "required": [ + "resource_class", + "total" + ], + "type": "object" + } + }, + "type": "object" + }, + "trait_create": { + "description": "", + "properties": { + "trait": { + "description": "", + "properties": { + "name": { + "description": "", + "example": "CUSTOM_EXAMPLE", + "type": "string" + }, + "traits": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "trait" + ], + "type": "object" + }, + "trait_patch": { + "description": "", + "properties": { + "trait": { + "description": "", + "properties": { + "name": { + "description": "", + "example": "CUSTOM_EXAMPLE", + "type": "string" + }, + "traits": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + } + }, + "required": [ + "trait" + ], + "type": "object" + }, + "trait_update": { + "description": "", + "properties": { + "trait": { + "description": "", + "properties": { + "name": { + "description": "", + "example": "CUSTOM_EXAMPLE", + "type": "string" + }, + "traits": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + } + }, + "required": [ + "trait" + ], + "type": "object" + } + }, + "service": "placement", + "source": "generated-from-api-ref-catalog" +} diff --git a/contracts/openstack/request_bodies/swift.json b/contracts/openstack/request_bodies/swift.json new file mode 100644 index 0000000..0861ce9 --- /dev/null +++ b/contracts/openstack/request_bodies/swift.json @@ -0,0 +1,1006 @@ +{ + "by_path": { + "POST /v1/{account}": { + "description": "", + "properties": { + "account": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "account", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "type": "object" + }, + "POST /v1/{account}/{container}/{object}": { + "description": "", + "properties": { + "object": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "object", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "type": "object" + }, + "PUT /v1/{account}/{container}": { + "description": "", + "properties": { + "container": { + "description": "", + "properties": { + "command": { + "description": "Command", + "type": "string" + }, + "cpu": { + "description": "", + "example": 1, + "type": "integer" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "environment": { + "description": "", + "properties": {}, + "type": "object" + }, + "image": { + "description": "Container image", + "example": "cirros", + "type": "string" + }, + "interactive": { + "default": false, + "description": "", + "type": "boolean" + }, + "memory": { + "description": "Memory MiB", + "example": 512, + "type": "integer" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "nets": { + "description": "", + "items": { + "description": "", + "properties": { + "network": { + "description": "", + "format": "uuid", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "restart_policy": { + "description": "", + "properties": { + "MaximumRetryCount": { + "description": "", + "example": 0, + "type": "integer" + }, + "Name": { + "description": "", + "example": "no", + "type": "string" + } + }, + "type": "object" + }, + "tty": { + "default": false, + "description": "", + "type": "boolean" + }, + "workdir": { + "description": "", + "type": "string" + } + }, + "required": [ + "image" + ], + "type": "object" + } + }, + "type": "object" + }, + "PUT /v1/{account}/{container}/{object}": { + "description": "", + "properties": { + "object": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "object", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "type": "object" + } + }, + "operations": { + "swift_account_post": { + "description": "", + "properties": { + "account": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "account", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "type": "object" + }, + "swift_container_put": { + "description": "", + "properties": { + "container": { + "description": "", + "properties": { + "command": { + "description": "Command", + "type": "string" + }, + "cpu": { + "description": "", + "example": 1, + "type": "integer" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "environment": { + "description": "", + "properties": {}, + "type": "object" + }, + "image": { + "description": "Container image", + "example": "cirros", + "type": "string" + }, + "interactive": { + "default": false, + "description": "", + "type": "boolean" + }, + "memory": { + "description": "Memory MiB", + "example": 512, + "type": "integer" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "nets": { + "description": "", + "items": { + "description": "", + "properties": { + "network": { + "description": "", + "format": "uuid", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "restart_policy": { + "description": "", + "properties": { + "MaximumRetryCount": { + "description": "", + "example": 0, + "type": "integer" + }, + "Name": { + "description": "", + "example": "no", + "type": "string" + } + }, + "type": "object" + }, + "tty": { + "default": false, + "description": "", + "type": "boolean" + }, + "workdir": { + "description": "", + "type": "string" + } + }, + "required": [ + "image" + ], + "type": "object" + } + }, + "type": "object" + }, + "swift_object_post": { + "description": "", + "properties": { + "object": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "object", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "type": "object" + }, + "swift_object_put": { + "description": "", + "properties": { + "object": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "object", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "type": "object" + } + }, + "service": "swift", + "source": "generated-from-api-ref-catalog" +} diff --git a/contracts/openstack/request_bodies/tacker.json b/contracts/openstack/request_bodies/tacker.json new file mode 100644 index 0000000..35d5e51 --- /dev/null +++ b/contracts/openstack/request_bodies/tacker.json @@ -0,0 +1,2748 @@ +{ + "by_path": { + "PATCH /v1.0/vims/{id}": { + "description": "", + "properties": { + "vim": { + "description": "", + "properties": { + "auth_cred": { + "description": "", + "properties": { + "cert_verify": { + "description": "TLS verify", + "example": "True", + "type": "string" + }, + "password": { + "description": "Password", + "example": "secret", + "type": "string" + }, + "user_domain_name": { + "description": "User domain", + "example": "Default", + "type": "string" + }, + "username": { + "description": "Username", + "example": "admin", + "type": "string" + } + }, + "required": [ + "username", + "password", + "user_domain_name" + ], + "type": "object" + }, + "auth_url": { + "description": "Identity endpoint", + "example": "http://127.0.0.1:5000/v3", + "format": "uri", + "type": "string" + }, + "description": { + "description": "", + "type": "string" + }, + "is_default": { + "default": false, + "description": "Default VIM", + "type": "boolean" + }, + "name": { + "description": "VIM name", + "example": "example", + "type": "string" + }, + "type": { + "description": "VIM type", + "enum": [ + "openstack", + "kubernetes" + ], + "example": "openstack", + "type": "string" + }, + "vim_project": { + "description": "", + "properties": { + "name": { + "description": "Project name", + "example": "admin", + "type": "string" + }, + "project_domain_name": { + "description": "Project domain", + "example": "Default", + "type": "string" + } + }, + "required": [ + "name", + "project_domain_name" + ], + "type": "object" + } + }, + "type": "object" + } + }, + "required": [ + "vim" + ], + "type": "object" + }, + "PATCH /v1.0/vnfds/{id}": { + "description": "", + "properties": { + "vnfd": { + "description": "", + "properties": { + "attributes": { + "description": "", + "properties": { + "vnfd": { + "description": "", + "type": "string" + } + }, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "service_types": { + "description": "", + "items": { + "description": "", + "properties": { + "service_type": { + "description": "", + "example": "vnfd", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + } + }, + "type": "object" + } + }, + "required": [ + "vnfd" + ], + "type": "object" + }, + "PATCH /v1.0/vnfs/{id}": { + "description": "", + "properties": { + "vnf": { + "description": "", + "properties": { + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "vim_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "vnfd_id": { + "description": "", + "format": "uuid", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "vnf" + ], + "type": "object" + }, + "PATCH /vnflcm/v1/vnf_instances/{id}": { + "description": "", + "properties": { + "vnf_instance": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "vnf_instance", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "vnf_instance" + ], + "type": "object" + }, + "PATCH /vnfpkgm/v1/vnf_packages/{id}": { + "description": "", + "properties": { + "vnf_package": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "vnf_package", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "vnf_package" + ], + "type": "object" + }, + "POST /v1.0/vims": { + "description": "", + "properties": { + "vim": { + "description": "", + "properties": { + "auth_cred": { + "description": "", + "properties": { + "cert_verify": { + "description": "TLS verify", + "example": "True", + "type": "string" + }, + "password": { + "description": "Password", + "example": "secret", + "type": "string" + }, + "user_domain_name": { + "description": "User domain", + "example": "Default", + "type": "string" + }, + "username": { + "description": "Username", + "example": "admin", + "type": "string" + } + }, + "required": [ + "username", + "password", + "user_domain_name" + ], + "type": "object" + }, + "auth_url": { + "description": "Identity endpoint", + "example": "http://127.0.0.1:5000/v3", + "format": "uri", + "type": "string" + }, + "description": { + "description": "", + "type": "string" + }, + "is_default": { + "default": false, + "description": "Default VIM", + "type": "boolean" + }, + "name": { + "description": "VIM name", + "example": "example", + "type": "string" + }, + "type": { + "description": "VIM type", + "enum": [ + "openstack", + "kubernetes" + ], + "example": "openstack", + "type": "string" + }, + "vim_project": { + "description": "", + "properties": { + "name": { + "description": "Project name", + "example": "admin", + "type": "string" + }, + "project_domain_name": { + "description": "Project domain", + "example": "Default", + "type": "string" + } + }, + "required": [ + "name", + "project_domain_name" + ], + "type": "object" + } + }, + "required": [ + "type", + "auth_url", + "auth_cred", + "vim_project", + "name" + ], + "type": "object" + } + }, + "required": [ + "vim" + ], + "type": "object" + }, + "POST /v1.0/vnfds": { + "description": "", + "properties": { + "vnfd": { + "description": "", + "properties": { + "attributes": { + "description": "", + "properties": { + "vnfd": { + "description": "", + "type": "string" + } + }, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "service_types": { + "description": "", + "items": { + "description": "", + "properties": { + "service_type": { + "description": "", + "example": "vnfd", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "vnfd" + ], + "type": "object" + }, + "POST /v1.0/vnfs": { + "description": "", + "properties": { + "vnf": { + "description": "", + "properties": { + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "vim_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "vnfd_id": { + "description": "", + "format": "uuid", + "type": "string" + } + }, + "required": [ + "name", + "vnfd_id" + ], + "type": "object" + } + }, + "required": [ + "vnf" + ], + "type": "object" + }, + "POST /vnflcm/v1/vnf_instances": { + "description": "", + "properties": { + "vnf_instance": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "vnf_instance", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "vnf_instance" + ], + "type": "object" + }, + "POST /vnfpkgm/v1/vnf_packages": { + "description": "", + "properties": { + "vnf_package": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "vnf_package", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "vnf_package" + ], + "type": "object" + }, + "PUT /v1.0/vims/{id}": { + "description": "", + "properties": { + "vim": { + "description": "", + "properties": { + "auth_cred": { + "description": "", + "properties": { + "cert_verify": { + "description": "TLS verify", + "example": "True", + "type": "string" + }, + "password": { + "description": "Password", + "example": "secret", + "type": "string" + }, + "user_domain_name": { + "description": "User domain", + "example": "Default", + "type": "string" + }, + "username": { + "description": "Username", + "example": "admin", + "type": "string" + } + }, + "required": [ + "username", + "password", + "user_domain_name" + ], + "type": "object" + }, + "auth_url": { + "description": "Identity endpoint", + "example": "http://127.0.0.1:5000/v3", + "format": "uri", + "type": "string" + }, + "description": { + "description": "", + "type": "string" + }, + "is_default": { + "default": false, + "description": "Default VIM", + "type": "boolean" + }, + "name": { + "description": "VIM name", + "example": "example", + "type": "string" + }, + "type": { + "description": "VIM type", + "enum": [ + "openstack", + "kubernetes" + ], + "example": "openstack", + "type": "string" + }, + "vim_project": { + "description": "", + "properties": { + "name": { + "description": "Project name", + "example": "admin", + "type": "string" + }, + "project_domain_name": { + "description": "Project domain", + "example": "Default", + "type": "string" + } + }, + "required": [ + "name", + "project_domain_name" + ], + "type": "object" + } + }, + "type": "object" + } + }, + "required": [ + "vim" + ], + "type": "object" + }, + "PUT /v1.0/vnfds/{id}": { + "description": "", + "properties": { + "vnfd": { + "description": "", + "properties": { + "attributes": { + "description": "", + "properties": { + "vnfd": { + "description": "", + "type": "string" + } + }, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "service_types": { + "description": "", + "items": { + "description": "", + "properties": { + "service_type": { + "description": "", + "example": "vnfd", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + } + }, + "type": "object" + } + }, + "required": [ + "vnfd" + ], + "type": "object" + }, + "PUT /v1.0/vnfs/{id}": { + "description": "", + "properties": { + "vnf": { + "description": "", + "properties": { + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "vim_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "vnfd_id": { + "description": "", + "format": "uuid", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "vnf" + ], + "type": "object" + }, + "PUT /vnflcm/v1/vnf_instances/{id}": { + "description": "", + "properties": { + "vnf_instance": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "vnf_instance", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "vnf_instance" + ], + "type": "object" + }, + "PUT /vnfpkgm/v1/vnf_packages/{id}": { + "description": "", + "properties": { + "vnf_package": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "vnf_package", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "vnf_package" + ], + "type": "object" + } + }, + "operations": { + "vim_create": { + "description": "", + "properties": { + "vim": { + "description": "", + "properties": { + "auth_cred": { + "description": "", + "properties": { + "cert_verify": { + "description": "TLS verify", + "example": "True", + "type": "string" + }, + "password": { + "description": "Password", + "example": "secret", + "type": "string" + }, + "user_domain_name": { + "description": "User domain", + "example": "Default", + "type": "string" + }, + "username": { + "description": "Username", + "example": "admin", + "type": "string" + } + }, + "required": [ + "username", + "password", + "user_domain_name" + ], + "type": "object" + }, + "auth_url": { + "description": "Identity endpoint", + "example": "http://127.0.0.1:5000/v3", + "format": "uri", + "type": "string" + }, + "description": { + "description": "", + "type": "string" + }, + "is_default": { + "default": false, + "description": "Default VIM", + "type": "boolean" + }, + "name": { + "description": "VIM name", + "example": "example", + "type": "string" + }, + "type": { + "description": "VIM type", + "enum": [ + "openstack", + "kubernetes" + ], + "example": "openstack", + "type": "string" + }, + "vim_project": { + "description": "", + "properties": { + "name": { + "description": "Project name", + "example": "admin", + "type": "string" + }, + "project_domain_name": { + "description": "Project domain", + "example": "Default", + "type": "string" + } + }, + "required": [ + "name", + "project_domain_name" + ], + "type": "object" + } + }, + "required": [ + "type", + "auth_url", + "auth_cred", + "vim_project", + "name" + ], + "type": "object" + } + }, + "required": [ + "vim" + ], + "type": "object" + }, + "vim_patch": { + "description": "", + "properties": { + "vim": { + "description": "", + "properties": { + "auth_cred": { + "description": "", + "properties": { + "cert_verify": { + "description": "TLS verify", + "example": "True", + "type": "string" + }, + "password": { + "description": "Password", + "example": "secret", + "type": "string" + }, + "user_domain_name": { + "description": "User domain", + "example": "Default", + "type": "string" + }, + "username": { + "description": "Username", + "example": "admin", + "type": "string" + } + }, + "required": [ + "username", + "password", + "user_domain_name" + ], + "type": "object" + }, + "auth_url": { + "description": "Identity endpoint", + "example": "http://127.0.0.1:5000/v3", + "format": "uri", + "type": "string" + }, + "description": { + "description": "", + "type": "string" + }, + "is_default": { + "default": false, + "description": "Default VIM", + "type": "boolean" + }, + "name": { + "description": "VIM name", + "example": "example", + "type": "string" + }, + "type": { + "description": "VIM type", + "enum": [ + "openstack", + "kubernetes" + ], + "example": "openstack", + "type": "string" + }, + "vim_project": { + "description": "", + "properties": { + "name": { + "description": "Project name", + "example": "admin", + "type": "string" + }, + "project_domain_name": { + "description": "Project domain", + "example": "Default", + "type": "string" + } + }, + "required": [ + "name", + "project_domain_name" + ], + "type": "object" + } + }, + "type": "object" + } + }, + "required": [ + "vim" + ], + "type": "object" + }, + "vim_update": { + "description": "", + "properties": { + "vim": { + "description": "", + "properties": { + "auth_cred": { + "description": "", + "properties": { + "cert_verify": { + "description": "TLS verify", + "example": "True", + "type": "string" + }, + "password": { + "description": "Password", + "example": "secret", + "type": "string" + }, + "user_domain_name": { + "description": "User domain", + "example": "Default", + "type": "string" + }, + "username": { + "description": "Username", + "example": "admin", + "type": "string" + } + }, + "required": [ + "username", + "password", + "user_domain_name" + ], + "type": "object" + }, + "auth_url": { + "description": "Identity endpoint", + "example": "http://127.0.0.1:5000/v3", + "format": "uri", + "type": "string" + }, + "description": { + "description": "", + "type": "string" + }, + "is_default": { + "default": false, + "description": "Default VIM", + "type": "boolean" + }, + "name": { + "description": "VIM name", + "example": "example", + "type": "string" + }, + "type": { + "description": "VIM type", + "enum": [ + "openstack", + "kubernetes" + ], + "example": "openstack", + "type": "string" + }, + "vim_project": { + "description": "", + "properties": { + "name": { + "description": "Project name", + "example": "admin", + "type": "string" + }, + "project_domain_name": { + "description": "Project domain", + "example": "Default", + "type": "string" + } + }, + "required": [ + "name", + "project_domain_name" + ], + "type": "object" + } + }, + "type": "object" + } + }, + "required": [ + "vim" + ], + "type": "object" + }, + "vnf_create": { + "description": "", + "properties": { + "vnf": { + "description": "", + "properties": { + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "vim_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "vnfd_id": { + "description": "", + "format": "uuid", + "type": "string" + } + }, + "required": [ + "name", + "vnfd_id" + ], + "type": "object" + } + }, + "required": [ + "vnf" + ], + "type": "object" + }, + "vnf_instance_create": { + "description": "", + "properties": { + "vnf_instance": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "vnf_instance", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "vnf_instance" + ], + "type": "object" + }, + "vnf_instance_patch": { + "description": "", + "properties": { + "vnf_instance": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "vnf_instance", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "vnf_instance" + ], + "type": "object" + }, + "vnf_instance_update": { + "description": "", + "properties": { + "vnf_instance": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "vnf_instance", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "vnf_instance" + ], + "type": "object" + }, + "vnf_package_create": { + "description": "", + "properties": { + "vnf_package": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "vnf_package", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "vnf_package" + ], + "type": "object" + }, + "vnf_package_patch": { + "description": "", + "properties": { + "vnf_package": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "vnf_package", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "vnf_package" + ], + "type": "object" + }, + "vnf_package_update": { + "description": "", + "properties": { + "vnf_package": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "vnf_package", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "vnf_package" + ], + "type": "object" + }, + "vnf_patch": { + "description": "", + "properties": { + "vnf": { + "description": "", + "properties": { + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "vim_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "vnfd_id": { + "description": "", + "format": "uuid", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "vnf" + ], + "type": "object" + }, + "vnf_update": { + "description": "", + "properties": { + "vnf": { + "description": "", + "properties": { + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "vim_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "vnfd_id": { + "description": "", + "format": "uuid", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "vnf" + ], + "type": "object" + }, + "vnfd_create": { + "description": "", + "properties": { + "vnfd": { + "description": "", + "properties": { + "attributes": { + "description": "", + "properties": { + "vnfd": { + "description": "", + "type": "string" + } + }, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "service_types": { + "description": "", + "items": { + "description": "", + "properties": { + "service_type": { + "description": "", + "example": "vnfd", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "vnfd" + ], + "type": "object" + }, + "vnfd_patch": { + "description": "", + "properties": { + "vnfd": { + "description": "", + "properties": { + "attributes": { + "description": "", + "properties": { + "vnfd": { + "description": "", + "type": "string" + } + }, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "service_types": { + "description": "", + "items": { + "description": "", + "properties": { + "service_type": { + "description": "", + "example": "vnfd", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + } + }, + "type": "object" + } + }, + "required": [ + "vnfd" + ], + "type": "object" + }, + "vnfd_update": { + "description": "", + "properties": { + "vnfd": { + "description": "", + "properties": { + "attributes": { + "description": "", + "properties": { + "vnfd": { + "description": "", + "type": "string" + } + }, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "service_types": { + "description": "", + "items": { + "description": "", + "properties": { + "service_type": { + "description": "", + "example": "vnfd", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + } + }, + "type": "object" + } + }, + "required": [ + "vnfd" + ], + "type": "object" + } + }, + "service": "tacker", + "source": "generated-from-api-ref-catalog" +} diff --git a/contracts/openstack/request_bodies/trove.json b/contracts/openstack/request_bodies/trove.json new file mode 100644 index 0000000..42b5f1e --- /dev/null +++ b/contracts/openstack/request_bodies/trove.json @@ -0,0 +1,3078 @@ +{ + "by_path": { + "PATCH /v1.0/backups/{id}": { + "description": "", + "properties": { + "backup": { + "description": "", + "properties": { + "container": { + "description": "", + "type": "string" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "force": { + "default": false, + "description": "", + "type": "boolean" + }, + "incremental": { + "default": false, + "description": "", + "type": "boolean" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "snapshot_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "volume_id": { + "description": "", + "format": "uuid", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "backup" + ], + "type": "object" + }, + "PATCH /v1.0/clusters/{id}": { + "description": "", + "properties": { + "cluster": { + "description": "", + "properties": { + "cluster_template_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "docker_volume_size": { + "description": "", + "example": 5, + "type": "integer" + }, + "flavor_id": { + "description": "", + "type": "string" + }, + "keypair": { + "description": "Keypair name", + "type": "string" + }, + "labels": { + "description": "", + "properties": {}, + "type": "object" + }, + "master_count": { + "description": "", + "example": 1, + "type": "integer" + }, + "master_flavor_id": { + "description": "", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "node_count": { + "description": "", + "example": 1, + "type": "integer" + } + }, + "type": "object" + } + }, + "required": [ + "cluster" + ], + "type": "object" + }, + "PATCH /v1.0/configurations/{id}": { + "description": "", + "properties": { + "configuration": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "configuration", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "configuration" + ], + "type": "object" + }, + "PATCH /v1.0/datastores/{id}": { + "description": "", + "properties": { + "datastore": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "datastore", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "datastore" + ], + "type": "object" + }, + "PATCH /v1.0/instances/{id}": { + "description": "", + "properties": { + "instance": { + "description": "", + "properties": { + "availability_zone": { + "description": "", + "type": "string" + }, + "databases": { + "description": "", + "items": { + "description": "", + "properties": { + "name": { + "description": "", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "datastore": { + "description": "", + "properties": { + "type": { + "description": "", + "example": "mysql", + "type": "string" + }, + "version": { + "description": "", + "example": "8.0", + "type": "string" + } + }, + "required": [ + "type", + "version" + ], + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "flavorRef": { + "description": "", + "example": "1", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "nics": { + "description": "", + "items": { + "description": "", + "properties": { + "net-id": { + "description": "", + "format": "uuid", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "users": { + "description": "", + "items": { + "description": "", + "properties": { + "databases": { + "description": "", + "items": { + "description": "", + "properties": { + "name": { + "description": "", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "name": { + "description": "", + "type": "string" + }, + "password": { + "description": "", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "volume_size": { + "description": "", + "example": 1, + "type": "integer" + } + }, + "type": "object" + } + }, + "required": [ + "instance" + ], + "type": "object" + }, + "POST /v1.0/backups": { + "description": "", + "properties": { + "backup": { + "description": "", + "properties": { + "container": { + "description": "", + "type": "string" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "force": { + "default": false, + "description": "", + "type": "boolean" + }, + "incremental": { + "default": false, + "description": "", + "type": "boolean" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "snapshot_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "volume_id": { + "description": "", + "format": "uuid", + "type": "string" + } + }, + "required": [ + "volume_id" + ], + "type": "object" + } + }, + "required": [ + "backup" + ], + "type": "object" + }, + "POST /v1.0/clusters": { + "description": "", + "properties": { + "cluster": { + "description": "", + "properties": { + "cluster_template_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "docker_volume_size": { + "description": "", + "example": 5, + "type": "integer" + }, + "flavor_id": { + "description": "", + "type": "string" + }, + "keypair": { + "description": "Keypair name", + "type": "string" + }, + "labels": { + "description": "", + "properties": {}, + "type": "object" + }, + "master_count": { + "description": "", + "example": 1, + "type": "integer" + }, + "master_flavor_id": { + "description": "", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "node_count": { + "description": "", + "example": 1, + "type": "integer" + } + }, + "required": [ + "name", + "cluster_template_id" + ], + "type": "object" + } + }, + "required": [ + "cluster" + ], + "type": "object" + }, + "POST /v1.0/configurations": { + "description": "", + "properties": { + "configuration": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "configuration", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "configuration" + ], + "type": "object" + }, + "POST /v1.0/datastores": { + "description": "", + "properties": { + "datastore": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "datastore", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "datastore" + ], + "type": "object" + }, + "POST /v1.0/instances": { + "description": "", + "properties": { + "instance": { + "description": "", + "properties": { + "availability_zone": { + "description": "", + "type": "string" + }, + "databases": { + "description": "", + "items": { + "description": "", + "properties": { + "name": { + "description": "", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "datastore": { + "description": "", + "properties": { + "type": { + "description": "", + "example": "mysql", + "type": "string" + }, + "version": { + "description": "", + "example": "8.0", + "type": "string" + } + }, + "required": [ + "type", + "version" + ], + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "flavorRef": { + "description": "", + "example": "1", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "nics": { + "description": "", + "items": { + "description": "", + "properties": { + "net-id": { + "description": "", + "format": "uuid", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "users": { + "description": "", + "items": { + "description": "", + "properties": { + "databases": { + "description": "", + "items": { + "description": "", + "properties": { + "name": { + "description": "", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "name": { + "description": "", + "type": "string" + }, + "password": { + "description": "", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "volume_size": { + "description": "", + "example": 1, + "type": "integer" + } + }, + "required": [ + "name", + "flavorRef" + ], + "type": "object" + } + }, + "required": [ + "instance" + ], + "type": "object" + }, + "PUT /v1.0/backups/{id}": { + "description": "", + "properties": { + "backup": { + "description": "", + "properties": { + "container": { + "description": "", + "type": "string" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "force": { + "default": false, + "description": "", + "type": "boolean" + }, + "incremental": { + "default": false, + "description": "", + "type": "boolean" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "snapshot_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "volume_id": { + "description": "", + "format": "uuid", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "backup" + ], + "type": "object" + }, + "PUT /v1.0/clusters/{id}": { + "description": "", + "properties": { + "cluster": { + "description": "", + "properties": { + "cluster_template_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "docker_volume_size": { + "description": "", + "example": 5, + "type": "integer" + }, + "flavor_id": { + "description": "", + "type": "string" + }, + "keypair": { + "description": "Keypair name", + "type": "string" + }, + "labels": { + "description": "", + "properties": {}, + "type": "object" + }, + "master_count": { + "description": "", + "example": 1, + "type": "integer" + }, + "master_flavor_id": { + "description": "", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "node_count": { + "description": "", + "example": 1, + "type": "integer" + } + }, + "type": "object" + } + }, + "required": [ + "cluster" + ], + "type": "object" + }, + "PUT /v1.0/configurations/{id}": { + "description": "", + "properties": { + "configuration": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "configuration", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "configuration" + ], + "type": "object" + }, + "PUT /v1.0/datastores/{id}": { + "description": "", + "properties": { + "datastore": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "datastore", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "datastore" + ], + "type": "object" + }, + "PUT /v1.0/instances/{id}": { + "description": "", + "properties": { + "instance": { + "description": "", + "properties": { + "availability_zone": { + "description": "", + "type": "string" + }, + "databases": { + "description": "", + "items": { + "description": "", + "properties": { + "name": { + "description": "", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "datastore": { + "description": "", + "properties": { + "type": { + "description": "", + "example": "mysql", + "type": "string" + }, + "version": { + "description": "", + "example": "8.0", + "type": "string" + } + }, + "required": [ + "type", + "version" + ], + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "flavorRef": { + "description": "", + "example": "1", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "nics": { + "description": "", + "items": { + "description": "", + "properties": { + "net-id": { + "description": "", + "format": "uuid", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "users": { + "description": "", + "items": { + "description": "", + "properties": { + "databases": { + "description": "", + "items": { + "description": "", + "properties": { + "name": { + "description": "", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "name": { + "description": "", + "type": "string" + }, + "password": { + "description": "", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "volume_size": { + "description": "", + "example": 1, + "type": "integer" + } + }, + "type": "object" + } + }, + "required": [ + "instance" + ], + "type": "object" + } + }, + "operations": { + "backup_create": { + "description": "", + "properties": { + "backup": { + "description": "", + "properties": { + "container": { + "description": "", + "type": "string" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "force": { + "default": false, + "description": "", + "type": "boolean" + }, + "incremental": { + "default": false, + "description": "", + "type": "boolean" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "snapshot_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "volume_id": { + "description": "", + "format": "uuid", + "type": "string" + } + }, + "required": [ + "volume_id" + ], + "type": "object" + } + }, + "required": [ + "backup" + ], + "type": "object" + }, + "backup_patch": { + "description": "", + "properties": { + "backup": { + "description": "", + "properties": { + "container": { + "description": "", + "type": "string" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "force": { + "default": false, + "description": "", + "type": "boolean" + }, + "incremental": { + "default": false, + "description": "", + "type": "boolean" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "snapshot_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "volume_id": { + "description": "", + "format": "uuid", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "backup" + ], + "type": "object" + }, + "backup_update": { + "description": "", + "properties": { + "backup": { + "description": "", + "properties": { + "container": { + "description": "", + "type": "string" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "force": { + "default": false, + "description": "", + "type": "boolean" + }, + "incremental": { + "default": false, + "description": "", + "type": "boolean" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "snapshot_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "volume_id": { + "description": "", + "format": "uuid", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "backup" + ], + "type": "object" + }, + "cluster_create": { + "description": "", + "properties": { + "cluster": { + "description": "", + "properties": { + "cluster_template_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "docker_volume_size": { + "description": "", + "example": 5, + "type": "integer" + }, + "flavor_id": { + "description": "", + "type": "string" + }, + "keypair": { + "description": "Keypair name", + "type": "string" + }, + "labels": { + "description": "", + "properties": {}, + "type": "object" + }, + "master_count": { + "description": "", + "example": 1, + "type": "integer" + }, + "master_flavor_id": { + "description": "", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "node_count": { + "description": "", + "example": 1, + "type": "integer" + } + }, + "required": [ + "name", + "cluster_template_id" + ], + "type": "object" + } + }, + "required": [ + "cluster" + ], + "type": "object" + }, + "cluster_patch": { + "description": "", + "properties": { + "cluster": { + "description": "", + "properties": { + "cluster_template_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "docker_volume_size": { + "description": "", + "example": 5, + "type": "integer" + }, + "flavor_id": { + "description": "", + "type": "string" + }, + "keypair": { + "description": "Keypair name", + "type": "string" + }, + "labels": { + "description": "", + "properties": {}, + "type": "object" + }, + "master_count": { + "description": "", + "example": 1, + "type": "integer" + }, + "master_flavor_id": { + "description": "", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "node_count": { + "description": "", + "example": 1, + "type": "integer" + } + }, + "type": "object" + } + }, + "required": [ + "cluster" + ], + "type": "object" + }, + "cluster_update": { + "description": "", + "properties": { + "cluster": { + "description": "", + "properties": { + "cluster_template_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "docker_volume_size": { + "description": "", + "example": 5, + "type": "integer" + }, + "flavor_id": { + "description": "", + "type": "string" + }, + "keypair": { + "description": "Keypair name", + "type": "string" + }, + "labels": { + "description": "", + "properties": {}, + "type": "object" + }, + "master_count": { + "description": "", + "example": 1, + "type": "integer" + }, + "master_flavor_id": { + "description": "", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "node_count": { + "description": "", + "example": 1, + "type": "integer" + } + }, + "type": "object" + } + }, + "required": [ + "cluster" + ], + "type": "object" + }, + "configuration_create": { + "description": "", + "properties": { + "configuration": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "configuration", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "configuration" + ], + "type": "object" + }, + "configuration_patch": { + "description": "", + "properties": { + "configuration": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "configuration", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "configuration" + ], + "type": "object" + }, + "configuration_update": { + "description": "", + "properties": { + "configuration": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "configuration", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "configuration" + ], + "type": "object" + }, + "datastore_create": { + "description": "", + "properties": { + "datastore": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "datastore", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "datastore" + ], + "type": "object" + }, + "datastore_patch": { + "description": "", + "properties": { + "datastore": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "datastore", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "datastore" + ], + "type": "object" + }, + "datastore_update": { + "description": "", + "properties": { + "datastore": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "datastore", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "datastore" + ], + "type": "object" + }, + "instance_create": { + "description": "", + "properties": { + "instance": { + "description": "", + "properties": { + "availability_zone": { + "description": "", + "type": "string" + }, + "databases": { + "description": "", + "items": { + "description": "", + "properties": { + "name": { + "description": "", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "datastore": { + "description": "", + "properties": { + "type": { + "description": "", + "example": "mysql", + "type": "string" + }, + "version": { + "description": "", + "example": "8.0", + "type": "string" + } + }, + "required": [ + "type", + "version" + ], + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "flavorRef": { + "description": "", + "example": "1", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "nics": { + "description": "", + "items": { + "description": "", + "properties": { + "net-id": { + "description": "", + "format": "uuid", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "users": { + "description": "", + "items": { + "description": "", + "properties": { + "databases": { + "description": "", + "items": { + "description": "", + "properties": { + "name": { + "description": "", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "name": { + "description": "", + "type": "string" + }, + "password": { + "description": "", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "volume_size": { + "description": "", + "example": 1, + "type": "integer" + } + }, + "required": [ + "name", + "flavorRef" + ], + "type": "object" + } + }, + "required": [ + "instance" + ], + "type": "object" + }, + "instance_patch": { + "description": "", + "properties": { + "instance": { + "description": "", + "properties": { + "availability_zone": { + "description": "", + "type": "string" + }, + "databases": { + "description": "", + "items": { + "description": "", + "properties": { + "name": { + "description": "", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "datastore": { + "description": "", + "properties": { + "type": { + "description": "", + "example": "mysql", + "type": "string" + }, + "version": { + "description": "", + "example": "8.0", + "type": "string" + } + }, + "required": [ + "type", + "version" + ], + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "flavorRef": { + "description": "", + "example": "1", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "nics": { + "description": "", + "items": { + "description": "", + "properties": { + "net-id": { + "description": "", + "format": "uuid", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "users": { + "description": "", + "items": { + "description": "", + "properties": { + "databases": { + "description": "", + "items": { + "description": "", + "properties": { + "name": { + "description": "", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "name": { + "description": "", + "type": "string" + }, + "password": { + "description": "", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "volume_size": { + "description": "", + "example": 1, + "type": "integer" + } + }, + "type": "object" + } + }, + "required": [ + "instance" + ], + "type": "object" + }, + "instance_update": { + "description": "", + "properties": { + "instance": { + "description": "", + "properties": { + "availability_zone": { + "description": "", + "type": "string" + }, + "databases": { + "description": "", + "items": { + "description": "", + "properties": { + "name": { + "description": "", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "datastore": { + "description": "", + "properties": { + "type": { + "description": "", + "example": "mysql", + "type": "string" + }, + "version": { + "description": "", + "example": "8.0", + "type": "string" + } + }, + "required": [ + "type", + "version" + ], + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "flavorRef": { + "description": "", + "example": "1", + "type": "string" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "nics": { + "description": "", + "items": { + "description": "", + "properties": { + "net-id": { + "description": "", + "format": "uuid", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "users": { + "description": "", + "items": { + "description": "", + "properties": { + "databases": { + "description": "", + "items": { + "description": "", + "properties": { + "name": { + "description": "", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "name": { + "description": "", + "type": "string" + }, + "password": { + "description": "", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "volume_size": { + "description": "", + "example": 1, + "type": "integer" + } + }, + "type": "object" + } + }, + "required": [ + "instance" + ], + "type": "object" + } + }, + "service": "trove", + "source": "generated-from-api-ref-catalog" +} diff --git a/contracts/openstack/request_bodies/vitrage.json b/contracts/openstack/request_bodies/vitrage.json new file mode 100644 index 0000000..ad4be3f --- /dev/null +++ b/contracts/openstack/request_bodies/vitrage.json @@ -0,0 +1,3222 @@ +{ + "by_path": { + "PATCH /v1/alarm/{id}": { + "description": "", + "properties": { + "alarm": { + "description": "", + "properties": { + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "Enabled", + "type": "boolean" + }, + "insufficient_data_actions": { + "description": "", + "items": { + "description": "", + "format": "uri", + "type": "string" + }, + "type": "array" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "ok_actions": { + "description": "", + "items": { + "description": "", + "format": "uri", + "type": "string" + }, + "type": "array" + }, + "repeat_actions": { + "default": true, + "description": "Repeat actions", + "type": "boolean" + }, + "severity_actions": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "threshold_rule": { + "description": "", + "properties": { + "comparison_operator": { + "description": "", + "enum": [ + "gt", + "lt", + "ge", + "le", + "eq", + "ne" + ], + "example": "gt", + "type": "string" + }, + "evaluation_periods": { + "description": "", + "example": 1, + "type": "integer" + }, + "meter_name": { + "description": "", + "example": "cpu_util", + "type": "string" + }, + "period": { + "description": "", + "example": 60, + "type": "integer" + }, + "query": { + "description": "", + "items": { + "description": "", + "properties": { + "field": { + "description": "", + "type": "string" + }, + "op": { + "description": "", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "statistic": { + "description": "", + "enum": [ + "avg", + "max", + "min", + "sum", + "count" + ], + "example": "avg", + "type": "string" + }, + "threshold": { + "description": "", + "example": 80, + "type": "integer" + } + }, + "type": "object" + }, + "type": { + "description": "Alarm type", + "enum": [ + "threshold", + "event", + "gnocchi_resources_threshold" + ], + "example": "threshold", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "alarm" + ], + "type": "object" + }, + "PATCH /v1/event/{id}": { + "description": "", + "properties": { + "event": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "event", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "event" + ], + "type": "object" + }, + "PATCH /v1/resources/{id}": { + "description": "", + "properties": { + "resource": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "resource", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "resource" + ], + "type": "object" + }, + "PATCH /v1/template/{id}": { + "description": "", + "properties": { + "template": { + "description": "", + "properties": { + "disable_rollback": { + "default": true, + "description": "Disable rollback", + "type": "boolean" + }, + "environment": { + "description": "", + "properties": {}, + "type": "object" + }, + "files": { + "description": "", + "properties": {}, + "type": "object" + }, + "parameters": { + "description": "Stack parameters", + "properties": {}, + "type": "object" + }, + "stack_name": { + "description": "Stack name", + "example": "example", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "template": { + "description": "", + "properties": { + "description": { + "description": "", + "type": "string" + }, + "heat_template_version": { + "description": "", + "example": "2015-04-30", + "type": "string" + }, + "parameters": { + "description": "", + "properties": {}, + "type": "object" + }, + "resources": { + "description": "", + "properties": {}, + "type": "object" + } + }, + "required": [ + "heat_template_version" + ], + "type": "object" + }, + "template_url": { + "description": "Template URL", + "format": "uri", + "type": "string" + }, + "timeout_mins": { + "description": "Timeout minutes", + "example": 60, + "type": "integer" + } + }, + "type": "object" + } + }, + "required": [ + "template" + ], + "type": "object" + }, + "PATCH /v1/topology/{id}": { + "description": "", + "properties": { + "topology": { + "description": "", + "properties": { + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "graph": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "topology" + ], + "type": "object" + }, + "POST /v1/alarm": { + "description": "", + "properties": { + "alarm": { + "description": "", + "properties": { + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "Enabled", + "type": "boolean" + }, + "insufficient_data_actions": { + "description": "", + "items": { + "description": "", + "format": "uri", + "type": "string" + }, + "type": "array" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "ok_actions": { + "description": "", + "items": { + "description": "", + "format": "uri", + "type": "string" + }, + "type": "array" + }, + "repeat_actions": { + "default": true, + "description": "Repeat actions", + "type": "boolean" + }, + "severity_actions": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "threshold_rule": { + "description": "", + "properties": { + "comparison_operator": { + "description": "", + "enum": [ + "gt", + "lt", + "ge", + "le", + "eq", + "ne" + ], + "example": "gt", + "type": "string" + }, + "evaluation_periods": { + "description": "", + "example": 1, + "type": "integer" + }, + "meter_name": { + "description": "", + "example": "cpu_util", + "type": "string" + }, + "period": { + "description": "", + "example": 60, + "type": "integer" + }, + "query": { + "description": "", + "items": { + "description": "", + "properties": { + "field": { + "description": "", + "type": "string" + }, + "op": { + "description": "", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "statistic": { + "description": "", + "enum": [ + "avg", + "max", + "min", + "sum", + "count" + ], + "example": "avg", + "type": "string" + }, + "threshold": { + "description": "", + "example": 80, + "type": "integer" + } + }, + "type": "object" + }, + "type": { + "description": "Alarm type", + "enum": [ + "threshold", + "event", + "gnocchi_resources_threshold" + ], + "example": "threshold", + "type": "string" + } + }, + "required": [ + "name", + "type" + ], + "type": "object" + } + }, + "required": [ + "alarm" + ], + "type": "object" + }, + "POST /v1/event": { + "description": "", + "properties": { + "event": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "event", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "event" + ], + "type": "object" + }, + "POST /v1/resources": { + "description": "", + "properties": { + "resource": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "resource", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "resource" + ], + "type": "object" + }, + "POST /v1/template": { + "description": "", + "properties": { + "template": { + "description": "", + "properties": { + "disable_rollback": { + "default": true, + "description": "Disable rollback", + "type": "boolean" + }, + "environment": { + "description": "", + "properties": {}, + "type": "object" + }, + "files": { + "description": "", + "properties": {}, + "type": "object" + }, + "parameters": { + "description": "Stack parameters", + "properties": {}, + "type": "object" + }, + "stack_name": { + "description": "Stack name", + "example": "example", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "template": { + "description": "", + "properties": { + "description": { + "description": "", + "type": "string" + }, + "heat_template_version": { + "description": "", + "example": "2015-04-30", + "type": "string" + }, + "parameters": { + "description": "", + "properties": {}, + "type": "object" + }, + "resources": { + "description": "", + "properties": {}, + "type": "object" + } + }, + "required": [ + "heat_template_version" + ], + "type": "object" + }, + "template_url": { + "description": "Template URL", + "format": "uri", + "type": "string" + }, + "timeout_mins": { + "description": "Timeout minutes", + "example": 60, + "type": "integer" + } + }, + "required": [ + "stack_name", + "template" + ], + "type": "object" + } + }, + "required": [ + "template" + ], + "type": "object" + }, + "POST /v1/topology": { + "description": "", + "properties": { + "topology": { + "description": "", + "properties": { + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "graph": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "topology" + ], + "type": "object" + }, + "PUT /v1/alarm/{id}": { + "description": "", + "properties": { + "alarm": { + "description": "", + "properties": { + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "Enabled", + "type": "boolean" + }, + "insufficient_data_actions": { + "description": "", + "items": { + "description": "", + "format": "uri", + "type": "string" + }, + "type": "array" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "ok_actions": { + "description": "", + "items": { + "description": "", + "format": "uri", + "type": "string" + }, + "type": "array" + }, + "repeat_actions": { + "default": true, + "description": "Repeat actions", + "type": "boolean" + }, + "severity_actions": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "threshold_rule": { + "description": "", + "properties": { + "comparison_operator": { + "description": "", + "enum": [ + "gt", + "lt", + "ge", + "le", + "eq", + "ne" + ], + "example": "gt", + "type": "string" + }, + "evaluation_periods": { + "description": "", + "example": 1, + "type": "integer" + }, + "meter_name": { + "description": "", + "example": "cpu_util", + "type": "string" + }, + "period": { + "description": "", + "example": 60, + "type": "integer" + }, + "query": { + "description": "", + "items": { + "description": "", + "properties": { + "field": { + "description": "", + "type": "string" + }, + "op": { + "description": "", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "statistic": { + "description": "", + "enum": [ + "avg", + "max", + "min", + "sum", + "count" + ], + "example": "avg", + "type": "string" + }, + "threshold": { + "description": "", + "example": 80, + "type": "integer" + } + }, + "type": "object" + }, + "type": { + "description": "Alarm type", + "enum": [ + "threshold", + "event", + "gnocchi_resources_threshold" + ], + "example": "threshold", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "alarm" + ], + "type": "object" + }, + "PUT /v1/event/{id}": { + "description": "", + "properties": { + "event": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "event", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "event" + ], + "type": "object" + }, + "PUT /v1/resources/{id}": { + "description": "", + "properties": { + "resource": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "resource", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "resource" + ], + "type": "object" + }, + "PUT /v1/template/{id}": { + "description": "", + "properties": { + "template": { + "description": "", + "properties": { + "disable_rollback": { + "default": true, + "description": "Disable rollback", + "type": "boolean" + }, + "environment": { + "description": "", + "properties": {}, + "type": "object" + }, + "files": { + "description": "", + "properties": {}, + "type": "object" + }, + "parameters": { + "description": "Stack parameters", + "properties": {}, + "type": "object" + }, + "stack_name": { + "description": "Stack name", + "example": "example", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "template": { + "description": "", + "properties": { + "description": { + "description": "", + "type": "string" + }, + "heat_template_version": { + "description": "", + "example": "2015-04-30", + "type": "string" + }, + "parameters": { + "description": "", + "properties": {}, + "type": "object" + }, + "resources": { + "description": "", + "properties": {}, + "type": "object" + } + }, + "required": [ + "heat_template_version" + ], + "type": "object" + }, + "template_url": { + "description": "Template URL", + "format": "uri", + "type": "string" + }, + "timeout_mins": { + "description": "Timeout minutes", + "example": 60, + "type": "integer" + } + }, + "type": "object" + } + }, + "required": [ + "template" + ], + "type": "object" + }, + "PUT /v1/topology/{id}": { + "description": "", + "properties": { + "topology": { + "description": "", + "properties": { + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "graph": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "topology" + ], + "type": "object" + } + }, + "operations": { + "alarm_create": { + "description": "", + "properties": { + "alarm": { + "description": "", + "properties": { + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "Enabled", + "type": "boolean" + }, + "insufficient_data_actions": { + "description": "", + "items": { + "description": "", + "format": "uri", + "type": "string" + }, + "type": "array" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "ok_actions": { + "description": "", + "items": { + "description": "", + "format": "uri", + "type": "string" + }, + "type": "array" + }, + "repeat_actions": { + "default": true, + "description": "Repeat actions", + "type": "boolean" + }, + "severity_actions": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "threshold_rule": { + "description": "", + "properties": { + "comparison_operator": { + "description": "", + "enum": [ + "gt", + "lt", + "ge", + "le", + "eq", + "ne" + ], + "example": "gt", + "type": "string" + }, + "evaluation_periods": { + "description": "", + "example": 1, + "type": "integer" + }, + "meter_name": { + "description": "", + "example": "cpu_util", + "type": "string" + }, + "period": { + "description": "", + "example": 60, + "type": "integer" + }, + "query": { + "description": "", + "items": { + "description": "", + "properties": { + "field": { + "description": "", + "type": "string" + }, + "op": { + "description": "", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "statistic": { + "description": "", + "enum": [ + "avg", + "max", + "min", + "sum", + "count" + ], + "example": "avg", + "type": "string" + }, + "threshold": { + "description": "", + "example": 80, + "type": "integer" + } + }, + "type": "object" + }, + "type": { + "description": "Alarm type", + "enum": [ + "threshold", + "event", + "gnocchi_resources_threshold" + ], + "example": "threshold", + "type": "string" + } + }, + "required": [ + "name", + "type" + ], + "type": "object" + } + }, + "required": [ + "alarm" + ], + "type": "object" + }, + "alarm_patch": { + "description": "", + "properties": { + "alarm": { + "description": "", + "properties": { + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "Enabled", + "type": "boolean" + }, + "insufficient_data_actions": { + "description": "", + "items": { + "description": "", + "format": "uri", + "type": "string" + }, + "type": "array" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "ok_actions": { + "description": "", + "items": { + "description": "", + "format": "uri", + "type": "string" + }, + "type": "array" + }, + "repeat_actions": { + "default": true, + "description": "Repeat actions", + "type": "boolean" + }, + "severity_actions": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "threshold_rule": { + "description": "", + "properties": { + "comparison_operator": { + "description": "", + "enum": [ + "gt", + "lt", + "ge", + "le", + "eq", + "ne" + ], + "example": "gt", + "type": "string" + }, + "evaluation_periods": { + "description": "", + "example": 1, + "type": "integer" + }, + "meter_name": { + "description": "", + "example": "cpu_util", + "type": "string" + }, + "period": { + "description": "", + "example": 60, + "type": "integer" + }, + "query": { + "description": "", + "items": { + "description": "", + "properties": { + "field": { + "description": "", + "type": "string" + }, + "op": { + "description": "", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "statistic": { + "description": "", + "enum": [ + "avg", + "max", + "min", + "sum", + "count" + ], + "example": "avg", + "type": "string" + }, + "threshold": { + "description": "", + "example": 80, + "type": "integer" + } + }, + "type": "object" + }, + "type": { + "description": "Alarm type", + "enum": [ + "threshold", + "event", + "gnocchi_resources_threshold" + ], + "example": "threshold", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "alarm" + ], + "type": "object" + }, + "alarm_update": { + "description": "", + "properties": { + "alarm": { + "description": "", + "properties": { + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "Enabled", + "type": "boolean" + }, + "insufficient_data_actions": { + "description": "", + "items": { + "description": "", + "format": "uri", + "type": "string" + }, + "type": "array" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "ok_actions": { + "description": "", + "items": { + "description": "", + "format": "uri", + "type": "string" + }, + "type": "array" + }, + "repeat_actions": { + "default": true, + "description": "Repeat actions", + "type": "boolean" + }, + "severity_actions": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "threshold_rule": { + "description": "", + "properties": { + "comparison_operator": { + "description": "", + "enum": [ + "gt", + "lt", + "ge", + "le", + "eq", + "ne" + ], + "example": "gt", + "type": "string" + }, + "evaluation_periods": { + "description": "", + "example": 1, + "type": "integer" + }, + "meter_name": { + "description": "", + "example": "cpu_util", + "type": "string" + }, + "period": { + "description": "", + "example": 60, + "type": "integer" + }, + "query": { + "description": "", + "items": { + "description": "", + "properties": { + "field": { + "description": "", + "type": "string" + }, + "op": { + "description": "", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "statistic": { + "description": "", + "enum": [ + "avg", + "max", + "min", + "sum", + "count" + ], + "example": "avg", + "type": "string" + }, + "threshold": { + "description": "", + "example": 80, + "type": "integer" + } + }, + "type": "object" + }, + "type": { + "description": "Alarm type", + "enum": [ + "threshold", + "event", + "gnocchi_resources_threshold" + ], + "example": "threshold", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "alarm" + ], + "type": "object" + }, + "event_create": { + "description": "", + "properties": { + "event": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "event", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "event" + ], + "type": "object" + }, + "event_patch": { + "description": "", + "properties": { + "event": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "event", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "event" + ], + "type": "object" + }, + "event_update": { + "description": "", + "properties": { + "event": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "event", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "event" + ], + "type": "object" + }, + "resource_create": { + "description": "", + "properties": { + "resource": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "resource", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "resource" + ], + "type": "object" + }, + "resource_patch": { + "description": "", + "properties": { + "resource": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "resource", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "resource" + ], + "type": "object" + }, + "resource_update": { + "description": "", + "properties": { + "resource": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "resource", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "resource" + ], + "type": "object" + }, + "template_create": { + "description": "", + "properties": { + "template": { + "description": "", + "properties": { + "disable_rollback": { + "default": true, + "description": "Disable rollback", + "type": "boolean" + }, + "environment": { + "description": "", + "properties": {}, + "type": "object" + }, + "files": { + "description": "", + "properties": {}, + "type": "object" + }, + "parameters": { + "description": "Stack parameters", + "properties": {}, + "type": "object" + }, + "stack_name": { + "description": "Stack name", + "example": "example", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "template": { + "description": "", + "properties": { + "description": { + "description": "", + "type": "string" + }, + "heat_template_version": { + "description": "", + "example": "2015-04-30", + "type": "string" + }, + "parameters": { + "description": "", + "properties": {}, + "type": "object" + }, + "resources": { + "description": "", + "properties": {}, + "type": "object" + } + }, + "required": [ + "heat_template_version" + ], + "type": "object" + }, + "template_url": { + "description": "Template URL", + "format": "uri", + "type": "string" + }, + "timeout_mins": { + "description": "Timeout minutes", + "example": 60, + "type": "integer" + } + }, + "required": [ + "stack_name", + "template" + ], + "type": "object" + } + }, + "required": [ + "template" + ], + "type": "object" + }, + "template_patch": { + "description": "", + "properties": { + "template": { + "description": "", + "properties": { + "disable_rollback": { + "default": true, + "description": "Disable rollback", + "type": "boolean" + }, + "environment": { + "description": "", + "properties": {}, + "type": "object" + }, + "files": { + "description": "", + "properties": {}, + "type": "object" + }, + "parameters": { + "description": "Stack parameters", + "properties": {}, + "type": "object" + }, + "stack_name": { + "description": "Stack name", + "example": "example", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "template": { + "description": "", + "properties": { + "description": { + "description": "", + "type": "string" + }, + "heat_template_version": { + "description": "", + "example": "2015-04-30", + "type": "string" + }, + "parameters": { + "description": "", + "properties": {}, + "type": "object" + }, + "resources": { + "description": "", + "properties": {}, + "type": "object" + } + }, + "required": [ + "heat_template_version" + ], + "type": "object" + }, + "template_url": { + "description": "Template URL", + "format": "uri", + "type": "string" + }, + "timeout_mins": { + "description": "Timeout minutes", + "example": 60, + "type": "integer" + } + }, + "type": "object" + } + }, + "required": [ + "template" + ], + "type": "object" + }, + "template_update": { + "description": "", + "properties": { + "template": { + "description": "", + "properties": { + "disable_rollback": { + "default": true, + "description": "Disable rollback", + "type": "boolean" + }, + "environment": { + "description": "", + "properties": {}, + "type": "object" + }, + "files": { + "description": "", + "properties": {}, + "type": "object" + }, + "parameters": { + "description": "Stack parameters", + "properties": {}, + "type": "object" + }, + "stack_name": { + "description": "Stack name", + "example": "example", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "template": { + "description": "", + "properties": { + "description": { + "description": "", + "type": "string" + }, + "heat_template_version": { + "description": "", + "example": "2015-04-30", + "type": "string" + }, + "parameters": { + "description": "", + "properties": {}, + "type": "object" + }, + "resources": { + "description": "", + "properties": {}, + "type": "object" + } + }, + "required": [ + "heat_template_version" + ], + "type": "object" + }, + "template_url": { + "description": "Template URL", + "format": "uri", + "type": "string" + }, + "timeout_mins": { + "description": "Timeout minutes", + "example": 60, + "type": "integer" + } + }, + "type": "object" + } + }, + "required": [ + "template" + ], + "type": "object" + }, + "topology_create": { + "description": "", + "properties": { + "topology": { + "description": "", + "properties": { + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "graph": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "topology" + ], + "type": "object" + }, + "topology_patch": { + "description": "", + "properties": { + "topology": { + "description": "", + "properties": { + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "graph": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "topology" + ], + "type": "object" + }, + "topology_update": { + "description": "", + "properties": { + "topology": { + "description": "", + "properties": { + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "graph": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "topology" + ], + "type": "object" + } + }, + "service": "vitrage", + "source": "generated-from-api-ref-catalog" +} diff --git a/contracts/openstack/request_bodies/watcher.json b/contracts/openstack/request_bodies/watcher.json new file mode 100644 index 0000000..943885c --- /dev/null +++ b/contracts/openstack/request_bodies/watcher.json @@ -0,0 +1,5272 @@ +{ + "by_path": { + "PATCH /v1/action_plans/{id}": { + "description": "", + "properties": { + "action_plan": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "action_plan", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "action_plan" + ], + "type": "object" + }, + "PATCH /v1/actions/{id}": { + "description": "", + "properties": { + "action": { + "description": "", + "properties": { + "action": { + "description": "", + "example": "os-start", + "type": "string" + }, + "name": { + "description": "", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "action" + ], + "type": "object" + }, + "PATCH /v1/audit_templates/{id}": { + "description": "", + "properties": { + "audit_template": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "audit_template", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "audit_template" + ], + "type": "object" + }, + "PATCH /v1/audits/{id}": { + "description": "", + "properties": { + "audit": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "audit", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "audit" + ], + "type": "object" + }, + "PATCH /v1/goals/{id}": { + "description": "", + "properties": { + "goal": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "goal", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "goal" + ], + "type": "object" + }, + "PATCH /v1/scoring_engines/{id}": { + "description": "", + "properties": { + "scoring_engine": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "scoring_engine", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "scoring_engine" + ], + "type": "object" + }, + "PATCH /v1/services/{id}": { + "description": "", + "properties": { + "service": { + "description": "", + "properties": { + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "type": { + "description": "", + "example": "compute", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "service" + ], + "type": "object" + }, + "PATCH /v1/strategies/{id}": { + "description": "", + "properties": { + "strategy": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "strategy", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "strategy" + ], + "type": "object" + }, + "POST /v1/action_plans": { + "description": "", + "properties": { + "action_plan": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "action_plan", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "action_plan" + ], + "type": "object" + }, + "POST /v1/actions": { + "description": "", + "properties": { + "action": { + "description": "", + "properties": { + "action": { + "description": "", + "example": "os-start", + "type": "string" + }, + "name": { + "description": "", + "type": "string" + } + }, + "required": [ + "action" + ], + "type": "object" + } + }, + "required": [ + "action" + ], + "type": "object" + }, + "POST /v1/audit_templates": { + "description": "", + "properties": { + "audit_template": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "audit_template", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "audit_template" + ], + "type": "object" + }, + "POST /v1/audits": { + "description": "", + "properties": { + "audit": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "audit", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "audit" + ], + "type": "object" + }, + "POST /v1/goals": { + "description": "", + "properties": { + "goal": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "goal", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "goal" + ], + "type": "object" + }, + "POST /v1/scoring_engines": { + "description": "", + "properties": { + "scoring_engine": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "scoring_engine", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "scoring_engine" + ], + "type": "object" + }, + "POST /v1/services": { + "description": "", + "properties": { + "service": { + "description": "", + "properties": { + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "type": { + "description": "", + "example": "compute", + "type": "string" + } + }, + "required": [ + "name", + "type" + ], + "type": "object" + } + }, + "required": [ + "service" + ], + "type": "object" + }, + "POST /v1/strategies": { + "description": "", + "properties": { + "strategy": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "strategy", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "strategy" + ], + "type": "object" + }, + "PUT /v1/action_plans/{id}": { + "description": "", + "properties": { + "action_plan": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "action_plan", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "action_plan" + ], + "type": "object" + }, + "PUT /v1/actions/{id}": { + "description": "", + "properties": { + "action": { + "description": "", + "properties": { + "action": { + "description": "", + "example": "os-start", + "type": "string" + }, + "name": { + "description": "", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "action" + ], + "type": "object" + }, + "PUT /v1/audit_templates/{id}": { + "description": "", + "properties": { + "audit_template": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "audit_template", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "audit_template" + ], + "type": "object" + }, + "PUT /v1/audits/{id}": { + "description": "", + "properties": { + "audit": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "audit", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "audit" + ], + "type": "object" + }, + "PUT /v1/goals/{id}": { + "description": "", + "properties": { + "goal": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "goal", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "goal" + ], + "type": "object" + }, + "PUT /v1/scoring_engines/{id}": { + "description": "", + "properties": { + "scoring_engine": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "scoring_engine", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "scoring_engine" + ], + "type": "object" + }, + "PUT /v1/services/{id}": { + "description": "", + "properties": { + "service": { + "description": "", + "properties": { + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "type": { + "description": "", + "example": "compute", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "service" + ], + "type": "object" + }, + "PUT /v1/strategies/{id}": { + "description": "", + "properties": { + "strategy": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "strategy", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "strategy" + ], + "type": "object" + } + }, + "operations": { + "action_create": { + "description": "", + "properties": { + "action": { + "description": "", + "properties": { + "action": { + "description": "", + "example": "os-start", + "type": "string" + }, + "name": { + "description": "", + "type": "string" + } + }, + "required": [ + "action" + ], + "type": "object" + } + }, + "required": [ + "action" + ], + "type": "object" + }, + "action_patch": { + "description": "", + "properties": { + "action": { + "description": "", + "properties": { + "action": { + "description": "", + "example": "os-start", + "type": "string" + }, + "name": { + "description": "", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "action" + ], + "type": "object" + }, + "action_plan_create": { + "description": "", + "properties": { + "action_plan": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "action_plan", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "action_plan" + ], + "type": "object" + }, + "action_plan_patch": { + "description": "", + "properties": { + "action_plan": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "action_plan", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "action_plan" + ], + "type": "object" + }, + "action_plan_update": { + "description": "", + "properties": { + "action_plan": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "action_plan", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "action_plan" + ], + "type": "object" + }, + "action_update": { + "description": "", + "properties": { + "action": { + "description": "", + "properties": { + "action": { + "description": "", + "example": "os-start", + "type": "string" + }, + "name": { + "description": "", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "action" + ], + "type": "object" + }, + "audit_create": { + "description": "", + "properties": { + "audit": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "audit", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "audit" + ], + "type": "object" + }, + "audit_patch": { + "description": "", + "properties": { + "audit": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "audit", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "audit" + ], + "type": "object" + }, + "audit_template_create": { + "description": "", + "properties": { + "audit_template": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "audit_template", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "audit_template" + ], + "type": "object" + }, + "audit_template_patch": { + "description": "", + "properties": { + "audit_template": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "audit_template", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "audit_template" + ], + "type": "object" + }, + "audit_template_update": { + "description": "", + "properties": { + "audit_template": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "audit_template", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "audit_template" + ], + "type": "object" + }, + "audit_update": { + "description": "", + "properties": { + "audit": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "audit", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "audit" + ], + "type": "object" + }, + "goal_create": { + "description": "", + "properties": { + "goal": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "goal", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "goal" + ], + "type": "object" + }, + "goal_patch": { + "description": "", + "properties": { + "goal": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "goal", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "goal" + ], + "type": "object" + }, + "goal_update": { + "description": "", + "properties": { + "goal": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "goal", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "goal" + ], + "type": "object" + }, + "scoring_engine_create": { + "description": "", + "properties": { + "scoring_engine": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "scoring_engine", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "scoring_engine" + ], + "type": "object" + }, + "scoring_engine_patch": { + "description": "", + "properties": { + "scoring_engine": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "scoring_engine", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "scoring_engine" + ], + "type": "object" + }, + "scoring_engine_update": { + "description": "", + "properties": { + "scoring_engine": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "scoring_engine", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "scoring_engine" + ], + "type": "object" + }, + "service_create": { + "description": "", + "properties": { + "service": { + "description": "", + "properties": { + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "type": { + "description": "", + "example": "compute", + "type": "string" + } + }, + "required": [ + "name", + "type" + ], + "type": "object" + } + }, + "required": [ + "service" + ], + "type": "object" + }, + "service_patch": { + "description": "", + "properties": { + "service": { + "description": "", + "properties": { + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "type": { + "description": "", + "example": "compute", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "service" + ], + "type": "object" + }, + "service_update": { + "description": "", + "properties": { + "service": { + "description": "", + "properties": { + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "type": { + "description": "", + "example": "compute", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "service" + ], + "type": "object" + }, + "strategy_create": { + "description": "", + "properties": { + "strategy": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "strategy", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "strategy" + ], + "type": "object" + }, + "strategy_patch": { + "description": "", + "properties": { + "strategy": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "strategy", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "strategy" + ], + "type": "object" + }, + "strategy_update": { + "description": "", + "properties": { + "strategy": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "strategy", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "strategy" + ], + "type": "object" + } + }, + "service": "watcher", + "source": "generated-from-api-ref-catalog" +} diff --git a/contracts/openstack/request_bodies/zaqar.json b/contracts/openstack/request_bodies/zaqar.json new file mode 100644 index 0000000..bceeb89 --- /dev/null +++ b/contracts/openstack/request_bodies/zaqar.json @@ -0,0 +1,1414 @@ +{ + "by_path": { + "PATCH /v2/queues/{id}": { + "description": "", + "properties": { + "queue": { + "description": "", + "properties": { + "_metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "queue_name": { + "description": "", + "example": "example", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "queue" + ], + "type": "object" + }, + "PATCH /v2/queues/{queue_name}/claims/{id}": { + "description": "", + "properties": { + "claim": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "claim", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "claim" + ], + "type": "object" + }, + "PATCH /v2/queues/{queue_name}/messages/{id}": { + "description": "", + "properties": { + "message": { + "description": "", + "properties": { + "messages": { + "description": "", + "items": { + "description": "", + "properties": { + "body": { + "description": "", + "properties": { + "event": { + "description": "", + "example": "example", + "type": "string" + } + }, + "type": "object" + }, + "ttl": { + "description": "", + "example": 3600, + "type": "integer" + } + }, + "required": [ + "body" + ], + "type": "object" + }, + "type": "array" + } + }, + "type": "object" + } + }, + "required": [ + "message" + ], + "type": "object" + }, + "PATCH /v2/queues/{queue_name}/subscriptions/{id}": { + "description": "", + "properties": { + "subscription": { + "description": "", + "properties": { + "options": { + "description": "", + "properties": {}, + "type": "object" + }, + "subscriber": { + "description": "", + "example": "http://example.com/hook", + "format": "uri", + "type": "string" + }, + "ttl": { + "description": "", + "example": 3600, + "type": "integer" + } + }, + "type": "object" + } + }, + "required": [ + "subscription" + ], + "type": "object" + }, + "POST /v2/queues": { + "description": "", + "properties": { + "queue": { + "description": "", + "properties": { + "_metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "queue_name": { + "description": "", + "example": "example", + "type": "string" + } + }, + "required": [ + "queue_name" + ], + "type": "object" + } + }, + "required": [ + "queue" + ], + "type": "object" + }, + "POST /v2/queues/{queue_name}/claims": { + "description": "", + "properties": { + "claim": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "claim", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "claim" + ], + "type": "object" + }, + "POST /v2/queues/{queue_name}/messages": { + "description": "", + "properties": { + "message": { + "description": "", + "properties": { + "messages": { + "description": "", + "items": { + "description": "", + "properties": { + "body": { + "description": "", + "properties": { + "event": { + "description": "", + "example": "example", + "type": "string" + } + }, + "type": "object" + }, + "ttl": { + "description": "", + "example": 3600, + "type": "integer" + } + }, + "required": [ + "body" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "messages" + ], + "type": "object" + } + }, + "required": [ + "message" + ], + "type": "object" + }, + "POST /v2/queues/{queue_name}/subscriptions": { + "description": "", + "properties": { + "subscription": { + "description": "", + "properties": { + "options": { + "description": "", + "properties": {}, + "type": "object" + }, + "subscriber": { + "description": "", + "example": "http://example.com/hook", + "format": "uri", + "type": "string" + }, + "ttl": { + "description": "", + "example": 3600, + "type": "integer" + } + }, + "required": [ + "subscriber" + ], + "type": "object" + } + }, + "required": [ + "subscription" + ], + "type": "object" + }, + "PUT /v2/queues/{id}": { + "description": "", + "properties": { + "_metadata": { + "description": "", + "properties": {}, + "type": "object" + } + }, + "type": "object" + }, + "PUT /v2/queues/{queue_name}/claims/{id}": { + "description": "", + "properties": { + "claim": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "claim", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "claim" + ], + "type": "object" + }, + "PUT /v2/queues/{queue_name}/messages/{id}": { + "description": "", + "properties": { + "message": { + "description": "", + "properties": { + "messages": { + "description": "", + "items": { + "description": "", + "properties": { + "body": { + "description": "", + "properties": { + "event": { + "description": "", + "example": "example", + "type": "string" + } + }, + "type": "object" + }, + "ttl": { + "description": "", + "example": 3600, + "type": "integer" + } + }, + "required": [ + "body" + ], + "type": "object" + }, + "type": "array" + } + }, + "type": "object" + } + }, + "required": [ + "message" + ], + "type": "object" + }, + "PUT /v2/queues/{queue_name}/subscriptions/{id}": { + "description": "", + "properties": { + "subscription": { + "description": "", + "properties": { + "options": { + "description": "", + "properties": {}, + "type": "object" + }, + "subscriber": { + "description": "", + "example": "http://example.com/hook", + "format": "uri", + "type": "string" + }, + "ttl": { + "description": "", + "example": 3600, + "type": "integer" + } + }, + "type": "object" + } + }, + "required": [ + "subscription" + ], + "type": "object" + } + }, + "operations": { + "claim_create": { + "description": "", + "properties": { + "claim": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "claim", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "claim" + ], + "type": "object" + }, + "claim_patch": { + "description": "", + "properties": { + "claim": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "claim", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "claim" + ], + "type": "object" + }, + "claim_update": { + "description": "", + "properties": { + "claim": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "claim", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "claim" + ], + "type": "object" + }, + "message_create": { + "description": "", + "properties": { + "message": { + "description": "", + "properties": { + "messages": { + "description": "", + "items": { + "description": "", + "properties": { + "body": { + "description": "", + "properties": { + "event": { + "description": "", + "example": "example", + "type": "string" + } + }, + "type": "object" + }, + "ttl": { + "description": "", + "example": 3600, + "type": "integer" + } + }, + "required": [ + "body" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "messages" + ], + "type": "object" + } + }, + "required": [ + "message" + ], + "type": "object" + }, + "message_patch": { + "description": "", + "properties": { + "message": { + "description": "", + "properties": { + "messages": { + "description": "", + "items": { + "description": "", + "properties": { + "body": { + "description": "", + "properties": { + "event": { + "description": "", + "example": "example", + "type": "string" + } + }, + "type": "object" + }, + "ttl": { + "description": "", + "example": 3600, + "type": "integer" + } + }, + "required": [ + "body" + ], + "type": "object" + }, + "type": "array" + } + }, + "type": "object" + } + }, + "required": [ + "message" + ], + "type": "object" + }, + "message_update": { + "description": "", + "properties": { + "message": { + "description": "", + "properties": { + "messages": { + "description": "", + "items": { + "description": "", + "properties": { + "body": { + "description": "", + "properties": { + "event": { + "description": "", + "example": "example", + "type": "string" + } + }, + "type": "object" + }, + "ttl": { + "description": "", + "example": 3600, + "type": "integer" + } + }, + "required": [ + "body" + ], + "type": "object" + }, + "type": "array" + } + }, + "type": "object" + } + }, + "required": [ + "message" + ], + "type": "object" + }, + "queue_create": { + "description": "", + "properties": { + "queue": { + "description": "", + "properties": { + "_metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "queue_name": { + "description": "", + "example": "example", + "type": "string" + } + }, + "required": [ + "queue_name" + ], + "type": "object" + } + }, + "required": [ + "queue" + ], + "type": "object" + }, + "queue_patch": { + "description": "", + "properties": { + "queue": { + "description": "", + "properties": { + "_metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "queue_name": { + "description": "", + "example": "example", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "queue" + ], + "type": "object" + }, + "queue_update": { + "description": "", + "properties": { + "_metadata": { + "description": "", + "properties": {}, + "type": "object" + } + }, + "type": "object" + }, + "subscription_create": { + "description": "", + "properties": { + "subscription": { + "description": "", + "properties": { + "options": { + "description": "", + "properties": {}, + "type": "object" + }, + "subscriber": { + "description": "", + "example": "http://example.com/hook", + "format": "uri", + "type": "string" + }, + "ttl": { + "description": "", + "example": 3600, + "type": "integer" + } + }, + "required": [ + "subscriber" + ], + "type": "object" + } + }, + "required": [ + "subscription" + ], + "type": "object" + }, + "subscription_patch": { + "description": "", + "properties": { + "subscription": { + "description": "", + "properties": { + "options": { + "description": "", + "properties": {}, + "type": "object" + }, + "subscriber": { + "description": "", + "example": "http://example.com/hook", + "format": "uri", + "type": "string" + }, + "ttl": { + "description": "", + "example": 3600, + "type": "integer" + } + }, + "type": "object" + } + }, + "required": [ + "subscription" + ], + "type": "object" + }, + "subscription_update": { + "description": "", + "properties": { + "subscription": { + "description": "", + "properties": { + "options": { + "description": "", + "properties": {}, + "type": "object" + }, + "subscriber": { + "description": "", + "example": "http://example.com/hook", + "format": "uri", + "type": "string" + }, + "ttl": { + "description": "", + "example": 3600, + "type": "integer" + } + }, + "type": "object" + } + }, + "required": [ + "subscription" + ], + "type": "object" + } + }, + "service": "zaqar", + "source": "generated-from-api-ref-catalog" +} diff --git a/contracts/openstack/request_bodies/zun.json b/contracts/openstack/request_bodies/zun.json new file mode 100644 index 0000000..7c8c059 --- /dev/null +++ b/contracts/openstack/request_bodies/zun.json @@ -0,0 +1,2442 @@ +{ + "by_path": { + "PATCH /v1/capsules/{id}": { + "description": "", + "properties": { + "capsule": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "capsule", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "capsule" + ], + "type": "object" + }, + "PATCH /v1/containers/{id}": { + "description": "", + "properties": { + "container": { + "description": "", + "properties": { + "command": { + "description": "Command", + "type": "string" + }, + "cpu": { + "description": "", + "example": 1, + "type": "integer" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "environment": { + "description": "", + "properties": {}, + "type": "object" + }, + "image": { + "description": "Container image", + "example": "cirros", + "type": "string" + }, + "interactive": { + "default": false, + "description": "", + "type": "boolean" + }, + "memory": { + "description": "Memory MiB", + "example": 512, + "type": "integer" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "nets": { + "description": "", + "items": { + "description": "", + "properties": { + "network": { + "description": "", + "format": "uuid", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "restart_policy": { + "description": "", + "properties": { + "MaximumRetryCount": { + "description": "", + "example": 0, + "type": "integer" + }, + "Name": { + "description": "", + "example": "no", + "type": "string" + } + }, + "type": "object" + }, + "tty": { + "default": false, + "description": "", + "type": "boolean" + }, + "workdir": { + "description": "", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "container" + ], + "type": "object" + }, + "PATCH /v1/hosts/{id}": { + "description": "", + "properties": { + "host": { + "description": "", + "properties": { + "extra_capabilities": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "", + "example": "example", + "type": "string" + }, + "reservable": { + "default": true, + "description": "", + "type": "boolean" + } + }, + "type": "object" + } + }, + "required": [ + "host" + ], + "type": "object" + }, + "PATCH /v1/images/{id}": { + "description": "", + "properties": { + "image": { + "description": "", + "properties": { + "architecture": { + "description": "CPU architecture", + "type": "string" + }, + "container_format": { + "description": "Container format", + "enum": [ + "bare", + "ovf", + "aki", + "ari", + "ami", + "ova", + "docker" + ], + "example": "bare", + "type": "string" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "disk_format": { + "description": "Disk format", + "enum": [ + "raw", + "qcow2", + "vmdk", + "vdi", + "iso", + "aki", + "ari", + "ami" + ], + "example": "qcow2", + "type": "string" + }, + "min_disk": { + "description": "Min disk GiB", + "example": 0, + "minimum": 0, + "type": "integer" + }, + "min_ram": { + "description": "Min RAM MiB", + "example": 0, + "minimum": 0, + "type": "integer" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "os_type": { + "description": "OS type", + "type": "string" + }, + "protected": { + "description": "Protected", + "type": "boolean" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "visibility": { + "description": "Visibility", + "enum": [ + "public", + "private", + "shared", + "community" + ], + "example": "private", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "image" + ], + "type": "object" + }, + "PATCH /v1/services/{id}": { + "description": "", + "properties": { + "service": { + "description": "", + "properties": { + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "type": { + "description": "", + "example": "compute", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "service" + ], + "type": "object" + }, + "POST /v1/capsules": { + "description": "", + "properties": { + "capsule": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "capsule", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "capsule" + ], + "type": "object" + }, + "POST /v1/containers": { + "description": "", + "properties": { + "container": { + "description": "", + "properties": { + "command": { + "description": "Command", + "type": "string" + }, + "cpu": { + "description": "", + "example": 1, + "type": "integer" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "environment": { + "description": "", + "properties": {}, + "type": "object" + }, + "image": { + "description": "Container image", + "example": "cirros", + "type": "string" + }, + "interactive": { + "default": false, + "description": "", + "type": "boolean" + }, + "memory": { + "description": "Memory MiB", + "example": 512, + "type": "integer" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "nets": { + "description": "", + "items": { + "description": "", + "properties": { + "network": { + "description": "", + "format": "uuid", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "restart_policy": { + "description": "", + "properties": { + "MaximumRetryCount": { + "description": "", + "example": 0, + "type": "integer" + }, + "Name": { + "description": "", + "example": "no", + "type": "string" + } + }, + "type": "object" + }, + "tty": { + "default": false, + "description": "", + "type": "boolean" + }, + "workdir": { + "description": "", + "type": "string" + } + }, + "required": [ + "image" + ], + "type": "object" + } + }, + "required": [ + "container" + ], + "type": "object" + }, + "POST /v1/containers/{id}/start": { + "description": "", + "properties": { + "os-start": { + "description": "Action os-start body (null object)", + "type": "null" + } + }, + "required": [ + "os-start" + ], + "type": "object" + }, + "POST /v1/containers/{id}/stop": { + "description": "", + "properties": { + "os-start": { + "description": "Action os-start body (null object)", + "type": "null" + } + }, + "required": [ + "os-start" + ], + "type": "object" + }, + "POST /v1/hosts": { + "description": "", + "properties": { + "host": { + "description": "", + "properties": { + "extra_capabilities": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "", + "example": "example", + "type": "string" + }, + "reservable": { + "default": true, + "description": "", + "type": "boolean" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "host" + ], + "type": "object" + }, + "POST /v1/images": { + "description": "", + "properties": { + "image": { + "description": "", + "properties": { + "architecture": { + "description": "CPU architecture", + "type": "string" + }, + "container_format": { + "description": "Container format", + "enum": [ + "bare", + "ovf", + "aki", + "ari", + "ami", + "ova", + "docker" + ], + "example": "bare", + "type": "string" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "disk_format": { + "description": "Disk format", + "enum": [ + "raw", + "qcow2", + "vmdk", + "vdi", + "iso", + "aki", + "ari", + "ami" + ], + "example": "qcow2", + "type": "string" + }, + "min_disk": { + "description": "Min disk GiB", + "example": 0, + "minimum": 0, + "type": "integer" + }, + "min_ram": { + "description": "Min RAM MiB", + "example": 0, + "minimum": 0, + "type": "integer" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "os_type": { + "description": "OS type", + "type": "string" + }, + "protected": { + "description": "Protected", + "type": "boolean" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "visibility": { + "description": "Visibility", + "enum": [ + "public", + "private", + "shared", + "community" + ], + "example": "private", + "type": "string" + } + }, + "required": [ + "name", + "container_format", + "disk_format" + ], + "type": "object" + } + }, + "required": [ + "image" + ], + "type": "object" + }, + "POST /v1/services": { + "description": "", + "properties": { + "service": { + "description": "", + "properties": { + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "type": { + "description": "", + "example": "compute", + "type": "string" + } + }, + "required": [ + "name", + "type" + ], + "type": "object" + } + }, + "required": [ + "service" + ], + "type": "object" + }, + "PUT /v1/capsules/{id}": { + "description": "", + "properties": { + "capsule": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "capsule", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "capsule" + ], + "type": "object" + }, + "PUT /v1/containers/{id}": { + "description": "", + "properties": { + "container": { + "description": "", + "properties": { + "command": { + "description": "Command", + "type": "string" + }, + "cpu": { + "description": "", + "example": 1, + "type": "integer" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "environment": { + "description": "", + "properties": {}, + "type": "object" + }, + "image": { + "description": "Container image", + "example": "cirros", + "type": "string" + }, + "interactive": { + "default": false, + "description": "", + "type": "boolean" + }, + "memory": { + "description": "Memory MiB", + "example": 512, + "type": "integer" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "nets": { + "description": "", + "items": { + "description": "", + "properties": { + "network": { + "description": "", + "format": "uuid", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "restart_policy": { + "description": "", + "properties": { + "MaximumRetryCount": { + "description": "", + "example": 0, + "type": "integer" + }, + "Name": { + "description": "", + "example": "no", + "type": "string" + } + }, + "type": "object" + }, + "tty": { + "default": false, + "description": "", + "type": "boolean" + }, + "workdir": { + "description": "", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "container" + ], + "type": "object" + }, + "PUT /v1/hosts/{id}": { + "description": "", + "properties": { + "host": { + "description": "", + "properties": { + "extra_capabilities": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "", + "example": "example", + "type": "string" + }, + "reservable": { + "default": true, + "description": "", + "type": "boolean" + } + }, + "type": "object" + } + }, + "required": [ + "host" + ], + "type": "object" + }, + "PUT /v1/images/{id}": { + "description": "", + "properties": { + "image": { + "description": "", + "properties": { + "architecture": { + "description": "CPU architecture", + "type": "string" + }, + "container_format": { + "description": "Container format", + "enum": [ + "bare", + "ovf", + "aki", + "ari", + "ami", + "ova", + "docker" + ], + "example": "bare", + "type": "string" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "disk_format": { + "description": "Disk format", + "enum": [ + "raw", + "qcow2", + "vmdk", + "vdi", + "iso", + "aki", + "ari", + "ami" + ], + "example": "qcow2", + "type": "string" + }, + "min_disk": { + "description": "Min disk GiB", + "example": 0, + "minimum": 0, + "type": "integer" + }, + "min_ram": { + "description": "Min RAM MiB", + "example": 0, + "minimum": 0, + "type": "integer" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "os_type": { + "description": "OS type", + "type": "string" + }, + "protected": { + "description": "Protected", + "type": "boolean" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "visibility": { + "description": "Visibility", + "enum": [ + "public", + "private", + "shared", + "community" + ], + "example": "private", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "image" + ], + "type": "object" + }, + "PUT /v1/services/{id}": { + "description": "", + "properties": { + "service": { + "description": "", + "properties": { + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "type": { + "description": "", + "example": "compute", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "service" + ], + "type": "object" + } + }, + "operations": { + "capsule_create": { + "description": "", + "properties": { + "capsule": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "capsule", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "capsule" + ], + "type": "object" + }, + "capsule_patch": { + "description": "", + "properties": { + "capsule": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "capsule", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "capsule" + ], + "type": "object" + }, + "capsule_update": { + "description": "", + "properties": { + "capsule": { + "description": "", + "properties": { + "address": { + "description": "", + "type": "string" + }, + "admin_state_up": { + "default": true, + "description": "", + "type": "boolean" + }, + "configuration": { + "description": "", + "properties": {}, + "type": "object" + }, + "data": { + "description": "", + "properties": {}, + "type": "object" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "extra": { + "description": "", + "properties": {}, + "type": "object" + }, + "id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "metadata": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "port": { + "description": "", + "example": 80, + "type": "integer" + }, + "project_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "properties": { + "description": "", + "properties": {}, + "type": "object" + }, + "protocol": { + "description": "", + "type": "string" + }, + "shared": { + "default": false, + "description": "", + "type": "boolean" + }, + "size": { + "description": "", + "example": 1, + "type": "integer" + }, + "spec": { + "description": "", + "properties": {}, + "type": "object" + }, + "status": { + "description": "", + "example": "ACTIVE", + "type": "string" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "tenant_id": { + "description": "", + "format": "uuid", + "type": "string" + }, + "type": { + "description": "", + "example": "capsule", + "type": "string" + }, + "url": { + "description": "", + "format": "uri", + "type": "string" + }, + "value": { + "description": "", + "type": "string" + }, + "version": { + "description": "", + "example": "1", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "capsule" + ], + "type": "object" + }, + "container_action": { + "description": "", + "properties": { + "os-start": { + "description": "Action os-start body (null object)", + "type": "null" + } + }, + "required": [ + "os-start" + ], + "type": "object" + }, + "container_create": { + "description": "", + "properties": { + "container": { + "description": "", + "properties": { + "command": { + "description": "Command", + "type": "string" + }, + "cpu": { + "description": "", + "example": 1, + "type": "integer" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "environment": { + "description": "", + "properties": {}, + "type": "object" + }, + "image": { + "description": "Container image", + "example": "cirros", + "type": "string" + }, + "interactive": { + "default": false, + "description": "", + "type": "boolean" + }, + "memory": { + "description": "Memory MiB", + "example": 512, + "type": "integer" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "nets": { + "description": "", + "items": { + "description": "", + "properties": { + "network": { + "description": "", + "format": "uuid", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "restart_policy": { + "description": "", + "properties": { + "MaximumRetryCount": { + "description": "", + "example": 0, + "type": "integer" + }, + "Name": { + "description": "", + "example": "no", + "type": "string" + } + }, + "type": "object" + }, + "tty": { + "default": false, + "description": "", + "type": "boolean" + }, + "workdir": { + "description": "", + "type": "string" + } + }, + "required": [ + "image" + ], + "type": "object" + } + }, + "required": [ + "container" + ], + "type": "object" + }, + "container_patch": { + "description": "", + "properties": { + "container": { + "description": "", + "properties": { + "command": { + "description": "Command", + "type": "string" + }, + "cpu": { + "description": "", + "example": 1, + "type": "integer" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "environment": { + "description": "", + "properties": {}, + "type": "object" + }, + "image": { + "description": "Container image", + "example": "cirros", + "type": "string" + }, + "interactive": { + "default": false, + "description": "", + "type": "boolean" + }, + "memory": { + "description": "Memory MiB", + "example": 512, + "type": "integer" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "nets": { + "description": "", + "items": { + "description": "", + "properties": { + "network": { + "description": "", + "format": "uuid", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "restart_policy": { + "description": "", + "properties": { + "MaximumRetryCount": { + "description": "", + "example": 0, + "type": "integer" + }, + "Name": { + "description": "", + "example": "no", + "type": "string" + } + }, + "type": "object" + }, + "tty": { + "default": false, + "description": "", + "type": "boolean" + }, + "workdir": { + "description": "", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "container" + ], + "type": "object" + }, + "container_stop": { + "description": "", + "properties": { + "os-start": { + "description": "Action os-start body (null object)", + "type": "null" + } + }, + "required": [ + "os-start" + ], + "type": "object" + }, + "container_update": { + "description": "", + "properties": { + "container": { + "description": "", + "properties": { + "command": { + "description": "Command", + "type": "string" + }, + "cpu": { + "description": "", + "example": 1, + "type": "integer" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "environment": { + "description": "", + "properties": {}, + "type": "object" + }, + "image": { + "description": "Container image", + "example": "cirros", + "type": "string" + }, + "interactive": { + "default": false, + "description": "", + "type": "boolean" + }, + "memory": { + "description": "Memory MiB", + "example": 512, + "type": "integer" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "nets": { + "description": "", + "items": { + "description": "", + "properties": { + "network": { + "description": "", + "format": "uuid", + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, + "restart_policy": { + "description": "", + "properties": { + "MaximumRetryCount": { + "description": "", + "example": 0, + "type": "integer" + }, + "Name": { + "description": "", + "example": "no", + "type": "string" + } + }, + "type": "object" + }, + "tty": { + "default": false, + "description": "", + "type": "boolean" + }, + "workdir": { + "description": "", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "container" + ], + "type": "object" + }, + "host_create": { + "description": "", + "properties": { + "host": { + "description": "", + "properties": { + "extra_capabilities": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "", + "example": "example", + "type": "string" + }, + "reservable": { + "default": true, + "description": "", + "type": "boolean" + } + }, + "required": [ + "name" + ], + "type": "object" + } + }, + "required": [ + "host" + ], + "type": "object" + }, + "host_patch": { + "description": "", + "properties": { + "host": { + "description": "", + "properties": { + "extra_capabilities": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "", + "example": "example", + "type": "string" + }, + "reservable": { + "default": true, + "description": "", + "type": "boolean" + } + }, + "type": "object" + } + }, + "required": [ + "host" + ], + "type": "object" + }, + "host_update": { + "description": "", + "properties": { + "host": { + "description": "", + "properties": { + "extra_capabilities": { + "description": "", + "properties": {}, + "type": "object" + }, + "name": { + "description": "", + "example": "example", + "type": "string" + }, + "reservable": { + "default": true, + "description": "", + "type": "boolean" + } + }, + "type": "object" + } + }, + "required": [ + "host" + ], + "type": "object" + }, + "image_create": { + "description": "", + "properties": { + "image": { + "description": "", + "properties": { + "architecture": { + "description": "CPU architecture", + "type": "string" + }, + "container_format": { + "description": "Container format", + "enum": [ + "bare", + "ovf", + "aki", + "ari", + "ami", + "ova", + "docker" + ], + "example": "bare", + "type": "string" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "disk_format": { + "description": "Disk format", + "enum": [ + "raw", + "qcow2", + "vmdk", + "vdi", + "iso", + "aki", + "ari", + "ami" + ], + "example": "qcow2", + "type": "string" + }, + "min_disk": { + "description": "Min disk GiB", + "example": 0, + "minimum": 0, + "type": "integer" + }, + "min_ram": { + "description": "Min RAM MiB", + "example": 0, + "minimum": 0, + "type": "integer" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "os_type": { + "description": "OS type", + "type": "string" + }, + "protected": { + "description": "Protected", + "type": "boolean" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "visibility": { + "description": "Visibility", + "enum": [ + "public", + "private", + "shared", + "community" + ], + "example": "private", + "type": "string" + } + }, + "required": [ + "name", + "container_format", + "disk_format" + ], + "type": "object" + } + }, + "required": [ + "image" + ], + "type": "object" + }, + "image_patch": { + "description": "", + "properties": { + "image": { + "description": "", + "properties": { + "architecture": { + "description": "CPU architecture", + "type": "string" + }, + "container_format": { + "description": "Container format", + "enum": [ + "bare", + "ovf", + "aki", + "ari", + "ami", + "ova", + "docker" + ], + "example": "bare", + "type": "string" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "disk_format": { + "description": "Disk format", + "enum": [ + "raw", + "qcow2", + "vmdk", + "vdi", + "iso", + "aki", + "ari", + "ami" + ], + "example": "qcow2", + "type": "string" + }, + "min_disk": { + "description": "Min disk GiB", + "example": 0, + "minimum": 0, + "type": "integer" + }, + "min_ram": { + "description": "Min RAM MiB", + "example": 0, + "minimum": 0, + "type": "integer" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "os_type": { + "description": "OS type", + "type": "string" + }, + "protected": { + "description": "Protected", + "type": "boolean" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "visibility": { + "description": "Visibility", + "enum": [ + "public", + "private", + "shared", + "community" + ], + "example": "private", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "image" + ], + "type": "object" + }, + "image_update": { + "description": "", + "properties": { + "image": { + "description": "", + "properties": { + "architecture": { + "description": "CPU architecture", + "type": "string" + }, + "container_format": { + "description": "Container format", + "enum": [ + "bare", + "ovf", + "aki", + "ari", + "ami", + "ova", + "docker" + ], + "example": "bare", + "type": "string" + }, + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "disk_format": { + "description": "Disk format", + "enum": [ + "raw", + "qcow2", + "vmdk", + "vdi", + "iso", + "aki", + "ari", + "ami" + ], + "example": "qcow2", + "type": "string" + }, + "min_disk": { + "description": "Min disk GiB", + "example": 0, + "minimum": 0, + "type": "integer" + }, + "min_ram": { + "description": "Min RAM MiB", + "example": 0, + "minimum": 0, + "type": "integer" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "os_type": { + "description": "OS type", + "type": "string" + }, + "protected": { + "description": "Protected", + "type": "boolean" + }, + "tags": { + "description": "", + "items": { + "description": "", + "type": "string" + }, + "type": "array" + }, + "visibility": { + "description": "Visibility", + "enum": [ + "public", + "private", + "shared", + "community" + ], + "example": "private", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "image" + ], + "type": "object" + }, + "service_create": { + "description": "", + "properties": { + "service": { + "description": "", + "properties": { + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "type": { + "description": "", + "example": "compute", + "type": "string" + } + }, + "required": [ + "name", + "type" + ], + "type": "object" + } + }, + "required": [ + "service" + ], + "type": "object" + }, + "service_patch": { + "description": "", + "properties": { + "service": { + "description": "", + "properties": { + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "type": { + "description": "", + "example": "compute", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "service" + ], + "type": "object" + }, + "service_update": { + "description": "", + "properties": { + "service": { + "description": "", + "properties": { + "description": { + "description": "Optional description", + "example": "", + "type": "string" + }, + "enabled": { + "default": true, + "description": "", + "type": "boolean" + }, + "name": { + "description": "Human-readable name", + "example": "example", + "type": "string" + }, + "type": { + "description": "", + "example": "compute", + "type": "string" + } + }, + "type": "object" + } + }, + "required": [ + "service" + ], + "type": "object" + } + }, + "service": "zun", + "source": "generated-from-api-ref-catalog" +} diff --git a/contracts/openstack/yoga/adjutant/api.json b/contracts/openstack/yoga/adjutant/api.json index bc4c31d..f3943b7 100644 --- a/contracts/openstack/yoga/adjutant/api.json +++ b/contracts/openstack/yoga/adjutant/api.json @@ -268,7 +268,7 @@ "collection_key": "status", "create_status": 201, "introduced_in": "yoga", - "item_key": "statu", + "item_key": "status", "kind": "collection", "method": "POST", "operation_id": "status_create", @@ -282,7 +282,7 @@ { "collection_key": "status", "introduced_in": "yoga", - "item_key": "statu", + "item_key": "status", "kind": "item", "method": "GET", "operation_id": "status_show", @@ -296,7 +296,7 @@ { "collection_key": "status", "introduced_in": "yoga", - "item_key": "statu", + "item_key": "status", "kind": "item", "method": "PUT", "operation_id": "status_update", @@ -310,7 +310,7 @@ { "collection_key": "status", "introduced_in": "yoga", - "item_key": "statu", + "item_key": "status", "kind": "item", "method": "PATCH", "operation_id": "status_patch", diff --git a/docker-compose.override.example.yml b/docker-compose.override.example.yml new file mode 100644 index 0000000..3942808 --- /dev/null +++ b/docker-compose.override.example.yml @@ -0,0 +1,41 @@ +# Example local port overrides for `make up-local`. +# Copied to docker-compose.override.yml (gitignored) — not used by CI / make up. +# +# Host 5000 is often taken by macOS AirPlay Receiver; map Keystone/console to 15000. +# Internal container ports stay OpenStack-default. +services: + postgres: + ports: !override + - "127.0.0.1:5433:5432" + api-gateway: + ports: !override + - "127.0.0.1:8080:80" + - "127.0.0.1:8443:443" + - "127.0.0.1:1234:1234" + - "127.0.0.1:15000:5000" + - "127.0.0.1:5050:5050" + - "127.0.0.1:8888:8888" + - "127.0.0.1:9322:9322" + - "127.0.0.1:6385:6385" + - "127.0.0.1:8000:8000" + - "127.0.0.1:8003:8003" + - "127.0.0.1:8004:8004" + - "127.0.0.1:8042:8042" + - "127.0.0.1:18080:8080" + - "127.0.0.1:8774:8774" + - "127.0.0.1:8776:8776" + - "127.0.0.1:8779:8779" + - "127.0.0.1:8786:8786" + - "127.0.0.1:8889:8889" + - "127.0.0.1:8989:8989" + - "127.0.0.1:8999:8999" + - "127.0.0.1:9001:9001" + - "127.0.0.1:9090:9090" + - "127.0.0.1:9292:9292" + - "127.0.0.1:9311:9311" + - "127.0.0.1:9511:9511" + - "127.0.0.1:9517:9517" + - "127.0.0.1:9696:9696" + - "127.0.0.1:9876:9876" + - "127.0.0.1:9890:9890" + - "127.0.0.1:15868:15868" diff --git a/docs/api-versions.md b/docs/api-versions.md index 51dee05..bda1e58 100644 --- a/docs/api-versions.md +++ b/docs/api-versions.md @@ -33,7 +33,7 @@ curl -X POST http://127.0.0.1:5000/ui/api/openstack/contracts/activate \ -d '{"series":"dalmatian"}' ``` -Or Web UI → Environment → OpenStack API pack → Activate. +Or Web UI → API catalog → select series → **Apply as runtime**. Hot-swap remounts schema routes (`remount_schema_services`) without rebuilding the image. diff --git a/docs/api_coverage.md b/docs/api_coverage.md index 74b2f88..161c05a 100644 --- a/docs/api_coverage.md +++ b/docs/api_coverage.md @@ -19,7 +19,7 @@ Generated from `contracts/openstack/dalmatian/manifest.json`. | Yoga | 6 | 1060 | Older series omit paths introduced later (`tools/os_api_inventory/series_deltas.py`) -and use lower microversion ceilings. Apply a pack in the Environment drawer to hot-swap. +and use lower microversion ceilings. Apply a pack in the API catalog drawer to hot-swap. Surface-complete means every operation in the pack is mounted by the schema engine (specialized routers still win on overlapping stateful paths). diff --git a/docs/configuration.md b/docs/configuration.md index 86f0787..9a9b11c 100644 --- a/docs/configuration.md +++ b/docs/configuration.md @@ -53,7 +53,4 @@ Specialized routers (Keystone, Nova, Neutron, …) remain stateful for happy-pat ## Web UI overrides -Environment drawer → **OpenStack API pack**: - -- Activate series (hot remount) -- Per-service microversion override +API catalog drawer: select series card → microversion on the card → **Apply as runtime**. diff --git a/docs/examples/troubleshooting-clients.md b/docs/examples/troubleshooting-clients.md index 16b2806..aac9256 100644 --- a/docs/examples/troubleshooting-clients.md +++ b/docs/examples/troubleshooting-clients.md @@ -23,4 +23,4 @@ make seed-demo ## Microversion rejected -Lower the requested compute microversion or clear Web UI overrides. +Lower the requested compute microversion or apply an earlier series in the API catalog. diff --git a/docs/getting-started.md b/docs/getting-started.md index fb9de8b..98205ea 100644 --- a/docs/getting-started.md +++ b/docs/getting-started.md @@ -95,8 +95,12 @@ curl -sH "X-Auth-Token: $TOKEN" http://127.0.0.1:9696/v2.0/networks ## 6. Open the Web UI -[http://localhost:5000/](http://localhost:5000/) — console, Environment drawer -(OpenStack pack series + microversions), Data drawer (load/unload demo cloud). +[http://localhost:5000/](http://localhost:5000/) — console, API catalog +(OpenStack pack series), Data drawer (load/unload demo cloud). + +![Web console](images/web-ui/console-main.png) + +Walkthrough of drawers and request parameters: [Web UI](web-ui.md). ## 7. Smoke / conformance diff --git a/docs/images/web-ui/api-catalog.png b/docs/images/web-ui/api-catalog.png new file mode 100644 index 0000000..4c6f56e Binary files /dev/null and b/docs/images/web-ui/api-catalog.png differ diff --git a/docs/images/web-ui/authentication.png b/docs/images/web-ui/authentication.png new file mode 100644 index 0000000..337fdf0 Binary files /dev/null and b/docs/images/web-ui/authentication.png differ diff --git a/docs/images/web-ui/console-main.png b/docs/images/web-ui/console-main.png new file mode 100644 index 0000000..1e0be1b Binary files /dev/null and b/docs/images/web-ui/console-main.png differ diff --git a/docs/images/web-ui/data.png b/docs/images/web-ui/data.png new file mode 100644 index 0000000..bea1016 Binary files /dev/null and b/docs/images/web-ui/data.png differ diff --git a/docs/images/web-ui/endpoints.png b/docs/images/web-ui/endpoints.png new file mode 100644 index 0000000..4826447 Binary files /dev/null and b/docs/images/web-ui/endpoints.png differ diff --git a/docs/images/web-ui/environment.png b/docs/images/web-ui/environment.png new file mode 100644 index 0000000..9cf7933 Binary files /dev/null and b/docs/images/web-ui/environment.png differ diff --git a/docs/images/web-ui/help-compatibility.png b/docs/images/web-ui/help-compatibility.png new file mode 100644 index 0000000..0533bbc Binary files /dev/null and b/docs/images/web-ui/help-compatibility.png differ diff --git a/docs/images/web-ui/history.png b/docs/images/web-ui/history.png new file mode 100644 index 0000000..af1b5d9 Binary files /dev/null and b/docs/images/web-ui/history.png differ diff --git a/docs/images/web-ui/request-parameters.png b/docs/images/web-ui/request-parameters.png new file mode 100644 index 0000000..e78bd91 Binary files /dev/null and b/docs/images/web-ui/request-parameters.png differ diff --git a/docs/images/web-ui/request-response.png b/docs/images/web-ui/request-response.png new file mode 100644 index 0000000..39d4ac9 Binary files /dev/null and b/docs/images/web-ui/request-response.png differ diff --git a/docs/operations.md b/docs/operations.md index b89bc9c..779fc97 100644 --- a/docs/operations.md +++ b/docs/operations.md @@ -69,6 +69,21 @@ PYTHONPATH=tools python3 tools/os_api_inventory/generate_packs.py PYTHONPATH=tools python3 tools/os_api_inventory/coverage_report.py ``` +## Request body schemas (console) + +Write methods (`POST`/`PUT`/`PATCH`) expose full JSON Schema field lists in the +web console. Schemas live in `contracts/openstack/request_bodies/.json` +and are merged onto pack operations at load time (shared across series). + +```bash +make request-bodies-generate # rebuild from in-repo api-ref catalog +make request-bodies-import # overlay Tier-1 services from openstack-openapi +make request-bodies-coverage # assert every write op has a schema +``` + +Tier-1 OpenAPI import covers nova, neutron, keystone, glance, cinder, octavia, +swift, and placement. Other services use the curated catalog generator. + ## Backing up lab state PostgreSQL is the system of record. Use `pg_dump` / volume snapshots. diff --git a/docs/ru/api-versions.md b/docs/ru/api-versions.md index dbe916b..57b0033 100644 --- a/docs/ru/api-versions.md +++ b/docs/ru/api-versions.md @@ -33,7 +33,7 @@ curl -X POST http://127.0.0.1:5000/ui/api/openstack/contracts/activate \ -d '{"series":"dalmatian"}' ``` -Или Web UI → Environment → OpenStack API pack → Activate. +Или Web UI → API catalog → выбрать серию → **Apply as runtime**. Hot-swap перемонтирует schema-маршруты (`remount_schema_services`) без пересборки образа. diff --git a/docs/ru/api_coverage.md b/docs/ru/api_coverage.md index 3ef80fd..70bdde8 100644 --- a/docs/ru/api_coverage.md +++ b/docs/ru/api_coverage.md @@ -19,7 +19,7 @@ | Yoga | 6 | 1060 | Более старые серии опускают пути, добавленные позже (`tools/os_api_inventory/series_deltas.py`), -и используют более низкие потолки microversion. Примените пакет в Environment drawer для hot-swap. +и используют более низкие потолки microversion. Примените пакет в API catalog drawer для hot-swap. Surface-complete означает, что каждая операция пакета смонтирована schema-движком (специализированные роутеры по-прежнему выигрывают на пересекающихся stateful-путях). diff --git a/docs/ru/configuration.md b/docs/ru/configuration.md index c9e5240..2673714 100644 --- a/docs/ru/configuration.md +++ b/docs/ru/configuration.md @@ -53,7 +53,4 @@ ## Переопределения Web UI -Environment drawer → **OpenStack API pack**: - -- Активация серии (hot remount) -- Переопределение microversion по сервисам +API catalog drawer: карточка серии → microversion в карточке → **Apply as runtime**. diff --git a/docs/ru/examples/troubleshooting-clients.md b/docs/ru/examples/troubleshooting-clients.md index f3acf69..231a885 100644 --- a/docs/ru/examples/troubleshooting-clients.md +++ b/docs/ru/examples/troubleshooting-clients.md @@ -24,4 +24,4 @@ make seed-demo ## Microversion отклонён -Понизьте запрошенную compute microversion или сбросьте переопределения в Web UI. +Понизьте запрошенную compute microversion или примените более раннюю серию в API catalog. diff --git a/docs/ru/getting-started.md b/docs/ru/getting-started.md index 40b3768..6a45732 100644 --- a/docs/ru/getting-started.md +++ b/docs/ru/getting-started.md @@ -95,8 +95,12 @@ curl -sH "X-Auth-Token: $TOKEN" http://127.0.0.1:9696/v2.0/networks ## 6. Откройте Web UI -[http://localhost:5000/](http://localhost:5000/) — консоль, Environment drawer -(серия OpenStack pack + microversions), Data drawer (загрузка/выгрузка demo cloud). +[http://localhost:5000/](http://localhost:5000/) — консоль, API catalog +(серия OpenStack pack), Data drawer (загрузка/выгрузка demo cloud). + +![Web-консоль](../images/web-ui/console-main.png) + +Обзор drawers и параметров запроса: [Web UI](web-ui.md). ## 7. Smoke / conformance diff --git a/docs/ru/operations.md b/docs/ru/operations.md index 1d30e71..b7fcd77 100644 --- a/docs/ru/operations.md +++ b/docs/ru/operations.md @@ -69,6 +69,21 @@ PYTHONPATH=tools python3 tools/os_api_inventory/generate_packs.py PYTHONPATH=tools python3 tools/os_api_inventory/coverage_report.py ``` +## Схемы Request body (консоль) + +Для `POST`/`PUT`/`PATCH` консоль показывает полные JSON Schema поля. +Схемы лежат в `contracts/openstack/request_bodies/.json` и +подмешиваются к операциям пака при загрузке (общие для всех серий). + +```bash +make request-bodies-generate # пересобрать из api-ref каталога +make request-bodies-import # наложить Tier-1 из openstack-openapi +make request-bodies-coverage # проверить, что у всех write-op есть схема +``` + +Tier-1: nova, neutron, keystone, glance, cinder, octavia, swift, placement. +Остальные сервисы — курируемый генератор каталога. + ## Резервное копирование состояния лаборатории PostgreSQL — источник истины. Используйте `pg_dump` / снимки volume. diff --git a/docs/ru/web-ui.md b/docs/ru/web-ui.md index de51d7b..a102761 100644 --- a/docs/ru/web-ui.md +++ b/docs/ru/web-ui.md @@ -10,15 +10,70 @@ | `/docs` | OpenAPI (simulator) | | `/ui/api/…` | UI JSON APIs | +![Главный экран консоли](../images/web-ui/console-main.png) + +## Endpoints drawer + +Обзор поверхности пака по сервисам (например Adjutant). У каждого path — +поддерживаемые HTTP-методы. + +![Endpoints drawer](../images/web-ui/endpoints.png) + +## Отправка запросов + +Выберите verb + path и нажмите **Send**. Успешные ответы попадают в +**RESPONSE**. + +![Запрос и ответ](../images/web-ui/request-response.png) + +### Request parameters + +Для `POST` / `PUT` / `PATCH` в **Request parameters** показаны поля схемы +(dotted-имена для вложенных OpenStack envelope), типы, optional и примеры. +JSON Request body собирается из этих полей. + +![Request parameters](../images/web-ui/request-parameters.png) + +## Authentication drawer + +Вход через лабораторный Keystone (`admin` / `secret`, проекты вроде `admin` +или `demo`). Можно вставить готовый `X-Auth-Token`. + +![Authentication drawer](../images/web-ui/authentication.png) + ## Environment drawer -- **OpenStack API pack** — список серий, активация пакета, переопределения microversion -- Apply немедленно перемонтирует schema-маршруты +- Runtime / catalog / активная **microversion**, плюс живой инвентарь облака + (servers, nets, volumes…) + +![Environment drawer](../images/web-ui/environment.png) + +## API catalog drawer + +- Выбор карточки серии (`os · yoga` …), microversion в карточке, затем + **Apply as runtime** (выбор сохраняется после перезагрузки) + +![API catalog drawer](../images/web-ui/api-catalog.png) ## Data drawer -- **Load demo cloud** — `POST /ui/api/demo/load` → `seed_openstack_demo` -- **Unload / minimal** — сброс к minimal seed +- **Load demo cloud** — кластеры small / large / big +- **Reset to minimal** — минимальный lab seed + +![Data drawer](../images/web-ui/data.png) + +## History drawer + +Недавние вызовы консоли: method, URL и status. + +![History drawer](../images/web-ui/history.png) + +## Help · Compatibility + +Покрытие поверхности пака для активной серии (declared / implemented, +сервисы, смесь verb). + +![Help compatibility](../images/web-ui/help-compatibility.png) ## Брендинг diff --git a/docs/web-ui.md b/docs/web-ui.md index 110bbef..51f951a 100644 --- a/docs/web-ui.md +++ b/docs/web-ui.md @@ -10,15 +10,70 @@ Console is served from the Keystone/UI port (**5000** on the gateway). | `/docs` | OpenAPI (simulator) | | `/ui/api/…` | UI JSON APIs | +![Console main view](images/web-ui/console-main.png) + +## Endpoints drawer + +Browse the pack surface by service (for example Adjutant). Each path shows the +supported verbs. + +![Endpoints drawer](images/web-ui/endpoints.png) + +## Sending requests + +Pick a verb + path, then **Send**. Successful calls show status and JSON in +**RESPONSE**. + +![Request and response](images/web-ui/request-response.png) + +### Request parameters + +For `POST` / `PUT` / `PATCH`, **Request parameters** lists schema fields +(dotted names for nested OpenStack envelopes) with types, optional flags, and +example values. The Request body JSON is built from those fields. + +![Request parameters](images/web-ui/request-parameters.png) + +## Authentication drawer + +Sign in with lab Keystone users (`admin` / `secret`, projects such as `admin` +or `demo`). Optional paste of an existing `X-Auth-Token`. + +![Authentication drawer](images/web-ui/authentication.png) + ## Environment drawer -- **OpenStack API pack** — list series, activate pack, set microversion overrides -- Apply remounts schema routes immediately +- Runtime / catalog / active **microversion**, plus live cloud inventory + (servers, nets, volumes…) + +![Environment drawer](images/web-ui/environment.png) + +## API catalog drawer + +- Select an OpenStack series card (`os · yoga` …), choose a **microversion** on + the card, then **Apply as runtime** (choice is remembered across reloads) + +![API catalog drawer](images/web-ui/api-catalog.png) ## Data drawer -- **Load demo cloud** — `POST /ui/api/demo/load` → `seed_openstack_demo` -- **Unload / minimal** — reset to minimal seed +- **Load demo cloud** — sized clusters (small / large / big) +- **Reset to minimal** — minimal lab seed + +![Data drawer](images/web-ui/data.png) + +## History drawer + +Recent console calls with method, URL, and status. + +![History drawer](images/web-ui/history.png) + +## Help · Compatibility + +Pack surface coverage for the active series (declared / implemented ops, +services, verb mix). + +![Help compatibility](images/web-ui/help-compatibility.png) ## Branding diff --git a/pulumi-tests/README.md b/pulumi-tests/README.md index ee5b7ee..25fac60 100644 --- a/pulumi-tests/README.md +++ b/pulumi-tests/README.md @@ -2,8 +2,16 @@ # Pulumi OpenStack tests (`pulumi-tests`) -Coverage lab that **maximises `pulumi_openstack`**, then probes remaining pack -operations over HTTP with **non-empty body checks** and **full method coverage**. +**100% coverage = HTTP contract matrix** (every series-pack operation + synthetic +`HEAD` on each GET path), not the number of `pulumi_openstack` resources. + +Layer A (gate): pack ops × yoga→dalmatian on **real service ports** +([docs/ports.md](../docs/ports.md)), microversions when the pack declares them, +non-empty success bodies for entity/collection envelopes, `probed == declared + HEAD`, +`critical=0`. + +Layer B (smoke): `pulumi_openstack` lifecycle — maximises provider surface; does +**not** define 100%. ## Quick start @@ -14,8 +22,8 @@ make pulumi-tests # or cd pulumi-tests make up && make build -make test-pulumi-smoke # fast: collection GET only -make test-pulumi # full: all pack ops × all HTTP methods +make test-pulumi-smoke # fast: collection GET + HEAD +make test-pulumi # full Layer A matrix × all series open reports/pulumi-report.html ``` @@ -23,28 +31,33 @@ open reports/pulumi-report.html | Target | Mode | What is exercised | |---|---|---| -| `make test-pulumi-smoke` | Smoke (`TEST_SMOKE=1`) | `pulumi_openstack` + **collection GET** nonempty checks (fast) | -| `make pulumi-tests` / `make test-pulumi` | Full lifecycle | `pulumi_openstack` + **every pack operation × GET/POST/PUT/PATCH/DELETE**, completeness assert (`total == pack size`), nonempty bodies on succeeded responses (DELETE/204 may be empty) | +| `make test-pulumi-smoke` | Smoke (`TEST_SMOKE=1`) | Layer B + **collection GET + HEAD** nonempty checks (fast) | +| `make pulumi-tests` / `make test-pulumi` | Full matrix | Layer B + **every pack op × GET/POST/PUT/PATCH/DELETE** + **synthetic HEAD per GET**, completeness (`total == declared + HEAD`), nonempty bodies on succeeded responses (DELETE/204/HEAD may be empty) | -Pack sizes (ops): yoga ~1060 → antelope ~1108 → caracal ~1196 → **dalmatian ~1357**. +Pack sizes (ops, without HEAD): yoga ~1060 → antelope ~1108 → caracal ~1196 → **dalmatian ~1357**. ## What runs (per series: yoga → dalmatian) 1. Activate OpenStack series pack -2. **`pulumi up`** `programs/os_coverage` via Automation API — creates/looks up - resources with `pulumi_openstack` (identity, images, compute, networking, - blockstorage, objectstorage, dns, orchestration) -3. Assert **every stack export is non-empty** -4. HTTP-probe pack operations (smoke: collection GET; full: all methods lifecycle) -5. Assert coverage completeness + nonempty JSON on successful body responses +2. **`pulumi up`** `programs/os_coverage` (Layer B — provider smoke) +3. Assert stack exports are non-empty (Layer B) +4. HTTP contract matrix on **catalog ports** (Keystone token → Nova `:8774`, Neutron `:9696`, …) +5. Assert `probed == declared + HEAD`, `critical=0`, nonempty JSON on success bodies 6. `pulumi destroy` -7. Write `pulumi-report.html` + `pulumi-junit.xml` +7. Write `pulumi-report.html` + `pulumi-junit.xml` + verb histogram (incl. HEAD) ## Reports | File | Contents | |---|---| -| `reports/pulumi-report.html` | HTML summary (expected vs actual + method breakdown) | +| `reports/pulumi-report.html` | HTML summary (expected vs actual + method breakdown incl. HEAD) | | `reports/pulumi-junit.xml` | JUnit | | `reports/series-.json` | Per-series pulumi + HTTP details | -| `reports/summary.json` | Aggregates | +| `reports/summary.json` | Aggregates (`http_total` / `http_expected`, `http_critical`) | + +## Approximate (not blockers) + +Nova create may skip a long `BUILD` window; many Nova actions only flip server +status; Placement mutations and Octavia listeners/pools are largely schema / +`os_api_objects`; Neutron `router:external` is derived from the shared `public` +network name. diff --git a/pulumi-tests/README.ru.md b/pulumi-tests/README.ru.md index b007f1f..8dbfa17 100644 --- a/pulumi-tests/README.ru.md +++ b/pulumi-tests/README.ru.md @@ -2,8 +2,16 @@ # Тесты Pulumi OpenStack (`pulumi-tests`) -Лаборатория покрытия: **максимально `pulumi_openstack`**, затем HTTP-probe -остальных pack-операций с проверкой **непустых тел** и **полным покрытием методов**. +**100% покрытия = HTTP contract matrix** (каждая операция series-pack + +синтетический `HEAD` на каждый GET path), а не число ресурсов `pulumi_openstack`. + +Layer A (гейт): pack ops × yoga→dalmatian на **реальных портах сервисов** +([docs/ports.md](../docs/ports.md) / [docs/ru/ports.md](../docs/ru/ports.md)), +microversions где pack их задаёт, nonempty тела успешных ответов, +`probed == declared + HEAD`, `critical=0`. + +Layer B (smoke): lifecycle `pulumi_openstack` — расширяет provider surface; **не** +определяет 100%. ## Быстрый старт @@ -14,8 +22,8 @@ make pulumi-tests # или cd pulumi-tests make up && make build -make test-pulumi-smoke # быстро: только collection GET -make test-pulumi # полный: все ручки пака × все HTTP-методы +make test-pulumi-smoke # быстро: collection GET + HEAD +make test-pulumi # полная Layer A matrix × все серии open reports/pulumi-report.html ``` @@ -23,28 +31,32 @@ open reports/pulumi-report.html | Цель | Режим | Что проверяется | |---|---|---| -| `make test-pulumi-smoke` | Smoke (`TEST_SMOKE=1`) | `pulumi_openstack` + **collection GET** с nonempty (быстро) | -| `make pulumi-tests` / `make test-pulumi` | Полный lifecycle | `pulumi_openstack` + **все операции пака × GET/POST/PUT/PATCH/DELETE**, assert полноты (`total == размер пака`), nonempty тел успешных ответов (DELETE/204 могут быть пустыми) | +| `make test-pulumi-smoke` | Smoke (`TEST_SMOKE=1`) | Layer B + **collection GET + HEAD** с nonempty (быстро) | +| `make pulumi-tests` / `make test-pulumi` | Полная matrix | Layer B + **все ops пака × GET/POST/PUT/PATCH/DELETE** + **синтетический HEAD на каждый GET**, полнота (`total == declared + HEAD`), nonempty тел (DELETE/204/HEAD могут быть пустыми) | -Размеры паков (ops): yoga ~1060 → antelope ~1108 → caracal ~1196 → **dalmatian ~1357**. +Размеры паков (ops без HEAD): yoga ~1060 → antelope ~1108 → caracal ~1196 → **dalmatian ~1357**. ## Что выполняется (на каждую серию yoga → dalmatian) 1. Активация pack серии OpenStack -2. **`pulumi up`** программы `programs/os_coverage` через Automation API — - ресурсы через `pulumi_openstack` (identity, images, compute, networking, - blockstorage, objectstorage, dns, orchestration) -3. Проверка: **каждый export стека непустой** -4. HTTP-probe pack-операций (smoke: collection GET; полный: lifecycle всех методов) -5. Assert полноты покрытия + nonempty JSON у успешных ответов с телом +2. **`pulumi up`** `programs/os_coverage` (Layer B — provider smoke) +3. Проверка непустых export стека (Layer B) +4. HTTP contract matrix на **портах каталога** (токен Keystone → Nova `:8774`, Neutron `:9696`, …) +5. Assert `probed == declared + HEAD`, `critical=0`, nonempty JSON 6. `pulumi destroy` -7. Отчёты `pulumi-report.html` + `pulumi-junit.xml` +7. Отчёты HTML/JUnit + histogram глаголов (включая HEAD) ## Отчёты | Файл | Содержимое | |---|---| -| `reports/pulumi-report.html` | HTML-сводка (expected vs actual + breakdown методов) | +| `reports/pulumi-report.html` | HTML-сводка (expected vs actual + breakdown методов вкл. HEAD) | | `reports/pulumi-junit.xml` | JUnit | | `reports/series-.json` | Детали pulumi + HTTP по серии | -| `reports/summary.json` | Агрегаты | +| `reports/summary.json` | Агрегаты (`http_total` / `http_expected`, `http_critical`) | + +## Approximate (не блокеры) + +Nova create может пропускать длинное окно `BUILD`; многие Nova actions только +меняют status; Placement mutations и Octavia listeners/pools в основном schema / +`os_api_objects`; Neutron `router:external` выводится из shared сети `public`. diff --git a/pulumi-tests/docker-compose.yml b/pulumi-tests/docker-compose.yml index c436623..6685c95 100644 --- a/pulumi-tests/docker-compose.yml +++ b/pulumi-tests/docker-compose.yml @@ -132,8 +132,8 @@ services: - ../docker/gateway/openstack-ports.conf:/etc/nginx/conf.d/default.conf:ro - ../docker/tls/server.crt:/etc/nginx/tls/server.crt:ro - ../docker/tls/server.key:/etc/nginx/tls/server.key:ro - ports: - - "127.0.0.1:15000:5000" + # No host port publish — pulumi-runner reaches api-gateway on the lab + # network (avoids colliding with `make up-local` on :15000). pulumi-runner: build: diff --git a/pulumi-tests/pulumi/_lib/http_coverage.py b/pulumi-tests/pulumi/_lib/http_coverage.py index 1477bfa..677d1a5 100644 --- a/pulumi-tests/pulumi/_lib/http_coverage.py +++ b/pulumi-tests/pulumi/_lib/http_coverage.py @@ -9,19 +9,28 @@ from typing import Any from _lib.validate import payload_nonempty -# Methods that normally return a JSON body on success (DELETE / 204 may be empty). +# Methods that normally return a JSON body on success (DELETE / 204 / HEAD may be empty). _BODY_METHODS = frozenset({"GET", "POST", "PUT", "PATCH"}) +_VERB_ORDER = ("GET", "POST", "PUT", "PATCH", "DELETE", "HEAD") -def _expected_ops(packs: dict[str, Any], *, collections_only: bool) -> int: +def _expected_ops(packs: dict[str, Any], *, collections_only: bool) -> tuple[int, int, int]: + """Return (expected_total, declared_pack_ops, synthetic_head_ops).""" + + from app.openstack.surface_probe import count_declared_ops + if not collections_only: - return sum(len(p.operations) for p in packs.values()) - total = 0 + declared, heads = count_declared_ops(packs) + return declared + heads, declared, heads + + declared = 0 + heads = 0 for pack in packs.values(): for op in pack.operations: if op.method == "GET" and "{" not in op.path: - total += 1 - return total + declared += 1 + heads += 1 + return declared + heads, declared, heads def _methods_breakdown(results: list[Any]) -> dict[str, int]: @@ -30,16 +39,16 @@ def _methods_breakdown(results: list[Any]) -> dict[str, int]: method = getattr(r, "method", None) or (r.get("method") if isinstance(r, dict) else None) if method: counts[str(method).upper()] += 1 - return {m: counts.get(m, 0) for m in ("GET", "POST", "PUT", "PATCH", "DELETE")} + return {m: counts.get(m, 0) for m in _VERB_ORDER} def _nonempty_from_lifecycle(report: Any) -> list[dict[str, Any]]: - """Check succeeded lifecycle bodies (skip DELETE / 204 / 202 / no-body).""" + """Check succeeded lifecycle bodies (skip DELETE / HEAD / 204 / 202 / no-body).""" failures: list[dict[str, Any]] = [] for r in report.results: if not r.succeeded: continue - if r.method == "DELETE" or r.status in {202, 204}: + if r.method in {"DELETE", "HEAD"} or r.status in {202, 204}: continue if r.method not in _BODY_METHODS: continue @@ -74,6 +83,8 @@ def _nonempty_smoke_collections( fill_path, http_request, issue_token, + microversion_headers, + service_base_url, _seed_context, ) @@ -96,8 +107,14 @@ def _nonempty_smoke_collections( "account": project_id, }, ) - url = f"{host.rstrip('/')}{path}" - status, payload = http_request(op.method, url, token=token, service=pack.name) + url = f"{service_base_url(host, pack.name, port=pack.port)}{path}" + status, payload = http_request( + op.method, + url, + token=token, + service=pack.name, + headers=microversion_headers(pack, op) or None, + ) if status not in SUCCESS or status == 204: continue if not payload_nonempty(payload, collection_key=op.collection_key, method=op.method): @@ -134,7 +151,7 @@ def probe_pack_operations( ) packs = load_series_pack(series) - expected_ops = _expected_ops(packs, collections_only=collections_only) + expected_ops, declared_ops, head_ops = _expected_ops(packs, collections_only=collections_only) methods = _methods_breakdown(report.results) coverage_incomplete = len(report.results) != expected_ops @@ -168,23 +185,31 @@ def probe_pack_operations( "method": "*", "path": "*", "status": 0, - "detail": f"coverage_incomplete: total={len(report.results)} expected_ops={expected_ops}", + "detail": ( + f"coverage_incomplete: total={len(report.results)} " + f"expected_ops={expected_ops} " + f"(declared={declared_ops} + HEAD={head_ops})" + ), "ok": False, "nonempty": True, } ) + critical = len(coverage_failures) + len(probe_failures) + len(nonempty_failures) return { "series": series, "host": host, "mode": report.mode, "total": len(report.results), "expected_ops": expected_ops, + "declared_ops": declared_ops, + "head_ops": head_ops, "coverage_incomplete": coverage_incomplete, "methods": methods, "ok_count": len(report.results) - len(report.failures), "fail_count": len(report.failures) + (1 if coverage_incomplete else 0), "nonempty_fail_count": len(nonempty_failures), + "critical": critical, "results": [ { "service": r.service, diff --git a/pulumi-tests/pulumi/_lib/report_html.py b/pulumi-tests/pulumi/_lib/report_html.py index c1fb007..e679a64 100644 --- a/pulumi-tests/pulumi/_lib/report_html.py +++ b/pulumi-tests/pulumi/_lib/report_html.py @@ -12,7 +12,9 @@ SERIES_ORDER = ("yoga", "antelope", "caracal", "dalmatian") def _methods_line(methods: dict[str, Any]) -> str: - return " ".join(f"{m}={methods.get(m, 0)}" for m in ("GET", "POST", "PUT", "PATCH", "DELETE")) + return " ".join( + f"{m}={methods.get(m, 0)}" for m in ("GET", "POST", "PUT", "PATCH", "DELETE", "HEAD") + ) def render_html(summary: dict[str, Any], series_reports: list[dict[str, Any]]) -> str: @@ -33,8 +35,8 @@ def render_html(summary: dict[str, Any], series_reports: list[dict[str, Any]]) -
http ok={http.get("ok_count", 0)} - http fail={http.get("fail_count", 0)} nonempty_fail={http.get("nonempty_fail_count", 0)} - http total={http.get("total", 0)}/{http.get("expected_ops", "?")} + http fail={http.get("fail_count", 0)} nonempty_fail={http.get("nonempty_fail_count", 0)} critical={http.get("critical", 0)} + http total={http.get("total", 0)}/{http.get("expected_ops", "?")} (declared={http.get("declared_ops", "?")}+HEAD={http.get("head_ops", "?")})
methods: {html.escape(_methods_line(http.get("methods") or {}))} @@ -92,7 +94,7 @@ def render_html(summary: dict[str, Any], series_reports: list[dict[str, Any]]) -

Pulumi OpenStack API coverage

-

Generated {html.escape(generated)} · pulumi_openstack primary + HTTP pack probe with non-empty checks

+

Generated {html.escape(generated)} · 100% = HTTP contract matrix (pack ops + synthetic HEAD), not pulumi_openstack resource count. Layer B provider lifecycle is smoke only.

diff --git a/pulumi-tests/pulumi/run_suite.py b/pulumi-tests/pulumi/run_suite.py index bc9d232..06fd8aa 100644 --- a/pulumi-tests/pulumi/run_suite.py +++ b/pulumi-tests/pulumi/run_suite.py @@ -233,10 +233,20 @@ def main() -> int: "total": 0, "expected_ops": 0, "coverage_incomplete": False, - "methods": {"GET": 0, "POST": 0, "PUT": 0, "PATCH": 0, "DELETE": 0}, + "methods": { + "GET": 0, + "POST": 0, + "PUT": 0, + "PATCH": 0, + "DELETE": 0, + "HEAD": 0, + }, "ok_count": 0, "fail_count": 0, "nonempty_fail_count": 0, + "critical": 0, + "declared_ops": 0, + "head_ops": 0, "results": [], "failures": [], } @@ -245,12 +255,15 @@ def main() -> int: http = run_http_coverage(series, collections_only=collections_only) methods = http.get("methods") or {} methods_s = " ".join( - f"{m}={methods.get(m, 0)}" for m in ("GET", "POST", "PUT", "PATCH", "DELETE") + f"{m}={methods.get(m, 0)}" + for m in ("GET", "POST", "PUT", "PATCH", "DELETE", "HEAD") ) print( f"{series}: http ok={http.get('ok_count')} fail={http.get('fail_count')} " f"nonempty_fail={http.get('nonempty_fail_count')} " + f"critical={http.get('critical')} " f"total={http.get('total')}/{http.get('expected_ops')} " + f"(declared={http.get('declared_ops')}+HEAD={http.get('head_ops')}) " f"coverage_incomplete={http.get('coverage_incomplete')} " f"methods[{methods_s}]" ) @@ -273,10 +286,16 @@ def main() -> int: int(r["http"].get("fail_count", 0)) + int(r["http"].get("nonempty_fail_count", 0)) for r in series_reports ), + "http_critical": sum(int(r["http"].get("critical", 0)) for r in series_reports), + "http_declared": sum(int(r["http"].get("declared_ops", 0)) for r in series_reports), + "http_head": sum(int(r["http"].get("head_ops", 0)) for r in series_reports), + "http_total": sum(int(r["http"].get("total", 0)) for r in series_reports), + "http_expected": sum(int(r["http"].get("expected_ops", 0)) for r in series_reports), "coverage_incomplete": sum( 1 for r in series_reports if r["http"].get("coverage_incomplete") ), "collections_only": collections_only, + "definition": "100% = HTTP contract matrix (pack ops + synthetic HEAD), not pulumi_openstack resource count", } html_path = write_html(REPORT_DIR, summary, series_reports) (REPORT_DIR / "summary.json").write_text(json.dumps(summary, indent=2) + "\n", encoding="utf-8") @@ -285,7 +304,10 @@ def main() -> int: print(json.dumps(summary, indent=2)) failed = ( - summary["pulumi_fail"] > 0 or summary["http_fail"] > 0 or summary["coverage_incomplete"] > 0 + summary["pulumi_fail"] > 0 + or summary["http_fail"] > 0 + or summary["coverage_incomplete"] > 0 + or summary["http_critical"] > 0 ) return 1 if failed else 0 diff --git a/pulumi-tests/reports/pulumi-junit.xml b/pulumi-tests/reports/pulumi-junit.xml index 1702477..e9c04b6 100644 --- a/pulumi-tests/reports/pulumi-junit.xml +++ b/pulumi-tests/reports/pulumi-junit.xml @@ -1,2 +1,2 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/pulumi-tests/reports/pulumi-report.html b/pulumi-tests/reports/pulumi-report.html index e1cd0b7..19ec9bc 100644 --- a/pulumi-tests/reports/pulumi-report.html +++ b/pulumi-tests/reports/pulumi-report.html @@ -21,14 +21,14 @@

Pulumi OpenStack API coverage

-

Generated 2026-07-17 13:12:06 UTC · pulumi_openstack primary + HTTP pack probe with non-empty checks

+

Generated 2026-07-18 03:50:29 UTC · 100% = HTTP contract matrix (pack ops + synthetic HEAD), not pulumi_openstack resource count. Layer B provider lifecycle is smoke only.

4 series
4 pulumi stacks ok
0 pulumi failures
-
4721 http ops ok
+
6514 http ops ok
0 http / nonempty fails

Series

@@ -41,12 +41,12 @@ empty exports=0
- http ok=1060 - http fail=0 nonempty_fail=0 - http total=1060/1060 + http ok=1464 + http fail=0 nonempty_fail=0 critical=0 + http total=1464/1464 (declared=1060+HEAD=404)
- methods: GET=404 POST=168 PUT=171 PATCH=155 DELETE=162 + methods: GET=404 POST=168 PUT=171 PATCH=155 DELETE=162 HEAD=404
@@ -58,12 +58,12 @@ empty exports=0
- http ok=1108 - http fail=0 nonempty_fail=0 - http total=1108/1108 + http ok=1530 + http fail=0 nonempty_fail=0 critical=0 + http total=1530/1530 (declared=1108+HEAD=422)
- methods: GET=422 POST=177 PUT=178 PATCH=162 DELETE=169 + methods: GET=422 POST=177 PUT=178 PATCH=162 DELETE=169 HEAD=422
@@ -75,12 +75,12 @@ empty exports=0
- http ok=1196 - http fail=0 nonempty_fail=0 - http total=1196/1196 + http ok=1649 + http fail=0 nonempty_fail=0 critical=0 + http total=1649/1649 (declared=1196+HEAD=453)
- methods: GET=453 POST=192 PUT=192 PATCH=176 DELETE=183 + methods: GET=453 POST=192 PUT=192 PATCH=176 DELETE=183 HEAD=453
@@ -92,12 +92,12 @@ empty exports=0
- http ok=1357 - http fail=0 nonempty_fail=0 - http total=1357/1357 + http ok=1871 + http fail=0 nonempty_fail=0 critical=0 + http total=1871/1871 (declared=1357+HEAD=514)
- methods: GET=514 POST=217 PUT=217 PATCH=201 DELETE=208 + methods: GET=514 POST=217 PUT=217 PATCH=201 DELETE=208 HEAD=514
diff --git a/pulumi-tests/reports/series-antelope.json b/pulumi-tests/reports/series-antelope.json index 9111928..4dc7858 100644 --- a/pulumi-tests/reports/series-antelope.json +++ b/pulumi-tests/reports/series-antelope.json @@ -2,35 +2,35 @@ "series": "antelope", "pulumi": { "series": "antelope", - "elapsed_s": 11.41, + "elapsed_s": 15.55, "error": null, "outputs": { "auth_project_id": "8924e279-51c7-582e-b6f5-8e41b33e7581", "auth_user_id": "b76edf4a-1452-5436-a411-a099ada1f7cb", - "created_project_id": "dc000843-bb4b-4451-a8de-bc91f1edb8d4", - "created_user_id": "3cb3feef-0a5c-4992-8951-3915e060c80b", + "created_project_id": "636996ce-af86-4a46-803a-d00392971169", + "created_user_id": "efe09170-ca36-4285-b3a4-025a3002a480", "demo_net_id": "a245268b-88ba-597a-b8db-017810782f98", "flavor_id": "1", "image_id": "c58b99c0-2d7b-5842-b260-b617db2f7803", "image_name": "cirros", - "interface_id": "1502c2fe-f1f6-4ce9-a0ed-943c900fbc3f/545e94f4-7636-4fe4-98ed-9a0bbbb2d7fc", - "keypair_name": "pu-antelope-eec96b-kp", - "network_id": "c715ca0e-56ce-4c39-bb26-0e6dbc606787", - "port_id": "545e94f4-7636-4fe4-98ed-9a0bbbb2d7fc", + "interface_id": "94e2bacd-4643-4aa7-9f52-fdf83a65d689/ade9bfa2-3134-45dc-ab23-d622e4e68e5c", + "keypair_name": "pu-antelope-bf6ba4-kp", + "network_id": "13af915a-7f32-4b03-bba3-cef4e3be9ac9", + "port_id": "ade9bfa2-3134-45dc-ab23-d622e4e68e5c", "project_name": "demo", - "router_id": "935e7f9f-ec23-41d8-be15-b37b88864149", - "router_iface_id": "ecc8b9cd-4f6d-4cc6-88c5-abfdd991a2a6", - "secgroup_id": "dd190f34-3e78-428a-8f4a-548f502c004f", - "secgroup_rule_id": "abd96942-163f-4fae-b014-f00c660bb9d3", + "router_id": "e64d25a6-43f6-40d8-a3fe-b80c6768603a", + "router_iface_id": "ba04886a-aff6-464a-ba16-dd067ce6e1dd", + "secgroup_id": "b45ef742-cd84-45f3-92a6-6379facbc10b", + "secgroup_rule_id": "ed4ab26d-9d9d-4a08-a6db-261ed034e01d", "series": "antelope", - "server_group_id": "3d17f6b9-9830-468a-9cc3-7769a4fed8fc", - "server_id": "1502c2fe-f1f6-4ce9-a0ed-943c900fbc3f", - "server_name": "pu-antelope-eec96b-vm", - "subnet_id": "ffb6c546-006b-4c63-a5f9-d57065da3819", - "tag": "pu-antelope-eec96b", - "volume2_id": "b77bff66-11c7-48c9-87ce-4ec6bec736f8", - "volume_attach_id": "1502c2fe-f1f6-4ce9-a0ed-943c900fbc3f/186f5370-7072-4e43-8f34-e5460505b665", - "volume_id": "1a76b15e-0456-4840-9eb3-229d7ef4f742" + "server_group_id": "fbea9f9d-2dc6-485d-ab96-e143525fb781", + "server_id": "94e2bacd-4643-4aa7-9f52-fdf83a65d689", + "server_name": "pu-antelope-bf6ba4-vm", + "subnet_id": "46f11ac5-cfe7-4a70-ab29-6ee9e000f8ea", + "tag": "pu-antelope-bf6ba4", + "volume2_id": "e6d48c67-e79c-4db1-b3a6-8b62a3540a2a", + "volume_attach_id": "94e2bacd-4643-4aa7-9f52-fdf83a65d689/7066859a-cf37-4baf-b969-4b2cea586d34", + "volume_id": "a3e4eedd-dc55-4999-b1a9-714f8dfa2c28" }, "empty_exports": [], "ok": true @@ -39,19 +39,23 @@ "series": "antelope", "host": "http://api-gateway:5000", "mode": "lifecycle", - "total": 1108, - "expected_ops": 1108, + "total": 1530, + "expected_ops": 1530, + "declared_ops": 1108, + "head_ops": 422, "coverage_incomplete": false, "methods": { "GET": 422, "POST": 177, "PUT": 178, "PATCH": 162, - "DELETE": 169 + "DELETE": 169, + "HEAD": 422 }, - "ok_count": 1108, + "ok_count": 1530, "fail_count": 0, "nonempty_fail_count": 0, + "critical": 0, "results": [ { "service": "adjutant", @@ -12240,6 +12244,4648 @@ "mode": "lifecycle", "ok": true, "succeeded": true + }, + { + "service": "adjutant", + "method": "HEAD", + "path": "/v1/tasks", + "operation_id": "task_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "adjutant", + "method": "HEAD", + "path": "/v1/tasks/{id}", + "operation_id": "task_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "adjutant", + "method": "HEAD", + "path": "/v1/tokens", + "operation_id": "token_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "adjutant", + "method": "HEAD", + "path": "/v1/tokens/{id}", + "operation_id": "token_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "adjutant", + "method": "HEAD", + "path": "/v1/notifications", + "operation_id": "notification_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "adjutant", + "method": "HEAD", + "path": "/v1/notifications/{id}", + "operation_id": "notification_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "adjutant", + "method": "HEAD", + "path": "/v1/status", + "operation_id": "status_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "adjutant", + "method": "HEAD", + "path": "/v1/status/{id}", + "operation_id": "status_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "aodh", + "method": "HEAD", + "path": "/v2", + "operation_id": "aodh_versions__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "aodh", + "method": "HEAD", + "path": "/v2/alarms", + "operation_id": "alarm_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "aodh", + "method": "HEAD", + "path": "/v2/alarms/{id}", + "operation_id": "alarm_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "aodh", + "method": "HEAD", + "path": "/v2/alarms/{alarm_id}/history", + "operation_id": "alarm_history_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "aodh", + "method": "HEAD", + "path": "/v2/alarms/{alarm_id}/history/{id}", + "operation_id": "alarm_history_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "aodh", + "method": "HEAD", + "path": "/v2/quotas", + "operation_id": "quota_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "aodh", + "method": "HEAD", + "path": "/v2/quotas/{id}", + "operation_id": "quota_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "barbican", + "method": "HEAD", + "path": "/v1", + "operation_id": "barbican_versions__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "barbican", + "method": "HEAD", + "path": "/v1/secrets", + "operation_id": "secret_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "barbican", + "method": "HEAD", + "path": "/v1/secrets/{id}", + "operation_id": "secret_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "barbican", + "method": "HEAD", + "path": "/v1/containers", + "operation_id": "container_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "barbican", + "method": "HEAD", + "path": "/v1/containers/{id}", + "operation_id": "container_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "barbican", + "method": "HEAD", + "path": "/v1/orders", + "operation_id": "order_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "barbican", + "method": "HEAD", + "path": "/v1/orders/{id}", + "operation_id": "order_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "barbican", + "method": "HEAD", + "path": "/v1/secret-stores", + "operation_id": "secret_store_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "barbican", + "method": "HEAD", + "path": "/v1/secret-stores/{id}", + "operation_id": "secret_store_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "blazar", + "method": "HEAD", + "path": "/v1", + "operation_id": "blazar_versions__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "blazar", + "method": "HEAD", + "path": "/leases", + "operation_id": "lease_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "blazar", + "method": "HEAD", + "path": "/leases/{id}", + "operation_id": "lease_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "blazar", + "method": "HEAD", + "path": "/os-hosts", + "operation_id": "host_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "blazar", + "method": "HEAD", + "path": "/os-hosts/{id}", + "operation_id": "host_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "blazar", + "method": "HEAD", + "path": "/floatingips", + "operation_id": "floatingip_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "blazar", + "method": "HEAD", + "path": "/floatingips/{id}", + "operation_id": "floatingip_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3", + "operation_id": "cinder_versions__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/volumes", + "operation_id": "volume_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/volumes/{id}", + "operation_id": "volume_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/volumes/detail", + "operation_id": "volume_list_detail__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/snapshots", + "operation_id": "snapshot_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/snapshots/{id}", + "operation_id": "snapshot_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/snapshots/detail", + "operation_id": "snapshot_list_detail__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/backups", + "operation_id": "backup_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/backups/{id}", + "operation_id": "backup_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/backups/detail", + "operation_id": "backup_list_detail__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/types", + "operation_id": "volume_type_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/types/{id}", + "operation_id": "volume_type_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/types/detail", + "operation_id": "volume_type_list_detail__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/qos-specs", + "operation_id": "qos_spec_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/qos-specs/{id}", + "operation_id": "qos_spec_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/qos-specs/detail", + "operation_id": "qos_spec_list_detail__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/groups", + "operation_id": "group_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/groups/{id}", + "operation_id": "group_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/groups/detail", + "operation_id": "group_list_detail__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/group_snapshots", + "operation_id": "group_snapshot_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/group_snapshots/{id}", + "operation_id": "group_snapshot_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/group_snapshots/detail", + "operation_id": "group_snapshot_list_detail__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/consistencygroups", + "operation_id": "consistencygroup_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/consistencygroups/{id}", + "operation_id": "consistencygroup_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/consistencygroups/detail", + "operation_id": "consistencygroup_list_detail__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/attachments", + "operation_id": "attachment_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/attachments/{id}", + "operation_id": "attachment_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/attachments/detail", + "operation_id": "attachment_list_detail__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/volume-transfers", + "operation_id": "transfer_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/volume-transfers/{id}", + "operation_id": "transfer_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/volume-transfers/detail", + "operation_id": "transfer_list_detail__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/messages", + "operation_id": "message_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/messages/{id}", + "operation_id": "message_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/messages/detail", + "operation_id": "message_list_detail__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/clusters", + "operation_id": "cluster_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/clusters/{id}", + "operation_id": "cluster_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/clusters/detail", + "operation_id": "cluster_list_detail__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/{project_id}/volumes", + "operation_id": "volume_tenant_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/{project_id}/volumes/{id}", + "operation_id": "volume_tenant_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/{project_id}/volumes/detail", + "operation_id": "volume_tenant_list_detail__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/os-services", + "operation_id": "cinder_services__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/limits", + "operation_id": "cinder_limits__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/os-quota-sets/{id}", + "operation_id": "cinder_quota_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/resource_filters", + "operation_id": "cinder_resource_filters__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/scheduler-stats/get_pools", + "operation_id": "cinder_pools__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cloudkitty", + "method": "HEAD", + "path": "/v1", + "operation_id": "cloudkitty_versions__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cloudkitty", + "method": "HEAD", + "path": "/v1/rating/module_config/hashmap/services", + "operation_id": "hashmap_service_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cloudkitty", + "method": "HEAD", + "path": "/v1/rating/module_config/hashmap/services/{id}", + "operation_id": "hashmap_service_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "cloudkitty", + "method": "HEAD", + "path": "/v1/rating/module_config/hashmap/fields", + "operation_id": "hashmap_field_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cloudkitty", + "method": "HEAD", + "path": "/v1/rating/module_config/hashmap/fields/{id}", + "operation_id": "hashmap_field_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "cloudkitty", + "method": "HEAD", + "path": "/v1/report/summary", + "operation_id": "report_summary_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cloudkitty", + "method": "HEAD", + "path": "/v1/report/summary/{id}", + "operation_id": "report_summary_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "cloudkitty", + "method": "HEAD", + "path": "/v1/storage/dataframes", + "operation_id": "dataframes_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cloudkitty", + "method": "HEAD", + "path": "/v1/storage/dataframes/{id}", + "operation_id": "dataframes_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "designate", + "method": "HEAD", + "path": "/v2", + "operation_id": "designate_versions__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "designate", + "method": "HEAD", + "path": "/v2/zones", + "operation_id": "zone_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "designate", + "method": "HEAD", + "path": "/v2/zones/{id}", + "operation_id": "zone_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "designate", + "method": "HEAD", + "path": "/v2/pools", + "operation_id": "pool_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "designate", + "method": "HEAD", + "path": "/v2/pools/{id}", + "operation_id": "pool_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "designate", + "method": "HEAD", + "path": "/v2/service_statuses", + "operation_id": "service_status_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "designate", + "method": "HEAD", + "path": "/v2/service_statuses/{id}", + "operation_id": "service_status_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "freezer", + "method": "HEAD", + "path": "/v2", + "operation_id": "freezer_versions__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "freezer", + "method": "HEAD", + "path": "/v2/jobs", + "operation_id": "job_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "freezer", + "method": "HEAD", + "path": "/v2/jobs/{id}", + "operation_id": "job_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "freezer", + "method": "HEAD", + "path": "/v2/clients", + "operation_id": "client_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "freezer", + "method": "HEAD", + "path": "/v2/clients/{id}", + "operation_id": "client_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "freezer", + "method": "HEAD", + "path": "/v2/backups", + "operation_id": "backup_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "freezer", + "method": "HEAD", + "path": "/v2/backups/{id}", + "operation_id": "backup_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "freezer", + "method": "HEAD", + "path": "/v2/sessions", + "operation_id": "session_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "freezer", + "method": "HEAD", + "path": "/v2/sessions/{id}", + "operation_id": "session_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "freezer", + "method": "HEAD", + "path": "/v2/actions", + "operation_id": "action_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "freezer", + "method": "HEAD", + "path": "/v2/actions/{id}", + "operation_id": "action_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "glance", + "method": "HEAD", + "path": "/v2", + "operation_id": "glance_versions__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "glance", + "method": "HEAD", + "path": "/v2/images", + "operation_id": "image_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "glance", + "method": "HEAD", + "path": "/v2/images/{id}", + "operation_id": "image_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "glance", + "method": "HEAD", + "path": "/v2/images/{id}/file", + "operation_id": "image_download__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "glance", + "method": "HEAD", + "path": "/v2/metadefs/namespaces", + "operation_id": "metadef_namespace_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "glance", + "method": "HEAD", + "path": "/v2/metadefs/namespaces/{id}", + "operation_id": "metadef_namespace_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "glance", + "method": "HEAD", + "path": "/v2/tasks", + "operation_id": "task_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "glance", + "method": "HEAD", + "path": "/v2/tasks/{id}", + "operation_id": "task_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "glance", + "method": "HEAD", + "path": "/v2/schemas/image", + "operation_id": "glance_schema_image__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "glance", + "method": "HEAD", + "path": "/v2/schemas/images", + "operation_id": "glance_schema_images__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "glance", + "method": "HEAD", + "path": "/v2/images/{image_id}/members", + "operation_id": "image_member_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "glance", + "method": "HEAD", + "path": "/v2/images/{image_id}/members/{id}", + "operation_id": "image_member_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "glance", + "method": "HEAD", + "path": "/v2/images/{image_id}/tags", + "operation_id": "image_tag_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "glance", + "method": "HEAD", + "path": "/v2/images/{image_id}/tags/{id}", + "operation_id": "image_tag_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "heat", + "method": "HEAD", + "path": "/v1", + "operation_id": "heat_versions__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "heat", + "method": "HEAD", + "path": "/v1/{tenant_id}/stacks", + "operation_id": "stack_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "heat", + "method": "HEAD", + "path": "/v1/{tenant_id}/stacks/{id}", + "operation_id": "stack_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "heat", + "method": "HEAD", + "path": "/v1/{tenant_id}/stacks/detail", + "operation_id": "stack_list_detail__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "heat", + "method": "HEAD", + "path": "/v1/{tenant_id}/stacks/{stack_name}/{stack_id}", + "operation_id": "stack_show_by_name__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "heat", + "method": "HEAD", + "path": "/v1/{tenant_id}/stacks/{stack_name}/{stack_id}/resources", + "operation_id": "stack_resource_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "heat", + "method": "HEAD", + "path": "/v1/{tenant_id}/stacks/{stack_name}/{stack_id}/resources/{id}", + "operation_id": "stack_resource_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "heat", + "method": "HEAD", + "path": "/v1/{tenant_id}/stacks/{stack_name}/{stack_id}/events", + "operation_id": "stack_event_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "heat", + "method": "HEAD", + "path": "/v1/{tenant_id}/stacks/{stack_name}/{stack_id}/events/{id}", + "operation_id": "stack_event_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "heat", + "method": "HEAD", + "path": "/v1/{tenant_id}/software_configs", + "operation_id": "software_config_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "heat", + "method": "HEAD", + "path": "/v1/{tenant_id}/software_configs/{id}", + "operation_id": "software_config_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "heat", + "method": "HEAD", + "path": "/v1/{tenant_id}/software_deployments", + "operation_id": "software_deployment_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "heat", + "method": "HEAD", + "path": "/v1/{tenant_id}/software_deployments/{id}", + "operation_id": "software_deployment_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "heat", + "method": "HEAD", + "path": "/v1/{tenant_id}/resource_types", + "operation_id": "heat_resource_types__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "heat", + "method": "HEAD", + "path": "/v1/{tenant_id}/services", + "operation_id": "heat_services__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "heat-cfn", + "method": "HEAD", + "path": "/stacks", + "operation_id": "stack_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "heat-cfn", + "method": "HEAD", + "path": "/stacks/{id}", + "operation_id": "stack_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "heat-cfn", + "method": "HEAD", + "path": "/v1", + "operation_id": "heat_cfn_versions__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "ironic", + "method": "HEAD", + "path": "/v1", + "operation_id": "ironic_versions__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "ironic", + "method": "HEAD", + "path": "/v1/nodes", + "operation_id": "node_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "ironic", + "method": "HEAD", + "path": "/v1/nodes/{id}", + "operation_id": "node_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "ironic", + "method": "HEAD", + "path": "/v1/ports", + "operation_id": "port_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "ironic", + "method": "HEAD", + "path": "/v1/ports/{id}", + "operation_id": "port_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "ironic", + "method": "HEAD", + "path": "/v1/portgroups", + "operation_id": "portgroup_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "ironic", + "method": "HEAD", + "path": "/v1/portgroups/{id}", + "operation_id": "portgroup_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "ironic", + "method": "HEAD", + "path": "/v1/chassis", + "operation_id": "chassis_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "ironic", + "method": "HEAD", + "path": "/v1/chassis/{id}", + "operation_id": "chassis_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "ironic", + "method": "HEAD", + "path": "/v1/allocations", + "operation_id": "allocation_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "ironic", + "method": "HEAD", + "path": "/v1/allocations/{id}", + "operation_id": "allocation_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "ironic", + "method": "HEAD", + "path": "/v1/deploy_templates", + "operation_id": "deploy_template_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "ironic", + "method": "HEAD", + "path": "/v1/deploy_templates/{id}", + "operation_id": "deploy_template_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "ironic", + "method": "HEAD", + "path": "/v1/volume/connectors", + "operation_id": "volume_connector_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "ironic", + "method": "HEAD", + "path": "/v1/volume/connectors/{id}", + "operation_id": "volume_connector_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "ironic", + "method": "HEAD", + "path": "/v1/volume/targets", + "operation_id": "volume_target_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "ironic", + "method": "HEAD", + "path": "/v1/volume/targets/{id}", + "operation_id": "volume_target_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "ironic", + "method": "HEAD", + "path": "/v1/drivers", + "operation_id": "ironic_drivers__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "ironic", + "method": "HEAD", + "path": "/v1/drivers/{name}", + "operation_id": "ironic_driver_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "ironic", + "method": "HEAD", + "path": "/v1/conductors", + "operation_id": "ironic_conductors__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "ironic", + "method": "HEAD", + "path": "/v1/nodes/{id}/states", + "operation_id": "node_states__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "ironic", + "method": "HEAD", + "path": "/v1/nodes/{id}/vendor_passthru", + "operation_id": "node_vendor_passthru__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "keystone", + "method": "HEAD", + "path": "/v3", + "operation_id": "keystone_v3_root__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "keystone", + "method": "HEAD", + "path": "/v3/auth/tokens", + "operation_id": "keystone_validate_token__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "keystone", + "method": "HEAD", + "path": "/v3/auth/catalog", + "operation_id": "keystone_catalog__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "keystone", + "method": "HEAD", + "path": "/v3/domains", + "operation_id": "domain_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "keystone", + "method": "HEAD", + "path": "/v3/domains/{id}", + "operation_id": "domain_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "keystone", + "method": "HEAD", + "path": "/v3/projects", + "operation_id": "project_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "keystone", + "method": "HEAD", + "path": "/v3/projects/{id}", + "operation_id": "project_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "keystone", + "method": "HEAD", + "path": "/v3/users", + "operation_id": "user_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "keystone", + "method": "HEAD", + "path": "/v3/users/{id}", + "operation_id": "user_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "keystone", + "method": "HEAD", + "path": "/v3/groups", + "operation_id": "group_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "keystone", + "method": "HEAD", + "path": "/v3/groups/{id}", + "operation_id": "group_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "keystone", + "method": "HEAD", + "path": "/v3/roles", + "operation_id": "role_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "keystone", + "method": "HEAD", + "path": "/v3/roles/{id}", + "operation_id": "role_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "keystone", + "method": "HEAD", + "path": "/v3/regions", + "operation_id": "region_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "keystone", + "method": "HEAD", + "path": "/v3/regions/{id}", + "operation_id": "region_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "keystone", + "method": "HEAD", + "path": "/v3/services", + "operation_id": "service_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "keystone", + "method": "HEAD", + "path": "/v3/services/{id}", + "operation_id": "service_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "keystone", + "method": "HEAD", + "path": "/v3/endpoints", + "operation_id": "endpoint_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "keystone", + "method": "HEAD", + "path": "/v3/endpoints/{id}", + "operation_id": "endpoint_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "keystone", + "method": "HEAD", + "path": "/v3/credentials", + "operation_id": "credential_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "keystone", + "method": "HEAD", + "path": "/v3/credentials/{id}", + "operation_id": "credential_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "keystone", + "method": "HEAD", + "path": "/v3/policies", + "operation_id": "policy_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "keystone", + "method": "HEAD", + "path": "/v3/policies/{id}", + "operation_id": "policy_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "keystone", + "method": "HEAD", + "path": "/v3/users/{user_id}/application_credentials", + "operation_id": "application_credential_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "keystone", + "method": "HEAD", + "path": "/v3/users/{user_id}/application_credentials/{id}", + "operation_id": "application_credential_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "keystone", + "method": "HEAD", + "path": "/v3/role_assignments", + "operation_id": "keystone_role_assignments__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "keystone", + "method": "HEAD", + "path": "/v3/projects/{project_id}/users/{user_id}/roles", + "operation_id": "keystone_list_project_user_roles__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "keystone", + "method": "HEAD", + "path": "/v3/OS-INHERIT/domains/{domain_id}/users/{user_id}/roles", + "operation_id": "keystone_inherit_roles__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "keystone", + "method": "HEAD", + "path": "/v3/limits", + "operation_id": "keystone_limits__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "keystone", + "method": "HEAD", + "path": "/v3/registered_limits", + "operation_id": "keystone_registered_limits__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "magnum", + "method": "HEAD", + "path": "/v1", + "operation_id": "magnum_versions__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "magnum", + "method": "HEAD", + "path": "/v1/clusters", + "operation_id": "cluster_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "magnum", + "method": "HEAD", + "path": "/v1/clusters/{id}", + "operation_id": "cluster_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "magnum", + "method": "HEAD", + "path": "/v1/clustertemplates", + "operation_id": "clustertemplate_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "magnum", + "method": "HEAD", + "path": "/v1/clustertemplates/{id}", + "operation_id": "clustertemplate_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "magnum", + "method": "HEAD", + "path": "/v1/certificates", + "operation_id": "certificate_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "magnum", + "method": "HEAD", + "path": "/v1/certificates/{id}", + "operation_id": "certificate_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "magnum", + "method": "HEAD", + "path": "/v1/clusters/{cluster_id}/nodegroups", + "operation_id": "nodegroup_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "magnum", + "method": "HEAD", + "path": "/v1/clusters/{cluster_id}/nodegroups/{id}", + "operation_id": "nodegroup_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "manila", + "method": "HEAD", + "path": "/v2", + "operation_id": "manila_versions__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "manila", + "method": "HEAD", + "path": "/v2/shares", + "operation_id": "share_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "manila", + "method": "HEAD", + "path": "/v2/shares/{id}", + "operation_id": "share_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "manila", + "method": "HEAD", + "path": "/v2/snapshots", + "operation_id": "share_snapshot_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "manila", + "method": "HEAD", + "path": "/v2/snapshots/{id}", + "operation_id": "share_snapshot_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "manila", + "method": "HEAD", + "path": "/v2/share-networks", + "operation_id": "share_network_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "manila", + "method": "HEAD", + "path": "/v2/share-networks/{id}", + "operation_id": "share_network_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "manila", + "method": "HEAD", + "path": "/v2/types", + "operation_id": "share_type_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "manila", + "method": "HEAD", + "path": "/v2/types/{id}", + "operation_id": "share_type_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "manila", + "method": "HEAD", + "path": "/v2/share-servers", + "operation_id": "share_server_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "manila", + "method": "HEAD", + "path": "/v2/share-servers/{id}", + "operation_id": "share_server_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "manila", + "method": "HEAD", + "path": "/v2/security-services", + "operation_id": "security_service_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "manila", + "method": "HEAD", + "path": "/v2/security-services/{id}", + "operation_id": "security_service_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "manila", + "method": "HEAD", + "path": "/v2/share-groups", + "operation_id": "share_group_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "manila", + "method": "HEAD", + "path": "/v2/share-groups/{id}", + "operation_id": "share_group_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "masakari", + "method": "HEAD", + "path": "/v1", + "operation_id": "masakari_versions__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "masakari", + "method": "HEAD", + "path": "/v1/segments", + "operation_id": "segment_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "masakari", + "method": "HEAD", + "path": "/v1/segments/{id}", + "operation_id": "segment_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "masakari", + "method": "HEAD", + "path": "/v1/segments/{segment_id}/hosts", + "operation_id": "host_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "masakari", + "method": "HEAD", + "path": "/v1/segments/{segment_id}/hosts/{id}", + "operation_id": "host_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "masakari", + "method": "HEAD", + "path": "/v1/notifications", + "operation_id": "notification_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "masakari", + "method": "HEAD", + "path": "/v1/notifications/{id}", + "operation_id": "notification_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "mistral", + "method": "HEAD", + "path": "/v2", + "operation_id": "mistral_versions__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "mistral", + "method": "HEAD", + "path": "/v2/workflows", + "operation_id": "workflow_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "mistral", + "method": "HEAD", + "path": "/v2/workflows/{id}", + "operation_id": "workflow_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "mistral", + "method": "HEAD", + "path": "/v2/executions", + "operation_id": "execution_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "mistral", + "method": "HEAD", + "path": "/v2/executions/{id}", + "operation_id": "execution_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "mistral", + "method": "HEAD", + "path": "/v2/actions", + "operation_id": "action_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "mistral", + "method": "HEAD", + "path": "/v2/actions/{id}", + "operation_id": "action_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "mistral", + "method": "HEAD", + "path": "/v2/workbooks", + "operation_id": "workbook_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "mistral", + "method": "HEAD", + "path": "/v2/workbooks/{id}", + "operation_id": "workbook_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "mistral", + "method": "HEAD", + "path": "/v2/cron_triggers", + "operation_id": "cron_trigger_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "mistral", + "method": "HEAD", + "path": "/v2/cron_triggers/{id}", + "operation_id": "cron_trigger_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "mistral", + "method": "HEAD", + "path": "/v2/tasks", + "operation_id": "task_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "mistral", + "method": "HEAD", + "path": "/v2/tasks/{id}", + "operation_id": "task_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0", + "operation_id": "neutron_versions__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/networks", + "operation_id": "network_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/networks/{id}", + "operation_id": "network_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/subnets", + "operation_id": "subnet_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/subnets/{id}", + "operation_id": "subnet_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/ports", + "operation_id": "port_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/ports/{id}", + "operation_id": "port_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/routers", + "operation_id": "router_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/routers/{id}", + "operation_id": "router_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/floatingips", + "operation_id": "floatingip_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/floatingips/{id}", + "operation_id": "floatingip_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/security-groups", + "operation_id": "security_group_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/security-groups/{id}", + "operation_id": "security_group_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/security-group-rules", + "operation_id": "security_group_rule_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/security-group-rules/{id}", + "operation_id": "security_group_rule_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/address-scopes", + "operation_id": "address_scope_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/address-scopes/{id}", + "operation_id": "address_scope_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/subnetpools", + "operation_id": "subnetpool_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/subnetpools/{id}", + "operation_id": "subnetpool_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/qos/policies", + "operation_id": "qos_policy_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/qos/policies/{id}", + "operation_id": "qos_policy_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/trunks", + "operation_id": "trunk_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/trunks/{id}", + "operation_id": "trunk_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/rbac-policies", + "operation_id": "rbac_policy_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/rbac-policies/{id}", + "operation_id": "rbac_policy_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/metering/metering-labels", + "operation_id": "metering_label_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/metering/metering-labels/{id}", + "operation_id": "metering_label_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/metering/metering-label-rules", + "operation_id": "metering_label_rule_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/metering/metering-label-rules/{id}", + "operation_id": "metering_label_rule_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/log/logs", + "operation_id": "log_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/log/logs/{id}", + "operation_id": "log_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/ndp_proxies", + "operation_id": "ndp_proxy_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/ndp_proxies/{id}", + "operation_id": "ndp_proxy_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/local_ips", + "operation_id": "local_ip_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/local_ips/{id}", + "operation_id": "local_ip_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/service_profiles", + "operation_id": "service_profile_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/service_profiles/{id}", + "operation_id": "service_profile_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/flavors", + "operation_id": "neutron_flavor_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/flavors/{id}", + "operation_id": "neutron_flavor_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/lbaas/loadbalancers", + "operation_id": "lbaas_loadbalancer_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/lbaas/loadbalancers/{id}", + "operation_id": "lbaas_loadbalancer_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/lbaas/listeners", + "operation_id": "lbaas_listener_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/lbaas/listeners/{id}", + "operation_id": "lbaas_listener_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/lbaas/pools", + "operation_id": "lbaas_pool_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/lbaas/pools/{id}", + "operation_id": "lbaas_pool_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/agents", + "operation_id": "neutron_agents__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/agents/{id}", + "operation_id": "neutron_agent_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/quotas", + "operation_id": "neutron_quota_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/quotas/{id}", + "operation_id": "neutron_quota_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/qos/policies/{policy_id}/bandwidth_limit_rules", + "operation_id": "qos_bandwidth_limit_rule_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/qos/policies/{policy_id}/bandwidth_limit_rules/{id}", + "operation_id": "qos_bandwidth_limit_rule_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/qos/policies/{policy_id}/dscp_marking_rules", + "operation_id": "qos_dscp_marking_rule_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/qos/policies/{policy_id}/dscp_marking_rules/{id}", + "operation_id": "qos_dscp_marking_rule_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/qos/policies/{policy_id}/minimum_bandwidth_rules", + "operation_id": "qos_minimum_bandwidth_rule_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/qos/policies/{policy_id}/minimum_bandwidth_rules/{id}", + "operation_id": "qos_minimum_bandwidth_rule_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/trunks/{trunk_id}/add_subports", + "operation_id": "trunk_subport_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/trunks/{trunk_id}/add_subports/{id}", + "operation_id": "trunk_subport_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/floatingips/{floatingip_id}/port_forwardings", + "operation_id": "floatingip_port_forwarding_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/floatingips/{floatingip_id}/port_forwardings/{id}", + "operation_id": "floatingip_port_forwarding_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/local_ips/{local_ip_id}/port_associations", + "operation_id": "local_ip_association_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/local_ips/{local_ip_id}/port_associations/{id}", + "operation_id": "local_ip_association_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/servers", + "operation_id": "server_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/servers/{id}", + "operation_id": "server_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/servers/detail", + "operation_id": "server_list_detail__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/servers/{server_id}/os-volume_attachments", + "operation_id": "volume_attachment_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/servers/{server_id}/os-volume_attachments/{id}", + "operation_id": "volume_attachment_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/servers/{server_id}/os-interface", + "operation_id": "interface_attachment_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/servers/{server_id}/os-interface/{id}", + "operation_id": "interface_attachment_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/servers/{server_id}/os-instance-actions", + "operation_id": "instance_action_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/servers/{server_id}/os-instance-actions/{id}", + "operation_id": "instance_action_show__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/servers/{server_id}/metadata", + "operation_id": "server_metadata_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/servers/{server_id}/metadata/{id}", + "operation_id": "server_metadata_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/servers/{server_id}/tags", + "operation_id": "server_tag_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/servers/{server_id}/tags/{id}", + "operation_id": "server_tag_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/servers/{server_id}/os-security-groups", + "operation_id": "server_security_group_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/servers/{server_id}/os-security-groups/{id}", + "operation_id": "server_security_group_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/flavors", + "operation_id": "flavor_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/flavors/{id}", + "operation_id": "flavor_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/flavors/detail", + "operation_id": "flavor_list_detail__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/os-keypairs", + "operation_id": "keypair_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/os-keypairs/{id}", + "operation_id": "keypair_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/os-aggregates", + "operation_id": "aggregate_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/os-aggregates/{id}", + "operation_id": "aggregate_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/os-server-groups", + "operation_id": "server_group_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/os-server-groups/{id}", + "operation_id": "server_group_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1", + "operation_id": "nova_versions__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/os-hypervisors", + "operation_id": "hypervisor_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/os-hypervisors/detail", + "operation_id": "hypervisor_detail__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/os-hypervisors/{id}", + "operation_id": "hypervisor_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/os-availability-zone", + "operation_id": "az_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/os-availability-zone/detail", + "operation_id": "az_detail__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/os-services", + "operation_id": "compute_services__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/limits", + "operation_id": "compute_limits__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/os-quota-sets/{id}", + "operation_id": "quota_set_show__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/os-quota-sets/{id}/detail", + "operation_id": "quota_set_detail__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/os-migrations", + "operation_id": "migrations_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/os-networks", + "operation_id": "nova_networks__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/os-tenant-networks", + "operation_id": "nova_tenant_networks__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/os-security-groups", + "operation_id": "nova_security_groups__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/os-floating-ips", + "operation_id": "nova_floating_ips__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/servers/{server_id}/diagnostics", + "operation_id": "server_diagnostics__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/servers/{server_id}/os-instance-actions/{request_id}", + "operation_id": "instance_action_show__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/flavors/{id}/os-extra_specs", + "operation_id": "flavor_extra_specs__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/os-simple-tenant-usage", + "operation_id": "simple_tenant_usage__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/flavors/{flavor_id}/os-extra_specs", + "operation_id": "flavor_extra_spec_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/flavors/{flavor_id}/os-extra_specs/{id}", + "operation_id": "flavor_extra_spec_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/servers/{server_id}/os-server-password", + "operation_id": "server_password_show__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "octavia", + "method": "HEAD", + "path": "/v2", + "operation_id": "octavia_versions__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "octavia", + "method": "HEAD", + "path": "/v2/lbaas/loadbalancers", + "operation_id": "loadbalancer_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "octavia", + "method": "HEAD", + "path": "/v2/lbaas/loadbalancers/{id}", + "operation_id": "loadbalancer_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "octavia", + "method": "HEAD", + "path": "/v2/lbaas/listeners", + "operation_id": "listener_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "octavia", + "method": "HEAD", + "path": "/v2/lbaas/listeners/{id}", + "operation_id": "listener_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "octavia", + "method": "HEAD", + "path": "/v2/lbaas/pools", + "operation_id": "pool_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "octavia", + "method": "HEAD", + "path": "/v2/lbaas/pools/{id}", + "operation_id": "pool_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "octavia", + "method": "HEAD", + "path": "/v2/lbaas/healthmonitors", + "operation_id": "healthmonitor_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "octavia", + "method": "HEAD", + "path": "/v2/lbaas/healthmonitors/{id}", + "operation_id": "healthmonitor_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "octavia", + "method": "HEAD", + "path": "/v2/lbaas/flavors", + "operation_id": "flavor_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "octavia", + "method": "HEAD", + "path": "/v2/lbaas/flavors/{id}", + "operation_id": "flavor_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "octavia", + "method": "HEAD", + "path": "/v2/lbaas/flavorprofiles", + "operation_id": "flavorprofile_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "octavia", + "method": "HEAD", + "path": "/v2/lbaas/flavorprofiles/{id}", + "operation_id": "flavorprofile_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "octavia", + "method": "HEAD", + "path": "/v2/octavia/amphorae", + "operation_id": "amphora_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "octavia", + "method": "HEAD", + "path": "/v2/octavia/amphorae/{id}", + "operation_id": "amphora_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "octavia", + "method": "HEAD", + "path": "/v2/lbaas/quotas", + "operation_id": "quota_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "octavia", + "method": "HEAD", + "path": "/v2/lbaas/quotas/{id}", + "operation_id": "quota_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "octavia", + "method": "HEAD", + "path": "/v2/lbaas/pools/{pool_id}/members", + "operation_id": "member_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "octavia", + "method": "HEAD", + "path": "/v2/lbaas/pools/{pool_id}/members/{id}", + "operation_id": "member_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "placement", + "method": "HEAD", + "path": "/", + "operation_id": "placement_root__head", + "status": 405, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "placement", + "method": "HEAD", + "path": "/resource_providers", + "operation_id": "resource_provider_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "placement", + "method": "HEAD", + "path": "/resource_providers/{id}", + "operation_id": "resource_provider_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "placement", + "method": "HEAD", + "path": "/resource_classes", + "operation_id": "resource_class_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "placement", + "method": "HEAD", + "path": "/resource_classes/{id}", + "operation_id": "resource_class_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "placement", + "method": "HEAD", + "path": "/traits", + "operation_id": "trait_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "placement", + "method": "HEAD", + "path": "/traits/{id}", + "operation_id": "trait_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "placement", + "method": "HEAD", + "path": "/allocations/{consumer_uuid}", + "operation_id": "allocation_show__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "placement", + "method": "HEAD", + "path": "/allocation_candidates", + "operation_id": "allocation_candidates__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "placement", + "method": "HEAD", + "path": "/usages", + "operation_id": "usages__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "placement", + "method": "HEAD", + "path": "/resource_providers/{id}/inventories", + "operation_id": "rp_inventories__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "placement", + "method": "HEAD", + "path": "/resource_providers/{id}/aggregates", + "operation_id": "rp_aggregates__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "placement", + "method": "HEAD", + "path": "/resource_providers/{id}/traits", + "operation_id": "rp_traits__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "placement", + "method": "HEAD", + "path": "/resource_providers/{id}/usages", + "operation_id": "rp_usages__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "placement", + "method": "HEAD", + "path": "/resource_providers/{id}/allocations", + "operation_id": "rp_allocations__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "swift", + "method": "HEAD", + "path": "/info", + "operation_id": "swift_info__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "swift", + "method": "HEAD", + "path": "/v1/{account}", + "operation_id": "swift_account_get__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "swift", + "method": "HEAD", + "path": "/v1/{account}/{container}", + "operation_id": "swift_container_get__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "swift", + "method": "HEAD", + "path": "/v1/{account}/{container}/{object}", + "operation_id": "swift_object_get__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "tacker", + "method": "HEAD", + "path": "/v1.0/vnfs", + "operation_id": "vnf_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "tacker", + "method": "HEAD", + "path": "/v1.0/vnfs/{id}", + "operation_id": "vnf_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "tacker", + "method": "HEAD", + "path": "/v1.0/vnfds", + "operation_id": "vnfd_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "tacker", + "method": "HEAD", + "path": "/v1.0/vnfds/{id}", + "operation_id": "vnfd_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "tacker", + "method": "HEAD", + "path": "/v1.0/vims", + "operation_id": "vim_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "tacker", + "method": "HEAD", + "path": "/v1.0/vims/{id}", + "operation_id": "vim_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "trove", + "method": "HEAD", + "path": "/v1.0", + "operation_id": "trove_versions__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "trove", + "method": "HEAD", + "path": "/v1.0/instances", + "operation_id": "instance_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "trove", + "method": "HEAD", + "path": "/v1.0/instances/{id}", + "operation_id": "instance_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "trove", + "method": "HEAD", + "path": "/v1.0/datastores", + "operation_id": "datastore_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "trove", + "method": "HEAD", + "path": "/v1.0/datastores/{id}", + "operation_id": "datastore_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "trove", + "method": "HEAD", + "path": "/v1.0/backups", + "operation_id": "backup_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "trove", + "method": "HEAD", + "path": "/v1.0/backups/{id}", + "operation_id": "backup_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "trove", + "method": "HEAD", + "path": "/v1.0/configurations", + "operation_id": "configuration_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "trove", + "method": "HEAD", + "path": "/v1.0/configurations/{id}", + "operation_id": "configuration_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "trove", + "method": "HEAD", + "path": "/v1.0/clusters", + "operation_id": "cluster_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "trove", + "method": "HEAD", + "path": "/v1.0/clusters/{id}", + "operation_id": "cluster_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "vitrage", + "method": "HEAD", + "path": "/v1/topology", + "operation_id": "topology_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "vitrage", + "method": "HEAD", + "path": "/v1/topology/{id}", + "operation_id": "topology_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "vitrage", + "method": "HEAD", + "path": "/v1/alarm", + "operation_id": "alarm_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "vitrage", + "method": "HEAD", + "path": "/v1/alarm/{id}", + "operation_id": "alarm_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "vitrage", + "method": "HEAD", + "path": "/v1/resources", + "operation_id": "resource_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "vitrage", + "method": "HEAD", + "path": "/v1/resources/{id}", + "operation_id": "resource_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "vitrage", + "method": "HEAD", + "path": "/v1/template", + "operation_id": "template_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "vitrage", + "method": "HEAD", + "path": "/v1/template/{id}", + "operation_id": "template_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "vitrage", + "method": "HEAD", + "path": "/v1/event", + "operation_id": "event_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "vitrage", + "method": "HEAD", + "path": "/v1/event/{id}", + "operation_id": "event_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "watcher", + "method": "HEAD", + "path": "/v1", + "operation_id": "watcher_versions__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "watcher", + "method": "HEAD", + "path": "/v1/actions", + "operation_id": "action_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "watcher", + "method": "HEAD", + "path": "/v1/actions/{id}", + "operation_id": "action_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "watcher", + "method": "HEAD", + "path": "/v1/goals", + "operation_id": "goal_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "watcher", + "method": "HEAD", + "path": "/v1/goals/{id}", + "operation_id": "goal_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "watcher", + "method": "HEAD", + "path": "/v1/strategies", + "operation_id": "strategy_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "watcher", + "method": "HEAD", + "path": "/v1/strategies/{id}", + "operation_id": "strategy_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "watcher", + "method": "HEAD", + "path": "/v1/services", + "operation_id": "service_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "watcher", + "method": "HEAD", + "path": "/v1/services/{id}", + "operation_id": "service_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "zaqar", + "method": "HEAD", + "path": "/v2", + "operation_id": "zaqar_versions__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "zun", + "method": "HEAD", + "path": "/v1", + "operation_id": "zun_versions__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "zun", + "method": "HEAD", + "path": "/v1/containers", + "operation_id": "container_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "zun", + "method": "HEAD", + "path": "/v1/containers/{id}", + "operation_id": "container_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "zun", + "method": "HEAD", + "path": "/v1/images", + "operation_id": "image_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "zun", + "method": "HEAD", + "path": "/v1/images/{id}", + "operation_id": "image_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "zun", + "method": "HEAD", + "path": "/v1/hosts", + "operation_id": "host_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "zun", + "method": "HEAD", + "path": "/v1/hosts/{id}", + "operation_id": "host_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "zun", + "method": "HEAD", + "path": "/v1/services", + "operation_id": "service_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "zun", + "method": "HEAD", + "path": "/v1/services/{id}", + "operation_id": "service_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false } ], "failures": [] diff --git a/pulumi-tests/reports/series-caracal.json b/pulumi-tests/reports/series-caracal.json index 61eb184..64ee2a7 100644 --- a/pulumi-tests/reports/series-caracal.json +++ b/pulumi-tests/reports/series-caracal.json @@ -2,35 +2,35 @@ "series": "caracal", "pulumi": { "series": "caracal", - "elapsed_s": 11.2, + "elapsed_s": 13.94, "error": null, "outputs": { "auth_project_id": "8924e279-51c7-582e-b6f5-8e41b33e7581", "auth_user_id": "b76edf4a-1452-5436-a411-a099ada1f7cb", - "created_project_id": "18f9d91e-fe5d-4016-a6e2-1cbac8846be6", - "created_user_id": "905cff09-aa46-4ec7-a305-7641fcec9028", + "created_project_id": "4ccc6157-9838-41ed-b609-6fad16c7485b", + "created_user_id": "eb2db72c-1204-40ed-8b34-e099a42a9ece", "demo_net_id": "a245268b-88ba-597a-b8db-017810782f98", "flavor_id": "1", "image_id": "c58b99c0-2d7b-5842-b260-b617db2f7803", "image_name": "cirros", - "interface_id": "b1b0e88b-bcfa-4997-87f8-24901e8bb2bb/7ede7fdb-44b2-4503-ab44-dc00621b30f5", - "keypair_name": "pu-caracal-b0a6af-kp", - "network_id": "f9c7dfb0-d068-40fe-91a8-58bd42a01db4", - "port_id": "7ede7fdb-44b2-4503-ab44-dc00621b30f5", + "interface_id": "ed7dacac-0d5c-42af-8dec-c9ddc3a3e66e/3a302d32-d14f-4a89-83a4-377b8400dd64", + "keypair_name": "pu-caracal-913e05-kp", + "network_id": "d87e3ba7-88fd-439e-a700-f8c904c5962c", + "port_id": "3a302d32-d14f-4a89-83a4-377b8400dd64", "project_name": "demo", - "router_id": "caa5c874-5447-4470-9e82-0e217b47e212", - "router_iface_id": "ea3d7ccb-cd9c-40b1-8931-256811027fb6", - "secgroup_id": "0b1d3e40-76e6-47f4-89a2-869fabc30504", - "secgroup_rule_id": "81c05307-6c3b-4a92-b149-de1ee885feb7", + "router_id": "dbd5921f-f7af-491d-8b6c-7a108e4dee02", + "router_iface_id": "6dc250c1-3718-4785-a020-eef0f89438cb", + "secgroup_id": "e84c344b-7f7a-4b30-bf40-6f6a176f288e", + "secgroup_rule_id": "ae2be8f8-1c5f-4ebf-81ae-1c78b79089d5", "series": "caracal", - "server_group_id": "6ed7aca8-f70f-4188-8ef3-acdf92f1b98f", - "server_id": "b1b0e88b-bcfa-4997-87f8-24901e8bb2bb", - "server_name": "pu-caracal-b0a6af-vm", - "subnet_id": "02a68e30-581c-40bf-9d75-9854ff70d399", - "tag": "pu-caracal-b0a6af", - "volume2_id": "7bed5a5b-b0a5-4981-8bbe-32fb48cd99c6", - "volume_attach_id": "b1b0e88b-bcfa-4997-87f8-24901e8bb2bb/1e7ddcfb-1cce-41f4-9bf2-ee8b39e93e8d", - "volume_id": "e6411969-fbb5-4874-86f3-f9a789f0f0b1" + "server_group_id": "6dc9fd5e-5ecf-4289-bd1a-f2a0937cb8e9", + "server_id": "ed7dacac-0d5c-42af-8dec-c9ddc3a3e66e", + "server_name": "pu-caracal-913e05-vm", + "subnet_id": "fe94e98e-febd-4348-8e23-b99a04733066", + "tag": "pu-caracal-913e05", + "volume2_id": "79e1cc1c-d0f0-4a63-ad0e-e8be2dc016c0", + "volume_attach_id": "ed7dacac-0d5c-42af-8dec-c9ddc3a3e66e/ef4b5b3d-6518-4959-922a-c717c54f57a9", + "volume_id": "1b947b41-3442-475c-817a-9be42362a2d5" }, "empty_exports": [], "ok": true @@ -39,19 +39,23 @@ "series": "caracal", "host": "http://api-gateway:5000", "mode": "lifecycle", - "total": 1196, - "expected_ops": 1196, + "total": 1649, + "expected_ops": 1649, + "declared_ops": 1196, + "head_ops": 453, "coverage_incomplete": false, "methods": { "GET": 453, "POST": 192, "PUT": 192, "PATCH": 176, - "DELETE": 183 + "DELETE": 183, + "HEAD": 453 }, - "ok_count": 1196, + "ok_count": 1649, "fail_count": 0, "nonempty_fail_count": 0, + "critical": 0, "results": [ { "service": "adjutant", @@ -13208,6 +13212,4989 @@ "mode": "lifecycle", "ok": true, "succeeded": true + }, + { + "service": "adjutant", + "method": "HEAD", + "path": "/v1/tasks", + "operation_id": "task_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "adjutant", + "method": "HEAD", + "path": "/v1/tasks/{id}", + "operation_id": "task_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "adjutant", + "method": "HEAD", + "path": "/v1/tokens", + "operation_id": "token_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "adjutant", + "method": "HEAD", + "path": "/v1/tokens/{id}", + "operation_id": "token_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "adjutant", + "method": "HEAD", + "path": "/v1/notifications", + "operation_id": "notification_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "adjutant", + "method": "HEAD", + "path": "/v1/notifications/{id}", + "operation_id": "notification_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "adjutant", + "method": "HEAD", + "path": "/v1/status", + "operation_id": "status_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "adjutant", + "method": "HEAD", + "path": "/v1/status/{id}", + "operation_id": "status_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "aodh", + "method": "HEAD", + "path": "/v2", + "operation_id": "aodh_versions__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "aodh", + "method": "HEAD", + "path": "/v2/alarms", + "operation_id": "alarm_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "aodh", + "method": "HEAD", + "path": "/v2/alarms/{id}", + "operation_id": "alarm_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "aodh", + "method": "HEAD", + "path": "/v2/alarms/{alarm_id}/history", + "operation_id": "alarm_history_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "aodh", + "method": "HEAD", + "path": "/v2/alarms/{alarm_id}/history/{id}", + "operation_id": "alarm_history_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "aodh", + "method": "HEAD", + "path": "/v2/quotas", + "operation_id": "quota_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "aodh", + "method": "HEAD", + "path": "/v2/quotas/{id}", + "operation_id": "quota_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "barbican", + "method": "HEAD", + "path": "/v1", + "operation_id": "barbican_versions__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "barbican", + "method": "HEAD", + "path": "/v1/secrets", + "operation_id": "secret_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "barbican", + "method": "HEAD", + "path": "/v1/secrets/{id}", + "operation_id": "secret_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "barbican", + "method": "HEAD", + "path": "/v1/containers", + "operation_id": "container_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "barbican", + "method": "HEAD", + "path": "/v1/containers/{id}", + "operation_id": "container_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "barbican", + "method": "HEAD", + "path": "/v1/orders", + "operation_id": "order_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "barbican", + "method": "HEAD", + "path": "/v1/orders/{id}", + "operation_id": "order_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "barbican", + "method": "HEAD", + "path": "/v1/secret-stores", + "operation_id": "secret_store_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "barbican", + "method": "HEAD", + "path": "/v1/secret-stores/{id}", + "operation_id": "secret_store_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "blazar", + "method": "HEAD", + "path": "/v1", + "operation_id": "blazar_versions__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "blazar", + "method": "HEAD", + "path": "/leases", + "operation_id": "lease_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "blazar", + "method": "HEAD", + "path": "/leases/{id}", + "operation_id": "lease_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "blazar", + "method": "HEAD", + "path": "/os-hosts", + "operation_id": "host_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "blazar", + "method": "HEAD", + "path": "/os-hosts/{id}", + "operation_id": "host_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "blazar", + "method": "HEAD", + "path": "/floatingips", + "operation_id": "floatingip_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "blazar", + "method": "HEAD", + "path": "/floatingips/{id}", + "operation_id": "floatingip_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3", + "operation_id": "cinder_versions__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/volumes", + "operation_id": "volume_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/volumes/{id}", + "operation_id": "volume_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/volumes/detail", + "operation_id": "volume_list_detail__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/snapshots", + "operation_id": "snapshot_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/snapshots/{id}", + "operation_id": "snapshot_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/snapshots/detail", + "operation_id": "snapshot_list_detail__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/backups", + "operation_id": "backup_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/backups/{id}", + "operation_id": "backup_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/backups/detail", + "operation_id": "backup_list_detail__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/types", + "operation_id": "volume_type_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/types/{id}", + "operation_id": "volume_type_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/types/detail", + "operation_id": "volume_type_list_detail__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/qos-specs", + "operation_id": "qos_spec_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/qos-specs/{id}", + "operation_id": "qos_spec_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/qos-specs/detail", + "operation_id": "qos_spec_list_detail__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/groups", + "operation_id": "group_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/groups/{id}", + "operation_id": "group_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/groups/detail", + "operation_id": "group_list_detail__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/group_snapshots", + "operation_id": "group_snapshot_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/group_snapshots/{id}", + "operation_id": "group_snapshot_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/group_snapshots/detail", + "operation_id": "group_snapshot_list_detail__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/consistencygroups", + "operation_id": "consistencygroup_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/consistencygroups/{id}", + "operation_id": "consistencygroup_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/consistencygroups/detail", + "operation_id": "consistencygroup_list_detail__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/attachments", + "operation_id": "attachment_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/attachments/{id}", + "operation_id": "attachment_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/attachments/detail", + "operation_id": "attachment_list_detail__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/volume-transfers", + "operation_id": "transfer_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/volume-transfers/{id}", + "operation_id": "transfer_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/volume-transfers/detail", + "operation_id": "transfer_list_detail__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/messages", + "operation_id": "message_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/messages/{id}", + "operation_id": "message_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/messages/detail", + "operation_id": "message_list_detail__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/clusters", + "operation_id": "cluster_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/clusters/{id}", + "operation_id": "cluster_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/clusters/detail", + "operation_id": "cluster_list_detail__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/{project_id}/volumes", + "operation_id": "volume_tenant_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/{project_id}/volumes/{id}", + "operation_id": "volume_tenant_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/{project_id}/volumes/detail", + "operation_id": "volume_tenant_list_detail__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/os-services", + "operation_id": "cinder_services__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/limits", + "operation_id": "cinder_limits__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/os-quota-sets/{id}", + "operation_id": "cinder_quota_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/resource_filters", + "operation_id": "cinder_resource_filters__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/scheduler-stats/get_pools", + "operation_id": "cinder_pools__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cloudkitty", + "method": "HEAD", + "path": "/v1", + "operation_id": "cloudkitty_versions__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cloudkitty", + "method": "HEAD", + "path": "/v1/rating/module_config/hashmap/services", + "operation_id": "hashmap_service_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cloudkitty", + "method": "HEAD", + "path": "/v1/rating/module_config/hashmap/services/{id}", + "operation_id": "hashmap_service_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "cloudkitty", + "method": "HEAD", + "path": "/v1/rating/module_config/hashmap/fields", + "operation_id": "hashmap_field_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cloudkitty", + "method": "HEAD", + "path": "/v1/rating/module_config/hashmap/fields/{id}", + "operation_id": "hashmap_field_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "cloudkitty", + "method": "HEAD", + "path": "/v1/report/summary", + "operation_id": "report_summary_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cloudkitty", + "method": "HEAD", + "path": "/v1/report/summary/{id}", + "operation_id": "report_summary_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "cloudkitty", + "method": "HEAD", + "path": "/v1/storage/dataframes", + "operation_id": "dataframes_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cloudkitty", + "method": "HEAD", + "path": "/v1/storage/dataframes/{id}", + "operation_id": "dataframes_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "designate", + "method": "HEAD", + "path": "/v2", + "operation_id": "designate_versions__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "designate", + "method": "HEAD", + "path": "/v2/zones", + "operation_id": "zone_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "designate", + "method": "HEAD", + "path": "/v2/zones/{id}", + "operation_id": "zone_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "designate", + "method": "HEAD", + "path": "/v2/zones/{zone_id}/recordsets", + "operation_id": "recordset_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "designate", + "method": "HEAD", + "path": "/v2/zones/{zone_id}/recordsets/{id}", + "operation_id": "recordset_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "designate", + "method": "HEAD", + "path": "/v2/tlds", + "operation_id": "tld_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "designate", + "method": "HEAD", + "path": "/v2/tlds/{id}", + "operation_id": "tld_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "designate", + "method": "HEAD", + "path": "/v2/blacklists", + "operation_id": "blacklist_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "designate", + "method": "HEAD", + "path": "/v2/blacklists/{id}", + "operation_id": "blacklist_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "designate", + "method": "HEAD", + "path": "/v2/pools", + "operation_id": "pool_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "designate", + "method": "HEAD", + "path": "/v2/pools/{id}", + "operation_id": "pool_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "designate", + "method": "HEAD", + "path": "/v2/service_statuses", + "operation_id": "service_status_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "designate", + "method": "HEAD", + "path": "/v2/service_statuses/{id}", + "operation_id": "service_status_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "freezer", + "method": "HEAD", + "path": "/v2", + "operation_id": "freezer_versions__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "freezer", + "method": "HEAD", + "path": "/v2/jobs", + "operation_id": "job_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "freezer", + "method": "HEAD", + "path": "/v2/jobs/{id}", + "operation_id": "job_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "freezer", + "method": "HEAD", + "path": "/v2/clients", + "operation_id": "client_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "freezer", + "method": "HEAD", + "path": "/v2/clients/{id}", + "operation_id": "client_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "freezer", + "method": "HEAD", + "path": "/v2/backups", + "operation_id": "backup_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "freezer", + "method": "HEAD", + "path": "/v2/backups/{id}", + "operation_id": "backup_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "freezer", + "method": "HEAD", + "path": "/v2/sessions", + "operation_id": "session_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "freezer", + "method": "HEAD", + "path": "/v2/sessions/{id}", + "operation_id": "session_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "freezer", + "method": "HEAD", + "path": "/v2/actions", + "operation_id": "action_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "freezer", + "method": "HEAD", + "path": "/v2/actions/{id}", + "operation_id": "action_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "glance", + "method": "HEAD", + "path": "/v2", + "operation_id": "glance_versions__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "glance", + "method": "HEAD", + "path": "/v2/images", + "operation_id": "image_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "glance", + "method": "HEAD", + "path": "/v2/images/{id}", + "operation_id": "image_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "glance", + "method": "HEAD", + "path": "/v2/images/{id}/file", + "operation_id": "image_download__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "glance", + "method": "HEAD", + "path": "/v2/metadefs/namespaces", + "operation_id": "metadef_namespace_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "glance", + "method": "HEAD", + "path": "/v2/metadefs/namespaces/{id}", + "operation_id": "metadef_namespace_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "glance", + "method": "HEAD", + "path": "/v2/tasks", + "operation_id": "task_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "glance", + "method": "HEAD", + "path": "/v2/tasks/{id}", + "operation_id": "task_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "glance", + "method": "HEAD", + "path": "/v2/schemas/image", + "operation_id": "glance_schema_image__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "glance", + "method": "HEAD", + "path": "/v2/schemas/images", + "operation_id": "glance_schema_images__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "glance", + "method": "HEAD", + "path": "/v2/images/{image_id}/members", + "operation_id": "image_member_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "glance", + "method": "HEAD", + "path": "/v2/images/{image_id}/members/{id}", + "operation_id": "image_member_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "glance", + "method": "HEAD", + "path": "/v2/images/{image_id}/tags", + "operation_id": "image_tag_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "glance", + "method": "HEAD", + "path": "/v2/images/{image_id}/tags/{id}", + "operation_id": "image_tag_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "heat", + "method": "HEAD", + "path": "/v1", + "operation_id": "heat_versions__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "heat", + "method": "HEAD", + "path": "/v1/{tenant_id}/stacks", + "operation_id": "stack_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "heat", + "method": "HEAD", + "path": "/v1/{tenant_id}/stacks/{id}", + "operation_id": "stack_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "heat", + "method": "HEAD", + "path": "/v1/{tenant_id}/stacks/detail", + "operation_id": "stack_list_detail__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "heat", + "method": "HEAD", + "path": "/v1/{tenant_id}/stacks/{stack_name}/{stack_id}", + "operation_id": "stack_show_by_name__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "heat", + "method": "HEAD", + "path": "/v1/{tenant_id}/stacks/{stack_name}/{stack_id}/resources", + "operation_id": "stack_resource_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "heat", + "method": "HEAD", + "path": "/v1/{tenant_id}/stacks/{stack_name}/{stack_id}/resources/{id}", + "operation_id": "stack_resource_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "heat", + "method": "HEAD", + "path": "/v1/{tenant_id}/stacks/{stack_name}/{stack_id}/events", + "operation_id": "stack_event_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "heat", + "method": "HEAD", + "path": "/v1/{tenant_id}/stacks/{stack_name}/{stack_id}/events/{id}", + "operation_id": "stack_event_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "heat", + "method": "HEAD", + "path": "/v1/{tenant_id}/software_configs", + "operation_id": "software_config_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "heat", + "method": "HEAD", + "path": "/v1/{tenant_id}/software_configs/{id}", + "operation_id": "software_config_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "heat", + "method": "HEAD", + "path": "/v1/{tenant_id}/software_deployments", + "operation_id": "software_deployment_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "heat", + "method": "HEAD", + "path": "/v1/{tenant_id}/software_deployments/{id}", + "operation_id": "software_deployment_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "heat", + "method": "HEAD", + "path": "/v1/{tenant_id}/resource_types", + "operation_id": "heat_resource_types__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "heat", + "method": "HEAD", + "path": "/v1/{tenant_id}/services", + "operation_id": "heat_services__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "heat-cfn", + "method": "HEAD", + "path": "/stacks", + "operation_id": "stack_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "heat-cfn", + "method": "HEAD", + "path": "/stacks/{id}", + "operation_id": "stack_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "heat-cfn", + "method": "HEAD", + "path": "/v1", + "operation_id": "heat_cfn_versions__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "ironic", + "method": "HEAD", + "path": "/v1", + "operation_id": "ironic_versions__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "ironic", + "method": "HEAD", + "path": "/v1/nodes", + "operation_id": "node_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "ironic", + "method": "HEAD", + "path": "/v1/nodes/{id}", + "operation_id": "node_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "ironic", + "method": "HEAD", + "path": "/v1/ports", + "operation_id": "port_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "ironic", + "method": "HEAD", + "path": "/v1/ports/{id}", + "operation_id": "port_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "ironic", + "method": "HEAD", + "path": "/v1/portgroups", + "operation_id": "portgroup_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "ironic", + "method": "HEAD", + "path": "/v1/portgroups/{id}", + "operation_id": "portgroup_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "ironic", + "method": "HEAD", + "path": "/v1/chassis", + "operation_id": "chassis_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "ironic", + "method": "HEAD", + "path": "/v1/chassis/{id}", + "operation_id": "chassis_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "ironic", + "method": "HEAD", + "path": "/v1/allocations", + "operation_id": "allocation_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "ironic", + "method": "HEAD", + "path": "/v1/allocations/{id}", + "operation_id": "allocation_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "ironic", + "method": "HEAD", + "path": "/v1/deploy_templates", + "operation_id": "deploy_template_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "ironic", + "method": "HEAD", + "path": "/v1/deploy_templates/{id}", + "operation_id": "deploy_template_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "ironic", + "method": "HEAD", + "path": "/v1/volume/connectors", + "operation_id": "volume_connector_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "ironic", + "method": "HEAD", + "path": "/v1/volume/connectors/{id}", + "operation_id": "volume_connector_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "ironic", + "method": "HEAD", + "path": "/v1/volume/targets", + "operation_id": "volume_target_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "ironic", + "method": "HEAD", + "path": "/v1/volume/targets/{id}", + "operation_id": "volume_target_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "ironic", + "method": "HEAD", + "path": "/v1/drivers", + "operation_id": "ironic_drivers__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "ironic", + "method": "HEAD", + "path": "/v1/drivers/{name}", + "operation_id": "ironic_driver_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "ironic", + "method": "HEAD", + "path": "/v1/conductors", + "operation_id": "ironic_conductors__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "ironic", + "method": "HEAD", + "path": "/v1/nodes/{id}/states", + "operation_id": "node_states__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "ironic", + "method": "HEAD", + "path": "/v1/nodes/{id}/vendor_passthru", + "operation_id": "node_vendor_passthru__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "keystone", + "method": "HEAD", + "path": "/v3", + "operation_id": "keystone_v3_root__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "keystone", + "method": "HEAD", + "path": "/v3/auth/tokens", + "operation_id": "keystone_validate_token__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "keystone", + "method": "HEAD", + "path": "/v3/auth/catalog", + "operation_id": "keystone_catalog__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "keystone", + "method": "HEAD", + "path": "/v3/domains", + "operation_id": "domain_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "keystone", + "method": "HEAD", + "path": "/v3/domains/{id}", + "operation_id": "domain_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "keystone", + "method": "HEAD", + "path": "/v3/projects", + "operation_id": "project_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "keystone", + "method": "HEAD", + "path": "/v3/projects/{id}", + "operation_id": "project_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "keystone", + "method": "HEAD", + "path": "/v3/users", + "operation_id": "user_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "keystone", + "method": "HEAD", + "path": "/v3/users/{id}", + "operation_id": "user_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "keystone", + "method": "HEAD", + "path": "/v3/groups", + "operation_id": "group_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "keystone", + "method": "HEAD", + "path": "/v3/groups/{id}", + "operation_id": "group_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "keystone", + "method": "HEAD", + "path": "/v3/roles", + "operation_id": "role_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "keystone", + "method": "HEAD", + "path": "/v3/roles/{id}", + "operation_id": "role_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "keystone", + "method": "HEAD", + "path": "/v3/regions", + "operation_id": "region_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "keystone", + "method": "HEAD", + "path": "/v3/regions/{id}", + "operation_id": "region_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "keystone", + "method": "HEAD", + "path": "/v3/services", + "operation_id": "service_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "keystone", + "method": "HEAD", + "path": "/v3/services/{id}", + "operation_id": "service_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "keystone", + "method": "HEAD", + "path": "/v3/endpoints", + "operation_id": "endpoint_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "keystone", + "method": "HEAD", + "path": "/v3/endpoints/{id}", + "operation_id": "endpoint_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "keystone", + "method": "HEAD", + "path": "/v3/credentials", + "operation_id": "credential_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "keystone", + "method": "HEAD", + "path": "/v3/credentials/{id}", + "operation_id": "credential_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "keystone", + "method": "HEAD", + "path": "/v3/policies", + "operation_id": "policy_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "keystone", + "method": "HEAD", + "path": "/v3/policies/{id}", + "operation_id": "policy_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "keystone", + "method": "HEAD", + "path": "/v3/users/{user_id}/application_credentials", + "operation_id": "application_credential_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "keystone", + "method": "HEAD", + "path": "/v3/users/{user_id}/application_credentials/{id}", + "operation_id": "application_credential_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "keystone", + "method": "HEAD", + "path": "/v3/role_assignments", + "operation_id": "keystone_role_assignments__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "keystone", + "method": "HEAD", + "path": "/v3/projects/{project_id}/users/{user_id}/roles", + "operation_id": "keystone_list_project_user_roles__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "keystone", + "method": "HEAD", + "path": "/v3/OS-INHERIT/domains/{domain_id}/users/{user_id}/roles", + "operation_id": "keystone_inherit_roles__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "keystone", + "method": "HEAD", + "path": "/v3/limits", + "operation_id": "keystone_limits__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "keystone", + "method": "HEAD", + "path": "/v3/registered_limits", + "operation_id": "keystone_registered_limits__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "magnum", + "method": "HEAD", + "path": "/v1", + "operation_id": "magnum_versions__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "magnum", + "method": "HEAD", + "path": "/v1/clusters", + "operation_id": "cluster_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "magnum", + "method": "HEAD", + "path": "/v1/clusters/{id}", + "operation_id": "cluster_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "magnum", + "method": "HEAD", + "path": "/v1/clustertemplates", + "operation_id": "clustertemplate_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "magnum", + "method": "HEAD", + "path": "/v1/clustertemplates/{id}", + "operation_id": "clustertemplate_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "magnum", + "method": "HEAD", + "path": "/v1/certificates", + "operation_id": "certificate_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "magnum", + "method": "HEAD", + "path": "/v1/certificates/{id}", + "operation_id": "certificate_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "magnum", + "method": "HEAD", + "path": "/v1/clusters/{cluster_id}/nodegroups", + "operation_id": "nodegroup_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "magnum", + "method": "HEAD", + "path": "/v1/clusters/{cluster_id}/nodegroups/{id}", + "operation_id": "nodegroup_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "manila", + "method": "HEAD", + "path": "/v2", + "operation_id": "manila_versions__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "manila", + "method": "HEAD", + "path": "/v2/shares", + "operation_id": "share_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "manila", + "method": "HEAD", + "path": "/v2/shares/{id}", + "operation_id": "share_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "manila", + "method": "HEAD", + "path": "/v2/snapshots", + "operation_id": "share_snapshot_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "manila", + "method": "HEAD", + "path": "/v2/snapshots/{id}", + "operation_id": "share_snapshot_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "manila", + "method": "HEAD", + "path": "/v2/share-networks", + "operation_id": "share_network_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "manila", + "method": "HEAD", + "path": "/v2/share-networks/{id}", + "operation_id": "share_network_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "manila", + "method": "HEAD", + "path": "/v2/types", + "operation_id": "share_type_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "manila", + "method": "HEAD", + "path": "/v2/types/{id}", + "operation_id": "share_type_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "manila", + "method": "HEAD", + "path": "/v2/share-servers", + "operation_id": "share_server_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "manila", + "method": "HEAD", + "path": "/v2/share-servers/{id}", + "operation_id": "share_server_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "manila", + "method": "HEAD", + "path": "/v2/security-services", + "operation_id": "security_service_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "manila", + "method": "HEAD", + "path": "/v2/security-services/{id}", + "operation_id": "security_service_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "manila", + "method": "HEAD", + "path": "/v2/share-groups", + "operation_id": "share_group_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "manila", + "method": "HEAD", + "path": "/v2/share-groups/{id}", + "operation_id": "share_group_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "masakari", + "method": "HEAD", + "path": "/v1", + "operation_id": "masakari_versions__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "masakari", + "method": "HEAD", + "path": "/v1/segments", + "operation_id": "segment_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "masakari", + "method": "HEAD", + "path": "/v1/segments/{id}", + "operation_id": "segment_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "masakari", + "method": "HEAD", + "path": "/v1/segments/{segment_id}/hosts", + "operation_id": "host_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "masakari", + "method": "HEAD", + "path": "/v1/segments/{segment_id}/hosts/{id}", + "operation_id": "host_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "masakari", + "method": "HEAD", + "path": "/v1/notifications", + "operation_id": "notification_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "masakari", + "method": "HEAD", + "path": "/v1/notifications/{id}", + "operation_id": "notification_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "mistral", + "method": "HEAD", + "path": "/v2", + "operation_id": "mistral_versions__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "mistral", + "method": "HEAD", + "path": "/v2/workflows", + "operation_id": "workflow_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "mistral", + "method": "HEAD", + "path": "/v2/workflows/{id}", + "operation_id": "workflow_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "mistral", + "method": "HEAD", + "path": "/v2/executions", + "operation_id": "execution_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "mistral", + "method": "HEAD", + "path": "/v2/executions/{id}", + "operation_id": "execution_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "mistral", + "method": "HEAD", + "path": "/v2/actions", + "operation_id": "action_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "mistral", + "method": "HEAD", + "path": "/v2/actions/{id}", + "operation_id": "action_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "mistral", + "method": "HEAD", + "path": "/v2/workbooks", + "operation_id": "workbook_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "mistral", + "method": "HEAD", + "path": "/v2/workbooks/{id}", + "operation_id": "workbook_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "mistral", + "method": "HEAD", + "path": "/v2/cron_triggers", + "operation_id": "cron_trigger_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "mistral", + "method": "HEAD", + "path": "/v2/cron_triggers/{id}", + "operation_id": "cron_trigger_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "mistral", + "method": "HEAD", + "path": "/v2/tasks", + "operation_id": "task_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "mistral", + "method": "HEAD", + "path": "/v2/tasks/{id}", + "operation_id": "task_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0", + "operation_id": "neutron_versions__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/networks", + "operation_id": "network_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/networks/{id}", + "operation_id": "network_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/subnets", + "operation_id": "subnet_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/subnets/{id}", + "operation_id": "subnet_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/ports", + "operation_id": "port_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/ports/{id}", + "operation_id": "port_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/routers", + "operation_id": "router_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/routers/{id}", + "operation_id": "router_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/floatingips", + "operation_id": "floatingip_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/floatingips/{id}", + "operation_id": "floatingip_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/security-groups", + "operation_id": "security_group_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/security-groups/{id}", + "operation_id": "security_group_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/security-group-rules", + "operation_id": "security_group_rule_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/security-group-rules/{id}", + "operation_id": "security_group_rule_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/address-scopes", + "operation_id": "address_scope_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/address-scopes/{id}", + "operation_id": "address_scope_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/subnetpools", + "operation_id": "subnetpool_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/subnetpools/{id}", + "operation_id": "subnetpool_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/qos/policies", + "operation_id": "qos_policy_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/qos/policies/{id}", + "operation_id": "qos_policy_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/trunks", + "operation_id": "trunk_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/trunks/{id}", + "operation_id": "trunk_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/rbac-policies", + "operation_id": "rbac_policy_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/rbac-policies/{id}", + "operation_id": "rbac_policy_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/metering/metering-labels", + "operation_id": "metering_label_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/metering/metering-labels/{id}", + "operation_id": "metering_label_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/metering/metering-label-rules", + "operation_id": "metering_label_rule_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/metering/metering-label-rules/{id}", + "operation_id": "metering_label_rule_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/vpn/vpnservices", + "operation_id": "vpn_service_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/vpn/vpnservices/{id}", + "operation_id": "vpn_service_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/vpn/ipsec-site-connections", + "operation_id": "ipsec_site_connection_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/vpn/ipsec-site-connections/{id}", + "operation_id": "ipsec_site_connection_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/bgpvpn/bgpvpns", + "operation_id": "bgpvpn_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/bgpvpn/bgpvpns/{id}", + "operation_id": "bgpvpn_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/log/logs", + "operation_id": "log_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/log/logs/{id}", + "operation_id": "log_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/ndp_proxies", + "operation_id": "ndp_proxy_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/ndp_proxies/{id}", + "operation_id": "ndp_proxy_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/local_ips", + "operation_id": "local_ip_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/local_ips/{id}", + "operation_id": "local_ip_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/service_profiles", + "operation_id": "service_profile_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/service_profiles/{id}", + "operation_id": "service_profile_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/flavors", + "operation_id": "neutron_flavor_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/flavors/{id}", + "operation_id": "neutron_flavor_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/lbaas/loadbalancers", + "operation_id": "lbaas_loadbalancer_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/lbaas/loadbalancers/{id}", + "operation_id": "lbaas_loadbalancer_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/lbaas/listeners", + "operation_id": "lbaas_listener_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/lbaas/listeners/{id}", + "operation_id": "lbaas_listener_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/lbaas/pools", + "operation_id": "lbaas_pool_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/lbaas/pools/{id}", + "operation_id": "lbaas_pool_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/agents", + "operation_id": "neutron_agents__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/agents/{id}", + "operation_id": "neutron_agent_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/quotas", + "operation_id": "neutron_quota_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/quotas/{id}", + "operation_id": "neutron_quota_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/routers/{router_id}/conntrack_helpers", + "operation_id": "conntrack_helper_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/routers/{router_id}/conntrack_helpers/{id}", + "operation_id": "conntrack_helper_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/qos/policies/{policy_id}/bandwidth_limit_rules", + "operation_id": "qos_bandwidth_limit_rule_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/qos/policies/{policy_id}/bandwidth_limit_rules/{id}", + "operation_id": "qos_bandwidth_limit_rule_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/qos/policies/{policy_id}/dscp_marking_rules", + "operation_id": "qos_dscp_marking_rule_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/qos/policies/{policy_id}/dscp_marking_rules/{id}", + "operation_id": "qos_dscp_marking_rule_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/qos/policies/{policy_id}/minimum_bandwidth_rules", + "operation_id": "qos_minimum_bandwidth_rule_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/qos/policies/{policy_id}/minimum_bandwidth_rules/{id}", + "operation_id": "qos_minimum_bandwidth_rule_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/trunks/{trunk_id}/add_subports", + "operation_id": "trunk_subport_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/trunks/{trunk_id}/add_subports/{id}", + "operation_id": "trunk_subport_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/floatingips/{floatingip_id}/port_forwardings", + "operation_id": "floatingip_port_forwarding_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/floatingips/{floatingip_id}/port_forwardings/{id}", + "operation_id": "floatingip_port_forwarding_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/local_ips/{local_ip_id}/port_associations", + "operation_id": "local_ip_association_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/local_ips/{local_ip_id}/port_associations/{id}", + "operation_id": "local_ip_association_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/bgpvpn/bgpvpns/{bgpvpn_id}/network_associations", + "operation_id": "bgpvpn_network_association_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/bgpvpn/bgpvpns/{bgpvpn_id}/network_associations/{id}", + "operation_id": "bgpvpn_network_association_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/bgpvpn/bgpvpns/{bgpvpn_id}/router_associations", + "operation_id": "bgpvpn_router_association_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/bgpvpn/bgpvpns/{bgpvpn_id}/router_associations/{id}", + "operation_id": "bgpvpn_router_association_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/servers", + "operation_id": "server_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/servers/{id}", + "operation_id": "server_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/servers/detail", + "operation_id": "server_list_detail__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/servers/{server_id}/os-volume_attachments", + "operation_id": "volume_attachment_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/servers/{server_id}/os-volume_attachments/{id}", + "operation_id": "volume_attachment_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/servers/{server_id}/os-interface", + "operation_id": "interface_attachment_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/servers/{server_id}/os-interface/{id}", + "operation_id": "interface_attachment_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/servers/{server_id}/os-instance-actions", + "operation_id": "instance_action_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/servers/{server_id}/os-instance-actions/{id}", + "operation_id": "instance_action_show__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/servers/{server_id}/metadata", + "operation_id": "server_metadata_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/servers/{server_id}/metadata/{id}", + "operation_id": "server_metadata_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/servers/{server_id}/tags", + "operation_id": "server_tag_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/servers/{server_id}/tags/{id}", + "operation_id": "server_tag_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/servers/{server_id}/os-security-groups", + "operation_id": "server_security_group_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/servers/{server_id}/os-security-groups/{id}", + "operation_id": "server_security_group_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/flavors", + "operation_id": "flavor_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/flavors/{id}", + "operation_id": "flavor_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/flavors/detail", + "operation_id": "flavor_list_detail__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/os-keypairs", + "operation_id": "keypair_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/os-keypairs/{id}", + "operation_id": "keypair_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/os-aggregates", + "operation_id": "aggregate_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/os-aggregates/{id}", + "operation_id": "aggregate_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/os-server-groups", + "operation_id": "server_group_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/os-server-groups/{id}", + "operation_id": "server_group_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1", + "operation_id": "nova_versions__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/os-hypervisors", + "operation_id": "hypervisor_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/os-hypervisors/detail", + "operation_id": "hypervisor_detail__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/os-hypervisors/{id}", + "operation_id": "hypervisor_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/os-availability-zone", + "operation_id": "az_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/os-availability-zone/detail", + "operation_id": "az_detail__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/os-services", + "operation_id": "compute_services__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/limits", + "operation_id": "compute_limits__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/os-quota-sets/{id}", + "operation_id": "quota_set_show__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/os-quota-sets/{id}/detail", + "operation_id": "quota_set_detail__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/os-migrations", + "operation_id": "migrations_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/os-networks", + "operation_id": "nova_networks__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/os-tenant-networks", + "operation_id": "nova_tenant_networks__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/os-security-groups", + "operation_id": "nova_security_groups__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/os-floating-ips", + "operation_id": "nova_floating_ips__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/os-instance_usage_audit_log", + "operation_id": "instance_usage_audit__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/os-assisted-volume-snapshots", + "operation_id": "assisted_volume_snapshots__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/servers/{server_id}/diagnostics", + "operation_id": "server_diagnostics__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/servers/{server_id}/os-instance-actions/{request_id}", + "operation_id": "instance_action_show__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/flavors/{id}/os-extra_specs", + "operation_id": "flavor_extra_specs__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/os-simple-tenant-usage", + "operation_id": "simple_tenant_usage__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/os-hosts", + "operation_id": "os_hosts__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/flavors/{flavor_id}/os-extra_specs", + "operation_id": "flavor_extra_spec_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/flavors/{flavor_id}/os-extra_specs/{id}", + "operation_id": "flavor_extra_spec_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/servers/{server_id}/os-server-password", + "operation_id": "server_password_show__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "octavia", + "method": "HEAD", + "path": "/v2", + "operation_id": "octavia_versions__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "octavia", + "method": "HEAD", + "path": "/v2/lbaas/loadbalancers", + "operation_id": "loadbalancer_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "octavia", + "method": "HEAD", + "path": "/v2/lbaas/loadbalancers/{id}", + "operation_id": "loadbalancer_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "octavia", + "method": "HEAD", + "path": "/v2/lbaas/listeners", + "operation_id": "listener_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "octavia", + "method": "HEAD", + "path": "/v2/lbaas/listeners/{id}", + "operation_id": "listener_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "octavia", + "method": "HEAD", + "path": "/v2/lbaas/pools", + "operation_id": "pool_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "octavia", + "method": "HEAD", + "path": "/v2/lbaas/pools/{id}", + "operation_id": "pool_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "octavia", + "method": "HEAD", + "path": "/v2/lbaas/healthmonitors", + "operation_id": "healthmonitor_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "octavia", + "method": "HEAD", + "path": "/v2/lbaas/healthmonitors/{id}", + "operation_id": "healthmonitor_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "octavia", + "method": "HEAD", + "path": "/v2/lbaas/l7policies", + "operation_id": "l7policy_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "octavia", + "method": "HEAD", + "path": "/v2/lbaas/l7policies/{id}", + "operation_id": "l7policy_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "octavia", + "method": "HEAD", + "path": "/v2/lbaas/flavors", + "operation_id": "flavor_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "octavia", + "method": "HEAD", + "path": "/v2/lbaas/flavors/{id}", + "operation_id": "flavor_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "octavia", + "method": "HEAD", + "path": "/v2/lbaas/flavorprofiles", + "operation_id": "flavorprofile_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "octavia", + "method": "HEAD", + "path": "/v2/lbaas/flavorprofiles/{id}", + "operation_id": "flavorprofile_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "octavia", + "method": "HEAD", + "path": "/v2/octavia/amphorae", + "operation_id": "amphora_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "octavia", + "method": "HEAD", + "path": "/v2/octavia/amphorae/{id}", + "operation_id": "amphora_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "octavia", + "method": "HEAD", + "path": "/v2/lbaas/quotas", + "operation_id": "quota_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "octavia", + "method": "HEAD", + "path": "/v2/lbaas/quotas/{id}", + "operation_id": "quota_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "octavia", + "method": "HEAD", + "path": "/v2/lbaas/providers", + "operation_id": "provider_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "octavia", + "method": "HEAD", + "path": "/v2/lbaas/providers/{id}", + "operation_id": "provider_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "octavia", + "method": "HEAD", + "path": "/v2/lbaas/pools/{pool_id}/members", + "operation_id": "member_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "octavia", + "method": "HEAD", + "path": "/v2/lbaas/pools/{pool_id}/members/{id}", + "operation_id": "member_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "octavia", + "method": "HEAD", + "path": "/v2/lbaas/l7policies/{l7policy_id}/rules", + "operation_id": "l7rule_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "octavia", + "method": "HEAD", + "path": "/v2/lbaas/l7policies/{l7policy_id}/rules/{id}", + "operation_id": "l7rule_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "placement", + "method": "HEAD", + "path": "/", + "operation_id": "placement_root__head", + "status": 405, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "placement", + "method": "HEAD", + "path": "/resource_providers", + "operation_id": "resource_provider_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "placement", + "method": "HEAD", + "path": "/resource_providers/{id}", + "operation_id": "resource_provider_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "placement", + "method": "HEAD", + "path": "/resource_classes", + "operation_id": "resource_class_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "placement", + "method": "HEAD", + "path": "/resource_classes/{id}", + "operation_id": "resource_class_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "placement", + "method": "HEAD", + "path": "/traits", + "operation_id": "trait_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "placement", + "method": "HEAD", + "path": "/traits/{id}", + "operation_id": "trait_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "placement", + "method": "HEAD", + "path": "/allocations/{consumer_uuid}", + "operation_id": "allocation_show__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "placement", + "method": "HEAD", + "path": "/allocation_candidates", + "operation_id": "allocation_candidates__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "placement", + "method": "HEAD", + "path": "/usages", + "operation_id": "usages__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "placement", + "method": "HEAD", + "path": "/resource_providers/{id}/inventories", + "operation_id": "rp_inventories__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "placement", + "method": "HEAD", + "path": "/resource_providers/{id}/aggregates", + "operation_id": "rp_aggregates__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "placement", + "method": "HEAD", + "path": "/resource_providers/{id}/traits", + "operation_id": "rp_traits__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "placement", + "method": "HEAD", + "path": "/resource_providers/{id}/usages", + "operation_id": "rp_usages__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "placement", + "method": "HEAD", + "path": "/resource_providers/{id}/allocations", + "operation_id": "rp_allocations__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "swift", + "method": "HEAD", + "path": "/info", + "operation_id": "swift_info__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "swift", + "method": "HEAD", + "path": "/v1/{account}", + "operation_id": "swift_account_get__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "swift", + "method": "HEAD", + "path": "/v1/{account}/{container}", + "operation_id": "swift_container_get__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "swift", + "method": "HEAD", + "path": "/v1/{account}/{container}/{object}", + "operation_id": "swift_object_get__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "tacker", + "method": "HEAD", + "path": "/v1.0/vnfs", + "operation_id": "vnf_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "tacker", + "method": "HEAD", + "path": "/v1.0/vnfs/{id}", + "operation_id": "vnf_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "tacker", + "method": "HEAD", + "path": "/v1.0/vnfds", + "operation_id": "vnfd_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "tacker", + "method": "HEAD", + "path": "/v1.0/vnfds/{id}", + "operation_id": "vnfd_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "tacker", + "method": "HEAD", + "path": "/v1.0/vims", + "operation_id": "vim_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "tacker", + "method": "HEAD", + "path": "/v1.0/vims/{id}", + "operation_id": "vim_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "tacker", + "method": "HEAD", + "path": "/vnfpkgm/v1/vnf_packages", + "operation_id": "vnf_package_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "tacker", + "method": "HEAD", + "path": "/vnfpkgm/v1/vnf_packages/{id}", + "operation_id": "vnf_package_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "tacker", + "method": "HEAD", + "path": "/vnflcm/v1/vnf_instances", + "operation_id": "vnf_instance_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "tacker", + "method": "HEAD", + "path": "/vnflcm/v1/vnf_instances/{id}", + "operation_id": "vnf_instance_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "trove", + "method": "HEAD", + "path": "/v1.0", + "operation_id": "trove_versions__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "trove", + "method": "HEAD", + "path": "/v1.0/instances", + "operation_id": "instance_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "trove", + "method": "HEAD", + "path": "/v1.0/instances/{id}", + "operation_id": "instance_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "trove", + "method": "HEAD", + "path": "/v1.0/datastores", + "operation_id": "datastore_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "trove", + "method": "HEAD", + "path": "/v1.0/datastores/{id}", + "operation_id": "datastore_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "trove", + "method": "HEAD", + "path": "/v1.0/backups", + "operation_id": "backup_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "trove", + "method": "HEAD", + "path": "/v1.0/backups/{id}", + "operation_id": "backup_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "trove", + "method": "HEAD", + "path": "/v1.0/configurations", + "operation_id": "configuration_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "trove", + "method": "HEAD", + "path": "/v1.0/configurations/{id}", + "operation_id": "configuration_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "trove", + "method": "HEAD", + "path": "/v1.0/clusters", + "operation_id": "cluster_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "trove", + "method": "HEAD", + "path": "/v1.0/clusters/{id}", + "operation_id": "cluster_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "vitrage", + "method": "HEAD", + "path": "/v1/topology", + "operation_id": "topology_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "vitrage", + "method": "HEAD", + "path": "/v1/topology/{id}", + "operation_id": "topology_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "vitrage", + "method": "HEAD", + "path": "/v1/alarm", + "operation_id": "alarm_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "vitrage", + "method": "HEAD", + "path": "/v1/alarm/{id}", + "operation_id": "alarm_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "vitrage", + "method": "HEAD", + "path": "/v1/resources", + "operation_id": "resource_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "vitrage", + "method": "HEAD", + "path": "/v1/resources/{id}", + "operation_id": "resource_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "vitrage", + "method": "HEAD", + "path": "/v1/template", + "operation_id": "template_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "vitrage", + "method": "HEAD", + "path": "/v1/template/{id}", + "operation_id": "template_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "vitrage", + "method": "HEAD", + "path": "/v1/event", + "operation_id": "event_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "vitrage", + "method": "HEAD", + "path": "/v1/event/{id}", + "operation_id": "event_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "watcher", + "method": "HEAD", + "path": "/v1", + "operation_id": "watcher_versions__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "watcher", + "method": "HEAD", + "path": "/v1/actions", + "operation_id": "action_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "watcher", + "method": "HEAD", + "path": "/v1/actions/{id}", + "operation_id": "action_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "watcher", + "method": "HEAD", + "path": "/v1/goals", + "operation_id": "goal_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "watcher", + "method": "HEAD", + "path": "/v1/goals/{id}", + "operation_id": "goal_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "watcher", + "method": "HEAD", + "path": "/v1/strategies", + "operation_id": "strategy_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "watcher", + "method": "HEAD", + "path": "/v1/strategies/{id}", + "operation_id": "strategy_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "watcher", + "method": "HEAD", + "path": "/v1/services", + "operation_id": "service_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "watcher", + "method": "HEAD", + "path": "/v1/services/{id}", + "operation_id": "service_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "zaqar", + "method": "HEAD", + "path": "/v2", + "operation_id": "zaqar_versions__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "zun", + "method": "HEAD", + "path": "/v1", + "operation_id": "zun_versions__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "zun", + "method": "HEAD", + "path": "/v1/containers", + "operation_id": "container_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "zun", + "method": "HEAD", + "path": "/v1/containers/{id}", + "operation_id": "container_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "zun", + "method": "HEAD", + "path": "/v1/images", + "operation_id": "image_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "zun", + "method": "HEAD", + "path": "/v1/images/{id}", + "operation_id": "image_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "zun", + "method": "HEAD", + "path": "/v1/hosts", + "operation_id": "host_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "zun", + "method": "HEAD", + "path": "/v1/hosts/{id}", + "operation_id": "host_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "zun", + "method": "HEAD", + "path": "/v1/services", + "operation_id": "service_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "zun", + "method": "HEAD", + "path": "/v1/services/{id}", + "operation_id": "service_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false } ], "failures": [] diff --git a/pulumi-tests/reports/series-dalmatian.json b/pulumi-tests/reports/series-dalmatian.json index 5daae69..f6de49a 100644 --- a/pulumi-tests/reports/series-dalmatian.json +++ b/pulumi-tests/reports/series-dalmatian.json @@ -2,35 +2,35 @@ "series": "dalmatian", "pulumi": { "series": "dalmatian", - "elapsed_s": 11.11, + "elapsed_s": 12.89, "error": null, "outputs": { "auth_project_id": "8924e279-51c7-582e-b6f5-8e41b33e7581", "auth_user_id": "b76edf4a-1452-5436-a411-a099ada1f7cb", - "created_project_id": "c4fbfb76-57ff-4f2f-9194-e6dabd8a6efb", - "created_user_id": "6504f50b-5aee-40eb-8161-5250b6c0bffe", + "created_project_id": "3703536d-efea-4bb1-866d-c76a3742e2b9", + "created_user_id": "97347426-e13c-4c1e-8d48-4b4f12d785ae", "demo_net_id": "a245268b-88ba-597a-b8db-017810782f98", "flavor_id": "1", "image_id": "c58b99c0-2d7b-5842-b260-b617db2f7803", "image_name": "cirros", - "interface_id": "4474066d-3d66-49e2-92ac-3506ee9adb30/e4c817fa-86d0-4ae9-9501-c5018bfaa0a4", - "keypair_name": "pu-dalmatian-643b8f-kp", - "network_id": "b2a50b9f-5e56-40c5-8ac8-d2c368d3f2c8", - "port_id": "e4c817fa-86d0-4ae9-9501-c5018bfaa0a4", + "interface_id": "21bffe97-64d0-4b27-9711-dc91a405426c/ae9a0ea7-8438-410d-be4e-19508d097277", + "keypair_name": "pu-dalmatian-70f98d-kp", + "network_id": "c618bb28-a49e-4276-9839-41cbbd5f50bd", + "port_id": "ae9a0ea7-8438-410d-be4e-19508d097277", "project_name": "demo", - "router_id": "6d6abe68-bb34-4df0-abc0-afcf6fd97ed0", - "router_iface_id": "5ad482b3-0758-4558-861e-26fd02e87258", - "secgroup_id": "ca88e98d-de2c-40ba-b22f-725f75919079", - "secgroup_rule_id": "8ac58c75-d65f-4f40-a8a1-fd11b236cf19", + "router_id": "7803044e-f510-4876-bc9f-20a9366b3251", + "router_iface_id": "b45e4712-be52-4621-be82-28ed23f8883c", + "secgroup_id": "329d3bd1-15b8-41ed-aeb4-06a88f5d90dd", + "secgroup_rule_id": "06d66321-c89a-4c2f-9323-d5508c8c7677", "series": "dalmatian", - "server_group_id": "84a147aa-cfbe-4c9d-9164-1be405ebfa3c", - "server_id": "4474066d-3d66-49e2-92ac-3506ee9adb30", - "server_name": "pu-dalmatian-643b8f-vm", - "subnet_id": "23f4116b-caa9-4d74-a5ce-0fb5700ad537", - "tag": "pu-dalmatian-643b8f", - "volume2_id": "3a89a739-eb25-4e7a-ae8b-6830129dc3eb", - "volume_attach_id": "4474066d-3d66-49e2-92ac-3506ee9adb30/5a3d539e-ba0c-47d0-ad83-3f4dac431902", - "volume_id": "c1213289-1b2e-4720-ba54-642dbd285ee2" + "server_group_id": "d4ae5792-335f-43ac-bdf0-2422541bace9", + "server_id": "21bffe97-64d0-4b27-9711-dc91a405426c", + "server_name": "pu-dalmatian-70f98d-vm", + "subnet_id": "f5b4fb63-f8a3-4309-861e-4d13b3863c19", + "tag": "pu-dalmatian-70f98d", + "volume2_id": "3adc3ced-c25c-46bd-8786-c00737cf9ac6", + "volume_attach_id": "21bffe97-64d0-4b27-9711-dc91a405426c/60b5be58-d7d8-4d46-8e04-351c19ee435d", + "volume_id": "22d3de1c-3f24-4bdc-bc79-cf4b1a47bd82" }, "empty_exports": [], "ok": true @@ -39,19 +39,23 @@ "series": "dalmatian", "host": "http://api-gateway:5000", "mode": "lifecycle", - "total": 1357, - "expected_ops": 1357, + "total": 1871, + "expected_ops": 1871, + "declared_ops": 1357, + "head_ops": 514, "coverage_incomplete": false, "methods": { "GET": 514, "POST": 217, "PUT": 217, "PATCH": 201, - "DELETE": 208 + "DELETE": 208, + "HEAD": 514 }, - "ok_count": 1357, + "ok_count": 1871, "fail_count": 0, "nonempty_fail_count": 0, + "critical": 0, "results": [ { "service": "adjutant", @@ -14979,6 +14983,5660 @@ "mode": "lifecycle", "ok": true, "succeeded": true + }, + { + "service": "adjutant", + "method": "HEAD", + "path": "/v1/tasks", + "operation_id": "task_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "adjutant", + "method": "HEAD", + "path": "/v1/tasks/{id}", + "operation_id": "task_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "adjutant", + "method": "HEAD", + "path": "/v1/tokens", + "operation_id": "token_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "adjutant", + "method": "HEAD", + "path": "/v1/tokens/{id}", + "operation_id": "token_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "adjutant", + "method": "HEAD", + "path": "/v1/notifications", + "operation_id": "notification_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "adjutant", + "method": "HEAD", + "path": "/v1/notifications/{id}", + "operation_id": "notification_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "adjutant", + "method": "HEAD", + "path": "/v1/status", + "operation_id": "status_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "adjutant", + "method": "HEAD", + "path": "/v1/status/{id}", + "operation_id": "status_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "aodh", + "method": "HEAD", + "path": "/v2", + "operation_id": "aodh_versions__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "aodh", + "method": "HEAD", + "path": "/v2/alarms", + "operation_id": "alarm_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "aodh", + "method": "HEAD", + "path": "/v2/alarms/{id}", + "operation_id": "alarm_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "aodh", + "method": "HEAD", + "path": "/v2/alarms/{alarm_id}/history", + "operation_id": "alarm_history_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "aodh", + "method": "HEAD", + "path": "/v2/alarms/{alarm_id}/history/{id}", + "operation_id": "alarm_history_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "aodh", + "method": "HEAD", + "path": "/v2/quotas", + "operation_id": "quota_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "aodh", + "method": "HEAD", + "path": "/v2/quotas/{id}", + "operation_id": "quota_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "barbican", + "method": "HEAD", + "path": "/v1", + "operation_id": "barbican_versions__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "barbican", + "method": "HEAD", + "path": "/v1/secrets", + "operation_id": "secret_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "barbican", + "method": "HEAD", + "path": "/v1/secrets/{id}", + "operation_id": "secret_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "barbican", + "method": "HEAD", + "path": "/v1/containers", + "operation_id": "container_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "barbican", + "method": "HEAD", + "path": "/v1/containers/{id}", + "operation_id": "container_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "barbican", + "method": "HEAD", + "path": "/v1/orders", + "operation_id": "order_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "barbican", + "method": "HEAD", + "path": "/v1/orders/{id}", + "operation_id": "order_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "barbican", + "method": "HEAD", + "path": "/v1/secret-stores", + "operation_id": "secret_store_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "barbican", + "method": "HEAD", + "path": "/v1/secret-stores/{id}", + "operation_id": "secret_store_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "blazar", + "method": "HEAD", + "path": "/v1", + "operation_id": "blazar_versions__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "blazar", + "method": "HEAD", + "path": "/leases", + "operation_id": "lease_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "blazar", + "method": "HEAD", + "path": "/leases/{id}", + "operation_id": "lease_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "blazar", + "method": "HEAD", + "path": "/os-hosts", + "operation_id": "host_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "blazar", + "method": "HEAD", + "path": "/os-hosts/{id}", + "operation_id": "host_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "blazar", + "method": "HEAD", + "path": "/floatingips", + "operation_id": "floatingip_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "blazar", + "method": "HEAD", + "path": "/floatingips/{id}", + "operation_id": "floatingip_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3", + "operation_id": "cinder_versions__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/volumes", + "operation_id": "volume_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/volumes/{id}", + "operation_id": "volume_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/volumes/detail", + "operation_id": "volume_list_detail__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/snapshots", + "operation_id": "snapshot_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/snapshots/{id}", + "operation_id": "snapshot_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/snapshots/detail", + "operation_id": "snapshot_list_detail__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/backups", + "operation_id": "backup_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/backups/{id}", + "operation_id": "backup_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/backups/detail", + "operation_id": "backup_list_detail__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/types", + "operation_id": "volume_type_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/types/{id}", + "operation_id": "volume_type_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/types/detail", + "operation_id": "volume_type_list_detail__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/qos-specs", + "operation_id": "qos_spec_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/qos-specs/{id}", + "operation_id": "qos_spec_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/qos-specs/detail", + "operation_id": "qos_spec_list_detail__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/groups", + "operation_id": "group_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/groups/{id}", + "operation_id": "group_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/groups/detail", + "operation_id": "group_list_detail__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/group_snapshots", + "operation_id": "group_snapshot_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/group_snapshots/{id}", + "operation_id": "group_snapshot_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/group_snapshots/detail", + "operation_id": "group_snapshot_list_detail__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/consistencygroups", + "operation_id": "consistencygroup_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/consistencygroups/{id}", + "operation_id": "consistencygroup_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/consistencygroups/detail", + "operation_id": "consistencygroup_list_detail__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/attachments", + "operation_id": "attachment_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/attachments/{id}", + "operation_id": "attachment_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/attachments/detail", + "operation_id": "attachment_list_detail__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/volume-transfers", + "operation_id": "transfer_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/volume-transfers/{id}", + "operation_id": "transfer_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/volume-transfers/detail", + "operation_id": "transfer_list_detail__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/messages", + "operation_id": "message_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/messages/{id}", + "operation_id": "message_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/messages/detail", + "operation_id": "message_list_detail__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/clusters", + "operation_id": "cluster_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/clusters/{id}", + "operation_id": "cluster_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/clusters/detail", + "operation_id": "cluster_list_detail__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/{project_id}/volumes", + "operation_id": "volume_tenant_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/{project_id}/volumes/{id}", + "operation_id": "volume_tenant_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/{project_id}/volumes/detail", + "operation_id": "volume_tenant_list_detail__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/os-services", + "operation_id": "cinder_services__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/limits", + "operation_id": "cinder_limits__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/os-quota-sets/{id}", + "operation_id": "cinder_quota_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/resource_filters", + "operation_id": "cinder_resource_filters__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/scheduler-stats/get_pools", + "operation_id": "cinder_pools__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cloudkitty", + "method": "HEAD", + "path": "/v1", + "operation_id": "cloudkitty_versions__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cloudkitty", + "method": "HEAD", + "path": "/v1/rating/module_config/hashmap/services", + "operation_id": "hashmap_service_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cloudkitty", + "method": "HEAD", + "path": "/v1/rating/module_config/hashmap/services/{id}", + "operation_id": "hashmap_service_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "cloudkitty", + "method": "HEAD", + "path": "/v1/rating/module_config/hashmap/fields", + "operation_id": "hashmap_field_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cloudkitty", + "method": "HEAD", + "path": "/v1/rating/module_config/hashmap/fields/{id}", + "operation_id": "hashmap_field_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "cloudkitty", + "method": "HEAD", + "path": "/v1/report/summary", + "operation_id": "report_summary_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cloudkitty", + "method": "HEAD", + "path": "/v1/report/summary/{id}", + "operation_id": "report_summary_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "cloudkitty", + "method": "HEAD", + "path": "/v1/storage/dataframes", + "operation_id": "dataframes_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cloudkitty", + "method": "HEAD", + "path": "/v1/storage/dataframes/{id}", + "operation_id": "dataframes_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "designate", + "method": "HEAD", + "path": "/v2", + "operation_id": "designate_versions__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "designate", + "method": "HEAD", + "path": "/v2/zones", + "operation_id": "zone_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "designate", + "method": "HEAD", + "path": "/v2/zones/{id}", + "operation_id": "zone_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "designate", + "method": "HEAD", + "path": "/v2/zones/{zone_id}/recordsets", + "operation_id": "recordset_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "designate", + "method": "HEAD", + "path": "/v2/zones/{zone_id}/recordsets/{id}", + "operation_id": "recordset_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "designate", + "method": "HEAD", + "path": "/v2/tlds", + "operation_id": "tld_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "designate", + "method": "HEAD", + "path": "/v2/tlds/{id}", + "operation_id": "tld_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "designate", + "method": "HEAD", + "path": "/v2/blacklists", + "operation_id": "blacklist_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "designate", + "method": "HEAD", + "path": "/v2/blacklists/{id}", + "operation_id": "blacklist_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "designate", + "method": "HEAD", + "path": "/v2/pools", + "operation_id": "pool_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "designate", + "method": "HEAD", + "path": "/v2/pools/{id}", + "operation_id": "pool_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "designate", + "method": "HEAD", + "path": "/v2/service_statuses", + "operation_id": "service_status_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "designate", + "method": "HEAD", + "path": "/v2/service_statuses/{id}", + "operation_id": "service_status_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "freezer", + "method": "HEAD", + "path": "/v2", + "operation_id": "freezer_versions__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "freezer", + "method": "HEAD", + "path": "/v2/jobs", + "operation_id": "job_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "freezer", + "method": "HEAD", + "path": "/v2/jobs/{id}", + "operation_id": "job_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "freezer", + "method": "HEAD", + "path": "/v2/clients", + "operation_id": "client_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "freezer", + "method": "HEAD", + "path": "/v2/clients/{id}", + "operation_id": "client_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "freezer", + "method": "HEAD", + "path": "/v2/backups", + "operation_id": "backup_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "freezer", + "method": "HEAD", + "path": "/v2/backups/{id}", + "operation_id": "backup_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "freezer", + "method": "HEAD", + "path": "/v2/sessions", + "operation_id": "session_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "freezer", + "method": "HEAD", + "path": "/v2/sessions/{id}", + "operation_id": "session_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "freezer", + "method": "HEAD", + "path": "/v2/actions", + "operation_id": "action_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "freezer", + "method": "HEAD", + "path": "/v2/actions/{id}", + "operation_id": "action_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "glance", + "method": "HEAD", + "path": "/v2", + "operation_id": "glance_versions__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "glance", + "method": "HEAD", + "path": "/v2/images", + "operation_id": "image_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "glance", + "method": "HEAD", + "path": "/v2/images/{id}", + "operation_id": "image_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "glance", + "method": "HEAD", + "path": "/v2/images/{id}/file", + "operation_id": "image_download__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "glance", + "method": "HEAD", + "path": "/v2/metadefs/namespaces", + "operation_id": "metadef_namespace_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "glance", + "method": "HEAD", + "path": "/v2/metadefs/namespaces/{id}", + "operation_id": "metadef_namespace_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "glance", + "method": "HEAD", + "path": "/v2/tasks", + "operation_id": "task_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "glance", + "method": "HEAD", + "path": "/v2/tasks/{id}", + "operation_id": "task_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "glance", + "method": "HEAD", + "path": "/v2/info/import", + "operation_id": "glance_import_info__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "glance", + "method": "HEAD", + "path": "/v2/info/stores", + "operation_id": "glance_stores__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "glance", + "method": "HEAD", + "path": "/v2/schemas/image", + "operation_id": "glance_schema_image__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "glance", + "method": "HEAD", + "path": "/v2/schemas/images", + "operation_id": "glance_schema_images__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "glance", + "method": "HEAD", + "path": "/v2/images/{image_id}/members", + "operation_id": "image_member_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "glance", + "method": "HEAD", + "path": "/v2/images/{image_id}/members/{id}", + "operation_id": "image_member_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "glance", + "method": "HEAD", + "path": "/v2/images/{image_id}/tags", + "operation_id": "image_tag_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "glance", + "method": "HEAD", + "path": "/v2/images/{image_id}/tags/{id}", + "operation_id": "image_tag_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "heat", + "method": "HEAD", + "path": "/v1", + "operation_id": "heat_versions__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "heat", + "method": "HEAD", + "path": "/v1/{tenant_id}/stacks", + "operation_id": "stack_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "heat", + "method": "HEAD", + "path": "/v1/{tenant_id}/stacks/{id}", + "operation_id": "stack_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "heat", + "method": "HEAD", + "path": "/v1/{tenant_id}/stacks/detail", + "operation_id": "stack_list_detail__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "heat", + "method": "HEAD", + "path": "/v1/{tenant_id}/stacks/{stack_name}/{stack_id}", + "operation_id": "stack_show_by_name__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "heat", + "method": "HEAD", + "path": "/v1/{tenant_id}/stacks/{stack_name}/{stack_id}/resources", + "operation_id": "stack_resource_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "heat", + "method": "HEAD", + "path": "/v1/{tenant_id}/stacks/{stack_name}/{stack_id}/resources/{id}", + "operation_id": "stack_resource_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "heat", + "method": "HEAD", + "path": "/v1/{tenant_id}/stacks/{stack_name}/{stack_id}/events", + "operation_id": "stack_event_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "heat", + "method": "HEAD", + "path": "/v1/{tenant_id}/stacks/{stack_name}/{stack_id}/events/{id}", + "operation_id": "stack_event_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "heat", + "method": "HEAD", + "path": "/v1/{tenant_id}/software_configs", + "operation_id": "software_config_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "heat", + "method": "HEAD", + "path": "/v1/{tenant_id}/software_configs/{id}", + "operation_id": "software_config_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "heat", + "method": "HEAD", + "path": "/v1/{tenant_id}/software_deployments", + "operation_id": "software_deployment_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "heat", + "method": "HEAD", + "path": "/v1/{tenant_id}/software_deployments/{id}", + "operation_id": "software_deployment_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "heat", + "method": "HEAD", + "path": "/v1/{tenant_id}/resource_types", + "operation_id": "heat_resource_types__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "heat", + "method": "HEAD", + "path": "/v1/{tenant_id}/services", + "operation_id": "heat_services__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "heat-cfn", + "method": "HEAD", + "path": "/stacks", + "operation_id": "stack_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "heat-cfn", + "method": "HEAD", + "path": "/stacks/{id}", + "operation_id": "stack_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "heat-cfn", + "method": "HEAD", + "path": "/v1", + "operation_id": "heat_cfn_versions__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "ironic", + "method": "HEAD", + "path": "/v1", + "operation_id": "ironic_versions__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "ironic", + "method": "HEAD", + "path": "/v1/nodes", + "operation_id": "node_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "ironic", + "method": "HEAD", + "path": "/v1/nodes/{id}", + "operation_id": "node_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "ironic", + "method": "HEAD", + "path": "/v1/ports", + "operation_id": "port_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "ironic", + "method": "HEAD", + "path": "/v1/ports/{id}", + "operation_id": "port_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "ironic", + "method": "HEAD", + "path": "/v1/portgroups", + "operation_id": "portgroup_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "ironic", + "method": "HEAD", + "path": "/v1/portgroups/{id}", + "operation_id": "portgroup_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "ironic", + "method": "HEAD", + "path": "/v1/chassis", + "operation_id": "chassis_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "ironic", + "method": "HEAD", + "path": "/v1/chassis/{id}", + "operation_id": "chassis_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "ironic", + "method": "HEAD", + "path": "/v1/allocations", + "operation_id": "allocation_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "ironic", + "method": "HEAD", + "path": "/v1/allocations/{id}", + "operation_id": "allocation_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "ironic", + "method": "HEAD", + "path": "/v1/deploy_templates", + "operation_id": "deploy_template_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "ironic", + "method": "HEAD", + "path": "/v1/deploy_templates/{id}", + "operation_id": "deploy_template_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "ironic", + "method": "HEAD", + "path": "/v1/volume/connectors", + "operation_id": "volume_connector_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "ironic", + "method": "HEAD", + "path": "/v1/volume/connectors/{id}", + "operation_id": "volume_connector_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "ironic", + "method": "HEAD", + "path": "/v1/volume/targets", + "operation_id": "volume_target_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "ironic", + "method": "HEAD", + "path": "/v1/volume/targets/{id}", + "operation_id": "volume_target_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "ironic", + "method": "HEAD", + "path": "/v1/drivers", + "operation_id": "ironic_drivers__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "ironic", + "method": "HEAD", + "path": "/v1/drivers/{name}", + "operation_id": "ironic_driver_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "ironic", + "method": "HEAD", + "path": "/v1/conductors", + "operation_id": "ironic_conductors__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "ironic", + "method": "HEAD", + "path": "/v1/nodes/{id}/states", + "operation_id": "node_states__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "ironic", + "method": "HEAD", + "path": "/v1/nodes/{id}/vendor_passthru", + "operation_id": "node_vendor_passthru__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "keystone", + "method": "HEAD", + "path": "/v3", + "operation_id": "keystone_v3_root__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "keystone", + "method": "HEAD", + "path": "/v3/auth/tokens", + "operation_id": "keystone_validate_token__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "keystone", + "method": "HEAD", + "path": "/v3/auth/catalog", + "operation_id": "keystone_catalog__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "keystone", + "method": "HEAD", + "path": "/v3/domains", + "operation_id": "domain_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "keystone", + "method": "HEAD", + "path": "/v3/domains/{id}", + "operation_id": "domain_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "keystone", + "method": "HEAD", + "path": "/v3/projects", + "operation_id": "project_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "keystone", + "method": "HEAD", + "path": "/v3/projects/{id}", + "operation_id": "project_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "keystone", + "method": "HEAD", + "path": "/v3/users", + "operation_id": "user_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "keystone", + "method": "HEAD", + "path": "/v3/users/{id}", + "operation_id": "user_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "keystone", + "method": "HEAD", + "path": "/v3/groups", + "operation_id": "group_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "keystone", + "method": "HEAD", + "path": "/v3/groups/{id}", + "operation_id": "group_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "keystone", + "method": "HEAD", + "path": "/v3/roles", + "operation_id": "role_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "keystone", + "method": "HEAD", + "path": "/v3/roles/{id}", + "operation_id": "role_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "keystone", + "method": "HEAD", + "path": "/v3/regions", + "operation_id": "region_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "keystone", + "method": "HEAD", + "path": "/v3/regions/{id}", + "operation_id": "region_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "keystone", + "method": "HEAD", + "path": "/v3/services", + "operation_id": "service_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "keystone", + "method": "HEAD", + "path": "/v3/services/{id}", + "operation_id": "service_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "keystone", + "method": "HEAD", + "path": "/v3/endpoints", + "operation_id": "endpoint_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "keystone", + "method": "HEAD", + "path": "/v3/endpoints/{id}", + "operation_id": "endpoint_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "keystone", + "method": "HEAD", + "path": "/v3/credentials", + "operation_id": "credential_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "keystone", + "method": "HEAD", + "path": "/v3/credentials/{id}", + "operation_id": "credential_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "keystone", + "method": "HEAD", + "path": "/v3/policies", + "operation_id": "policy_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "keystone", + "method": "HEAD", + "path": "/v3/policies/{id}", + "operation_id": "policy_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "keystone", + "method": "HEAD", + "path": "/v3/users/{user_id}/application_credentials", + "operation_id": "application_credential_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "keystone", + "method": "HEAD", + "path": "/v3/users/{user_id}/application_credentials/{id}", + "operation_id": "application_credential_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "keystone", + "method": "HEAD", + "path": "/v3/role_assignments", + "operation_id": "keystone_role_assignments__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "keystone", + "method": "HEAD", + "path": "/v3/projects/{project_id}/users/{user_id}/roles", + "operation_id": "keystone_list_project_user_roles__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "keystone", + "method": "HEAD", + "path": "/v3/OS-INHERIT/domains/{domain_id}/users/{user_id}/roles", + "operation_id": "keystone_inherit_roles__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "keystone", + "method": "HEAD", + "path": "/v3/limits", + "operation_id": "keystone_limits__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "keystone", + "method": "HEAD", + "path": "/v3/registered_limits", + "operation_id": "keystone_registered_limits__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "magnum", + "method": "HEAD", + "path": "/v1", + "operation_id": "magnum_versions__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "magnum", + "method": "HEAD", + "path": "/v1/clusters", + "operation_id": "cluster_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "magnum", + "method": "HEAD", + "path": "/v1/clusters/{id}", + "operation_id": "cluster_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "magnum", + "method": "HEAD", + "path": "/v1/clustertemplates", + "operation_id": "clustertemplate_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "magnum", + "method": "HEAD", + "path": "/v1/clustertemplates/{id}", + "operation_id": "clustertemplate_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "magnum", + "method": "HEAD", + "path": "/v1/certificates", + "operation_id": "certificate_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "magnum", + "method": "HEAD", + "path": "/v1/certificates/{id}", + "operation_id": "certificate_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "magnum", + "method": "HEAD", + "path": "/v1/clusters/{cluster_id}/nodegroups", + "operation_id": "nodegroup_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "magnum", + "method": "HEAD", + "path": "/v1/clusters/{cluster_id}/nodegroups/{id}", + "operation_id": "nodegroup_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "manila", + "method": "HEAD", + "path": "/v2", + "operation_id": "manila_versions__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "manila", + "method": "HEAD", + "path": "/v2/shares", + "operation_id": "share_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "manila", + "method": "HEAD", + "path": "/v2/shares/{id}", + "operation_id": "share_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "manila", + "method": "HEAD", + "path": "/v2/snapshots", + "operation_id": "share_snapshot_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "manila", + "method": "HEAD", + "path": "/v2/snapshots/{id}", + "operation_id": "share_snapshot_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "manila", + "method": "HEAD", + "path": "/v2/share-networks", + "operation_id": "share_network_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "manila", + "method": "HEAD", + "path": "/v2/share-networks/{id}", + "operation_id": "share_network_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "manila", + "method": "HEAD", + "path": "/v2/types", + "operation_id": "share_type_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "manila", + "method": "HEAD", + "path": "/v2/types/{id}", + "operation_id": "share_type_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "manila", + "method": "HEAD", + "path": "/v2/share-servers", + "operation_id": "share_server_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "manila", + "method": "HEAD", + "path": "/v2/share-servers/{id}", + "operation_id": "share_server_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "manila", + "method": "HEAD", + "path": "/v2/security-services", + "operation_id": "security_service_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "manila", + "method": "HEAD", + "path": "/v2/security-services/{id}", + "operation_id": "security_service_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "manila", + "method": "HEAD", + "path": "/v2/share-groups", + "operation_id": "share_group_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "manila", + "method": "HEAD", + "path": "/v2/share-groups/{id}", + "operation_id": "share_group_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "manila", + "method": "HEAD", + "path": "/v2/share-replicas", + "operation_id": "share_replica_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "manila", + "method": "HEAD", + "path": "/v2/share-replicas/{id}", + "operation_id": "share_replica_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "masakari", + "method": "HEAD", + "path": "/v1", + "operation_id": "masakari_versions__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "masakari", + "method": "HEAD", + "path": "/v1/segments", + "operation_id": "segment_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "masakari", + "method": "HEAD", + "path": "/v1/segments/{id}", + "operation_id": "segment_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "masakari", + "method": "HEAD", + "path": "/v1/segments/{segment_id}/hosts", + "operation_id": "host_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "masakari", + "method": "HEAD", + "path": "/v1/segments/{segment_id}/hosts/{id}", + "operation_id": "host_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "masakari", + "method": "HEAD", + "path": "/v1/notifications", + "operation_id": "notification_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "masakari", + "method": "HEAD", + "path": "/v1/notifications/{id}", + "operation_id": "notification_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "mistral", + "method": "HEAD", + "path": "/v2", + "operation_id": "mistral_versions__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "mistral", + "method": "HEAD", + "path": "/v2/workflows", + "operation_id": "workflow_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "mistral", + "method": "HEAD", + "path": "/v2/workflows/{id}", + "operation_id": "workflow_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "mistral", + "method": "HEAD", + "path": "/v2/executions", + "operation_id": "execution_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "mistral", + "method": "HEAD", + "path": "/v2/executions/{id}", + "operation_id": "execution_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "mistral", + "method": "HEAD", + "path": "/v2/actions", + "operation_id": "action_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "mistral", + "method": "HEAD", + "path": "/v2/actions/{id}", + "operation_id": "action_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "mistral", + "method": "HEAD", + "path": "/v2/workbooks", + "operation_id": "workbook_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "mistral", + "method": "HEAD", + "path": "/v2/workbooks/{id}", + "operation_id": "workbook_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "mistral", + "method": "HEAD", + "path": "/v2/cron_triggers", + "operation_id": "cron_trigger_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "mistral", + "method": "HEAD", + "path": "/v2/cron_triggers/{id}", + "operation_id": "cron_trigger_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "mistral", + "method": "HEAD", + "path": "/v2/tasks", + "operation_id": "task_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "mistral", + "method": "HEAD", + "path": "/v2/tasks/{id}", + "operation_id": "task_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0", + "operation_id": "neutron_versions__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/networks", + "operation_id": "network_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/networks/{id}", + "operation_id": "network_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/subnets", + "operation_id": "subnet_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/subnets/{id}", + "operation_id": "subnet_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/ports", + "operation_id": "port_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/ports/{id}", + "operation_id": "port_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/routers", + "operation_id": "router_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/routers/{id}", + "operation_id": "router_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/floatingips", + "operation_id": "floatingip_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/floatingips/{id}", + "operation_id": "floatingip_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/security-groups", + "operation_id": "security_group_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/security-groups/{id}", + "operation_id": "security_group_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/security-group-rules", + "operation_id": "security_group_rule_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/security-group-rules/{id}", + "operation_id": "security_group_rule_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/address-scopes", + "operation_id": "address_scope_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/address-scopes/{id}", + "operation_id": "address_scope_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/address-groups", + "operation_id": "address_group_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/address-groups/{id}", + "operation_id": "address_group_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/subnetpools", + "operation_id": "subnetpool_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/subnetpools/{id}", + "operation_id": "subnetpool_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/qos/policies", + "operation_id": "qos_policy_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/qos/policies/{id}", + "operation_id": "qos_policy_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/trunks", + "operation_id": "trunk_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/trunks/{id}", + "operation_id": "trunk_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/rbac-policies", + "operation_id": "rbac_policy_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/rbac-policies/{id}", + "operation_id": "rbac_policy_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/metering/metering-labels", + "operation_id": "metering_label_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/metering/metering-labels/{id}", + "operation_id": "metering_label_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/metering/metering-label-rules", + "operation_id": "metering_label_rule_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/metering/metering-label-rules/{id}", + "operation_id": "metering_label_rule_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/fwaas/firewall_groups", + "operation_id": "firewall_group_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/fwaas/firewall_groups/{id}", + "operation_id": "firewall_group_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/fwaas/firewall_policies", + "operation_id": "firewall_policy_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/fwaas/firewall_policies/{id}", + "operation_id": "firewall_policy_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/fwaas/firewall_rules", + "operation_id": "firewall_rule_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/fwaas/firewall_rules/{id}", + "operation_id": "firewall_rule_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/vpn/vpnservices", + "operation_id": "vpn_service_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/vpn/vpnservices/{id}", + "operation_id": "vpn_service_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/vpn/ipsec-site-connections", + "operation_id": "ipsec_site_connection_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/vpn/ipsec-site-connections/{id}", + "operation_id": "ipsec_site_connection_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/vpn/ikepolicies", + "operation_id": "ike_policy_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/vpn/ikepolicies/{id}", + "operation_id": "ike_policy_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/vpn/ipsecpolicies", + "operation_id": "ipsec_policy_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/vpn/ipsecpolicies/{id}", + "operation_id": "ipsec_policy_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/vpn/endpoint-groups", + "operation_id": "vpn_endpoint_group_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/vpn/endpoint-groups/{id}", + "operation_id": "vpn_endpoint_group_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/bgpvpn/bgpvpns", + "operation_id": "bgpvpn_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/bgpvpn/bgpvpns/{id}", + "operation_id": "bgpvpn_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/bgp-speakers", + "operation_id": "bgp_speaker_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/bgp-speakers/{id}", + "operation_id": "bgp_speaker_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/bgp-peers", + "operation_id": "bgp_peer_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/bgp-peers/{id}", + "operation_id": "bgp_peer_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/log/logs", + "operation_id": "log_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/log/logs/{id}", + "operation_id": "log_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/ndp_proxies", + "operation_id": "ndp_proxy_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/ndp_proxies/{id}", + "operation_id": "ndp_proxy_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/local_ips", + "operation_id": "local_ip_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/local_ips/{id}", + "operation_id": "local_ip_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/segments", + "operation_id": "segment_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/segments/{id}", + "operation_id": "segment_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/network_segment_ranges", + "operation_id": "network_segment_range_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/network_segment_ranges/{id}", + "operation_id": "network_segment_range_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/service_profiles", + "operation_id": "service_profile_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/service_profiles/{id}", + "operation_id": "service_profile_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/flavors", + "operation_id": "neutron_flavor_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/flavors/{id}", + "operation_id": "neutron_flavor_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/default-security-group-rules", + "operation_id": "default_security_group_rule_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/default-security-group-rules/{id}", + "operation_id": "default_security_group_rule_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/lbaas/loadbalancers", + "operation_id": "lbaas_loadbalancer_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/lbaas/loadbalancers/{id}", + "operation_id": "lbaas_loadbalancer_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/lbaas/listeners", + "operation_id": "lbaas_listener_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/lbaas/listeners/{id}", + "operation_id": "lbaas_listener_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/lbaas/pools", + "operation_id": "lbaas_pool_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/lbaas/pools/{id}", + "operation_id": "lbaas_pool_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/agents", + "operation_id": "neutron_agents__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/agents/{id}", + "operation_id": "neutron_agent_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/qos/rule-types", + "operation_id": "qos_rule_types__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/network-ip-availabilities", + "operation_id": "network_ip_availabilities__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/auto-allocated-topology", + "operation_id": "auto_allocated_topology__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/quotas", + "operation_id": "neutron_quota_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/quotas/{id}", + "operation_id": "neutron_quota_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/routers/{router_id}/conntrack_helpers", + "operation_id": "conntrack_helper_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/routers/{router_id}/conntrack_helpers/{id}", + "operation_id": "conntrack_helper_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/qos/policies/{policy_id}/bandwidth_limit_rules", + "operation_id": "qos_bandwidth_limit_rule_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/qos/policies/{policy_id}/bandwidth_limit_rules/{id}", + "operation_id": "qos_bandwidth_limit_rule_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/qos/policies/{policy_id}/dscp_marking_rules", + "operation_id": "qos_dscp_marking_rule_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/qos/policies/{policy_id}/dscp_marking_rules/{id}", + "operation_id": "qos_dscp_marking_rule_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/qos/policies/{policy_id}/minimum_bandwidth_rules", + "operation_id": "qos_minimum_bandwidth_rule_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/qos/policies/{policy_id}/minimum_bandwidth_rules/{id}", + "operation_id": "qos_minimum_bandwidth_rule_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/trunks/{trunk_id}/add_subports", + "operation_id": "trunk_subport_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/trunks/{trunk_id}/add_subports/{id}", + "operation_id": "trunk_subport_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/floatingips/{floatingip_id}/port_forwardings", + "operation_id": "floatingip_port_forwarding_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/floatingips/{floatingip_id}/port_forwardings/{id}", + "operation_id": "floatingip_port_forwarding_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/local_ips/{local_ip_id}/port_associations", + "operation_id": "local_ip_association_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/local_ips/{local_ip_id}/port_associations/{id}", + "operation_id": "local_ip_association_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/bgpvpn/bgpvpns/{bgpvpn_id}/network_associations", + "operation_id": "bgpvpn_network_association_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/bgpvpn/bgpvpns/{bgpvpn_id}/network_associations/{id}", + "operation_id": "bgpvpn_network_association_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/bgpvpn/bgpvpns/{bgpvpn_id}/router_associations", + "operation_id": "bgpvpn_router_association_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/bgpvpn/bgpvpns/{bgpvpn_id}/router_associations/{id}", + "operation_id": "bgpvpn_router_association_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/servers", + "operation_id": "server_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/servers/{id}", + "operation_id": "server_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/servers/detail", + "operation_id": "server_list_detail__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/servers/{server_id}/os-volume_attachments", + "operation_id": "volume_attachment_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/servers/{server_id}/os-volume_attachments/{id}", + "operation_id": "volume_attachment_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/servers/{server_id}/os-interface", + "operation_id": "interface_attachment_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/servers/{server_id}/os-interface/{id}", + "operation_id": "interface_attachment_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/servers/{server_id}/os-instance-actions", + "operation_id": "instance_action_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/servers/{server_id}/os-instance-actions/{id}", + "operation_id": "instance_action_show__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/servers/{server_id}/metadata", + "operation_id": "server_metadata_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/servers/{server_id}/metadata/{id}", + "operation_id": "server_metadata_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/servers/{server_id}/tags", + "operation_id": "server_tag_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/servers/{server_id}/tags/{id}", + "operation_id": "server_tag_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/servers/{server_id}/os-security-groups", + "operation_id": "server_security_group_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/servers/{server_id}/os-security-groups/{id}", + "operation_id": "server_security_group_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/flavors", + "operation_id": "flavor_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/flavors/{id}", + "operation_id": "flavor_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/flavors/detail", + "operation_id": "flavor_list_detail__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/os-keypairs", + "operation_id": "keypair_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/os-keypairs/{id}", + "operation_id": "keypair_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/os-aggregates", + "operation_id": "aggregate_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/os-aggregates/{id}", + "operation_id": "aggregate_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/os-server-groups", + "operation_id": "server_group_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/os-server-groups/{id}", + "operation_id": "server_group_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1", + "operation_id": "nova_versions__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/os-hypervisors", + "operation_id": "hypervisor_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/os-hypervisors/detail", + "operation_id": "hypervisor_detail__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/os-hypervisors/{id}", + "operation_id": "hypervisor_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/os-availability-zone", + "operation_id": "az_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/os-availability-zone/detail", + "operation_id": "az_detail__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/os-services", + "operation_id": "compute_services__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/limits", + "operation_id": "compute_limits__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/os-quota-sets/{id}", + "operation_id": "quota_set_show__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/os-quota-sets/{id}/detail", + "operation_id": "quota_set_detail__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/os-migrations", + "operation_id": "migrations_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/os-networks", + "operation_id": "nova_networks__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/os-tenant-networks", + "operation_id": "nova_tenant_networks__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/os-security-groups", + "operation_id": "nova_security_groups__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/os-floating-ips", + "operation_id": "nova_floating_ips__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/os-instance_usage_audit_log", + "operation_id": "instance_usage_audit__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/os-assisted-volume-snapshots", + "operation_id": "assisted_volume_snapshots__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/servers/{server_id}/diagnostics", + "operation_id": "server_diagnostics__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/servers/{server_id}/os-instance-actions/{request_id}", + "operation_id": "instance_action_show__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/flavors/{id}/os-extra_specs", + "operation_id": "flavor_extra_specs__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/os-simple-tenant-usage", + "operation_id": "simple_tenant_usage__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/os-hosts", + "operation_id": "os_hosts__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/extensions", + "operation_id": "nova_extensions__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/extensions/{id}", + "operation_id": "nova_extension_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/os-agents", + "operation_id": "agent_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/os-agents/{id}", + "operation_id": "agent_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/flavors/{flavor_id}/os-extra_specs", + "operation_id": "flavor_extra_spec_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/flavors/{flavor_id}/os-extra_specs/{id}", + "operation_id": "flavor_extra_spec_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/servers/{server_id}/migrations", + "operation_id": "server_migration_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/servers/{server_id}/migrations/{id}", + "operation_id": "server_migration_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/servers/{server_id}/consoles", + "operation_id": "console_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/servers/{server_id}/consoles/{id}", + "operation_id": "console_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/os-console-auth-tokens/{id}", + "operation_id": "console_auth_token_show__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/servers/{server_id}/topology", + "operation_id": "server_topology__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/servers/{server_id}/os-server-password", + "operation_id": "server_password_show__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "octavia", + "method": "HEAD", + "path": "/v2", + "operation_id": "octavia_versions__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "octavia", + "method": "HEAD", + "path": "/v2/lbaas/loadbalancers", + "operation_id": "loadbalancer_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "octavia", + "method": "HEAD", + "path": "/v2/lbaas/loadbalancers/{id}", + "operation_id": "loadbalancer_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "octavia", + "method": "HEAD", + "path": "/v2/lbaas/listeners", + "operation_id": "listener_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "octavia", + "method": "HEAD", + "path": "/v2/lbaas/listeners/{id}", + "operation_id": "listener_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "octavia", + "method": "HEAD", + "path": "/v2/lbaas/pools", + "operation_id": "pool_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "octavia", + "method": "HEAD", + "path": "/v2/lbaas/pools/{id}", + "operation_id": "pool_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "octavia", + "method": "HEAD", + "path": "/v2/lbaas/healthmonitors", + "operation_id": "healthmonitor_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "octavia", + "method": "HEAD", + "path": "/v2/lbaas/healthmonitors/{id}", + "operation_id": "healthmonitor_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "octavia", + "method": "HEAD", + "path": "/v2/lbaas/l7policies", + "operation_id": "l7policy_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "octavia", + "method": "HEAD", + "path": "/v2/lbaas/l7policies/{id}", + "operation_id": "l7policy_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "octavia", + "method": "HEAD", + "path": "/v2/lbaas/flavors", + "operation_id": "flavor_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "octavia", + "method": "HEAD", + "path": "/v2/lbaas/flavors/{id}", + "operation_id": "flavor_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "octavia", + "method": "HEAD", + "path": "/v2/lbaas/flavorprofiles", + "operation_id": "flavorprofile_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "octavia", + "method": "HEAD", + "path": "/v2/lbaas/flavorprofiles/{id}", + "operation_id": "flavorprofile_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "octavia", + "method": "HEAD", + "path": "/v2/octavia/amphorae", + "operation_id": "amphora_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "octavia", + "method": "HEAD", + "path": "/v2/octavia/amphorae/{id}", + "operation_id": "amphora_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "octavia", + "method": "HEAD", + "path": "/v2/lbaas/quotas", + "operation_id": "quota_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "octavia", + "method": "HEAD", + "path": "/v2/lbaas/quotas/{id}", + "operation_id": "quota_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "octavia", + "method": "HEAD", + "path": "/v2/lbaas/providers", + "operation_id": "provider_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "octavia", + "method": "HEAD", + "path": "/v2/lbaas/providers/{id}", + "operation_id": "provider_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "octavia", + "method": "HEAD", + "path": "/v2/lbaas/pools/{pool_id}/members", + "operation_id": "member_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "octavia", + "method": "HEAD", + "path": "/v2/lbaas/pools/{pool_id}/members/{id}", + "operation_id": "member_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "octavia", + "method": "HEAD", + "path": "/v2/lbaas/l7policies/{l7policy_id}/rules", + "operation_id": "l7rule_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "octavia", + "method": "HEAD", + "path": "/v2/lbaas/l7policies/{l7policy_id}/rules/{id}", + "operation_id": "l7rule_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "placement", + "method": "HEAD", + "path": "/", + "operation_id": "placement_root__head", + "status": 405, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "placement", + "method": "HEAD", + "path": "/resource_providers", + "operation_id": "resource_provider_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "placement", + "method": "HEAD", + "path": "/resource_providers/{id}", + "operation_id": "resource_provider_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "placement", + "method": "HEAD", + "path": "/resource_classes", + "operation_id": "resource_class_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "placement", + "method": "HEAD", + "path": "/resource_classes/{id}", + "operation_id": "resource_class_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "placement", + "method": "HEAD", + "path": "/traits", + "operation_id": "trait_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "placement", + "method": "HEAD", + "path": "/traits/{id}", + "operation_id": "trait_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "placement", + "method": "HEAD", + "path": "/allocations/{consumer_uuid}", + "operation_id": "allocation_show__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "placement", + "method": "HEAD", + "path": "/allocation_candidates", + "operation_id": "allocation_candidates__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "placement", + "method": "HEAD", + "path": "/usages", + "operation_id": "usages__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "placement", + "method": "HEAD", + "path": "/resource_providers/{id}/inventories", + "operation_id": "rp_inventories__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "placement", + "method": "HEAD", + "path": "/resource_providers/{id}/aggregates", + "operation_id": "rp_aggregates__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "placement", + "method": "HEAD", + "path": "/resource_providers/{id}/traits", + "operation_id": "rp_traits__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "placement", + "method": "HEAD", + "path": "/resource_providers/{id}/usages", + "operation_id": "rp_usages__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "placement", + "method": "HEAD", + "path": "/resource_providers/{id}/allocations", + "operation_id": "rp_allocations__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "swift", + "method": "HEAD", + "path": "/info", + "operation_id": "swift_info__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "swift", + "method": "HEAD", + "path": "/v1/{account}", + "operation_id": "swift_account_get__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "swift", + "method": "HEAD", + "path": "/v1/{account}/{container}", + "operation_id": "swift_container_get__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "swift", + "method": "HEAD", + "path": "/v1/{account}/{container}/{object}", + "operation_id": "swift_object_get__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "tacker", + "method": "HEAD", + "path": "/v1.0/vnfs", + "operation_id": "vnf_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "tacker", + "method": "HEAD", + "path": "/v1.0/vnfs/{id}", + "operation_id": "vnf_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "tacker", + "method": "HEAD", + "path": "/v1.0/vnfds", + "operation_id": "vnfd_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "tacker", + "method": "HEAD", + "path": "/v1.0/vnfds/{id}", + "operation_id": "vnfd_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "tacker", + "method": "HEAD", + "path": "/v1.0/vims", + "operation_id": "vim_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "tacker", + "method": "HEAD", + "path": "/v1.0/vims/{id}", + "operation_id": "vim_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "tacker", + "method": "HEAD", + "path": "/vnfpkgm/v1/vnf_packages", + "operation_id": "vnf_package_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "tacker", + "method": "HEAD", + "path": "/vnfpkgm/v1/vnf_packages/{id}", + "operation_id": "vnf_package_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "tacker", + "method": "HEAD", + "path": "/vnflcm/v1/vnf_instances", + "operation_id": "vnf_instance_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "tacker", + "method": "HEAD", + "path": "/vnflcm/v1/vnf_instances/{id}", + "operation_id": "vnf_instance_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "trove", + "method": "HEAD", + "path": "/v1.0", + "operation_id": "trove_versions__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "trove", + "method": "HEAD", + "path": "/v1.0/instances", + "operation_id": "instance_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "trove", + "method": "HEAD", + "path": "/v1.0/instances/{id}", + "operation_id": "instance_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "trove", + "method": "HEAD", + "path": "/v1.0/datastores", + "operation_id": "datastore_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "trove", + "method": "HEAD", + "path": "/v1.0/datastores/{id}", + "operation_id": "datastore_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "trove", + "method": "HEAD", + "path": "/v1.0/backups", + "operation_id": "backup_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "trove", + "method": "HEAD", + "path": "/v1.0/backups/{id}", + "operation_id": "backup_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "trove", + "method": "HEAD", + "path": "/v1.0/configurations", + "operation_id": "configuration_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "trove", + "method": "HEAD", + "path": "/v1.0/configurations/{id}", + "operation_id": "configuration_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "trove", + "method": "HEAD", + "path": "/v1.0/clusters", + "operation_id": "cluster_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "trove", + "method": "HEAD", + "path": "/v1.0/clusters/{id}", + "operation_id": "cluster_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "vitrage", + "method": "HEAD", + "path": "/v1/topology", + "operation_id": "topology_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "vitrage", + "method": "HEAD", + "path": "/v1/topology/{id}", + "operation_id": "topology_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "vitrage", + "method": "HEAD", + "path": "/v1/alarm", + "operation_id": "alarm_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "vitrage", + "method": "HEAD", + "path": "/v1/alarm/{id}", + "operation_id": "alarm_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "vitrage", + "method": "HEAD", + "path": "/v1/resources", + "operation_id": "resource_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "vitrage", + "method": "HEAD", + "path": "/v1/resources/{id}", + "operation_id": "resource_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "vitrage", + "method": "HEAD", + "path": "/v1/template", + "operation_id": "template_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "vitrage", + "method": "HEAD", + "path": "/v1/template/{id}", + "operation_id": "template_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "vitrage", + "method": "HEAD", + "path": "/v1/event", + "operation_id": "event_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "vitrage", + "method": "HEAD", + "path": "/v1/event/{id}", + "operation_id": "event_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "watcher", + "method": "HEAD", + "path": "/v1", + "operation_id": "watcher_versions__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "watcher", + "method": "HEAD", + "path": "/v1/audit_templates", + "operation_id": "audit_template_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "watcher", + "method": "HEAD", + "path": "/v1/audit_templates/{id}", + "operation_id": "audit_template_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "watcher", + "method": "HEAD", + "path": "/v1/audits", + "operation_id": "audit_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "watcher", + "method": "HEAD", + "path": "/v1/audits/{id}", + "operation_id": "audit_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "watcher", + "method": "HEAD", + "path": "/v1/action_plans", + "operation_id": "action_plan_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "watcher", + "method": "HEAD", + "path": "/v1/action_plans/{id}", + "operation_id": "action_plan_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "watcher", + "method": "HEAD", + "path": "/v1/actions", + "operation_id": "action_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "watcher", + "method": "HEAD", + "path": "/v1/actions/{id}", + "operation_id": "action_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "watcher", + "method": "HEAD", + "path": "/v1/goals", + "operation_id": "goal_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "watcher", + "method": "HEAD", + "path": "/v1/goals/{id}", + "operation_id": "goal_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "watcher", + "method": "HEAD", + "path": "/v1/strategies", + "operation_id": "strategy_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "watcher", + "method": "HEAD", + "path": "/v1/strategies/{id}", + "operation_id": "strategy_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "watcher", + "method": "HEAD", + "path": "/v1/scoring_engines", + "operation_id": "scoring_engine_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "watcher", + "method": "HEAD", + "path": "/v1/scoring_engines/{id}", + "operation_id": "scoring_engine_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "watcher", + "method": "HEAD", + "path": "/v1/services", + "operation_id": "service_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "watcher", + "method": "HEAD", + "path": "/v1/services/{id}", + "operation_id": "service_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "zaqar", + "method": "HEAD", + "path": "/v2", + "operation_id": "zaqar_versions__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "zaqar", + "method": "HEAD", + "path": "/v2/queues", + "operation_id": "queue_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "zaqar", + "method": "HEAD", + "path": "/v2/queues/{id}", + "operation_id": "queue_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "zaqar", + "method": "HEAD", + "path": "/v2/queues/{queue_name}/subscriptions", + "operation_id": "subscription_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "zaqar", + "method": "HEAD", + "path": "/v2/queues/{queue_name}/subscriptions/{id}", + "operation_id": "subscription_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "zaqar", + "method": "HEAD", + "path": "/v2/queues/{queue_name}/claims", + "operation_id": "claim_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "zaqar", + "method": "HEAD", + "path": "/v2/queues/{queue_name}/claims/{id}", + "operation_id": "claim_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "zaqar", + "method": "HEAD", + "path": "/v2/queues/{queue_name}/messages", + "operation_id": "message_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "zaqar", + "method": "HEAD", + "path": "/v2/queues/{queue_name}/messages/{id}", + "operation_id": "message_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "zaqar", + "method": "HEAD", + "path": "/v2/health", + "operation_id": "zaqar_health__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "zaqar", + "method": "HEAD", + "path": "/v2/ping", + "operation_id": "zaqar_ping__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "zun", + "method": "HEAD", + "path": "/v1", + "operation_id": "zun_versions__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "zun", + "method": "HEAD", + "path": "/v1/containers", + "operation_id": "container_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "zun", + "method": "HEAD", + "path": "/v1/containers/{id}", + "operation_id": "container_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "zun", + "method": "HEAD", + "path": "/v1/images", + "operation_id": "image_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "zun", + "method": "HEAD", + "path": "/v1/images/{id}", + "operation_id": "image_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "zun", + "method": "HEAD", + "path": "/v1/capsules", + "operation_id": "capsule_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "zun", + "method": "HEAD", + "path": "/v1/capsules/{id}", + "operation_id": "capsule_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "zun", + "method": "HEAD", + "path": "/v1/hosts", + "operation_id": "host_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "zun", + "method": "HEAD", + "path": "/v1/hosts/{id}", + "operation_id": "host_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "zun", + "method": "HEAD", + "path": "/v1/services", + "operation_id": "service_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "zun", + "method": "HEAD", + "path": "/v1/services/{id}", + "operation_id": "service_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false } ], "failures": [] diff --git a/pulumi-tests/reports/series-yoga.json b/pulumi-tests/reports/series-yoga.json index f1115fc..3a9b065 100644 --- a/pulumi-tests/reports/series-yoga.json +++ b/pulumi-tests/reports/series-yoga.json @@ -2,35 +2,35 @@ "series": "yoga", "pulumi": { "series": "yoga", - "elapsed_s": 35.66, + "elapsed_s": 21.05, "error": null, "outputs": { "auth_project_id": "8924e279-51c7-582e-b6f5-8e41b33e7581", "auth_user_id": "b76edf4a-1452-5436-a411-a099ada1f7cb", - "created_project_id": "33240bb8-c463-4b92-8c12-7302ed5eba04", - "created_user_id": "9ac92b4f-b7bb-4712-8c15-987a2ac6783d", + "created_project_id": "a719f057-c4e2-4e22-9959-d236923a8ede", + "created_user_id": "32a0fb8d-4a4a-4dd4-b146-c145ffb19715", "demo_net_id": "a245268b-88ba-597a-b8db-017810782f98", "flavor_id": "1", "image_id": "c58b99c0-2d7b-5842-b260-b617db2f7803", "image_name": "cirros", - "interface_id": "6f13e789-060f-460e-83a9-94ba151142c2/8d03cae2-a8b2-4d1a-949f-4f19a11b40ed", - "keypair_name": "pu-yoga-69eb5f-kp", - "network_id": "c28c44dc-a9b6-4e67-85cd-36c046737f9a", - "port_id": "8d03cae2-a8b2-4d1a-949f-4f19a11b40ed", + "interface_id": "6997d545-7aed-4b1f-b83f-01746593bd83/65b607b4-13bb-4635-9510-041b2d9db881", + "keypair_name": "pu-yoga-f8ae3f-kp", + "network_id": "5e2a0c44-766b-4154-8a80-0bcee1d3b73e", + "port_id": "65b607b4-13bb-4635-9510-041b2d9db881", "project_name": "demo", - "router_id": "6c68611b-6ba6-44c8-9ef2-146d6723b9c3", - "router_iface_id": "0810febd-3979-48fc-bfb2-fc24da6a4683", - "secgroup_id": "c479c4e4-f15f-45ba-b0bb-fc3e7fb9b72d", - "secgroup_rule_id": "249b7523-f84a-44a9-a328-7a2f53984ea4", + "router_id": "7a57a2dd-7e47-40af-9966-f199dd114fc0", + "router_iface_id": "2a600c25-898c-4444-92f3-698d9faabc86", + "secgroup_id": "59a4612f-754e-4dd4-ad82-cafc05dd8d1a", + "secgroup_rule_id": "cb4a9464-d9f8-4b96-a7f3-00c0a463586d", "series": "yoga", - "server_group_id": "fd714033-2511-4a27-bcb7-1b173e879a82", - "server_id": "6f13e789-060f-460e-83a9-94ba151142c2", - "server_name": "pu-yoga-69eb5f-vm", - "subnet_id": "d5925e75-d128-4f52-a88a-4aa7833c5a23", - "tag": "pu-yoga-69eb5f", - "volume2_id": "e5ed6970-d4eb-4085-978c-eac7235e4ddb", - "volume_attach_id": "6f13e789-060f-460e-83a9-94ba151142c2/1091ab33-3904-4c97-8916-8cb98ec053b1", - "volume_id": "e4df763f-5a74-45a8-8b6e-798d3cec7b5e" + "server_group_id": "d2b1cd50-ba00-4b6e-b2dc-dae7d32eac18", + "server_id": "6997d545-7aed-4b1f-b83f-01746593bd83", + "server_name": "pu-yoga-f8ae3f-vm", + "subnet_id": "ecab7de1-6c80-4904-9676-f95eb84c84ca", + "tag": "pu-yoga-f8ae3f", + "volume2_id": "ebe99f6c-9148-4079-b6cd-30cda1337731", + "volume_attach_id": "6997d545-7aed-4b1f-b83f-01746593bd83/95982862-b32d-4f22-b29c-b01d8c7d93ad", + "volume_id": "0cdaed66-20e7-4191-8410-b865caffce81" }, "empty_exports": [], "ok": true @@ -39,19 +39,23 @@ "series": "yoga", "host": "http://api-gateway:5000", "mode": "lifecycle", - "total": 1060, - "expected_ops": 1060, + "total": 1464, + "expected_ops": 1464, + "declared_ops": 1060, + "head_ops": 404, "coverage_incomplete": false, "methods": { "GET": 404, "POST": 168, "PUT": 171, "PATCH": 155, - "DELETE": 162 + "DELETE": 162, + "HEAD": 404 }, - "ok_count": 1060, + "ok_count": 1464, "fail_count": 0, "nonempty_fail_count": 0, + "critical": 0, "results": [ { "service": "adjutant", @@ -11712,6 +11716,4450 @@ "mode": "lifecycle", "ok": true, "succeeded": true + }, + { + "service": "adjutant", + "method": "HEAD", + "path": "/v1/tasks", + "operation_id": "task_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "adjutant", + "method": "HEAD", + "path": "/v1/tasks/{id}", + "operation_id": "task_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "adjutant", + "method": "HEAD", + "path": "/v1/tokens", + "operation_id": "token_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "adjutant", + "method": "HEAD", + "path": "/v1/tokens/{id}", + "operation_id": "token_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "adjutant", + "method": "HEAD", + "path": "/v1/notifications", + "operation_id": "notification_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "adjutant", + "method": "HEAD", + "path": "/v1/notifications/{id}", + "operation_id": "notification_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "adjutant", + "method": "HEAD", + "path": "/v1/status", + "operation_id": "status_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "adjutant", + "method": "HEAD", + "path": "/v1/status/{id}", + "operation_id": "status_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "aodh", + "method": "HEAD", + "path": "/v2", + "operation_id": "aodh_versions__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "aodh", + "method": "HEAD", + "path": "/v2/alarms", + "operation_id": "alarm_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "aodh", + "method": "HEAD", + "path": "/v2/alarms/{id}", + "operation_id": "alarm_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "aodh", + "method": "HEAD", + "path": "/v2/alarms/{alarm_id}/history", + "operation_id": "alarm_history_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "aodh", + "method": "HEAD", + "path": "/v2/alarms/{alarm_id}/history/{id}", + "operation_id": "alarm_history_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "aodh", + "method": "HEAD", + "path": "/v2/quotas", + "operation_id": "quota_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "aodh", + "method": "HEAD", + "path": "/v2/quotas/{id}", + "operation_id": "quota_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "barbican", + "method": "HEAD", + "path": "/v1", + "operation_id": "barbican_versions__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "barbican", + "method": "HEAD", + "path": "/v1/secrets", + "operation_id": "secret_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "barbican", + "method": "HEAD", + "path": "/v1/secrets/{id}", + "operation_id": "secret_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "barbican", + "method": "HEAD", + "path": "/v1/containers", + "operation_id": "container_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "barbican", + "method": "HEAD", + "path": "/v1/containers/{id}", + "operation_id": "container_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "barbican", + "method": "HEAD", + "path": "/v1/orders", + "operation_id": "order_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "barbican", + "method": "HEAD", + "path": "/v1/orders/{id}", + "operation_id": "order_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "barbican", + "method": "HEAD", + "path": "/v1/secret-stores", + "operation_id": "secret_store_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "barbican", + "method": "HEAD", + "path": "/v1/secret-stores/{id}", + "operation_id": "secret_store_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "blazar", + "method": "HEAD", + "path": "/v1", + "operation_id": "blazar_versions__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "blazar", + "method": "HEAD", + "path": "/leases", + "operation_id": "lease_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "blazar", + "method": "HEAD", + "path": "/leases/{id}", + "operation_id": "lease_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "blazar", + "method": "HEAD", + "path": "/os-hosts", + "operation_id": "host_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "blazar", + "method": "HEAD", + "path": "/os-hosts/{id}", + "operation_id": "host_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "blazar", + "method": "HEAD", + "path": "/floatingips", + "operation_id": "floatingip_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "blazar", + "method": "HEAD", + "path": "/floatingips/{id}", + "operation_id": "floatingip_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3", + "operation_id": "cinder_versions__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/volumes", + "operation_id": "volume_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/volumes/{id}", + "operation_id": "volume_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/volumes/detail", + "operation_id": "volume_list_detail__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/snapshots", + "operation_id": "snapshot_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/snapshots/{id}", + "operation_id": "snapshot_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/snapshots/detail", + "operation_id": "snapshot_list_detail__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/backups", + "operation_id": "backup_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/backups/{id}", + "operation_id": "backup_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/backups/detail", + "operation_id": "backup_list_detail__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/types", + "operation_id": "volume_type_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/types/{id}", + "operation_id": "volume_type_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/types/detail", + "operation_id": "volume_type_list_detail__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/qos-specs", + "operation_id": "qos_spec_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/qos-specs/{id}", + "operation_id": "qos_spec_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/qos-specs/detail", + "operation_id": "qos_spec_list_detail__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/groups", + "operation_id": "group_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/groups/{id}", + "operation_id": "group_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/groups/detail", + "operation_id": "group_list_detail__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/group_snapshots", + "operation_id": "group_snapshot_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/group_snapshots/{id}", + "operation_id": "group_snapshot_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/group_snapshots/detail", + "operation_id": "group_snapshot_list_detail__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/consistencygroups", + "operation_id": "consistencygroup_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/consistencygroups/{id}", + "operation_id": "consistencygroup_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/consistencygroups/detail", + "operation_id": "consistencygroup_list_detail__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/attachments", + "operation_id": "attachment_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/attachments/{id}", + "operation_id": "attachment_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/attachments/detail", + "operation_id": "attachment_list_detail__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/volume-transfers", + "operation_id": "transfer_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/volume-transfers/{id}", + "operation_id": "transfer_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/volume-transfers/detail", + "operation_id": "transfer_list_detail__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/messages", + "operation_id": "message_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/messages/{id}", + "operation_id": "message_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/messages/detail", + "operation_id": "message_list_detail__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/clusters", + "operation_id": "cluster_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/clusters/{id}", + "operation_id": "cluster_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/clusters/detail", + "operation_id": "cluster_list_detail__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/{project_id}/volumes", + "operation_id": "volume_tenant_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/{project_id}/volumes/{id}", + "operation_id": "volume_tenant_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/{project_id}/volumes/detail", + "operation_id": "volume_tenant_list_detail__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/os-services", + "operation_id": "cinder_services__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/limits", + "operation_id": "cinder_limits__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/os-quota-sets/{id}", + "operation_id": "cinder_quota_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/resource_filters", + "operation_id": "cinder_resource_filters__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cinder", + "method": "HEAD", + "path": "/v3/scheduler-stats/get_pools", + "operation_id": "cinder_pools__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cloudkitty", + "method": "HEAD", + "path": "/v1", + "operation_id": "cloudkitty_versions__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cloudkitty", + "method": "HEAD", + "path": "/v1/rating/module_config/hashmap/services", + "operation_id": "hashmap_service_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cloudkitty", + "method": "HEAD", + "path": "/v1/rating/module_config/hashmap/services/{id}", + "operation_id": "hashmap_service_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "cloudkitty", + "method": "HEAD", + "path": "/v1/rating/module_config/hashmap/fields", + "operation_id": "hashmap_field_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cloudkitty", + "method": "HEAD", + "path": "/v1/rating/module_config/hashmap/fields/{id}", + "operation_id": "hashmap_field_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "cloudkitty", + "method": "HEAD", + "path": "/v1/report/summary", + "operation_id": "report_summary_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cloudkitty", + "method": "HEAD", + "path": "/v1/report/summary/{id}", + "operation_id": "report_summary_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "cloudkitty", + "method": "HEAD", + "path": "/v1/storage/dataframes", + "operation_id": "dataframes_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "cloudkitty", + "method": "HEAD", + "path": "/v1/storage/dataframes/{id}", + "operation_id": "dataframes_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "designate", + "method": "HEAD", + "path": "/v2", + "operation_id": "designate_versions__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "designate", + "method": "HEAD", + "path": "/v2/zones", + "operation_id": "zone_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "designate", + "method": "HEAD", + "path": "/v2/zones/{id}", + "operation_id": "zone_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "designate", + "method": "HEAD", + "path": "/v2/pools", + "operation_id": "pool_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "designate", + "method": "HEAD", + "path": "/v2/pools/{id}", + "operation_id": "pool_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "designate", + "method": "HEAD", + "path": "/v2/service_statuses", + "operation_id": "service_status_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "designate", + "method": "HEAD", + "path": "/v2/service_statuses/{id}", + "operation_id": "service_status_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "freezer", + "method": "HEAD", + "path": "/v2", + "operation_id": "freezer_versions__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "freezer", + "method": "HEAD", + "path": "/v2/jobs", + "operation_id": "job_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "freezer", + "method": "HEAD", + "path": "/v2/jobs/{id}", + "operation_id": "job_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "freezer", + "method": "HEAD", + "path": "/v2/clients", + "operation_id": "client_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "freezer", + "method": "HEAD", + "path": "/v2/clients/{id}", + "operation_id": "client_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "freezer", + "method": "HEAD", + "path": "/v2/backups", + "operation_id": "backup_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "freezer", + "method": "HEAD", + "path": "/v2/backups/{id}", + "operation_id": "backup_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "freezer", + "method": "HEAD", + "path": "/v2/sessions", + "operation_id": "session_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "freezer", + "method": "HEAD", + "path": "/v2/sessions/{id}", + "operation_id": "session_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "freezer", + "method": "HEAD", + "path": "/v2/actions", + "operation_id": "action_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "freezer", + "method": "HEAD", + "path": "/v2/actions/{id}", + "operation_id": "action_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "glance", + "method": "HEAD", + "path": "/v2", + "operation_id": "glance_versions__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "glance", + "method": "HEAD", + "path": "/v2/images", + "operation_id": "image_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "glance", + "method": "HEAD", + "path": "/v2/images/{id}", + "operation_id": "image_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "glance", + "method": "HEAD", + "path": "/v2/images/{id}/file", + "operation_id": "image_download__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "glance", + "method": "HEAD", + "path": "/v2/metadefs/namespaces", + "operation_id": "metadef_namespace_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "glance", + "method": "HEAD", + "path": "/v2/metadefs/namespaces/{id}", + "operation_id": "metadef_namespace_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "glance", + "method": "HEAD", + "path": "/v2/tasks", + "operation_id": "task_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "glance", + "method": "HEAD", + "path": "/v2/tasks/{id}", + "operation_id": "task_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "glance", + "method": "HEAD", + "path": "/v2/schemas/image", + "operation_id": "glance_schema_image__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "glance", + "method": "HEAD", + "path": "/v2/schemas/images", + "operation_id": "glance_schema_images__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "glance", + "method": "HEAD", + "path": "/v2/images/{image_id}/members", + "operation_id": "image_member_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "glance", + "method": "HEAD", + "path": "/v2/images/{image_id}/members/{id}", + "operation_id": "image_member_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "glance", + "method": "HEAD", + "path": "/v2/images/{image_id}/tags", + "operation_id": "image_tag_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "glance", + "method": "HEAD", + "path": "/v2/images/{image_id}/tags/{id}", + "operation_id": "image_tag_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "heat", + "method": "HEAD", + "path": "/v1", + "operation_id": "heat_versions__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "heat", + "method": "HEAD", + "path": "/v1/{tenant_id}/stacks", + "operation_id": "stack_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "heat", + "method": "HEAD", + "path": "/v1/{tenant_id}/stacks/{id}", + "operation_id": "stack_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "heat", + "method": "HEAD", + "path": "/v1/{tenant_id}/stacks/detail", + "operation_id": "stack_list_detail__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "heat", + "method": "HEAD", + "path": "/v1/{tenant_id}/stacks/{stack_name}/{stack_id}", + "operation_id": "stack_show_by_name__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "heat", + "method": "HEAD", + "path": "/v1/{tenant_id}/stacks/{stack_name}/{stack_id}/resources", + "operation_id": "stack_resource_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "heat", + "method": "HEAD", + "path": "/v1/{tenant_id}/stacks/{stack_name}/{stack_id}/resources/{id}", + "operation_id": "stack_resource_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "heat", + "method": "HEAD", + "path": "/v1/{tenant_id}/stacks/{stack_name}/{stack_id}/events", + "operation_id": "stack_event_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "heat", + "method": "HEAD", + "path": "/v1/{tenant_id}/stacks/{stack_name}/{stack_id}/events/{id}", + "operation_id": "stack_event_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "heat", + "method": "HEAD", + "path": "/v1/{tenant_id}/software_configs", + "operation_id": "software_config_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "heat", + "method": "HEAD", + "path": "/v1/{tenant_id}/software_configs/{id}", + "operation_id": "software_config_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "heat", + "method": "HEAD", + "path": "/v1/{tenant_id}/software_deployments", + "operation_id": "software_deployment_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "heat", + "method": "HEAD", + "path": "/v1/{tenant_id}/software_deployments/{id}", + "operation_id": "software_deployment_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "heat", + "method": "HEAD", + "path": "/v1/{tenant_id}/resource_types", + "operation_id": "heat_resource_types__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "heat", + "method": "HEAD", + "path": "/v1/{tenant_id}/services", + "operation_id": "heat_services__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "heat-cfn", + "method": "HEAD", + "path": "/stacks", + "operation_id": "stack_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "heat-cfn", + "method": "HEAD", + "path": "/stacks/{id}", + "operation_id": "stack_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "heat-cfn", + "method": "HEAD", + "path": "/v1", + "operation_id": "heat_cfn_versions__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "ironic", + "method": "HEAD", + "path": "/v1", + "operation_id": "ironic_versions__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "ironic", + "method": "HEAD", + "path": "/v1/nodes", + "operation_id": "node_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "ironic", + "method": "HEAD", + "path": "/v1/nodes/{id}", + "operation_id": "node_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "ironic", + "method": "HEAD", + "path": "/v1/ports", + "operation_id": "port_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "ironic", + "method": "HEAD", + "path": "/v1/ports/{id}", + "operation_id": "port_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "ironic", + "method": "HEAD", + "path": "/v1/portgroups", + "operation_id": "portgroup_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "ironic", + "method": "HEAD", + "path": "/v1/portgroups/{id}", + "operation_id": "portgroup_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "ironic", + "method": "HEAD", + "path": "/v1/chassis", + "operation_id": "chassis_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "ironic", + "method": "HEAD", + "path": "/v1/chassis/{id}", + "operation_id": "chassis_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "ironic", + "method": "HEAD", + "path": "/v1/allocations", + "operation_id": "allocation_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "ironic", + "method": "HEAD", + "path": "/v1/allocations/{id}", + "operation_id": "allocation_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "ironic", + "method": "HEAD", + "path": "/v1/deploy_templates", + "operation_id": "deploy_template_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "ironic", + "method": "HEAD", + "path": "/v1/deploy_templates/{id}", + "operation_id": "deploy_template_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "ironic", + "method": "HEAD", + "path": "/v1/volume/connectors", + "operation_id": "volume_connector_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "ironic", + "method": "HEAD", + "path": "/v1/volume/connectors/{id}", + "operation_id": "volume_connector_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "ironic", + "method": "HEAD", + "path": "/v1/volume/targets", + "operation_id": "volume_target_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "ironic", + "method": "HEAD", + "path": "/v1/volume/targets/{id}", + "operation_id": "volume_target_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "ironic", + "method": "HEAD", + "path": "/v1/drivers", + "operation_id": "ironic_drivers__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "ironic", + "method": "HEAD", + "path": "/v1/drivers/{name}", + "operation_id": "ironic_driver_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "ironic", + "method": "HEAD", + "path": "/v1/conductors", + "operation_id": "ironic_conductors__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "ironic", + "method": "HEAD", + "path": "/v1/nodes/{id}/states", + "operation_id": "node_states__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "ironic", + "method": "HEAD", + "path": "/v1/nodes/{id}/vendor_passthru", + "operation_id": "node_vendor_passthru__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "keystone", + "method": "HEAD", + "path": "/v3", + "operation_id": "keystone_v3_root__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "keystone", + "method": "HEAD", + "path": "/v3/auth/tokens", + "operation_id": "keystone_validate_token__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "keystone", + "method": "HEAD", + "path": "/v3/auth/catalog", + "operation_id": "keystone_catalog__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "keystone", + "method": "HEAD", + "path": "/v3/domains", + "operation_id": "domain_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "keystone", + "method": "HEAD", + "path": "/v3/domains/{id}", + "operation_id": "domain_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "keystone", + "method": "HEAD", + "path": "/v3/projects", + "operation_id": "project_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "keystone", + "method": "HEAD", + "path": "/v3/projects/{id}", + "operation_id": "project_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "keystone", + "method": "HEAD", + "path": "/v3/users", + "operation_id": "user_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "keystone", + "method": "HEAD", + "path": "/v3/users/{id}", + "operation_id": "user_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "keystone", + "method": "HEAD", + "path": "/v3/groups", + "operation_id": "group_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "keystone", + "method": "HEAD", + "path": "/v3/groups/{id}", + "operation_id": "group_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "keystone", + "method": "HEAD", + "path": "/v3/roles", + "operation_id": "role_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "keystone", + "method": "HEAD", + "path": "/v3/roles/{id}", + "operation_id": "role_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "keystone", + "method": "HEAD", + "path": "/v3/regions", + "operation_id": "region_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "keystone", + "method": "HEAD", + "path": "/v3/regions/{id}", + "operation_id": "region_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "keystone", + "method": "HEAD", + "path": "/v3/services", + "operation_id": "service_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "keystone", + "method": "HEAD", + "path": "/v3/services/{id}", + "operation_id": "service_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "keystone", + "method": "HEAD", + "path": "/v3/endpoints", + "operation_id": "endpoint_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "keystone", + "method": "HEAD", + "path": "/v3/endpoints/{id}", + "operation_id": "endpoint_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "keystone", + "method": "HEAD", + "path": "/v3/credentials", + "operation_id": "credential_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "keystone", + "method": "HEAD", + "path": "/v3/credentials/{id}", + "operation_id": "credential_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "keystone", + "method": "HEAD", + "path": "/v3/policies", + "operation_id": "policy_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "keystone", + "method": "HEAD", + "path": "/v3/policies/{id}", + "operation_id": "policy_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "keystone", + "method": "HEAD", + "path": "/v3/users/{user_id}/application_credentials", + "operation_id": "application_credential_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "keystone", + "method": "HEAD", + "path": "/v3/users/{user_id}/application_credentials/{id}", + "operation_id": "application_credential_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "keystone", + "method": "HEAD", + "path": "/v3/role_assignments", + "operation_id": "keystone_role_assignments__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "keystone", + "method": "HEAD", + "path": "/v3/projects/{project_id}/users/{user_id}/roles", + "operation_id": "keystone_list_project_user_roles__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "keystone", + "method": "HEAD", + "path": "/v3/OS-INHERIT/domains/{domain_id}/users/{user_id}/roles", + "operation_id": "keystone_inherit_roles__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "keystone", + "method": "HEAD", + "path": "/v3/limits", + "operation_id": "keystone_limits__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "keystone", + "method": "HEAD", + "path": "/v3/registered_limits", + "operation_id": "keystone_registered_limits__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "magnum", + "method": "HEAD", + "path": "/v1", + "operation_id": "magnum_versions__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "magnum", + "method": "HEAD", + "path": "/v1/clusters", + "operation_id": "cluster_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "magnum", + "method": "HEAD", + "path": "/v1/clusters/{id}", + "operation_id": "cluster_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "magnum", + "method": "HEAD", + "path": "/v1/clustertemplates", + "operation_id": "clustertemplate_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "magnum", + "method": "HEAD", + "path": "/v1/clustertemplates/{id}", + "operation_id": "clustertemplate_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "magnum", + "method": "HEAD", + "path": "/v1/certificates", + "operation_id": "certificate_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "magnum", + "method": "HEAD", + "path": "/v1/certificates/{id}", + "operation_id": "certificate_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "magnum", + "method": "HEAD", + "path": "/v1/clusters/{cluster_id}/nodegroups", + "operation_id": "nodegroup_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "magnum", + "method": "HEAD", + "path": "/v1/clusters/{cluster_id}/nodegroups/{id}", + "operation_id": "nodegroup_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "manila", + "method": "HEAD", + "path": "/v2", + "operation_id": "manila_versions__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "manila", + "method": "HEAD", + "path": "/v2/shares", + "operation_id": "share_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "manila", + "method": "HEAD", + "path": "/v2/shares/{id}", + "operation_id": "share_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "manila", + "method": "HEAD", + "path": "/v2/snapshots", + "operation_id": "share_snapshot_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "manila", + "method": "HEAD", + "path": "/v2/snapshots/{id}", + "operation_id": "share_snapshot_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "manila", + "method": "HEAD", + "path": "/v2/share-networks", + "operation_id": "share_network_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "manila", + "method": "HEAD", + "path": "/v2/share-networks/{id}", + "operation_id": "share_network_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "manila", + "method": "HEAD", + "path": "/v2/types", + "operation_id": "share_type_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "manila", + "method": "HEAD", + "path": "/v2/types/{id}", + "operation_id": "share_type_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "manila", + "method": "HEAD", + "path": "/v2/share-servers", + "operation_id": "share_server_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "manila", + "method": "HEAD", + "path": "/v2/share-servers/{id}", + "operation_id": "share_server_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "manila", + "method": "HEAD", + "path": "/v2/security-services", + "operation_id": "security_service_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "manila", + "method": "HEAD", + "path": "/v2/security-services/{id}", + "operation_id": "security_service_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "masakari", + "method": "HEAD", + "path": "/v1", + "operation_id": "masakari_versions__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "masakari", + "method": "HEAD", + "path": "/v1/segments", + "operation_id": "segment_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "masakari", + "method": "HEAD", + "path": "/v1/segments/{id}", + "operation_id": "segment_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "masakari", + "method": "HEAD", + "path": "/v1/segments/{segment_id}/hosts", + "operation_id": "host_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "masakari", + "method": "HEAD", + "path": "/v1/segments/{segment_id}/hosts/{id}", + "operation_id": "host_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "masakari", + "method": "HEAD", + "path": "/v1/notifications", + "operation_id": "notification_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "masakari", + "method": "HEAD", + "path": "/v1/notifications/{id}", + "operation_id": "notification_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "mistral", + "method": "HEAD", + "path": "/v2", + "operation_id": "mistral_versions__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "mistral", + "method": "HEAD", + "path": "/v2/workflows", + "operation_id": "workflow_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "mistral", + "method": "HEAD", + "path": "/v2/workflows/{id}", + "operation_id": "workflow_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "mistral", + "method": "HEAD", + "path": "/v2/executions", + "operation_id": "execution_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "mistral", + "method": "HEAD", + "path": "/v2/executions/{id}", + "operation_id": "execution_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "mistral", + "method": "HEAD", + "path": "/v2/actions", + "operation_id": "action_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "mistral", + "method": "HEAD", + "path": "/v2/actions/{id}", + "operation_id": "action_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "mistral", + "method": "HEAD", + "path": "/v2/workbooks", + "operation_id": "workbook_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "mistral", + "method": "HEAD", + "path": "/v2/workbooks/{id}", + "operation_id": "workbook_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "mistral", + "method": "HEAD", + "path": "/v2/cron_triggers", + "operation_id": "cron_trigger_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "mistral", + "method": "HEAD", + "path": "/v2/cron_triggers/{id}", + "operation_id": "cron_trigger_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "mistral", + "method": "HEAD", + "path": "/v2/tasks", + "operation_id": "task_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "mistral", + "method": "HEAD", + "path": "/v2/tasks/{id}", + "operation_id": "task_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0", + "operation_id": "neutron_versions__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/networks", + "operation_id": "network_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/networks/{id}", + "operation_id": "network_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/subnets", + "operation_id": "subnet_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/subnets/{id}", + "operation_id": "subnet_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/ports", + "operation_id": "port_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/ports/{id}", + "operation_id": "port_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/routers", + "operation_id": "router_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/routers/{id}", + "operation_id": "router_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/floatingips", + "operation_id": "floatingip_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/floatingips/{id}", + "operation_id": "floatingip_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/security-groups", + "operation_id": "security_group_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/security-groups/{id}", + "operation_id": "security_group_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/security-group-rules", + "operation_id": "security_group_rule_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/security-group-rules/{id}", + "operation_id": "security_group_rule_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/address-scopes", + "operation_id": "address_scope_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/address-scopes/{id}", + "operation_id": "address_scope_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/subnetpools", + "operation_id": "subnetpool_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/subnetpools/{id}", + "operation_id": "subnetpool_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/qos/policies", + "operation_id": "qos_policy_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/qos/policies/{id}", + "operation_id": "qos_policy_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/trunks", + "operation_id": "trunk_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/trunks/{id}", + "operation_id": "trunk_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/rbac-policies", + "operation_id": "rbac_policy_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/rbac-policies/{id}", + "operation_id": "rbac_policy_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/metering/metering-labels", + "operation_id": "metering_label_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/metering/metering-labels/{id}", + "operation_id": "metering_label_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/metering/metering-label-rules", + "operation_id": "metering_label_rule_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/metering/metering-label-rules/{id}", + "operation_id": "metering_label_rule_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/service_profiles", + "operation_id": "service_profile_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/service_profiles/{id}", + "operation_id": "service_profile_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/flavors", + "operation_id": "neutron_flavor_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/flavors/{id}", + "operation_id": "neutron_flavor_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/lbaas/loadbalancers", + "operation_id": "lbaas_loadbalancer_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/lbaas/loadbalancers/{id}", + "operation_id": "lbaas_loadbalancer_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/lbaas/listeners", + "operation_id": "lbaas_listener_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/lbaas/listeners/{id}", + "operation_id": "lbaas_listener_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/lbaas/pools", + "operation_id": "lbaas_pool_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/lbaas/pools/{id}", + "operation_id": "lbaas_pool_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/agents", + "operation_id": "neutron_agents__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/agents/{id}", + "operation_id": "neutron_agent_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/quotas", + "operation_id": "neutron_quota_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/quotas/{id}", + "operation_id": "neutron_quota_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/qos/policies/{policy_id}/bandwidth_limit_rules", + "operation_id": "qos_bandwidth_limit_rule_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/qos/policies/{policy_id}/bandwidth_limit_rules/{id}", + "operation_id": "qos_bandwidth_limit_rule_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/qos/policies/{policy_id}/dscp_marking_rules", + "operation_id": "qos_dscp_marking_rule_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/qos/policies/{policy_id}/dscp_marking_rules/{id}", + "operation_id": "qos_dscp_marking_rule_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/qos/policies/{policy_id}/minimum_bandwidth_rules", + "operation_id": "qos_minimum_bandwidth_rule_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/qos/policies/{policy_id}/minimum_bandwidth_rules/{id}", + "operation_id": "qos_minimum_bandwidth_rule_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/trunks/{trunk_id}/add_subports", + "operation_id": "trunk_subport_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/trunks/{trunk_id}/add_subports/{id}", + "operation_id": "trunk_subport_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/floatingips/{floatingip_id}/port_forwardings", + "operation_id": "floatingip_port_forwarding_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "neutron", + "method": "HEAD", + "path": "/v2.0/floatingips/{floatingip_id}/port_forwardings/{id}", + "operation_id": "floatingip_port_forwarding_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/servers", + "operation_id": "server_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/servers/{id}", + "operation_id": "server_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/servers/detail", + "operation_id": "server_list_detail__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/servers/{server_id}/os-volume_attachments", + "operation_id": "volume_attachment_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/servers/{server_id}/os-volume_attachments/{id}", + "operation_id": "volume_attachment_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/servers/{server_id}/os-interface", + "operation_id": "interface_attachment_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/servers/{server_id}/os-interface/{id}", + "operation_id": "interface_attachment_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/servers/{server_id}/os-instance-actions", + "operation_id": "instance_action_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/servers/{server_id}/os-instance-actions/{id}", + "operation_id": "instance_action_show__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/servers/{server_id}/metadata", + "operation_id": "server_metadata_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/servers/{server_id}/metadata/{id}", + "operation_id": "server_metadata_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/servers/{server_id}/tags", + "operation_id": "server_tag_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/servers/{server_id}/tags/{id}", + "operation_id": "server_tag_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/servers/{server_id}/os-security-groups", + "operation_id": "server_security_group_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/servers/{server_id}/os-security-groups/{id}", + "operation_id": "server_security_group_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/flavors", + "operation_id": "flavor_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/flavors/{id}", + "operation_id": "flavor_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/flavors/detail", + "operation_id": "flavor_list_detail__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/os-keypairs", + "operation_id": "keypair_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/os-keypairs/{id}", + "operation_id": "keypair_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/os-aggregates", + "operation_id": "aggregate_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/os-aggregates/{id}", + "operation_id": "aggregate_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/os-server-groups", + "operation_id": "server_group_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/os-server-groups/{id}", + "operation_id": "server_group_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1", + "operation_id": "nova_versions__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/os-hypervisors", + "operation_id": "hypervisor_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/os-hypervisors/detail", + "operation_id": "hypervisor_detail__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/os-hypervisors/{id}", + "operation_id": "hypervisor_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/os-availability-zone", + "operation_id": "az_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/os-availability-zone/detail", + "operation_id": "az_detail__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/os-services", + "operation_id": "compute_services__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/limits", + "operation_id": "compute_limits__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/os-quota-sets/{id}", + "operation_id": "quota_set_show__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/os-quota-sets/{id}/detail", + "operation_id": "quota_set_detail__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/os-migrations", + "operation_id": "migrations_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/os-networks", + "operation_id": "nova_networks__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/os-tenant-networks", + "operation_id": "nova_tenant_networks__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/os-security-groups", + "operation_id": "nova_security_groups__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/os-floating-ips", + "operation_id": "nova_floating_ips__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/flavors/{flavor_id}/os-extra_specs", + "operation_id": "flavor_extra_spec_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/flavors/{flavor_id}/os-extra_specs/{id}", + "operation_id": "flavor_extra_spec_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "nova", + "method": "HEAD", + "path": "/v2.1/servers/{server_id}/os-server-password", + "operation_id": "server_password_show__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "octavia", + "method": "HEAD", + "path": "/v2", + "operation_id": "octavia_versions__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "octavia", + "method": "HEAD", + "path": "/v2/lbaas/loadbalancers", + "operation_id": "loadbalancer_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "octavia", + "method": "HEAD", + "path": "/v2/lbaas/loadbalancers/{id}", + "operation_id": "loadbalancer_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "octavia", + "method": "HEAD", + "path": "/v2/lbaas/listeners", + "operation_id": "listener_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "octavia", + "method": "HEAD", + "path": "/v2/lbaas/listeners/{id}", + "operation_id": "listener_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "octavia", + "method": "HEAD", + "path": "/v2/lbaas/pools", + "operation_id": "pool_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "octavia", + "method": "HEAD", + "path": "/v2/lbaas/pools/{id}", + "operation_id": "pool_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "octavia", + "method": "HEAD", + "path": "/v2/lbaas/healthmonitors", + "operation_id": "healthmonitor_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "octavia", + "method": "HEAD", + "path": "/v2/lbaas/healthmonitors/{id}", + "operation_id": "healthmonitor_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "octavia", + "method": "HEAD", + "path": "/v2/lbaas/flavors", + "operation_id": "flavor_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "octavia", + "method": "HEAD", + "path": "/v2/lbaas/flavors/{id}", + "operation_id": "flavor_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "octavia", + "method": "HEAD", + "path": "/v2/lbaas/quotas", + "operation_id": "quota_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "octavia", + "method": "HEAD", + "path": "/v2/lbaas/quotas/{id}", + "operation_id": "quota_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "octavia", + "method": "HEAD", + "path": "/v2/lbaas/pools/{pool_id}/members", + "operation_id": "member_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "octavia", + "method": "HEAD", + "path": "/v2/lbaas/pools/{pool_id}/members/{id}", + "operation_id": "member_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "placement", + "method": "HEAD", + "path": "/", + "operation_id": "placement_root__head", + "status": 405, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "placement", + "method": "HEAD", + "path": "/resource_providers", + "operation_id": "resource_provider_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "placement", + "method": "HEAD", + "path": "/resource_providers/{id}", + "operation_id": "resource_provider_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "placement", + "method": "HEAD", + "path": "/resource_classes", + "operation_id": "resource_class_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "placement", + "method": "HEAD", + "path": "/resource_classes/{id}", + "operation_id": "resource_class_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "placement", + "method": "HEAD", + "path": "/traits", + "operation_id": "trait_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "placement", + "method": "HEAD", + "path": "/traits/{id}", + "operation_id": "trait_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "placement", + "method": "HEAD", + "path": "/allocations/{consumer_uuid}", + "operation_id": "allocation_show__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "placement", + "method": "HEAD", + "path": "/allocation_candidates", + "operation_id": "allocation_candidates__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "placement", + "method": "HEAD", + "path": "/usages", + "operation_id": "usages__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "placement", + "method": "HEAD", + "path": "/resource_providers/{id}/inventories", + "operation_id": "rp_inventories__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "placement", + "method": "HEAD", + "path": "/resource_providers/{id}/aggregates", + "operation_id": "rp_aggregates__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "placement", + "method": "HEAD", + "path": "/resource_providers/{id}/traits", + "operation_id": "rp_traits__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "placement", + "method": "HEAD", + "path": "/resource_providers/{id}/usages", + "operation_id": "rp_usages__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "placement", + "method": "HEAD", + "path": "/resource_providers/{id}/allocations", + "operation_id": "rp_allocations__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "swift", + "method": "HEAD", + "path": "/info", + "operation_id": "swift_info__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "swift", + "method": "HEAD", + "path": "/v1/{account}", + "operation_id": "swift_account_get__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "swift", + "method": "HEAD", + "path": "/v1/{account}/{container}", + "operation_id": "swift_container_get__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "swift", + "method": "HEAD", + "path": "/v1/{account}/{container}/{object}", + "operation_id": "swift_object_get__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "tacker", + "method": "HEAD", + "path": "/v1.0/vnfs", + "operation_id": "vnf_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "tacker", + "method": "HEAD", + "path": "/v1.0/vnfs/{id}", + "operation_id": "vnf_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "tacker", + "method": "HEAD", + "path": "/v1.0/vnfds", + "operation_id": "vnfd_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "tacker", + "method": "HEAD", + "path": "/v1.0/vnfds/{id}", + "operation_id": "vnfd_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "tacker", + "method": "HEAD", + "path": "/v1.0/vims", + "operation_id": "vim_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "tacker", + "method": "HEAD", + "path": "/v1.0/vims/{id}", + "operation_id": "vim_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "trove", + "method": "HEAD", + "path": "/v1.0", + "operation_id": "trove_versions__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "trove", + "method": "HEAD", + "path": "/v1.0/instances", + "operation_id": "instance_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "trove", + "method": "HEAD", + "path": "/v1.0/instances/{id}", + "operation_id": "instance_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "trove", + "method": "HEAD", + "path": "/v1.0/datastores", + "operation_id": "datastore_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "trove", + "method": "HEAD", + "path": "/v1.0/datastores/{id}", + "operation_id": "datastore_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "trove", + "method": "HEAD", + "path": "/v1.0/backups", + "operation_id": "backup_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "trove", + "method": "HEAD", + "path": "/v1.0/backups/{id}", + "operation_id": "backup_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "trove", + "method": "HEAD", + "path": "/v1.0/configurations", + "operation_id": "configuration_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "trove", + "method": "HEAD", + "path": "/v1.0/configurations/{id}", + "operation_id": "configuration_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "trove", + "method": "HEAD", + "path": "/v1.0/clusters", + "operation_id": "cluster_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "trove", + "method": "HEAD", + "path": "/v1.0/clusters/{id}", + "operation_id": "cluster_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "vitrage", + "method": "HEAD", + "path": "/v1/topology", + "operation_id": "topology_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "vitrage", + "method": "HEAD", + "path": "/v1/topology/{id}", + "operation_id": "topology_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "vitrage", + "method": "HEAD", + "path": "/v1/alarm", + "operation_id": "alarm_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "vitrage", + "method": "HEAD", + "path": "/v1/alarm/{id}", + "operation_id": "alarm_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "vitrage", + "method": "HEAD", + "path": "/v1/resources", + "operation_id": "resource_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "vitrage", + "method": "HEAD", + "path": "/v1/resources/{id}", + "operation_id": "resource_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "vitrage", + "method": "HEAD", + "path": "/v1/template", + "operation_id": "template_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "vitrage", + "method": "HEAD", + "path": "/v1/template/{id}", + "operation_id": "template_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "vitrage", + "method": "HEAD", + "path": "/v1/event", + "operation_id": "event_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "vitrage", + "method": "HEAD", + "path": "/v1/event/{id}", + "operation_id": "event_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "watcher", + "method": "HEAD", + "path": "/v1", + "operation_id": "watcher_versions__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "watcher", + "method": "HEAD", + "path": "/v1/actions", + "operation_id": "action_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "watcher", + "method": "HEAD", + "path": "/v1/actions/{id}", + "operation_id": "action_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "watcher", + "method": "HEAD", + "path": "/v1/goals", + "operation_id": "goal_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "watcher", + "method": "HEAD", + "path": "/v1/goals/{id}", + "operation_id": "goal_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "watcher", + "method": "HEAD", + "path": "/v1/strategies", + "operation_id": "strategy_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "watcher", + "method": "HEAD", + "path": "/v1/strategies/{id}", + "operation_id": "strategy_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "watcher", + "method": "HEAD", + "path": "/v1/services", + "operation_id": "service_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "watcher", + "method": "HEAD", + "path": "/v1/services/{id}", + "operation_id": "service_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "zaqar", + "method": "HEAD", + "path": "/v2", + "operation_id": "zaqar_versions__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "zun", + "method": "HEAD", + "path": "/v1", + "operation_id": "zun_versions__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "zun", + "method": "HEAD", + "path": "/v1/containers", + "operation_id": "container_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "zun", + "method": "HEAD", + "path": "/v1/containers/{id}", + "operation_id": "container_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "zun", + "method": "HEAD", + "path": "/v1/images", + "operation_id": "image_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "zun", + "method": "HEAD", + "path": "/v1/images/{id}", + "operation_id": "image_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "zun", + "method": "HEAD", + "path": "/v1/hosts", + "operation_id": "host_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "zun", + "method": "HEAD", + "path": "/v1/hosts/{id}", + "operation_id": "host_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false + }, + { + "service": "zun", + "method": "HEAD", + "path": "/v1/services", + "operation_id": "service_list__head", + "status": 200, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": true + }, + { + "service": "zun", + "method": "HEAD", + "path": "/v1/services/{id}", + "operation_id": "service_show__head", + "status": 404, + "detail": "", + "mode": "head", + "ok": true, + "succeeded": false } ], "failures": [] diff --git a/pulumi-tests/reports/summary.json b/pulumi-tests/reports/summary.json index 780d25c..9f7dc5c 100644 --- a/pulumi-tests/reports/summary.json +++ b/pulumi-tests/reports/summary.json @@ -2,8 +2,14 @@ "series_count": 4, "pulumi_ok": 4, "pulumi_fail": 0, - "http_ok": 4721, + "http_ok": 6514, "http_fail": 0, + "http_critical": 0, + "http_declared": 4721, + "http_head": 1793, + "http_total": 6514, + "http_expected": 6514, "coverage_incomplete": 0, - "collections_only": false + "collections_only": false, + "definition": "100% = HTTP contract matrix (pack ops + synthetic HEAD), not pulumi_openstack resource count" } diff --git a/pyproject.toml b/pyproject.toml index cf8852f..842639a 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -49,6 +49,8 @@ select = ["E", "F", "I", "UP", "B", "ASYNC", "S", "RUF"] [tool.ruff.lint.per-file-ignores] "tests/**/*.py" = ["S101", "S105"] +"tools/os_api_inventory/request_body_catalog.py" = ["E501"] +"tools/os_api_inventory/import_openapi_bodies.py" = ["S310"] [tool.mypy] python_version = "3.13" diff --git a/tests/openstack/conformance/test_specialized_lifecycle.py b/tests/openstack/conformance/test_specialized_lifecycle.py new file mode 100644 index 0000000..756e8af --- /dev/null +++ b/tests/openstack/conformance/test_specialized_lifecycle.py @@ -0,0 +1,562 @@ +"""Specialized IaaS handlers: auth, CRUD read-after-write, Nova actions. + +Runs against a live api-gateway after minimal/demo seed. Prefers real service +ports when reachable; falls back to Keystone gateway + X-OpenStack-Route-Service. +""" + +from __future__ import annotations + +import json +import os +import urllib.error +import urllib.request +import uuid +from typing import Any + +import pytest + +pytestmark = pytest.mark.integration + + +def _probe(url: str, timeout: float = 2.0) -> bool: + try: + with urllib.request.urlopen(url, timeout=timeout) as res: + return res.status == 200 + except Exception: + return False + + +def _pick_keystone() -> str: + candidates = [ + os.environ.get("OS_PROBE_HOST"), + os.environ.get("OS_HOST"), + "http://127.0.0.1:15000", + "http://127.0.0.1:5000", + "http://api-gateway:5000", + "http://localhost:5000", + ] + for host in candidates: + if not host: + continue + base = host.rstrip("/") + if _probe(f"{base}/health/live") or _probe(f"{base}/v3"): + return base + return "" + + +KEYSTONE = _pick_keystone() + +# Real OpenStack default ports (compose publishes 1:1; local override keeps them). +_PORTS = { + "keystone": 5000, + "nova": 8774, + "neutron": 9696, + "glance": 9292, + "cinder": 8776, + "placement": 8003, + "heat": 8004, + "swift": 8080, + "ironic": 6385, + "octavia": 9876, +} + + +def _service_base(service: str) -> tuple[str, str | None]: + """Return (base_url, route_service_header_or_None).""" + + if service == "keystone": + return KEYSTONE, None + port = _PORTS[service] + candidates = [port] + if service == "swift": + # Local override often maps Swift to host 18080. + candidates = [18080, 8080] + for p in candidates: + base = f"http://127.0.0.1:{p}" + # Any HTTP response (incl. 401/404) means the port is published. + try: + urllib.request.urlopen(base + "/", timeout=1) + return base, None + except urllib.error.HTTPError: + return base, None + except Exception: + continue + return KEYSTONE, service + + +@pytest.fixture(scope="module", autouse=True) +def _require_gateway(): + if not KEYSTONE: + pytest.skip("OpenStack gateway unreachable") + + +def _request( + method: str, + service: str, + path: str, + *, + token: str | None = None, + data: dict[str, Any] | None = None, + headers: dict[str, str] | None = None, + raw_body: bytes | None = None, +) -> tuple[int, dict[str, str], Any]: + base, route_svc = _service_base(service) + body = raw_body + hdrs = {"Accept": "application/json"} + if data is not None: + hdrs["Content-Type"] = "application/json" + body = json.dumps(data).encode() + if token: + hdrs["X-Auth-Token"] = token + if route_svc: + hdrs["X-OpenStack-Route-Service"] = route_svc + if headers: + hdrs.update(headers) + req = urllib.request.Request(f"{base}{path}", data=body, headers=hdrs, method=method) + try: + with urllib.request.urlopen(req, timeout=30) as res: + raw = res.read().decode() + try: + parsed: Any = json.loads(raw) if raw else None + except json.JSONDecodeError: + parsed = raw + return res.status, {k: v for k, v in res.headers.items()}, parsed + except urllib.error.HTTPError as exc: + raw = exc.read().decode() + try: + parsed = json.loads(raw) if raw else None + except json.JSONDecodeError: + parsed = raw + return exc.code, {k: v for k, v in exc.headers.items()}, parsed + + +def _auth( + *, + user: str = "demo", + project: str = "demo", + password: str = "secret", +) -> tuple[str, str, dict[str, Any]]: + status, headers, body = _request( + "POST", + "keystone", + "/v3/auth/tokens", + data={ + "auth": { + "identity": { + "methods": ["password"], + "password": { + "user": { + "name": user, + "domain": {"name": "Default"}, + "password": password, + } + }, + }, + "scope": {"project": {"name": project, "domain": {"name": "Default"}}}, + } + }, + ) + token = headers.get("X-Subject-Token") or headers.get("x-subject-token") + assert status == 201, (status, body) + assert token + project = ((body or {}).get("token") or {}).get("project") or {} + project_id = str(project.get("id") or "") + assert project_id + return token, project_id, body or {} + + +@pytest.fixture(scope="module") +def auth_ctx() -> tuple[str, str, dict[str, Any]]: + return _auth() + + +def test_keystone_token_catalog_ports(auth_ctx: tuple[str, str, dict[str, Any]]) -> None: + _token, _pid, body = auth_ctx + catalog = (body.get("token") or {}).get("catalog") or [] + by_type = {e.get("type"): e for e in catalog if isinstance(e, dict)} + expected = { + "identity": ":5000", + "compute": ":8774", + "network": ":9696", + "image": ":9292", + "volumev3": ":8776", + "placement": ":8003", + "orchestration": ":8004", + "object-store": ":8080", + "baremetal": ":6385", + "load-balancer": ":9876", + } + for typ, port_frag in expected.items(): + entry = by_type.get(typ) + assert entry, f"missing catalog type {typ}" + urls = [ + ep.get("url") or "" + for ep in entry.get("endpoints") or [] + if ep.get("interface") == "public" + ] + assert any(port_frag in u for u in urls), (typ, urls) + + +def test_specialized_lists_nonempty_after_seed(auth_ctx: tuple[str, str, dict[str, Any]]) -> None: + token, pid, _ = auth_ctx + checks = [ + ("nova", "/v2.1/servers/detail", "servers", {"OpenStack-API-Version": "compute 2.79"}), + ("nova", "/v2.1/flavors", "flavors", None), + ("neutron", "/v2.0/networks", "networks", None), + ("neutron", "/v2.0/subnets", "subnets", None), + ("neutron", "/v2.0/floatingips", "floatingips", None), + ("glance", "/v2/images", "images", None), + ("cinder", "/v3/volumes/detail", "volumes", None), + ( + "placement", + "/resource_providers", + "resource_providers", + {"OpenStack-API-Version": "placement 1.39"}, + ), + ("heat", f"/v1/{pid}/stacks", "stacks", None), + ("octavia", "/v2/lbaas/loadbalancers", "loadbalancers", None), + ("ironic", "/v1/nodes", "nodes", {"OpenStack-API-Version": "baremetal 1.90"}), + ] + for service, path, key, hdrs in checks: + status, _, body = _request("GET", service, path, token=token, headers=hdrs) + assert status == 200, (service, path, status, body) + items = (body or {}).get(key) + assert isinstance(items, list) and len(items) >= 1, (service, path, key, body) + + status, _, body = _request("GET", "swift", f"/v1/AUTH_{pid}", token=token) + assert status == 200 + assert isinstance(body, list) and len(body) >= 1 + + +def test_nova_server_crud_and_actions(auth_ctx: tuple[str, str, dict[str, Any]]) -> None: + token, _pid, _ = auth_ctx + mv = {"OpenStack-API-Version": "compute 2.79"} + st, _, flavors = _request("GET", "nova", "/v2.1/flavors", token=token) + st, _, images = _request("GET", "glance", "/v2/images", token=token) + st, _, nets = _request("GET", "neutron", "/v2.0/networks", token=token) + flavor = (flavors or {}).get("flavors") or [{}] + image = (images or {}).get("images") or [{}] + networks = (nets or {}).get("networks") or [{}] + # Prefer tenant demo-net over shared public for boot. + net = next((n for n in networks if n.get("name") == "demo-net"), networks[0]) + name = f"lc-{uuid.uuid4().hex[:8]}" + st, _, created = _request( + "POST", + "nova", + "/v2.1/servers", + token=token, + headers=mv, + data={ + "server": { + "name": name, + "flavorRef": flavor[0]["id"], + "imageRef": image[0]["id"], + "networks": [{"uuid": net["id"]}], + } + }, + ) + assert st == 202, created + sid = (created or {}).get("server", {}).get("id") + assert sid + st, _, shown = _request("GET", "nova", f"/v2.1/servers/{sid}", token=token, headers=mv) + assert st == 200 + assert shown["server"]["name"] == name + + st, _, _ = _request( + "PUT", + "nova", + f"/v2.1/servers/{sid}", + token=token, + headers=mv, + data={"server": {"name": f"{name}-ren"}}, + ) + assert st == 200 + + for action, expect in ( + ({"os-stop": None}, "SHUTOFF"), + ({"os-start": None}, "ACTIVE"), + ({"reboot": {"type": "SOFT"}}, "ACTIVE"), + ({"suspend": None}, "SUSPENDED"), + ({"resume": None}, "ACTIVE"), + ({"pause": None}, "PAUSED"), + ({"unpause": None}, "ACTIVE"), + ({"shelve": None}, "SHELVED"), + ({"shelveOffload": None}, "SHELVED_OFFLOADED"), + ({"unshelve": None}, "ACTIVE"), + ): + st, _, _ = _request( + "POST", + "nova", + f"/v2.1/servers/{sid}/action", + token=token, + headers=mv, + data=action, + ) + assert st == 202, action + st, _, shown = _request("GET", "nova", f"/v2.1/servers/{sid}", token=token, headers=mv) + assert shown["server"]["status"] == expect, (action, shown["server"]["status"]) + + st, _, _ = _request("DELETE", "nova", f"/v2.1/servers/{sid}", token=token, headers=mv) + assert st == 204 + st, _, _ = _request("GET", "nova", f"/v2.1/servers/{sid}", token=token, headers=mv) + assert st == 404 + + +def test_neutron_network_subnet_port_fip_crud( + auth_ctx: tuple[str, str, dict[str, Any]], +) -> None: + token, _pid, _ = auth_ctx + tag = uuid.uuid4().hex[:8] + st, _, created = _request( + "POST", + "neutron", + "/v2.0/networks", + token=token, + data={"network": {"name": f"n-{tag}", "admin_state_up": True}}, + ) + assert st == 201 + nid = created["network"]["id"] + st, _, sub = _request( + "POST", + "neutron", + "/v2.0/subnets", + token=token, + data={ + "subnet": { + "name": f"s-{tag}", + "network_id": nid, + "cidr": "10.210.0.0/24", + "ip_version": 4, + } + }, + ) + assert st == 201 + sid = sub["subnet"]["id"] + st, _, port = _request( + "POST", + "neutron", + "/v2.0/ports", + token=token, + data={"port": {"name": f"p-{tag}", "network_id": nid}}, + ) + assert st == 201 + pid = port["port"]["id"] + + st, _, nets = _request("GET", "neutron", "/v2.0/networks", token=token) + assert any(n.get("id") == nid for n in nets.get("networks") or []) + public = next(n for n in nets["networks"] if n.get("name") == "public") + assert public.get("router:external") is True + + st, _, fip = _request( + "POST", + "neutron", + "/v2.0/floatingips", + token=token, + data={"floatingip": {"floating_network_id": public["id"]}}, + ) + assert st == 201 + fid = fip["floatingip"]["id"] + st, _, shown = _request("GET", "neutron", f"/v2.0/floatingips/{fid}", token=token) + assert st == 200 + assert shown["floatingip"]["id"] == fid + + st, _, _ = _request("DELETE", "neutron", f"/v2.0/floatingips/{fid}", token=token) + assert st == 204 + st, _, _ = _request("DELETE", "neutron", f"/v2.0/ports/{pid}", token=token) + assert st == 204 + st, _, _ = _request("DELETE", "neutron", f"/v2.0/subnets/{sid}", token=token) + assert st == 204 + st, _, _ = _request("DELETE", "neutron", f"/v2.0/networks/{nid}", token=token) + assert st == 204 + st, _, _ = _request("GET", "neutron", f"/v2.0/networks/{nid}", token=token) + assert st == 404 + + +def test_glance_cinder_heat_octavia_ironic_swift_crud( + auth_ctx: tuple[str, str, dict[str, Any]], +) -> None: + token, project_id, _ = auth_ctx + tag = uuid.uuid4().hex[:8] + + st, _, img = _request( + "POST", + "glance", + "/v2/images", + token=token, + data={"name": f"img-{tag}", "container_format": "bare", "disk_format": "qcow2"}, + ) + assert st == 201 + iid = img["id"] + st, _, shown = _request("GET", "glance", f"/v2/images/{iid}", token=token) + assert st == 200 and shown["id"] == iid + st, _, _ = _request("DELETE", "glance", f"/v2/images/{iid}", token=token) + assert st == 204 + + st, _, vol = _request( + "POST", + "cinder", + "/v3/volumes", + token=token, + data={"volume": {"size": 1, "name": f"vol-{tag}"}}, + ) + assert st == 202 + vid = vol["volume"]["id"] + st, _, shown = _request("GET", "cinder", f"/v3/volumes/{vid}", token=token) + assert st == 200 and shown["volume"]["id"] == vid + st, _, _ = _request( + "PUT", + "cinder", + f"/v3/volumes/{vid}", + token=token, + data={"volume": {"name": f"vol-{tag}-ren", "description": "lc"}}, + ) + assert st == 200 + st, _, _ = _request("DELETE", "cinder", f"/v3/volumes/{vid}", token=token) + assert st == 202 + st, _, _ = _request("GET", "cinder", f"/v3/volumes/{vid}", token=token) + assert st == 404 + + st, _, stack = _request( + "POST", + "heat", + f"/v1/{project_id}/stacks", + token=token, + data={ + "stack_name": f"stk-{tag}", + "template": {"heat_template_version": "2015-04-30", "resources": {}}, + }, + ) + assert st == 201 + sid = stack["stack"]["id"] + sname = stack["stack"]["stack_name"] + st, _, _ = _request( + "PUT", + "heat", + f"/v1/{project_id}/stacks/{sname}/{sid}", + token=token, + data={ + "template": { + "heat_template_version": "2015-04-30", + "description": "upd", + "resources": {}, + }, + "description": "updated", + }, + ) + assert st == 200 + st, _, shown = _request("GET", "heat", f"/v1/{project_id}/stacks/{sname}/{sid}", token=token) + assert st == 200 + assert shown["stack"]["stack_status"] == "UPDATE_COMPLETE" + st, _, _ = _request("DELETE", "heat", f"/v1/{project_id}/stacks/{sname}/{sid}", token=token) + assert st == 204 + + st, _, subs = _request("GET", "neutron", "/v2.0/subnets", token=token) + sub_id = (subs.get("subnets") or [{}])[0].get("id") + assert sub_id + st, _, lb = _request( + "POST", + "octavia", + "/v2/lbaas/loadbalancers", + token=token, + data={"loadbalancer": {"name": f"lb-{tag}", "vip_subnet_id": sub_id}}, + ) + assert st == 201 + lbid = lb["loadbalancer"]["id"] + st, _, _ = _request( + "PUT", + "octavia", + f"/v2/lbaas/loadbalancers/{lbid}", + token=token, + data={"loadbalancer": {"name": f"lb-{tag}-ren"}}, + ) + assert st == 200 + st, _, _ = _request("DELETE", "octavia", f"/v2/lbaas/loadbalancers/{lbid}", token=token) + assert st == 204 + st, _, _ = _request("GET", "octavia", f"/v2/lbaas/loadbalancers/{lbid}", token=token) + assert st == 404 + + st, _, node = _request( + "POST", + "ironic", + "/v1/nodes", + token=token, + headers={"OpenStack-API-Version": "baremetal 1.90"}, + data={"name": f"node-{tag}", "driver": "ipmi"}, + ) + assert st == 201 + nuid = node["uuid"] + st, _, _ = _request( + "PUT", + "ironic", + f"/v1/nodes/{nuid}/states/power", + token=token, + headers={"OpenStack-API-Version": "baremetal 1.90"}, + data={"target": "power on"}, + ) + assert st == 202 + st, _, shown = _request( + "GET", + "ironic", + f"/v1/nodes/{nuid}", + token=token, + headers={"OpenStack-API-Version": "baremetal 1.90"}, + ) + assert shown.get("power_state") == "power on" + st, _, _ = _request( + "DELETE", + "ironic", + f"/v1/nodes/{nuid}", + token=token, + headers={"OpenStack-API-Version": "baremetal 1.90"}, + ) + assert st == 204 + + acct = f"AUTH_{project_id}" + cname = f"c-{tag}" + st, _, _ = _request("PUT", "swift", f"/v1/{acct}/{cname}", token=token) + assert st == 201 + st, _, _ = _request( + "PUT", + "swift", + f"/v1/{acct}/{cname}/hello.txt", + token=token, + headers={"Content-Type": "text/plain"}, + raw_body=b"hello", + ) + assert st == 201 + st, _, obj = _request("GET", "swift", f"/v1/{acct}/{cname}/hello.txt", token=token) + assert st == 200 + st, _, _ = _request("DELETE", "swift", f"/v1/{acct}/{cname}/hello.txt", token=token) + assert st == 204 + st, _, _ = _request("DELETE", "swift", f"/v1/{acct}/{cname}", token=token) + assert st == 204 + st, _, containers = _request("GET", "swift", f"/v1/{acct}", token=token) + assert st == 200 + assert not any(c.get("name") == cname for c in containers or []) + + +def test_project_scoped_token_required_for_nova() -> None: + status, headers, body = _request( + "POST", + "keystone", + "/v3/auth/tokens", + data={ + "auth": { + "identity": { + "methods": ["password"], + "password": { + "user": { + "name": "demo", + "domain": {"name": "Default"}, + "password": "secret", + } + }, + } + } + }, + ) + token = headers.get("X-Subject-Token") or headers.get("x-subject-token") + assert status == 201 and token + st, _, err = _request("GET", "nova", "/v2.1/servers", token=token) + assert st in {401, 403} + assert isinstance(err, dict) diff --git a/tests/openstack/test_demo_cloud.py b/tests/openstack/test_demo_cloud.py index 1a87e54..f64aeea 100644 --- a/tests/openstack/test_demo_cloud.py +++ b/tests/openstack/test_demo_cloud.py @@ -8,10 +8,13 @@ import asyncpg import pytest from app.openstack.demo_cloud import ( + DEMO_CLUSTER_SIZES, DEMO_PROFILE, - DEMO_SERVER_COUNT, clear_openstack_state, + demo_profile_name, + is_demo_profile, openstack_demo_summary, + resolve_demo_size, seed_openstack_demo, ) from app.openstack.seed import seed_openstack @@ -41,15 +44,35 @@ async def conn(): await connection.close() +def test_resolve_demo_sizes() -> None: + small = resolve_demo_size("small") + large = resolve_demo_size("demo") + big = resolve_demo_size("big") + assert small.hypervisors == 3 and small.servers == 50 + assert large.hypervisors == 10 and large.servers == 1000 + assert big.hypervisors == 20 and big.servers == 2000 + assert big.volumes == large.volumes * 2 + assert small.extra_networks < large.extra_networks < big.extra_networks + assert small.keypairs_per_user < large.keypairs_per_user < big.keypairs_per_user + assert is_demo_profile(demo_profile_name("large")) + assert is_demo_profile(DEMO_PROFILE) + assert not is_demo_profile("minimal") + assert {cfg.name for cfg in DEMO_CLUSTER_SIZES.values()} == {"small", "large", "big"} + + async def test_demo_seed_roundtrip(conn: asyncpg.Connection) -> None: - await seed_openstack_demo(conn) + # Prefer small for CI speed; still exercises full topology. + await seed_openstack_demo(conn, size="small") summary = await openstack_demo_summary(conn) + small = DEMO_CLUSTER_SIZES["small"] assert summary["loaded"] is True - assert summary["servers"] == DEMO_SERVER_COUNT - assert summary["hypervisors"] == 16 + assert summary["servers"] == small.servers + assert summary["hypervisors"] == small.hypervisors + assert summary["volumes"] == small.volumes + assert summary["size"] == "small" + assert summary["profile"] == demo_profile_name("small") assert summary["projects"] == 5 - assert summary["volumes"] == 600 - assert summary["profile"] == DEMO_PROFILE + assert len(summary["sizes"]) == 3 await clear_openstack_state(conn) result = await seed_openstack(conn) @@ -59,8 +82,10 @@ async def test_demo_seed_roundtrip(conn: asyncpg.Connection) -> None: assert summary["servers"] == 1 assert summary["profile"] == "minimal" - # Restore demo so a shared lab DB stays usable after the test. - await seed_openstack_demo(conn) + # Restore large so a shared lab DB stays usable after the test. + await seed_openstack_demo(conn, size="large") summary = await openstack_demo_summary(conn) + large = DEMO_CLUSTER_SIZES["large"] assert summary["loaded"] is True - assert summary["servers"] == DEMO_SERVER_COUNT + assert summary["servers"] == large.servers + assert summary["hypervisors"] == large.hypervisors diff --git a/tests/unit/test_request_bodies.py b/tests/unit/test_request_bodies.py new file mode 100644 index 0000000..1fd8454 --- /dev/null +++ b/tests/unit/test_request_bodies.py @@ -0,0 +1,136 @@ +"""Request-body schema store and coverage tests.""" + +from __future__ import annotations + +from app.openstack.contract_loader import load_series_pack +from app.openstack.request_bodies import clear_request_body_cache, missing_write_schemas +from app.openstack.request_examples import ( + body_fields_from_example, + flatten_schema_fields, + schema_example, + unflatten_body, +) +from app.openstack.singular import singular +from app.web.openstack_catalog import openstack_method_payload + + +def test_singular_status_not_statu() -> None: + assert singular("status") == "status" + assert singular("statuses") == "status" + assert singular("networks") == "network" + assert singular("addresses") == "address" + + +def test_all_series_write_ops_have_request_schemas() -> None: + clear_request_body_cache() + for series in ("yoga", "antelope", "caracal", "dalmatian"): + packs = load_series_pack(series) + missing = missing_write_schemas(packs) + assert missing == [], f"{series} missing schemas: {missing[:10]}" + + +def test_vim_create_catalog_has_api_ref_fields() -> None: + clear_request_body_cache() + payload = openstack_method_payload( + major=9, + path="/v1.0/vims", + verb="POST", + runtime_version="openstack-dalmatian", + ) + names = {field["name"] for field in payload["body_fields"]} + assert "vim.type" in names + assert "vim.auth_url" in names + assert "vim.auth_cred.username" in names + assert "vim.vim_project.name" in names + example = payload["body_example"] + assert example["vim"]["type"] == "openstack" + assert "auth_cred" in example["vim"] + assert example["vim"]["name"] == "example" + + +def test_status_create_uses_status_envelope() -> None: + clear_request_body_cache() + payload = openstack_method_payload( + major=9, + path="/v1/status", + verb="POST", + runtime_version="openstack-dalmatian", + ) + assert "status" in payload["body_example"] + assert "statu" not in payload["body_example"] + names = {field["name"] for field in payload["body_fields"]} + assert "status.service" in names or "status.status" in names + + +def test_server_create_expands_nested_network_fields() -> None: + clear_request_body_cache() + payload = openstack_method_payload( + major=9, + path="/v2.1/servers", + verb="POST", + runtime_version="openstack-dalmatian", + ) + example = payload["body_example"] + assert "server" in example + assert "flavorRef" in example["server"] + names = {field["name"] for field in payload["body_fields"]} + assert "server.flavorRef" in names + # Nested array object leaves from body_example (not a single JSON blob). + assert "server.networks.0.uuid" in names or "server.networks" in names + + +def test_body_fields_from_example_walks_nested_leaves() -> None: + fields = body_fields_from_example( + { + "vim": { + "name": "example", + "auth_cred": {"username": "admin", "password": "secret"}, + "tags": ["a", "b"], + } + } + ) + names = {f["name"] for f in fields} + assert "vim.name" in names + assert "vim.auth_cred.username" in names + assert "vim.auth_cred.password" in names + assert "vim.tags.0" in names + assert "vim.tags.1" in names + + +def test_flatten_and_unflatten_roundtrip() -> None: + schema = { + "type": "object", + "required": ["vim"], + "properties": { + "vim": { + "type": "object", + "required": ["name", "type"], + "properties": { + "name": {"type": "string", "example": "example"}, + "type": {"type": "string", "example": "openstack"}, + "auth_cred": { + "type": "object", + "properties": { + "username": {"type": "string", "example": "admin"}, + }, + }, + }, + } + }, + } + fields = flatten_schema_fields(schema) + names = [f["name"] for f in fields] + assert "vim.name" in names + assert "vim.auth_cred.username" in names + example = schema_example(schema) + assert example["vim"]["name"] == "example" + nested = unflatten_body( + { + "vim.name": "example", + "vim.type": "openstack", + "vim.auth_cred.username": "admin", + } + ) + assert nested == { + "vim": {"name": "example", "type": "openstack", "auth_cred": {"username": "admin"}} + } diff --git a/tests/unit/test_web_openstack_catalog.py b/tests/unit/test_web_openstack_catalog.py new file mode 100644 index 0000000..a6d83bb --- /dev/null +++ b/tests/unit/test_web_openstack_catalog.py @@ -0,0 +1,34 @@ +"""OpenStack UI catalog payload tests.""" + +from app.openstack.request_bodies import clear_request_body_cache +from app.web.openstack_catalog import openstack_method_payload + + +def test_collection_create_body_uses_request_schema() -> None: + clear_request_body_cache() + payload = openstack_method_payload( + major=9, + path="/v1/status", + verb="POST", + runtime_version="openstack-dalmatian", + ) + assert payload["service"] == "adjutant" + assert payload["body_fields"] + assert payload["body_example"] + # Must not be the old stub-only envelope. + assert payload["body_example"] != {"statu": {"name": "example"}} + assert "status" in payload["body_example"] + + +def test_action_body_example_uses_action_name() -> None: + clear_request_body_cache() + payload = openstack_method_payload( + major=9, + path="/v2.1/servers/{id}/action", + verb="POST", + runtime_version="openstack-dalmatian", + ) + assert payload["body_fields"] + assert payload["body_example"] + # Wildcard server actions default to os-start in the schema catalog. + assert "os-start" in payload["body_example"] diff --git a/tools/os_api_inventory/catalog.py b/tools/os_api_inventory/catalog.py index a5dac72..9a8adf6 100644 --- a/tools/os_api_inventory/catalog.py +++ b/tools/os_api_inventory/catalog.py @@ -60,9 +60,9 @@ def _crud( ) -> list[dict[str, Any]]: """Expand a resource into list/detail/create/show/update/delete + actions/nested.""" - singular = key[:-1] if key.endswith("s") and not key.endswith("ss") else key - if key.endswith("ies"): - singular = key[:-3] + "y" + from app.openstack.singular import singular as _singularize + + singular = _singularize(key) ops: list[dict[str, Any]] = [ { "operation_id": f"{resource}_list", diff --git a/tools/os_api_inventory/generate_request_bodies.py b/tools/os_api_inventory/generate_request_bodies.py new file mode 100644 index 0000000..2e5e26d --- /dev/null +++ b/tools/os_api_inventory/generate_request_bodies.py @@ -0,0 +1,113 @@ +#!/usr/bin/env python3 +"""Generate contracts/openstack/request_bodies/*.json for all pack write ops.""" + +from __future__ import annotations + +import argparse +import json +import sys +from collections import defaultdict +from pathlib import Path + +ROOT = Path(__file__).resolve().parents[2] +sys.path.insert(0, str(ROOT)) +sys.path.insert(0, str(ROOT / "tools")) + +from os_api_inventory.request_body_catalog import schema_for_operation # noqa: E402 + +SERIES_DEFAULT = "dalmatian" +OUT_DIR = ROOT / "contracts" / "openstack" / "request_bodies" + + +def _load_ops(series: str) -> dict[str, list[dict]]: + series_dir = ROOT / "contracts" / "openstack" / series + by_service: dict[str, list[dict]] = {} + for api in sorted(series_dir.glob("*/api.json")): + data = json.loads(api.read_text()) + service = str(data["service"]) + writes = [ + op + for op in data.get("operations") or [] + if op.get("method") in {"POST", "PUT", "PATCH"} + ] + by_service[service] = writes + return by_service + + +def generate(series: str, out_dir: Path) -> dict[str, int]: + out_dir.mkdir(parents=True, exist_ok=True) + counts: dict[str, int] = {} + # Merge ops across series for max coverage of operation_ids. + merged: dict[str, dict[str, dict]] = defaultdict(dict) + for series_name in ("yoga", "antelope", "caracal", "dalmatian"): + if series and series != "all" and series_name != series: + continue + for service, ops in _load_ops(series_name).items(): + for op in ops: + oid = op["operation_id"] + path_key = f"{op['method']} {op['path']}" + merged[service][oid] = op + # also keep path index later + _ = path_key + + for service, by_oid in sorted(merged.items()): + operations: dict[str, dict] = {} + by_path: dict[str, dict] = {} + for oid, op in sorted(by_oid.items()): + schema = schema_for_operation(op) + operations[oid] = schema + by_path[f"{op['method']} {op['path']}"] = schema + payload = { + "service": service, + "source": "generated-from-api-ref-catalog", + "operations": operations, + "by_path": by_path, + } + path = out_dir / f"{service}.json" + path.write_text(json.dumps(payload, indent=2, sort_keys=True) + "\n") + counts[service] = len(operations) + return counts + + +def coverage_report(series: str) -> int: + from app.openstack.contract_loader import load_series_pack + from app.openstack.request_bodies import clear_request_body_cache, missing_write_schemas + + clear_request_body_cache() + packs = load_series_pack(series) + missing = missing_write_schemas(packs) + print(f"series={series} missing={len(missing)}") + for service, method, path, oid in missing[:50]: + print(f" {service} {method} {path} ({oid})") + if len(missing) > 50: + print(f" ... and {len(missing) - 50} more") + return len(missing) + + +def main() -> int: + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument("--series", default="all", help="Series to scan or 'all'") + parser.add_argument("--coverage", action="store_true", help="Report missing schemas only") + parser.add_argument( + "--coverage-series", + default=SERIES_DEFAULT, + help="Series for coverage check (default: dalmatian)", + ) + args = parser.parse_args() + if args.coverage: + missing = coverage_report(args.coverage_series) + return 1 if missing else 0 + series = None if args.series == "all" else args.series + counts = generate(series or "all", OUT_DIR) + total = sum(counts.values()) + print(f"Wrote {len(counts)} services, {total} operation schemas → {OUT_DIR}") + for name, count in sorted(counts.items()): + print(f" {name}: {count}") + if args.series == "all": + # Coverage check requires the project venv (Python 3.13 dataclasses). + print("Run coverage with: python tools/os_api_inventory/generate_request_bodies.py --coverage") + return 0 + + +if __name__ == "__main__": + raise SystemExit(main()) diff --git a/tools/os_api_inventory/import_openapi_bodies.py b/tools/os_api_inventory/import_openapi_bodies.py new file mode 100644 index 0000000..6bf0a88 --- /dev/null +++ b/tools/os_api_inventory/import_openapi_bodies.py @@ -0,0 +1,208 @@ +#!/usr/bin/env python3 +"""Import requestBody schemas from gtema/openstack-openapi into request_bodies/. + +Discovers versioned OpenAPI YAML under ``specs//`` and merges request +schemas into ``contracts/openstack/request_bodies/.json``. +""" + +from __future__ import annotations + +import argparse +import json +import re +import urllib.request +from pathlib import Path +from typing import Any + +ROOT = Path(__file__).resolve().parents[2] +OUT_DIR = ROOT / "contracts" / "openstack" / "request_bodies" + +SERVICE_MAP = { + "compute": "nova", + "network": "neutron", + "identity": "keystone", + "image": "glance", + "block-storage": "cinder", + "load-balancing": "octavia", + "object-store": "swift", + "placement": "placement", +} + +API_CONTENTS = ( + "https://api.github.com/repos/gtema/openstack-openapi/contents/specs/{svc}?ref=main" +) + + +def _load_yaml(text: str) -> dict[str, Any]: + try: + import yaml # type: ignore + except ImportError as exc: # pragma: no cover + raise SystemExit("PyYAML is required: pip install pyyaml") from exc + data = yaml.safe_load(text) + if not isinstance(data, dict): + raise ValueError("OpenAPI root must be a mapping") + return data + + +def _http_json(url: str) -> Any: + req = urllib.request.Request(url, headers={"Accept": "application/vnd.github+json"}) + with urllib.request.urlopen(req, timeout=60) as resp: + return json.loads(resp.read().decode()) + + +def _http_text(url: str, *, attempts: int = 3) -> str: + last_error: Exception | None = None + for attempt in range(1, attempts + 1): + try: + with urllib.request.urlopen(url, timeout=180) as resp: + chunks: list[bytes] = [] + while True: + block = resp.read(1024 * 1024) + if not block: + break + chunks.append(block) + return b"".join(chunks).decode() + except Exception as exc: + last_error = exc + print(f" download attempt {attempt}/{attempts} failed: {exc}") + if last_error is None: + raise RuntimeError("download failed without error") + raise last_error + + +def _pick_spec_url(openapi_name: str) -> str: + entries = _http_json(API_CONTENTS.format(svc=openapi_name)) + yaml_files = [ + item + for item in entries + if item.get("type") == "file" and str(item.get("name", "")).endswith(".yaml") + ] + if not yaml_files: + raise FileNotFoundError(f"No OpenAPI YAML under specs/{openapi_name}") + + def sort_key(item: dict[str, Any]) -> tuple[int, ...]: + name = str(item["name"]) + nums = [int(x) for x in re.findall(r"\d+", name)] + return tuple(nums) if nums else (0,) + + # Prefer the highest versioned file (e.g. v2.96.yaml over v2.yaml). + best = sorted(yaml_files, key=sort_key)[-1] + url = best.get("download_url") + if not url: + raise FileNotFoundError(best) + return str(url) + + +def _resolve_ref(doc: dict[str, Any], node: Any) -> Any: + if not isinstance(node, dict): + return node + ref = node.get("$ref") + if not isinstance(ref, str) or not ref.startswith("#/"): + return {k: _resolve_ref(doc, v) for k, v in node.items() if k != "$ref"} + cursor: Any = doc + for part in ref[2:].split("/"): + part = part.replace("~1", "/").replace("~0", "~") + cursor = cursor[part] + return _resolve_ref(doc, cursor) + + +def _request_schema(doc: dict[str, Any], operation: dict[str, Any]) -> dict[str, Any] | None: + body = operation.get("requestBody") + if not body: + return None + body = _resolve_ref(doc, body) + content = body.get("content") or {} + for key in ("application/json", "application/openstack-images-v2.1-json-patch"): + if key in content: + media = _resolve_ref(doc, content[key]) + schema = media.get("schema") + if schema: + return _resolve_ref(doc, schema) + for media in content.values(): + media = _resolve_ref(doc, media) + schema = media.get("schema") + if schema: + return _resolve_ref(doc, schema) + return None + + +def _normalize_path(path: str) -> str: + parts = [p for p in path.split("/") if p not in {"{project_id}", "{tenant_id}"}] + normalized = "/" + "/".join(p for p in parts if p) + return normalized.replace("//", "/") + + +def import_service(openapi_name: str, pack_name: str) -> int: + url = _pick_spec_url(openapi_name) + print(f"Fetching {url}") + doc = _load_yaml(_http_text(url)) + paths = doc.get("paths") or {} + by_path: dict[str, dict[str, Any]] = {} + for path, item in paths.items(): + if not isinstance(item, dict): + continue + norm = _normalize_path(str(path)) + for method, operation in item.items(): + if method.upper() not in {"POST", "PUT", "PATCH"}: + continue + if not isinstance(operation, dict): + continue + schema = _request_schema(doc, operation) + if not schema: + continue + by_path[f"{method.upper()} {norm}"] = schema + + out_path = OUT_DIR / f"{pack_name}.json" + existing: dict[str, Any] = {"service": pack_name, "operations": {}, "by_path": {}} + if out_path.is_file(): + existing = json.loads(out_path.read_text()) + operations = dict(existing.get("operations") or {}) + existing_by_path = dict(existing.get("by_path") or {}) + # OpenAPI schemas override generated stubs for matching paths. + existing_by_path.update(by_path) + + matched = 0 + pack_api = ROOT / "contracts" / "openstack" / "dalmatian" / pack_name / "api.json" + if pack_api.is_file(): + pack = json.loads(pack_api.read_text()) + for op in pack.get("operations") or []: + if op.get("method") not in {"POST", "PUT", "PATCH"}: + continue + key = f"{op['method']} {op['path']}" + schema = existing_by_path.get(key) + if schema is None: + continue + operations[op["operation_id"]] = schema + matched += 1 + + payload = { + "service": pack_name, + "source": f"openstack-openapi:{openapi_name}", + "operations": operations, + "by_path": existing_by_path, + } + out_path.write_text(json.dumps(payload, indent=2, sort_keys=True) + "\n") + print(f" {pack_name}: openapi_paths={len(by_path)} matched_ops={matched} → {out_path}") + return matched + + +def main() -> int: + parser = argparse.ArgumentParser(description=__doc__) + parser.add_argument( + "--service", + action="append", + choices=sorted(SERVICE_MAP), + help="OpenAPI service dir (repeatable). Default: all Tier-1", + ) + args = parser.parse_args() + selected = args.service or list(SERVICE_MAP) + OUT_DIR.mkdir(parents=True, exist_ok=True) + total = 0 + for openapi_name in selected: + total += import_service(openapi_name, SERVICE_MAP[openapi_name]) + print(f"Done. matched operation schemas: {total}") + return 0 + + +if __name__ == "__main__": + raise SystemExit(main()) diff --git a/tools/os_api_inventory/request_body_catalog.py b/tools/os_api_inventory/request_body_catalog.py new file mode 100644 index 0000000..a8391f1 --- /dev/null +++ b/tools/os_api_inventory/request_body_catalog.py @@ -0,0 +1,1345 @@ +"""JSON Schema fragments for OpenStack request bodies (api-ref style). + +Used by ``generate_request_bodies.py`` to emit +``contracts/openstack/request_bodies/.json`` for every write op. +""" + +from __future__ import annotations + +from copy import deepcopy +from typing import Any + +from app.openstack.singular import singular + +Str = dict[str, Any] + + +def _s( + description: str = "", + *, + enum: list[Any] | None = None, + fmt: str | None = None, + example: Any = None, + default: Any = None, +) -> Str: + out: Str = {"type": "string", "description": description} + if enum is not None: + out["enum"] = enum + if fmt: + out["format"] = fmt + if example is not None: + out["example"] = example + if default is not None: + out["default"] = default + return out + + +def _i(description: str = "", *, minimum: int | None = None, example: int | None = None) -> Str: + out: Str = {"type": "integer", "description": description} + if minimum is not None: + out["minimum"] = minimum + if example is not None: + out["example"] = example + return out + + +def _b(description: str = "", *, default: bool | None = None) -> Str: + out: Str = {"type": "boolean", "description": description} + if default is not None: + out["default"] = default + return out + + +def _o(properties: dict[str, Str], required: list[str] | None = None, description: str = "") -> Str: + out: Str = {"type": "object", "description": description, "properties": properties} + if required: + out["required"] = required + return out + + +def _a(items: Str, description: str = "") -> Str: + return {"type": "array", "description": description, "items": items} + + +def _envelope(key: str, inner: Str, *, required_inner: bool = True) -> Str: + return _o({key: inner}, required=[key] if required_inner else None) + + +# --- Resource property libraries (api-ref style) --- + +def _name_desc() -> dict[str, Str]: + return { + "name": _s("Human-readable name", example="example"), + "description": _s("Optional description", example=""), + } + + +def props_server() -> Str: + return _o( + { + **_name_desc(), + "flavorRef": _s("Flavor UUID or id", example="1"), + "imageRef": _s("Image UUID", fmt="uuid"), + "networks": _a( + _o( + { + "uuid": _s("Network UUID", fmt="uuid"), + "port": _s("Port UUID", fmt="uuid"), + "fixed_ip": _s("Fixed IP address"), + } + ), + "NICs", + ), + "adminPass": _s("Admin password"), + "key_name": _s("Keypair name"), + "metadata": _o({}, description="Arbitrary key/value metadata"), + "security_groups": _a(_o({"name": _s("Security group name")})), + "availability_zone": _s("AZ name"), + "user_data": _s("Base64 user data"), + "config_drive": _b("Attach config drive"), + "min_count": _i("Minimum instances", minimum=1, example=1), + "max_count": _i("Maximum instances", minimum=1, example=1), + "block_device_mapping_v2": _a(_o({}, description="BDM v2 entry")), + }, + required=["name", "flavorRef", "networks"], + ) + + +def props_network() -> Str: + return _o( + { + **_name_desc(), + "admin_state_up": _b("Administrative state", default=True), + "shared": _b("Shared across projects", default=False), + "external": _b("External network", default=False), + "provider:network_type": _s("Provider network type", enum=["local", "flat", "vlan", "vxlan", "gre"]), + "provider:physical_network": _s("Physical network label"), + "provider:segmentation_id": _i("Segmentation id"), + "mtu": _i("MTU", minimum=68, example=1500), + "port_security_enabled": _b("Port security", default=True), + "router:external": _b("Router external alias", default=False), + }, + required=["name"], + ) + + +def props_subnet() -> Str: + return _o( + { + **_name_desc(), + "network_id": _s("Parent network UUID", fmt="uuid"), + "cidr": _s("CIDR", example="10.0.0.0/24"), + "ip_version": _i("IP version", example=4), + "gateway_ip": _s("Gateway IP"), + "enable_dhcp": _b("DHCP enabled", default=True), + "dns_nameservers": _a(_s("DNS server"), "DNS nameservers"), + "allocation_pools": _a( + _o({"start": _s("Start IP"), "end": _s("End IP")}), + "Allocation pools", + ), + "host_routes": _a(_o({"destination": _s(), "nexthop": _s()}), "Host routes"), + "ipv6_address_mode": _s("IPv6 address mode"), + "ipv6_ra_mode": _s("IPv6 RA mode"), + }, + required=["network_id", "cidr", "ip_version"], + ) + + +def props_port() -> Str: + return _o( + { + **_name_desc(), + "network_id": _s("Network UUID", fmt="uuid"), + "admin_state_up": _b("Administrative state", default=True), + "mac_address": _s("MAC address"), + "fixed_ips": _a( + _o({"subnet_id": _s(fmt="uuid"), "ip_address": _s()}), + "Fixed IPs", + ), + "device_id": _s("Device UUID", fmt="uuid"), + "device_owner": _s("Device owner"), + "security_groups": _a(_s("Security group UUID", fmt="uuid")), + "binding:vnic_type": _s("VNIC type", enum=["normal", "direct", "macvtap", "baremetal"]), + "port_security_enabled": _b("Port security"), + "allowed_address_pairs": _a(_o({"ip_address": _s(), "mac_address": _s()})), + }, + required=["network_id"], + ) + + +def props_router() -> Str: + return _o( + { + **_name_desc(), + "admin_state_up": _b("Administrative state", default=True), + "external_gateway_info": _o( + { + "network_id": _s("External network UUID", fmt="uuid"), + "enable_snat": _b("SNAT", default=True), + "external_fixed_ips": _a(_o({"subnet_id": _s(fmt="uuid"), "ip_address": _s()})), + } + ), + "distributed": _b("DVR router"), + "ha": _b("Highly available"), + "routes": _a(_o({"destination": _s(), "nexthop": _s()})), + }, + required=["name"], + ) + + +def props_floatingip() -> Str: + return _o( + { + "floating_network_id": _s("External network UUID", fmt="uuid"), + "port_id": _s("Port UUID", fmt="uuid"), + "fixed_ip_address": _s("Fixed IP"), + "floating_ip_address": _s("Floating IP"), + "description": _s(), + "subnet_id": _s("Subnet UUID", fmt="uuid"), + "dns_name": _s(), + "dns_domain": _s(), + }, + required=["floating_network_id"], + ) + + +def props_security_group() -> Str: + return _o({**_name_desc()}, required=["name"]) + + +def props_security_group_rule() -> Str: + return _o( + { + "security_group_id": _s("Security group UUID", fmt="uuid"), + "direction": _s("Direction", enum=["ingress", "egress"], example="ingress"), + "ethertype": _s("Ethertype", enum=["IPv4", "IPv6"], example="IPv4"), + "protocol": _s("Protocol", example="tcp"), + "port_range_min": _i("Min port", example=22), + "port_range_max": _i("Max port", example=22), + "remote_ip_prefix": _s("CIDR", example="0.0.0.0/0"), + "remote_group_id": _s("Remote SG UUID", fmt="uuid"), + "description": _s(), + }, + required=["security_group_id", "direction"], + ) + + +def props_volume() -> Str: + return _o( + { + **_name_desc(), + "size": _i("Size in GiB", minimum=1, example=1), + "volume_type": _s("Volume type name"), + "availability_zone": _s("AZ"), + "snapshot_id": _s("Snapshot UUID", fmt="uuid"), + "source_volid": _s("Source volume UUID", fmt="uuid"), + "imageRef": _s("Image UUID", fmt="uuid"), + "metadata": _o({}), + "consistencygroup_id": _s(fmt="uuid"), + "multiattach": _b("Multi-attach"), + }, + required=["size"], + ) + + +def props_snapshot() -> Str: + return _o( + { + **_name_desc(), + "volume_id": _s("Volume UUID", fmt="uuid"), + "force": _b("Force snapshot"), + "metadata": _o({}), + }, + required=["volume_id"], + ) + + +def props_image() -> Str: + return _o( + { + **_name_desc(), + "container_format": _s( + "Container format", + enum=["bare", "ovf", "aki", "ari", "ami", "ova", "docker"], + example="bare", + ), + "disk_format": _s( + "Disk format", + enum=["raw", "qcow2", "vmdk", "vdi", "iso", "aki", "ari", "ami"], + example="qcow2", + ), + "visibility": _s("Visibility", enum=["public", "private", "shared", "community"], example="private"), + "protected": _b("Protected"), + "tags": _a(_s()), + "min_disk": _i("Min disk GiB", minimum=0, example=0), + "min_ram": _i("Min RAM MiB", minimum=0, example=0), + "os_type": _s("OS type"), + "architecture": _s("CPU architecture"), + }, + required=["name", "container_format", "disk_format"], + ) + + +def props_vim() -> Str: + return _o( + { + "type": _s("VIM type", enum=["openstack", "kubernetes"], example="openstack"), + "auth_url": _s("Identity endpoint", fmt="uri", example="http://127.0.0.1:5000/v3"), + "auth_cred": _o( + { + "username": _s("Username", example="admin"), + "password": _s("Password", example="secret"), + "user_domain_name": _s("User domain", example="Default"), + "cert_verify": _s("TLS verify", example="True"), + }, + required=["username", "password", "user_domain_name"], + ), + "vim_project": _o( + { + "name": _s("Project name", example="admin"), + "project_domain_name": _s("Project domain", example="Default"), + }, + required=["name", "project_domain_name"], + ), + "name": _s("VIM name", example="example"), + "description": _s(), + "is_default": _b("Default VIM", default=False), + }, + required=["type", "auth_url", "auth_cred", "vim_project", "name"], + ) + + +def props_stack() -> Str: + return _o( + { + "stack_name": _s("Stack name", example="example"), + "template": _o( + { + "heat_template_version": _s(example="2015-04-30"), + "description": _s(), + "resources": _o({}), + "parameters": _o({}), + }, + required=["heat_template_version"], + ), + "template_url": _s("Template URL", fmt="uri"), + "parameters": _o({}, description="Stack parameters"), + "timeout_mins": _i("Timeout minutes", example=60), + "disable_rollback": _b("Disable rollback", default=True), + "environment": _o({}), + "files": _o({}), + "tags": _a(_s()), + }, + required=["stack_name", "template"], + ) + + +def props_secret() -> Str: + return _o( + { + "name": _s("Secret name", example="example"), + "payload": _s("Secret payload", example="c2VjcmV0"), + "payload_content_type": _s("Content type", example="text/plain"), + "payload_content_encoding": _s("Encoding", enum=["base64"], example="base64"), + "algorithm": _s("Algorithm"), + "bit_length": _i("Bit length"), + "mode": _s("Mode"), + "secret_type": _s( + "Secret type", + enum=["opaque", "symmetric", "public", "private", "certificate", "passphrase"], + example="opaque", + ), + "expiration": _s("Expiration timestamp"), + }, + required=["payload"], + ) + + +def props_alarm() -> Str: + return _o( + { + **_name_desc(), + "type": _s("Alarm type", enum=["threshold", "event", "gnocchi_resources_threshold"], example="threshold"), + "enabled": _b("Enabled", default=True), + "alarm_actions": _a(_s("Webhook URL", fmt="uri")), + "ok_actions": _a(_s(fmt="uri")), + "insufficient_data_actions": _a(_s(fmt="uri")), + "repeat_actions": _b("Repeat actions", default=True), + "threshold_rule": _o( + { + "meter_name": _s(example="cpu_util"), + "threshold": _i(example=80), + "comparison_operator": _s(enum=["gt", "lt", "ge", "le", "eq", "ne"], example="gt"), + "evaluation_periods": _i(example=1), + "period": _i(example=60), + "statistic": _s(enum=["avg", "max", "min", "sum", "count"], example="avg"), + "query": _a(_o({"field": _s(), "op": _s(), "value": _s()})), + } + ), + }, + required=["name", "type"], + ) + + +def props_zone() -> Str: + return _o( + { + "name": _s("Zone name FQDN", example="example.com."), + "email": _s("SOA email", fmt="email", example="hostmaster@example.com"), + "ttl": _i("TTL seconds", example=3600), + "description": _s(), + "type": _s("Zone type", enum=["PRIMARY", "SECONDARY"], example="PRIMARY"), + "masters": _a(_s("Master server")), + "attributes": _o({}), + }, + required=["name", "email"], + ) + + +def props_recordset() -> Str: + return _o( + { + "name": _s("Recordset name", example="www.example.com."), + "type": _s("RR type", enum=["A", "AAAA", "CNAME", "MX", "TXT", "SRV", "NS", "PTR"], example="A"), + "records": _a(_s("Record data"), "Records"), + "ttl": _i("TTL", example=3600), + "description": _s(), + }, + required=["name", "type", "records"], + ) + + +def props_loadbalancer() -> Str: + return _o( + { + **_name_desc(), + "vip_subnet_id": _s("VIP subnet UUID", fmt="uuid"), + "vip_network_id": _s("VIP network UUID", fmt="uuid"), + "vip_address": _s("VIP address"), + "provider": _s("Provider", example="amphora"), + "flavor_id": _s(fmt="uuid"), + "admin_state_up": _b(default=True), + "listeners": _a(_o({})), + "pools": _a(_o({})), + "project_id": _s(fmt="uuid"), + }, + required=["vip_subnet_id"], + ) + + +def props_listener() -> Str: + return _o( + { + **_name_desc(), + "loadbalancer_id": _s(fmt="uuid"), + "protocol": _s(enum=["HTTP", "HTTPS", "TCP", "UDP", "TERMINATED_HTTPS"], example="HTTP"), + "protocol_port": _i(example=80), + "connection_limit": _i(example=-1), + "admin_state_up": _b(default=True), + "default_pool_id": _s(fmt="uuid"), + "insert_headers": _o({}), + }, + required=["loadbalancer_id", "protocol", "protocol_port"], + ) + + +def props_pool() -> Str: + return _o( + { + **_name_desc(), + "lb_algorithm": _s( + enum=["ROUND_ROBIN", "LEAST_CONNECTIONS", "SOURCE_IP"], + example="ROUND_ROBIN", + ), + "protocol": _s(enum=["HTTP", "HTTPS", "TCP", "UDP", "PROXY"], example="HTTP"), + "listener_id": _s(fmt="uuid"), + "loadbalancer_id": _s(fmt="uuid"), + "admin_state_up": _b(default=True), + "session_persistence": _o({"type": _s(), "cookie_name": _s()}), + }, + required=["lb_algorithm", "protocol"], + ) + + +def props_member() -> Str: + return _o( + { + **_name_desc(), + "address": _s("Member IP", example="10.0.0.10"), + "protocol_port": _i(example=80), + "subnet_id": _s(fmt="uuid"), + "weight": _i(example=1), + "admin_state_up": _b(default=True), + "monitor_address": _s(), + "monitor_port": _i(), + "backup": _b(default=False), + }, + required=["address", "protocol_port"], + ) + + +def props_cluster() -> Str: + return _o( + { + **_name_desc(), + "cluster_template_id": _s(fmt="uuid"), + "node_count": _i(example=1), + "master_count": _i(example=1), + "keypair": _s("Keypair name"), + "labels": _o({}), + "flavor_id": _s(), + "master_flavor_id": _s(), + "docker_volume_size": _i(example=5), + }, + required=["name", "cluster_template_id"], + ) + + +def props_cluster_template() -> Str: + return _o( + { + **_name_desc(), + "image_id": _s(fmt="uuid"), + "coe": _s(enum=["kubernetes", "swarm", "mesos"], example="kubernetes"), + "keypair_id": _s(), + "external_network_id": _s(fmt="uuid"), + "dns_nameserver": _s(example="8.8.8.8"), + "flavor_id": _s(), + "master_flavor_id": _s(), + "docker_volume_size": _i(example=5), + "network_driver": _s(example="flannel"), + "volume_driver": _s(), + "public": _b(default=False), + "registry_enabled": _b(default=False), + "tls_disabled": _b(default=False), + }, + required=["name", "image_id", "coe"], + ) + + +def props_share() -> Str: + return _o( + { + **_name_desc(), + "size": _i("Size GiB", minimum=1, example=1), + "share_proto": _s(enum=["NFS", "CIFS", "GlusterFS", "HDFS", "CephFS"], example="NFS"), + "share_type": _s(), + "share_network_id": _s(fmt="uuid"), + "availability_zone": _s(), + "metadata": _o({}), + "is_public": _b(default=False), + "snapshot_id": _s(fmt="uuid"), + }, + required=["size", "share_proto"], + ) + + +def props_instance() -> Str: # trove / zun style + return _o( + { + **_name_desc(), + "flavorRef": _s(example="1"), + "volume_size": _i(example=1), + "datastore": _o( + {"type": _s(example="mysql"), "version": _s(example="8.0")}, + required=["type", "version"], + ), + "nics": _a(_o({"net-id": _s(fmt="uuid")})), + "databases": _a(_o({"name": _s()})), + "users": _a(_o({"name": _s(), "password": _s(), "databases": _a(_o({"name": _s()}))})), + "availability_zone": _s(), + }, + required=["name", "flavorRef"], + ) + + +def props_container() -> Str: + return _o( + { + **_name_desc(), + "image": _s("Container image", example="cirros"), + "command": _s("Command"), + "cpu": _i(example=1), + "memory": _i("Memory MiB", example=512), + "workdir": _s(), + "environment": _o({}), + "nets": _a(_o({"network": _s(fmt="uuid")})), + "restart_policy": _o({"Name": _s(example="no"), "MaximumRetryCount": _i(example=0)}), + "interactive": _b(default=False), + "tty": _b(default=False), + }, + required=["image"], + ) + + +def props_node() -> Str: # ironic + return _o( + { + **_name_desc(), + "driver": _s(example="ipmi"), + "driver_info": _o( + { + "ipmi_address": _s(), + "ipmi_username": _s(), + "ipmi_password": _s(), + } + ), + "properties": _o({"cpus": _i(example=4), "memory_mb": _i(example=8192), "local_gb": _i(example=100)}), + "resource_class": _s(example="baremetal"), + "conductor_group": _s(), + "network_interface": _s(example="flat"), + "storage_interface": _s(), + "boot_interface": _s(), + "deploy_interface": _s(), + }, + required=["driver"], + ) + + +def props_workflow() -> Str: + return _o( + { + **_name_desc(), + "definition": _s("Workflow DSL", example="version: '2.0'\nexample:\n tasks: {}"), + "scope": _s(enum=["private", "public"], example="private"), + "namespace": _s(), + "input": _s(), + "tags": _a(_s()), + }, + required=["definition"], + ) + + +def props_execution() -> Str: + return _o( + { + "workflow_name": _s(example="example"), + "workflow_id": _s(fmt="uuid"), + "input": _o({}), + "params": _o({}), + "description": _s(), + }, + required=["workflow_name"], + ) + + +def props_host() -> Str: # blazar + return _o( + { + "name": _s(example="example"), + "reservable": _b(default=True), + "extra_capabilities": _o({}), + }, + required=["name"], + ) + + +def props_lease() -> Str: + return _o( + { + "name": _s(example="example"), + "start_date": _s(example="2026-01-01 00:00"), + "end_date": _s(example="2026-01-02 00:00"), + "reservations": _a( + _o( + { + "resource_type": _s(example="physical:host"), + "min": _i(example=1), + "max": _i(example=1), + "hypervisor_properties": _s(), + "resource_properties": _s(), + } + ) + ), + "events": _a(_o({})), + }, + required=["name", "start_date", "end_date", "reservations"], + ) + + +def props_segment() -> Str: # masakari + return _o( + { + **_name_desc(), + "recovery_method": _s(enum=["auto", "reserved_host", "auto_priority", "rh_priority"], example="auto"), + "service_type": _s(enum=["compute"], example="compute"), + }, + required=["name", "recovery_method", "service_type"], + ) + + +def props_notification() -> Str: + return _o( + { + "type": _s(enum=["VM", "PROCESS", "COMPUTE_HOST"], example="VM"), + "hostname": _s(example="compute-1"), + "generated_time": _s(example="2026-01-01T00:00:00Z"), + "payload": _o( + { + "instance_uuid": _s(fmt="uuid"), + "vir_domain_event": _s(), + "event": _s(), + } + ), + "source_host_uuid": _s(fmt="uuid"), + }, + required=["type", "hostname", "generated_time", "payload"], + ) + + +def props_status() -> Str: # adjutant + return _o( + { + "service": _s(example="identity"), + "status": _s(enum=["UP", "DOWN", "UNKNOWN"], example="UP"), + "state": _s(example="up"), + "description": _s(), + "name": _s(example="example"), + }, + required=["service", "status"], + ) + + +def props_auth_token() -> Str: + return _o( + { + "auth": _o( + { + "identity": _o( + { + "methods": _a(_s(example="password")), + "password": _o( + { + "user": _o( + { + "name": _s(example="admin"), + "domain": _o({"name": _s(example="Default")}, required=["name"]), + "password": _s(example="secret"), + "id": _s(fmt="uuid"), + }, + required=["password"], + ) + } + ), + "token": _o({"id": _s()}), + }, + required=["methods"], + ), + "scope": _o( + { + "project": _o( + { + "name": _s(example="admin"), + "domain": _o({"name": _s(example="Default")}), + "id": _s(fmt="uuid"), + } + ), + "domain": _o({"name": _s(example="Default"), "id": _s(fmt="uuid")}), + "system": _o({"all": _b(default=True)}), + } + ), + }, + required=["identity"], + ) + }, + required=["auth"], + ) + + +def props_user() -> Str: + return _o( + { + **_name_desc(), + "domain_id": _s(fmt="uuid", example="default"), + "enabled": _b(default=True), + "password": _s(example="secret"), + "email": _s(fmt="email"), + "options": _o({}), + "default_project_id": _s(fmt="uuid"), + }, + required=["name"], + ) + + +def props_project() -> Str: + return _o( + { + **_name_desc(), + "domain_id": _s(fmt="uuid", example="default"), + "enabled": _b(default=True), + "is_domain": _b(default=False), + "parent_id": _s(fmt="uuid"), + "tags": _a(_s()), + "options": _o({}), + }, + required=["name"], + ) + + +def props_role() -> Str: + return _o( + { + **_name_desc(), + "domain_id": _s(fmt="uuid"), + "options": _o({}), + }, + required=["name"], + ) + + +def props_group() -> Str: + return _o({**_name_desc(), "domain_id": _s(fmt="uuid", example="default")}, required=["name"]) + + +def props_region() -> Str: + return _o( + {"id": _s(example="RegionOne"), "description": _s(), "parent_region_id": _s()}, + required=["id"], + ) + + +def props_service() -> Str: + return _o( + { + **_name_desc(), + "type": _s(example="compute"), + "enabled": _b(default=True), + }, + required=["name", "type"], + ) + + +def props_endpoint() -> Str: + return _o( + { + "interface": _s(enum=["public", "internal", "admin"], example="public"), + "region_id": _s(example="RegionOne"), + "url": _s(fmt="uri", example="http://127.0.0.1:8774/v2.1"), + "service_id": _s(fmt="uuid"), + "enabled": _b(default=True), + }, + required=["interface", "url", "service_id"], + ) + + +def props_flavor() -> Str: + return _o( + { + "name": _s(example="example"), + "ram": _i("RAM MiB", example=512), + "vcpus": _i(example=1), + "disk": _i("Root disk GiB", example=1), + "id": _s(example="auto"), + "OS-FLV-EXT-DATA:ephemeral": _i(example=0), + "swap": _i(example=0), + "rxtx_factor": {"type": "number", "example": 1.0}, + "os-flavor-access:is_public": _b(default=True), + }, + required=["name", "ram", "vcpus", "disk"], + ) + + +def props_keypair() -> Str: + return _o( + { + "name": _s(example="example"), + "public_key": _s("SSH public key"), + "type": _s(enum=["ssh", "x509"], example="ssh"), + "user_id": _s(fmt="uuid"), + }, + required=["name"], + ) + + +def props_aggregate() -> Str: + return _o( + { + "name": _s(example="example"), + "availability_zone": _s(example="nova"), + "metadata": _o({}), + }, + required=["name"], + ) + + +def props_server_group() -> Str: + return _o( + { + "name": _s(example="example"), + "policies": _a(_s(enum=["affinity", "anti-affinity", "soft-affinity", "soft-anti-affinity"])), + "policy": _s(enum=["affinity", "anti-affinity", "soft-affinity", "soft-anti-affinity"]), + "rules": _o({"max_server_per_host": _i(example=1)}), + }, + required=["name"], + ) + + +def props_quota_set() -> Str: + return _o( + { + "instances": _i(example=10), + "cores": _i(example=20), + "ram": _i(example=51200), + "floating_ips": _i(example=10), + "fixed_ips": _i(example=-1), + "metadata_items": _i(example=128), + "injected_files": _i(example=5), + "injected_file_content_bytes": _i(example=10240), + "security_groups": _i(example=10), + "security_group_rules": _i(example=20), + "key_pairs": _i(example=100), + "volumes": _i(example=10), + "snapshots": _i(example=10), + "gigabytes": _i(example=1000), + "networks": _i(example=100), + "subnets": _i(example=100), + "ports": _i(example=500), + "routers": _i(example=10), + "force": _b(default=False), + } + ) + + +def props_allocation() -> Str: # placement + return _o( + { + "allocations": _o( + {}, + description="Map of resource provider UUID to resources", + ), + "project_id": _s(fmt="uuid"), + "user_id": _s(fmt="uuid"), + "consumer_generation": _i("Consumer generation", example=0), + }, + required=["allocations", "project_id", "user_id"], + ) + + +def props_resource_provider() -> Str: + return _o( + { + "name": _s(example="example"), + "uuid": _s(fmt="uuid"), + "parent_provider_uuid": _s(fmt="uuid"), + }, + required=["name"], + ) + + +def props_inventory() -> Str: + return _o( + { + "resource_class": _s(example="VCPU"), + "total": _i(example=8), + "reserved": _i(example=0), + "min_unit": _i(example=1), + "max_unit": _i(example=8), + "step_size": _i(example=1), + "allocation_ratio": {"type": "number", "example": 16.0}, + }, + required=["resource_class", "total"], + ) + + +def props_trait() -> Str: + return _o({"name": _s(example="CUSTOM_EXAMPLE"), "traits": _a(_s())}, required=["name"]) + + +def props_queue() -> Str: # zaqar + return _o( + { + "queue_name": _s(example="example"), + "_metadata": _o({}), + }, + required=["queue_name"], + ) + + +def props_message() -> Str: + return _o( + { + "messages": _a( + _o( + { + "body": _o({"event": _s(example="example")}), + "ttl": _i(example=3600), + }, + required=["body"], + ) + ) + }, + required=["messages"], + ) + + +def props_subscription() -> Str: + return _o( + { + "subscriber": _s(fmt="uri", example="http://example.com/hook"), + "ttl": _i(example=3600), + "options": _o({}), + }, + required=["subscriber"], + ) + + +def props_job() -> Str: # freezer + return _o( + { + "description": _s(example="example"), + "job_actions": _a( + _o( + { + "freezer_action": _o( + { + "action": _s(enum=["backup", "restore"], example="backup"), + "mode": _s(example="fs"), + "storage": _s(example="swift"), + "container": _s(example="freezer_backup"), + "path_to_backup": _s(example="/home"), + } + ), + "max_retries": _i(example=3), + "max_retries_interval": _i(example=60), + } + ) + ), + "client_id": _s(example="example-client"), + "job_schedule": _o( + { + "schedule_start_date": _s(), + "schedule_interval": _s(example="1 day"), + "status": _s(example="scheduled"), + } + ), + }, + required=["job_actions", "client_id"], + ) + + +def props_backup() -> Str: + return _o( + { + **_name_desc(), + "volume_id": _s(fmt="uuid"), + "container": _s(), + "force": _b(default=False), + "incremental": _b(default=False), + "snapshot_id": _s(fmt="uuid"), + "metadata": _o({}), + }, + required=["volume_id"], + ) + + +def props_trunk() -> Str: + return _o( + { + **_name_desc(), + "port_id": _s(fmt="uuid"), + "admin_state_up": _b(default=True), + "sub_ports": _a( + _o( + { + "port_id": _s(fmt="uuid"), + "segmentation_type": _s(example="vlan"), + "segmentation_id": _i(example=100), + }, + required=["port_id", "segmentation_type", "segmentation_id"], + ) + ), + }, + required=["port_id"], + ) + + +def props_qos_policy() -> Str: + return _o({**_name_desc(), "shared": _b(default=False), "is_default": _b(default=False)}, required=["name"]) + + +def props_rbac_policy() -> Str: + return _o( + { + "object_type": _s(example="network"), + "object_id": _s(fmt="uuid"), + "target_tenant": _s(fmt="uuid"), + "action": _s(enum=["access_as_shared", "access_as_external"], example="access_as_shared"), + }, + required=["object_type", "object_id", "target_tenant", "action"], + ) + + +def props_metering_label() -> Str: + return _o({**_name_desc(), "shared": _b(default=False)}, required=["name"]) + + +def props_firewall_group() -> Str: + return _o( + { + **_name_desc(), + "ingress_firewall_policy_id": _s(fmt="uuid"), + "egress_firewall_policy_id": _s(fmt="uuid"), + "ports": _a(_s(fmt="uuid")), + "admin_state_up": _b(default=True), + "shared": _b(default=False), + }, + required=["name"], + ) + + +def props_l7policy() -> Str: + return _o( + { + **_name_desc(), + "listener_id": _s(fmt="uuid"), + "action": _s( + enum=["REJECT", "REDIRECT_TO_URL", "REDIRECT_TO_POOL", "REDIRECT_PREFIX"], + example="REJECT", + ), + "redirect_pool_id": _s(fmt="uuid"), + "redirect_url": _s(fmt="uri"), + "position": _i(example=1), + "admin_state_up": _b(default=True), + }, + required=["listener_id", "action"], + ) + + +def props_healthmonitor() -> Str: + return _o( + { + **_name_desc(), + "type": _s(enum=["HTTP", "HTTPS", "PING", "TCP", "TLS-HELLO", "UDP-CONNECT"], example="HTTP"), + "delay": _i(example=5), + "timeout": _i(example=3), + "max_retries": _i(example=3), + "pool_id": _s(fmt="uuid"), + "http_method": _s(example="GET"), + "url_path": _s(example="/"), + "expected_codes": _s(example="200"), + "admin_state_up": _b(default=True), + }, + required=["type", "delay", "timeout", "max_retries", "pool_id"], + ) + + +def props_generic(resource_type: str) -> Str: + """Fallback full-ish object for lesser-known resources.""" + + return _o( + { + **_name_desc(), + "id": _s(fmt="uuid"), + "project_id": _s(fmt="uuid"), + "tenant_id": _s(fmt="uuid"), + "status": _s(example="ACTIVE"), + "enabled": _b(default=True), + "shared": _b(default=False), + "admin_state_up": _b(default=True), + "metadata": _o({}), + "tags": _a(_s()), + "type": _s(example=resource_type), + "configuration": _o({}), + "properties": _o({}), + "spec": _o({}), + "data": _o({}), + "value": _s(), + "size": _i(example=1), + "version": _s(example="1"), + "url": _s(fmt="uri"), + "address": _s(), + "protocol": _s(), + "port": _i(example=80), + "extra": _o({}), + }, + required=["name"], + ) + + +_RESOURCE_PROPS: dict[str, Any] = { + "server": props_server, + "network": props_network, + "subnet": props_subnet, + "port": props_port, + "router": props_router, + "floatingip": props_floatingip, + "security_group": props_security_group, + "security_group_rule": props_security_group_rule, + "volume": props_volume, + "snapshot": props_snapshot, + "backup": props_backup, + "image": props_image, + "vim": props_vim, + "stack": props_stack, + "secret": props_secret, + "alarm": props_alarm, + "zone": props_zone, + "recordset": props_recordset, + "loadbalancer": props_loadbalancer, + "listener": props_listener, + "pool": props_pool, + "member": props_member, + "cluster": props_cluster, + "cluster_template": props_cluster_template, + "share": props_share, + "instance": props_instance, + "container": props_container, + "node": props_node, + "workflow": props_workflow, + "execution": props_execution, + "host": props_host, + "lease": props_lease, + "segment": props_segment, + "notification": props_notification, + "status": props_status, + "user": props_user, + "project": props_project, + "role": props_role, + "group": props_group, + "region": props_region, + "service": props_service, + "endpoint": props_endpoint, + "flavor": props_flavor, + "keypair": props_keypair, + "aggregate": props_aggregate, + "server_group": props_server_group, + "quota_set": props_quota_set, + "quota": props_quota_set, + "allocation": props_allocation, + "resource_provider": props_resource_provider, + "inventory": props_inventory, + "trait": props_trait, + "queue": props_queue, + "message": props_message, + "subscription": props_subscription, + "job": props_job, + "trunk": props_trunk, + "qos_policy": props_qos_policy, + "rbac_policy": props_rbac_policy, + "metering_label": props_metering_label, + "firewall_group": props_firewall_group, + "l7policy": props_l7policy, + "healthmonitor": props_healthmonitor, + "volume_type": lambda: _o({**_name_desc(), "extra_specs": _o({}), "os-volume-type-access:is_public": _b(default=True)}, required=["name"]), + "consistencygroup": lambda: _o({**_name_desc(), "volume_types": _a(_s())}, required=["name", "volume_types"]), + "attachment": lambda: _o({"instance_uuid": _s(fmt="uuid"), "volume_uuid": _s(fmt="uuid"), "mode": _s(example="rw")}, required=["instance_uuid", "volume_uuid"]), + "share_network": lambda: _o({**_name_desc(), "neutron_net_id": _s(fmt="uuid"), "neutron_subnet_id": _s(fmt="uuid")}, required=["name"]), + "share_type": lambda: _o({**_name_desc(), "extra_specs": _o({"driver_handles_share_servers": _b(default=False)}), "is_public": _b(default=True)}, required=["name", "extra_specs"]), + "template": lambda: props_stack(), + "vnf": lambda: _o({**_name_desc(), "vnfd_id": _s(fmt="uuid"), "vim_id": _s(fmt="uuid")}, required=["name", "vnfd_id"]), + "vnfd": lambda: _o({**_name_desc(), "attributes": _o({"vnfd": _s()}), "service_types": _a(_o({"service_type": _s(example="vnfd")}))}, required=["name"]), + "ns": lambda: _o({**_name_desc(), "nsd_id": _s(fmt="uuid"), "vim_id": _s(fmt="uuid")}, required=["name", "nsd_id"]), + "nsd": lambda: _o({**_name_desc(), "attributes": _o({"nsd": _s()})}, required=["name"]), + "action": lambda: _o({"action": _s(example="os-start"), "name": _s()}, required=["action"]), + "rating_module": lambda: _o({**_name_desc(), "enabled": _b(default=True), "priority": _i(example=1)}, required=["name"]), + "hashmap_service": lambda: _o({**_name_desc()}, required=["name"]), + "collector": lambda: _o({**_name_desc(), "url": _s(fmt="uri")}, required=["name", "url"]), + "template_definition": lambda: _o({**_name_desc(), "template": _s(), "type": _s()}, required=["name", "template"]), + "webhook": lambda: _o({**_name_desc(), "url": _s(fmt="uri"), "headers": _o({})}, required=["name", "url"]), + "topology": lambda: _o({**_name_desc(), "graph": _o({})}, required=["name"]), + "template_version": lambda: _o({"id": _s(example="2021-04-16"), "type": _s(example="heat")}, required=["id"]), +} + + +def inner_for_resource(resource_type: str) -> Str: + factory = _RESOURCE_PROPS.get(resource_type) + if factory is None: + # Try singular of resource_type + factory = _RESOURCE_PROPS.get(singular(resource_type)) + if factory is None: + return props_generic(resource_type) + return deepcopy(factory() if callable(factory) else factory) + + +def action_schema(action_name: str | None) -> Str: + action = action_name if action_name and action_name != "*" else "os-start" + bodies: dict[str, Str] = { + "os-getConsoleOutput": _o({action: _o({"length": _i(example=20)})}, required=[action]), + "reboot": _o({action: _o({"type": _s(enum=["SOFT", "HARD"], example="SOFT")}, required=["type"])}, required=[action]), + "resize": _o({action: _o({"flavorRef": _s(example="2")}, required=["flavorRef"])}, required=[action]), + "rebuild": _o( + {action: _o({"imageRef": _s(fmt="uuid"), "name": _s(), "adminPass": _s()}, required=["imageRef"])}, + required=[action], + ), + "createImage": _o({action: _o({"name": _s(example="example"), "metadata": _o({})}, required=["name"])}, required=[action]), + } + if action in bodies: + return bodies[action] + return _o({action: {"type": "null", "description": f"Action {action} body (null object)"}}, required=[action]) + + +def schema_for_operation(op: dict[str, Any]) -> Str: + """Build a full request JSON Schema for one pack operation dict.""" + + method = op["method"] + kind = op.get("kind") or "collection" + path = op.get("path") or "" + resource_type = op.get("resource_type") or "object" + item_key = op.get("item_key") or ( + singular(op["collection_key"]) if op.get("collection_key") else singular(resource_type) + ) + + if path == "/v3/auth/tokens" and method == "POST": + return props_auth_token() + + if kind == "action": + return action_schema(op.get("action_name")) + + if "add_router_interface" in path or "remove_router_interface" in path: + return _o( + { + "subnet_id": _s(fmt="uuid"), + "port_id": _s(fmt="uuid"), + } + ) + + if path.rstrip("/").endswith("/os-interface") and method == "POST": + return _envelope( + "interfaceAttachment", + _o( + { + "port_id": _s(fmt="uuid"), + "net_id": _s(fmt="uuid"), + "fixed_ips": _a(_o({"ip_address": _s()})), + } + ), + ) + + if resource_type == "server_tag" and path.rstrip("/").endswith("/tags"): + return _o({"tags": _a(_s(example="demo"))}, required=["tags"]) + + if op.get("collection_key") == "Stacks": + return _o( + { + "StackName": _s(example="example"), + "TemplateBody": _s(example='{"AWSTemplateFormatVersion":"2010-09-09"}'), + "Parameters": _s(), + "TimeoutInMinutes": _i(example=60), + }, + required=["StackName", "TemplateBody"], + ) + + # Heat stack create uses top-level keys sometimes without envelope in CFN; + # OpenStack native uses stack envelope. + if resource_type == "stack" and method == "POST" and "/stacks" in path: + return _envelope("stack", inner_for_resource("stack")) + + # Queue create in Zaqar often uses path name; still document metadata body. + if resource_type in {"queue"} and method == "PUT": + return _o({"_metadata": _o({})}) + + # Empty body endpoints (some PUT enable/disable) — still expose optional object. + if kind == "custom" and method in {"POST", "PUT", "PATCH"}: + inner = inner_for_resource(resource_type) + if item_key: + return _envelope(item_key, inner, required_inner=False) + return inner + + inner = inner_for_resource(resource_type) + # PATCH/PUT item updates: same fields but nothing strictly required except identity in path. + if kind == "item" and method in {"PUT", "PATCH"}: + relaxed = deepcopy(inner) + relaxed.pop("required", None) + return _envelope(item_key, relaxed) + + return _envelope(item_key, inner)