{ "swagger": "2.0", "info": { "title": "clouddns.spec.proto", "version": "version not set" }, "tags": [ { "name": "ZoneService" }, { "name": "RecordService" } ], "consumes": [ "application/json" ], "produces": [ "application/json" ], "paths": { "/v1/zones": { "get": { "operationId": "ZoneService_List", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/v1ListZoneResponse" } } }, "parameters": [ { "name": "parentId", "description": "обязательное поле. Указывается идентификатор родительского сервисного инстанса.", "in": "query", "required": false, "type": "string" } ], "tags": [ "ZoneService" ] }, "post": { "operationId": "ZoneService_Create", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/v1Zone" } } }, "parameters": [ { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/v1CreateZoneRequest" } } ], "tags": [ "ZoneService" ] } }, "/v1/zones/{id}": { "get": { "operationId": "ZoneService_Get", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/v1Zone" } } }, "parameters": [ { "name": "id", "description": "обязательное поле. Идентификатор зоны.", "in": "path", "required": true, "type": "string" } ], "tags": [ "ZoneService" ] }, "delete": { "operationId": "ZoneService_Delete", "responses": { "200": { "description": "A successful response.", "schema": { "properties": {} } } }, "parameters": [ { "name": "id", "description": "обязательное поле. Идентификатор зоны.", "in": "path", "required": true, "type": "string" } ], "tags": [ "ZoneService" ] } }, "/v1/zones/{record.zoneId}/records/{record.name}/{record.type}": { "patch": { "operationId": "RecordService_Patch", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/v1Record" } } }, "parameters": [ { "name": "record.zoneId", "description": "идентификатор зоны.", "in": "path", "required": true, "type": "string" }, { "name": "record.name", "description": "наименование записи.", "in": "path", "required": true, "type": "string" }, { "name": "record.type", "description": "тип записи.", "in": "path", "required": true, "type": "string" }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/v1PatchRecordRequest" } } ], "tags": [ "RecordService" ] } }, "/v1/zones/{zone.id}": { "put": { "operationId": "ZoneService_Update", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/v1Zone" } } }, "parameters": [ { "name": "zone.id", "description": "идентификатор зоны.", "in": "path", "required": true, "type": "string" }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/v1UpdateZoneRequest" } } ], "tags": [ "ZoneService" ] }, "patch": { "operationId": "ZoneService_Patch", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/v1Zone" } } }, "parameters": [ { "name": "zone.id", "description": "идентификатор зоны.", "in": "path", "required": true, "type": "string" }, { "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/v1PatchZoneRequest" } } ], "tags": [ "ZoneService" ] } }, "/v1/zones/{zoneId}/records": { "get": { "operationId": "RecordService_List", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/v1ListRecordResponse" } } }, "parameters": [ { "name": "zoneId", "description": "обязательное поле. идентификатор зоны.", "in": "path", "required": true, "type": "string" } ], "tags": [ "RecordService" ] }, "post": { "operationId": "RecordService_Create", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/v1Record" } } }, "parameters": [ { "name": "zoneId", "description": "обязательное поле. Идентификатор зоны.", "in": "path", "required": true, "type": "string" }, { "name": "body", "in": "body", "required": true, "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "обязательное поле. Наименование записи ." }, "type": { "type": "string", "description": "обязательное поле. Тип записи." }, "values": { "type": "array", "items": { "type": "string", "description": "значение записи." }, "description": "обязательное поле. Значения записи." }, "ttl": { "type": "string", "format": "int64", "description": "время жизни записи (default: 3600)." } } } } ], "tags": [ "RecordService" ] } }, "/v1/zones/{zoneId}/records/{name}/{type}": { "get": { "operationId": "RecordService_Get", "responses": { "200": { "description": "A successful response.", "schema": { "$ref": "#/definitions/v1Record" } } }, "parameters": [ { "name": "zoneId", "description": "обязательное поле. Идентификатор зоны.", "in": "path", "required": true, "type": "string" }, { "name": "name", "description": "обязательное поле. Наименование записи.", "in": "path", "required": true, "type": "string" }, { "name": "type", "description": "обязательное поле. Тип записи.", "in": "path", "required": true, "type": "string" } ], "tags": [ "RecordService" ] }, "delete": { "operationId": "RecordService_Delete", "responses": { "200": { "description": "A successful response.", "schema": { "properties": {} } } }, "parameters": [ { "name": "zoneId", "description": "обязательное поле. Идентификатор зоны.", "in": "path", "required": true, "type": "string" }, { "name": "name", "description": "обязательное поле. Наименование записи.", "in": "path", "required": true, "type": "string" }, { "name": "type", "description": "обязательное поле. Тип записи.", "in": "path", "required": true, "type": "string" } ], "tags": [ "RecordService" ] } } }, "definitions": { "v1CreateZoneRequest": { "type": "object", "properties": { "parentId": { "type": "string", "description": "обязательное поле. Указывается идентификатор родительского сервисного инстанса." }, "name": { "type": "string", "description": "обязательное поле. Наименование зоны (FQDN)." } } }, "v1ListRecordResponse": { "type": "object", "properties": { "items": { "type": "array", "items": { "$ref": "#/definitions/v1Record" }, "description": "список записей." } } }, "v1ListZoneResponse": { "type": "object", "properties": { "items": { "type": "array", "items": { "$ref": "#/definitions/v1Zone" }, "description": "список зон." } } }, "v1PatchRecordRequest": { "type": "object", "properties": { "record": { "$ref": "#/definitions/v1Record", "description": "обязательное поле. Обновленная запись." }, "updateMask": { "type": "string", "description": "обязательное поле. Маска для обновления записи." } } }, "v1PatchZoneRequest": { "type": "object", "properties": { "zone": { "$ref": "#/definitions/v1Zone", "description": "обязательное поле. Обновленная зона." }, "updateMask": { "type": "string", "description": "обязательное поле. Маска для обновления зоны." } } }, "v1Record": { "type": "object", "properties": { "zoneId": { "type": "string", "description": "идентификатор зоны." }, "name": { "type": "string", "description": "наименование записи." }, "type": { "type": "string", "description": "тип записи." }, "values": { "type": "array", "description": "обязательное поле. Значения записи.", "items": { "type": "string", "description": "значение записи." } }, "ttl": { "type": "string", "format": "int64", "description": "время жизни записи (default: 3600)" }, "enables": { "type": "boolean", "description": "указывает на то, что запись активна." } } }, "v1UpdateZoneRequest": { "type": "object", "properties": { "zone": { "$ref": "#/definitions/v1Zone", "description": "обязательное поле. Обновленная зона." } } }, "v1Zone": { "type": "object", "properties": { "id": { "type": "string", "description": "идентификатор зоны." }, "parentId": { "type": "string", "description": "идентификатор владельца ключа." }, "name": { "type": "string", "description": "наименование зоны." }, "valid": { "type": "boolean", "description": "указывает на то, что зона проверена и готова к использованию." }, "validationText": { "type": "string", "description": "уникальный текст для валидации зоны." }, "delegated": { "type": "boolean", "description": "указывает на то, что зона делегирована." }, "lastCheck": { "type": "string", "format": "date-time", "description": "время последней проверки зоны." }, "createdAt": { "type": "string", "format": "date-time", "description": "время создания зоны." }, "updatedAt": { "type": "string", "format": "date-time", "description": "время последнего обновления зоны." } } } } }