Add dns.zone and dns.recordset schema

Change-Id: Ie9bf8843be6b82ced6bdb5f8924604732bb66b8a
This commit is contained in:
Artem Goncharov
2024-10-02 09:35:09 +02:00
parent fa25f3b8f0
commit 4c94a29a4a
3 changed files with 1086 additions and 0 deletions

View File

@@ -19,6 +19,8 @@ import fixtures
from codegenerator.common.schema import SpecSchema
from codegenerator.openapi.base import OpenStackServerSourceBase
from codegenerator.openapi.base import UNSET
from codegenerator.openapi import designate_schemas
from codegenerator.openapi.utils import merge_api_ref_doc
from ruamel.yaml.scalarstring import LiteralScalarString
@@ -250,3 +252,27 @@ class DesignateGenerator(OpenStackServerSourceBase):
lnk.symlink_to(impl_path.name)
return impl_path
def _get_schema_ref(
self,
openapi_spec,
name,
description: str | None = None,
schema_def=UNSET,
action_name=None,
):
(ref, mime_type, matched) = designate_schemas._get_schema_ref(
openapi_spec, name, description
)
if matched:
return (ref, mime_type)
# Default
(ref, mime_type) = super()._get_schema_ref(
openapi_spec,
name,
description,
schema_def=schema_def,
action_name=action_name,
)
return (ref, mime_type)

View File

@@ -0,0 +1,272 @@
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
#
import copy
from typing import Any
from codegenerator.common.schema import TypeSchema
ZONE_SCHEMA: dict[str, Any] = {
"type": "object",
"description": "DNS Zone",
"properties": {
"id": {
"type": "string",
"format": "uuid",
"readOnly": True,
"description": "ID for the resource",
},
"pool_id": {
"type": "string",
"format": "uuid",
"readOnly": True,
"description": "ID for the pool hosting this zone",
},
"project_id": {
"type": "string",
"format": "uuid",
"readOnly": True,
"description": "ID for the project that owns the resource",
},
"name": {
"type": "string",
"format": "uuid",
"description": "DNS Name for the zone",
},
"email": {
"type": "string",
"format": "uuid",
"description": "e-mail for the zone. Used in SOA records for the zone",
},
"ttl": {
"type": "integer",
"description": "TTL (Time to Live) for the zone.",
},
"serial": {
"type": "integer",
"readOnly": True,
"description": "current serial number for the zone",
},
"status": {
"type": ["string", "null"],
"enum": [
"ACTIVE",
"PENDING",
"DELETED",
"ERROR",
"SUCCESS",
"ZONE",
],
"readOnly": True,
"description": "The status of the resource.",
},
"action": {
"type": ["string", "null"],
"enum": ["CREATE", "DELETE", "UPDATE", "NONE"],
"readOnly": True,
"description": "current action in progress on the resource",
},
"description": {
"type": "string",
"description": "Description for this zone",
},
"masters": {
"type": "array",
"items": {"type": "string"},
"description": "Mandatory for secondary zones. The servers to slave from to get DNS information",
},
"type": {
"type": "string",
"enum": ["PRIMARY", "SECONDARY", "CATALOG"],
"default": "PRIMARY",
"description": "Type of zone. PRIMARY is controlled by Designate, SECONDARY zones are slaved from another DNS Server. Defaults to PRIMARY",
},
"transferred_at": {
"type": ["null", "string"],
"format": "date-time",
"readOnly": True,
"description": "For secondary zones. The last time an update was retrieved from the master servers",
},
"version": {
"type": "integer",
"readOnly": True,
"description": "Version of the resource",
},
"created_at": {
"type": "string",
"format": "date-time",
"readOnly": True,
"description": "Date / Time when resource was created.",
},
"updated_at": {
"type": ["string", "null"],
"format": "date-time",
"readOnly": True,
"description": "Date / Time when resource last updated.",
},
"attributes": {
"type": "object",
"additionalProperties": {"type": "string"},
"description": "Key:Value pairs of information about this zone, and the pool the user would like to place the zone in. This information can be used by the scheduler to place zones on the correct pool.",
},
"shared": {
"type": "boolean",
"readOnly": True,
"description": "True if the zone is shared with another project.",
"x-openstack": {"min-ver": "2.1"},
},
},
"additionalProperties": False,
}
ZONES_SCHEMA: dict[str, Any] = {
"type": "object",
"properties": {"zones": {"type": "array", "items": ZONE_SCHEMA}},
"additionalProperties": False,
}
RECORDSET_SCHEMA: dict[str, Any] = {
"type": "object",
"description": "Zone Record object",
"properties": {
"id": {
"type": "string",
"format": "uuid",
"readOnly": True,
"description": "ID for the resource",
},
"project_id": {
"type": "string",
"format": "uuid",
"readOnly": True,
"description": "ID for the project that owns the resource",
},
"name": {
"type": "string",
"format": "uuid",
"description": "DNS Name for the recordset",
},
"ttl": {
"type": "integer",
"description": "TTL (Time to Live) for the recordset.",
},
"status": {
"type": ["string", "null"],
"enum": ["ACTIVE", "PENDING", "DELETED", "ERROR", "SUCCESS"],
"readOnly": True,
"description": "The status of the resource.",
},
"action": {
"type": ["string", "null"],
"readOnly": True,
"enum": ["CREATE", "UPDATE", "DELETE", "NONE"],
"description": "current action in progress on the resource",
},
"description": {
"type": "string",
"description": "Description for this recordset",
},
"zone_id": {
"type": "string",
"format": "uuid",
"description": "ID for the zone that contains this recordset",
},
"zone_name": {
"type": "string",
"format": "uuid",
"description": "The name of the zone that contains this recordset",
},
"type": {
"type": "string",
"enum": [
"A",
"AAAA",
"CNAME",
"MX",
"SRV",
"TXT",
"SPF",
"NS",
"PTR",
"SSHFP",
"SOA",
"NAPTR",
"CAA",
"CERT",
],
"description": "They RRTYPE of the recordset.",
},
"version": {
"type": "integer",
"readOnly": True,
"description": "Version of the resource",
},
"created_at": {
"type": "string",
"format": "date-time",
"readOnly": True,
"description": "Date / Time when resource was created.",
},
"updated_at": {
"type": ["string", "null"],
"format": "date-time",
"readOnly": True,
"description": "Date / Time when resource last updated.",
},
},
"additionalProperties": False,
}
RECORDSETS_SCHEMA: dict[str, Any] = {
"type": "object",
"properties": {"recordsets": {"type": "array", "items": RECORDSET_SCHEMA}},
"additionalProperties": False,
}
def _get_schema_ref(
openapi_spec, name, description: str | None = None
) -> tuple[str | None, str | None, bool]:
mime_type: str = "application/json"
ref: str
if name in [
"ZoneShowResponse",
"ZonesCreateRequest",
"ZonesCreateResponse",
"ZonesUpdateRequest",
"ZonesUpdateResponse",
]:
openapi_spec.components.schemas[name] = TypeSchema(**ZONE_SCHEMA)
ref = f"#/components/schemas/{name}"
elif name in ["ZonesListResponse"]:
openapi_spec.components.schemas[name] = TypeSchema(**ZONES_SCHEMA)
ref = f"#/components/schemas/{name}"
elif name in [
"ZonesRecordsetShowResponse",
"ZonesRecordsetsCreateRequest",
"ZonesRecordsetsCreateResponse",
"ZonesRecordsetsUpdateRequest",
"ZonesRecordsetsUpdateResponse",
]:
openapi_spec.components.schemas[name] = TypeSchema(**RECORDSET_SCHEMA)
ref = f"#/components/schemas/{name}"
elif name in ["ZonesRecordsetsListResponse", "RecordsetsListResponse"]:
openapi_spec.components.schemas[name] = TypeSchema(**RECORDSETS_SCHEMA)
ref = f"#/components/schemas/{name}"
else:
return (None, None, False)
return (ref, mime_type, True)

788
metadata/dns_metadata.yaml Normal file
View File

@@ -0,0 +1,788 @@
resources:
dns.limit:
spec_file: wrk/openapi_specs/dns/v2.1.yaml
api_version: v2
operations:
get:
operation_id: limits:get
operation_type: get
targets:
rust-sdk:
module_name: get
rust-cli:
module_name: get
sdk_mod_name: get
cli_full_command: limit get
dns.reverse/floatingip:
spec_file: wrk/openapi_specs/dns/v2.1.yaml
api_version: v2
operations:
list:
operation_id: reverse/floatingips:get
operation_type: list
targets:
rust-sdk:
module_name: list
rust-cli:
module_name: list
sdk_mod_name: list
cli_full_command: reverse floatingip list
show:
operation_id: reverse/floatingips/fip_key:get
operation_type: show
targets:
rust-sdk:
module_name: get
rust-cli:
module_name: show
sdk_mod_name: get
cli_full_command: reverse floatingip show
update:
operation_id: reverse/floatingips/fip_key:patch
operation_type: set
targets:
rust-sdk:
module_name: set
rust-cli:
module_name: set
sdk_mod_name: set
cli_full_command: reverse floatingip set
dns.tld:
spec_file: wrk/openapi_specs/dns/v2.1.yaml
api_version: v2
operations:
show:
operation_id: tlds/tld_id:get
operation_type: show
targets:
rust-sdk:
module_name: get
rust-cli:
module_name: show
sdk_mod_name: get
cli_full_command: tld show
delete:
operation_id: tlds/tld_id:delete
operation_type: delete
targets:
rust-sdk:
module_name: delete
rust-cli:
module_name: delete
sdk_mod_name: delete
cli_full_command: tld delete
update:
operation_id: tlds/tld_id:patch
operation_type: set
targets:
rust-sdk:
module_name: set
rust-cli:
module_name: set
sdk_mod_name: set
cli_full_command: tld set
list:
operation_id: tlds:get
operation_type: list
targets:
rust-sdk:
module_name: list
rust-cli:
module_name: list
sdk_mod_name: list
cli_full_command: tld list
create:
operation_id: tlds:post
operation_type: create
targets:
rust-sdk:
module_name: create
rust-cli:
module_name: create
sdk_mod_name: create
cli_full_command: tld create
dns.zone:
spec_file: wrk/openapi_specs/dns/v2.1.yaml
api_version: v2
operations:
show:
operation_id: zones/zone_id:get
operation_type: show
targets:
rust-sdk:
module_name: get
rust-cli:
module_name: show
sdk_mod_name: get
find_implemented_by_sdk: true
cli_full_command: zone show
delete:
operation_id: zones/zone_id:delete
operation_type: delete
targets:
rust-sdk:
module_name: delete
rust-cli:
module_name: delete
sdk_mod_name: delete
find_implemented_by_sdk: true
cli_full_command: zone delete
update:
operation_id: zones/zone_id:patch
operation_type: set
targets:
rust-sdk:
module_name: set
rust-cli:
module_name: set
sdk_mod_name: set
find_implemented_by_sdk: true
cli_full_command: zone set
list:
operation_id: zones:get
operation_type: list
targets:
rust-sdk:
module_name: list
rust-cli:
module_name: list
sdk_mod_name: list
cli_full_command: zone list
create:
operation_id: zones:post
operation_type: create
targets:
rust-sdk:
module_name: create
rust-cli:
module_name: create
sdk_mod_name: create
cli_full_command: zone create
find:
operation_id: zones:get
operation_type: find
targets:
rust-sdk:
module_name: find
sdk_mod_path: dns::v2::zone
name_field: name
name_filter_supported: false
list_mod: list
dns.zone/recordset:
spec_file: wrk/openapi_specs/dns/v2.1.yaml
api_version: v2
operations:
show:
operation_id: zones/zone_id/recordsets/recordset_id:get
operation_type: show
targets:
rust-sdk:
module_name: get
rust-cli:
module_name: show
sdk_mod_name: get
find_implemented_by_sdk: true
cli_full_command: zone recordset show
delete:
operation_id: zones/zone_id/recordsets/recordset_id:delete
operation_type: delete
targets:
rust-sdk:
module_name: delete
rust-cli:
module_name: delete
sdk_mod_name: delete
find_implemented_by_sdk: true
cli_full_command: zone recordset delete
list:
operation_id: zones/zone_id/recordsets:get
operation_type: list
targets:
rust-sdk:
module_name: list
rust-cli:
module_name: list
sdk_mod_name: list
cli_full_command: zone recordset list
create:
operation_id: zones/zone_id/recordsets:post
operation_type: create
targets:
rust-sdk:
module_name: create
rust-cli:
module_name: create
sdk_mod_name: create
cli_full_command: zone recordset create
find:
operation_id: zones/zone_id/recordsets:get
operation_type: find
targets:
rust-sdk:
module_name: find
sdk_mod_path: dns::v2::zone::recordset
name_field: name
name_filter_supported: false
list_mod: list
dns.zone/task/transfer_accept:
spec_file: wrk/openapi_specs/dns/v2.1.yaml
api_version: v2
operations:
list:
operation_id: zones/tasks/transfer_accepts:get
operation_type: list
targets:
rust-sdk:
module_name: list
rust-cli:
module_name: list
sdk_mod_name: list
cli_full_command: zone task transfer-accept list
create:
operation_id: zones/tasks/transfer_accepts:post
operation_type: create
targets:
rust-sdk:
module_name: create
rust-cli:
module_name: create
sdk_mod_name: create
cli_full_command: zone task transfer-accept create
show:
operation_id: zones/tasks/transfer_accepts/transfer_accept_id:get
operation_type: show
targets:
rust-sdk:
module_name: get
rust-cli:
module_name: show
sdk_mod_name: get
cli_full_command: zone task transfer-accept show
dns.zone/task/transfer_request:
spec_file: wrk/openapi_specs/dns/v2.1.yaml
api_version: v2
operations:
show:
operation_id: zones/tasks/transfer_requests/zone_transfer_request_id:get
operation_type: show
targets:
rust-sdk:
module_name: get
rust-cli:
module_name: show
sdk_mod_name: get
cli_full_command: zone task transfer-request show
delete:
operation_id: zones/tasks/transfer_requests/zone_transfer_request_id:delete
operation_type: delete
targets:
rust-sdk:
module_name: delete
rust-cli:
module_name: delete
sdk_mod_name: delete
cli_full_command: zone task transfer-request delete
update:
operation_id: zones/tasks/transfer_requests/zone_transfer_request_id:patch
operation_type: set
targets:
rust-sdk:
module_name: set
rust-cli:
module_name: set
sdk_mod_name: set
cli_full_command: zone task transfer-request set
list:
operation_id: zones/tasks/transfer_requests:get
operation_type: list
targets:
rust-sdk:
module_name: list
rust-cli:
module_name: list
sdk_mod_name: list
cli_full_command: zone task transfer-request list
dns.zone/transfer_request:
spec_file: wrk/openapi_specs/dns/v2.1.yaml
api_version: v2
operations:
create:
operation_id: zones/zone_id/transfer_requests:post
operation_type: create
targets:
rust-sdk:
module_name: create
rust-cli:
module_name: create
sdk_mod_name: create
cli_full_command: zone transfer-request create
dns.zone/abandon:
spec_file: wrk/openapi_specs/dns/v2.1.yaml
api_version: v2
operations:
get:
operation_id: zones/zone_id/abandon:get
operation_type: get
targets:
rust-sdk:
module_name: get
rust-cli:
module_name: get
sdk_mod_name: get
cli_full_command: zone abandon get
create:
operation_id: zones/zone_id/abandon:post
operation_type: create
targets:
rust-sdk:
module_name: create
rust-cli:
module_name: create
sdk_mod_name: create
cli_full_command: zone abandon create
dns.zone/xfr:
spec_file: wrk/openapi_specs/dns/v2.1.yaml
api_version: v2
operations:
create:
operation_id: zones/zone_id/xfr:post
operation_type: create
targets:
rust-sdk:
module_name: create
rust-cli:
module_name: create
sdk_mod_name: create
cli_full_command: zone xfr create
dns.zone/pool_move:
spec_file: wrk/openapi_specs/dns/v2.1.yaml
api_version: v2
operations:
create:
operation_id: zones/zone_id/pool_move:post
operation_type: create
targets:
rust-sdk:
module_name: create
rust-cli:
module_name: create
sdk_mod_name: create
cli_full_command: zone pool-move create
dns.zone/task/import:
spec_file: wrk/openapi_specs/dns/v2.1.yaml
api_version: v2
operations:
delete:
operation_id: zones/tasks/imports/zone_import_id:delete
operation_type: delete
targets:
rust-sdk:
module_name: delete
rust-cli:
module_name: delete
sdk_mod_name: delete
cli_full_command: zone task import delete
list:
operation_id: zones/tasks/imports:get
operation_type: list
targets:
rust-sdk:
module_name: list
rust-cli:
module_name: list
sdk_mod_name: list
cli_full_command: zone task import list
create:
operation_id: zones/tasks/imports:post
operation_type: create
targets:
rust-sdk:
module_name: create
rust-cli:
module_name: create
sdk_mod_name: create
cli_full_command: zone task import create
show:
operation_id: zones/tasks/imports/import_id:get
operation_type: show
targets:
rust-sdk:
module_name: get
rust-cli:
module_name: show
sdk_mod_name: get
cli_full_command: zone task import show
dns.zone/task/export:
spec_file: wrk/openapi_specs/dns/v2.1.yaml
api_version: v2
operations:
delete:
operation_id: zones/tasks/exports/zone_export_id:delete
operation_type: delete
targets:
rust-sdk:
module_name: delete
rust-cli:
module_name: delete
sdk_mod_name: delete
cli_full_command: zone task export delete
list:
operation_id: zones/tasks/exports:get
operation_type: list
targets:
rust-sdk:
module_name: list
rust-cli:
module_name: list
sdk_mod_name: list
cli_full_command: zone task export list
show:
operation_id: zones/tasks/exports/export_id:get
operation_type: show
targets:
rust-sdk:
module_name: get
rust-cli:
module_name: show
sdk_mod_name: get
cli_full_command: zone task export show
dns.zone/export:
spec_file: wrk/openapi_specs/dns/v2.1.yaml
api_version: v2
operations:
create:
operation_id: zones/zone_id/export:post
operation_type: create
targets:
rust-sdk:
module_name: create
rust-cli:
module_name: create
sdk_mod_name: create
cli_full_command: zone export create
dns.zone/nameserver:
spec_file: wrk/openapi_specs/dns/v2.1.yaml
api_version: v2
operations:
get:
operation_id: zones/zone_id/nameservers:get
operation_type: get
targets:
rust-sdk:
module_name: get
rust-cli:
module_name: get
sdk_mod_name: get
cli_full_command: zone nameserver get
dns.zone/share:
spec_file: wrk/openapi_specs/dns/v2.1.yaml
api_version: v2
operations:
show:
operation_id: zones/zone_id/shares/zone_share_id:get
operation_type: show
targets:
rust-sdk:
module_name: get
rust-cli:
module_name: show
sdk_mod_name: get
cli_full_command: zone share show
delete:
operation_id: zones/zone_id/shares/zone_share_id:delete
operation_type: delete
targets:
rust-sdk:
module_name: delete
rust-cli:
module_name: delete
sdk_mod_name: delete
cli_full_command: zone share delete
list:
operation_id: zones/zone_id/shares:get
operation_type: list
targets:
rust-sdk:
module_name: list
rust-cli:
module_name: list
sdk_mod_name: list
cli_full_command: zone share list
create:
operation_id: zones/zone_id/shares:post
operation_type: create
targets:
rust-sdk:
module_name: create
rust-cli:
module_name: create
sdk_mod_name: create
cli_full_command: zone share create
dns.blacklist:
spec_file: wrk/openapi_specs/dns/v2.1.yaml
api_version: v2
operations:
show:
operation_id: blacklists/blacklist_id:get
operation_type: show
targets:
rust-sdk:
module_name: get
rust-cli:
module_name: show
sdk_mod_name: get
cli_full_command: blacklist show
delete:
operation_id: blacklists/blacklist_id:delete
operation_type: delete
targets:
rust-sdk:
module_name: delete
rust-cli:
module_name: delete
sdk_mod_name: delete
cli_full_command: blacklist delete
update:
operation_id: blacklists/blacklist_id:patch
operation_type: set
targets:
rust-sdk:
module_name: set
rust-cli:
module_name: set
sdk_mod_name: set
cli_full_command: blacklist set
list:
operation_id: blacklists:get
operation_type: list
targets:
rust-sdk:
module_name: list
rust-cli:
module_name: list
sdk_mod_name: list
cli_full_command: blacklist list
create:
operation_id: blacklists:post
operation_type: create
targets:
rust-sdk:
module_name: create
rust-cli:
module_name: create
sdk_mod_name: create
cli_full_command: blacklist create
dns.pool:
spec_file: wrk/openapi_specs/dns/v2.1.yaml
api_version: v2
operations:
show:
operation_id: pools/pool_id:get
operation_type: show
targets:
rust-sdk:
module_name: get
rust-cli:
module_name: show
sdk_mod_name: get
cli_full_command: pool show
delete:
operation_id: pools/pool_id:delete
operation_type: delete
targets:
rust-sdk:
module_name: delete
rust-cli:
module_name: delete
sdk_mod_name: delete
cli_full_command: pool delete
update:
operation_id: pools/pool_id:patch
operation_type: set
targets:
rust-sdk:
module_name: set
rust-cli:
module_name: set
sdk_mod_name: set
cli_full_command: pool set
list:
operation_id: pools:get
operation_type: list
targets:
rust-sdk:
module_name: list
rust-cli:
module_name: list
sdk_mod_name: list
cli_full_command: pool list
create:
operation_id: pools:post
operation_type: create
targets:
rust-sdk:
module_name: create
rust-cli:
module_name: create
sdk_mod_name: create
cli_full_command: pool create
dns.service_statuse:
spec_file: wrk/openapi_specs/dns/v2.1.yaml
api_version: v2
operations:
list:
operation_id: service_statuses:get
operation_type: list
targets:
rust-sdk:
module_name: list
rust-cli:
module_name: list
sdk_mod_name: list
cli_full_command: service-statuse list
show:
operation_id: service_statuses/service_id:get
operation_type: show
targets:
rust-sdk:
module_name: get
rust-cli:
module_name: show
sdk_mod_name: get
cli_full_command: service-statuse show
dns.service_status:
spec_file: wrk/openapi_specs/dns/v2.1.yaml
api_version: v2
operations:
get:
operation_id: service_status:get
operation_type: get
targets:
rust-sdk:
module_name: get
rust-cli:
module_name: get
sdk_mod_name: get
cli_full_command: service-status get
dns.tsigkey:
spec_file: wrk/openapi_specs/dns/v2.1.yaml
api_version: v2
operations:
show:
operation_id: tsigkeys/tsigkey_id:get
operation_type: show
targets:
rust-sdk:
module_name: get
rust-cli:
module_name: show
sdk_mod_name: get
cli_full_command: tsigkey show
delete:
operation_id: tsigkeys/tsigkey_id:delete
operation_type: delete
targets:
rust-sdk:
module_name: delete
rust-cli:
module_name: delete
sdk_mod_name: delete
cli_full_command: tsigkey delete
update:
operation_id: tsigkeys/tsigkey_id:patch
operation_type: set
targets:
rust-sdk:
module_name: set
rust-cli:
module_name: set
sdk_mod_name: set
cli_full_command: tsigkey set
list:
operation_id: tsigkeys:get
operation_type: list
targets:
rust-sdk:
module_name: list
rust-cli:
module_name: list
sdk_mod_name: list
cli_full_command: tsigkey list
create:
operation_id: tsigkeys:post
operation_type: create
targets:
rust-sdk:
module_name: create
rust-cli:
module_name: create
sdk_mod_name: create
cli_full_command: tsigkey create
dns.recordset:
spec_file: wrk/openapi_specs/dns/v2.1.yaml
api_version: v2
operations:
list:
operation_id: recordsets:get
operation_type: list
targets:
rust-sdk:
module_name: list
rust-cli:
module_name: list
sdk_mod_name: list
cli_full_command: recordset list
show:
operation_id: recordsets/recordset_id:get
operation_type: show
targets:
rust-sdk:
module_name: get
rust-cli:
module_name: show
sdk_mod_name: get
cli_full_command: recordset show
dns.quota:
spec_file: wrk/openapi_specs/dns/v2.1.yaml
api_version: v2
operations:
show:
operation_id: quotas/project_id:get
operation_type: show
targets:
rust-sdk:
module_name: get
rust-cli:
module_name: show
sdk_mod_name: get
cli_full_command: quota show
delete:
operation_id: quotas/project_id:delete
operation_type: delete
targets:
rust-sdk:
module_name: delete
rust-cli:
module_name: delete
sdk_mod_name: delete
cli_full_command: quota delete
update:
operation_id: quotas/project_id:patch
operation_type: set
targets:
rust-sdk:
module_name: set
rust-cli:
module_name: set
sdk_mod_name: set
cli_full_command: quota set
list:
operation_id: quotas:get
operation_type: list
targets:
rust-sdk:
module_name: list
rust-cli:
module_name: list
sdk_mod_name: list
cli_full_command: quota list