Заказ диска OpenStack (через API)

Чтобы заказать диск на базе OpenStack:

  1. Создайте сервисный аккаунт.
  2. Создайте API-ключ.
  3. Для выполнения API-запросов получите сессионный токен.
  4. Для заказа диска (volume) выполните POST-запрос согласно примеру:

    curl -sS -X POST 'https://api.t1.cloud/order-service/api/v1/projects/<ID_ПРОЕКТА>/compute/volumes' -H 'accept: application/json' -H 'Content-Type: application/json' -H "Authorization: <ТОКЕН>" -d '
    {"order":
    {"project_name":"<ID_ПРОЕКТА>","product_id":"3167991b-14f7-4b06-b7d0-d7f2558dcc4c",
    "attrs":{"volume":{
    	// Имя диска
    	"name":"disk_1",
    	// Размер диска в ГБ
    	"size":10,   
    	// Тип диска. Подробнее см. раздел https://t1-cloud.ru/docs/article/api/znacheniya-parametrov-v-api#tip-diska
    	"volume_type":{
    		"id":"cb4724f6-e53e-4632-ac78-f83c4332add3",
    		"name":"ceph_hdd",
    		"extra_specs":{
    			"disk_type":"Light",
    			"max_read_iops":500,
    			"max_write_iops":300}
    				  }
    		  },
    // Укажите true, если диск нужно создать из образа. Иначе - false
    "from_image":true,
    // Зона доступности, в которой создаётся диск. Как получить список всех зон доступности проекта - https://swagger.t1.cloud/?urls.primaryName=Compute#/availability%20zones/get_availability_zones_project_api_v1_projects__project_name__availability_zones_get
    "availability_zone":{
    	"id":"d3p1k01",
    	"name":"ru-central1-a",
    	"description":""},
    // Если диск создаётся из образа, укажите ID, имя и размер образа. Подробнее см. раздел https://t1-cloud.ru/docs/article/api/znacheniya-parametrov-v-api#obraz-servera
    	"image":{
    	"id":"cf85e269-d367-4296-b07a-a1031f128a01",
    	"name":"AltLinux10SP",
    	"virtual_size":3027107840}}}}

    где:

    • <ID_ПРОЕКТА> идентификатор проекта.

      1. Щёлкните на текущий контекст. Подробнее см. раздел Выбор организации, папки или проекта.
      2. Выберите организацию.
      3. В списке найдите нужный проект. Идентификатор проекта указан в столбце Идентификатор.
    • <ТОКЕН> сессионный токен, полученный в шаге 3.

Мы ответили на ваш вопрос?