Дополнительные методы
Статья создана
Обновлена 29 мая 2023 г.
Дополнительные методы API позволяют выполнять операции, которые нельзя выполнить средствами стандартных методов. Например, запустить или остановить виртуальную машину.
Для каждого сервиса доступен свой набор дополнительных методов. Списки методов приведены в справочниках к соответствующим API.
Дополнительным методам ставится в соответствие HTTP-метод POST
. Сигнатура дополнительных методов отличается от стандартной сигнатуры HTTP-методов. Название дополнительного метода указывается в URL ресурса, после знака :
.
Пример gRPC-описания метода AttachDisk
rpc AttachDisk (AttachInstanceDiskRequest) returns (operation.Operation) {
option (google.api.http) = {
post: "/compute/v1/instances/{instance_id}:attachDisk" body: "*"
};
// В поле `metadata` объекта Operation
// содержится представление `AttachInstanceDiskMetadata`.
// В случае успешного завершения операции
// в поле `response` объекта Operation
// содержится представление измененной виртуальной машины.
option (yandex.api.operation) = {
metadata: "AttachInstanceDiskMetadata"
response: "Instance"
};
}
message AttachInstanceDiskRequest {
// Идентификатор виртуальной машины, к которой
// требуется подключить диск.
string instance_id = 1;
// Подключаемый диск.
AttachedDiskSpec attached_disk_spec = 2;
}
message AttachInstanceDiskMetadata {
// Идентификатор виртуальной машины,
// к которой подключается диск.
string instance_id = 1;
// Идентификатор подключаемого диска.
string disk_id = 2;
}
Пример подключения диска в REST:
POST https://compute.api.cloud.yandex.net/compute/v1/instances/e0m97h0gbq0foeuis03:attachDisk
{
"attachedDiskSpec": {
...
}
}