14 KiB
Модуль decort_rg
Обзор модуля decort_rg
Модуль decort_rg предназначен для создания, редактирования и удаления ресурсных групп (Resource Group, RG) в облачной платформе DECORT, а также для получения информации об уже существующей ресурсной группе. Модуль decort_rg позволяет:
- создавать ресурсные группы
- удалять ресурсные группы (в корзину или безвозвратно)
- восстанавливать ресурсные группы из корзины
- включать/отключать ресурсные группы
- запрашивать информацию об уже существующих ресурсных группах
- изменять ресурсные группы:
- переименовывать
- настраивать квоты
- задавать стандартную сеть
- настраивать права доступа для пользователей
- изменять доступные пулы СХД
Параметры модуля decort_rg
Ниже приведен список параметров для модуля decort_rg (за исключением общих параметров авторизации):
Параметр | Тип, допустимые значения | Описание |
---|---|---|
account_id | (int) | Уникальный целочисленный идентификатор аккаунта, в рамках которого создаётся или уже существует данная ресурсная группа. Должен быть задан либо идентификатор, либо имя аккаунта (см. параметр account_name ). Если одновременно заданы и account_id , и account_name , то account_name игнорируется. |
account_name | (string) | Имя аккаунта, в рамках которого создаётся или уже существует данная ресурсная группа. Должно быть задано либо имя, либо идентификатор учётной записи (см. параметр account_id ). Если одновременно заданы и account_id , и account_name , то account_name игнорируется. |
access | (dict) | Параметр, позволяющий выдать, забрать или изменить права у пользователя в ресурсной группе. |
description | (string) | Текстовое описание ресурсной группы. Данный параметр является опциональным и учитывается только при создании ресурсной группы, а при всех прочих операциях игнорируется. |
def_netId | (int) | Уникальный целочисленный идентификатор внутренней или внешней сети. Используется для изменения сети по умолчанию в ресурсной группе. |
def_netType | (string) Значения: PRIVATE PUBLIC NONE Default: PRIVATE |
Тип сети по умолчанию в ресурсной группе. Используется при создании ресурсной группы, а также при изменении. |
extNetId | (int) | Уникальный целочисленный идентификатор внешней сети. Если def_netType: PRIVATE , то указывает какую внешнюю сеть подключить к создаваемой внутренней сети, которая будет задана как сеть по умолчанию для создаваемой РГ.Если def_netType: PUBLIC , то указывает какую внешнюю сеть задать как сеть по умолчанию для создаваемой РГ. |
extNetIp | (string) | IP-адрес для внешней сети, которая задана в параметре extNetId . |
ipcidr | (string) | IP-адрес внутренней сети. Используется при создании ресурсной группы, чтобы задать IP-адрес сети для создаваемой внутренней сети, которая создастся вместе с ресурсной группой. Используется при параметре def_netType в значении PRIVATE . |
owner | (string) | Владелец ресурсной группы. Задаётся при создании ресурсной группы, не обязателен. Если оставить пустое значение - владельцем ресурсной группы будет пользователь, создавший ресурсную группу. |
permanently | (bool) Default: false |
Параметр, использующийся при удалении ресурсной группы. При значении true - ресурсная группа удалится безвозвратно, а при false - попадёт в корзину. |
quotas | (dict) | Предназначено для задания или изменения квоты на ресурсы в составе данной ресурсной группы. |
rename | (string) | Новое имя ресурсной группы. Возможно переименование только включенной ресурсной группы. |
rg_id | (int) | Уникальный целочисленный идентификатор ресурсной группы. Является обязательным при изменении РГ если не заданы rg_name и account_id /account_name |
rg_name | (string) | Имя ресурсной группы. Данный параметр является обязательным при создании. |
sep_pools | (list) | Список словарей, описывающих доступные пулы СХД. Ключи словаря: • sep_id (int) - идентификатор системы хранения данных.• pool_names (list) - список названий пулов системы хранения данных.Чтобы очистить список доступных пулов, нужно указать пустой список [] . |
state | Значения:present absent enabled disabled Default: present |
Целевое состояние ресурсной группы. |
Возвращаемые значения модуля decort_rg
Модуль decort_rg возвращает информацию о ресурсной группе в виде словаря facts со следующими ключами:
Ключ | Тип данных | Описание |
---|---|---|
account_id | int | Уникальный целочисленный идентификатор аккаунта, которому принадлежит данная ресурсная группа. |
gid | int | Идентификатор физического кластера (Grid ID), на базе которого развёрнута ресурсная группа. |
id | int | Уникальный целочисленный идентификатор ресурсной группы. |
name | string | Имя ресурсной группы. Обратите внимание, что это имя уникально только в рамках аккаунта, которому принадлежит данная ресурсная группа. |
state | string | Текущее состояние ресурсной группы. |
quota | dict | Текущие квоты ресурсной группы. |
resTypes | list | Список типов ресурсов, разрешенных к созданию в данной ресурсной группе. |
defNetId | int | Уникальный целочисленный идентификатор сети по умолчанию в данной ресурсной группе. |
defNetType | string | Тип сети по умолчанию в данной ресурсной группе. |
ViNS | list | Список идентификаторов внутренних сетей ресурсной группы. |
computes | list | Список идентификаторов виртуальных машин ресурсной группы. |
uniqPools | list | Список доступных пулов СХД. |
Пример использования модуля decort_rg
В данном примере показано, как создать ресурсную группу по имени MyRG в аккаунте MyAccount.
- name: manage resource group
decort_rg:
authenticator: oauth2
app_id: "{{ my_app_id }}"
app_secret: "{{ my_app_secret }}"
oauth2_url: "https://sso.digitalenergy.online"
controller_url: "https://cloud.digitalenergy.online"
account_name: "MyAccount"
rg_name: "MyRG"
state: present
register: my_rg
delegate_to: localhost
В данном примере показано, как создать ресурсную группу по имени MyRG в аккаунте MyAccount, также задать квоты и выдать права на чтение пользователю MyUser.
- name: manage resource group
decort_rg:
authenticator: oauth2
app_id: "{{ my_app_id }}"
app_secret: "{{ my_app_secret }}"
oauth2_url: "https://sso.digitalenergy.online"
controller_url: "https://cloud.digitalenergy.online"
account_name: "MyAccount"
rg_name: "MyRG"
access:
action: "grant"
user: "MyUser"
right: "R"
quotas:
cpu: 16
ram: 16384
disk: 100
ext_ips: 20
net_transfer: 1000
state: present
register: my_rg
delegate_to: localhost
В данном примере показано, как выдать доступ на чтение и запись пользователю MyUser в ресурсной группе по имени MyRG в аккаунте MyAccount.
- name: manage resource group
decort_rg:
authenticator: oauth2
app_id: "{{ my_app_id }}"
app_secret: "{{ my_app_secret }}"
oauth2_url: "https://sso.digitalenergy.online"
controller_url: "https://cloud.digitalenergy.online"
account_name: "MyAccount"
rg_name: "MyRG"
access:
action: "grant"
user: "MyUser"
right: "RCX"
state: present
register: my_rg
delegate_to: localhost
В данном примере показано, как сменить квоту в ресурсной группе по имени MyRG в аккаунте MyAccount.
- name: manage resource group
decort_rg:
authenticator: oauth2
app_id: "{{ my_app_id }}"
app_secret: "{{ my_app_secret }}"
oauth2_url: "https://sso.digitalenergy.online"
controller_url: "https://cloud.digitalenergy.online"
account_name: "MyAccount"
rg_name: "MyRG"
quotas:
cpu: 16
ram: 16384
disk: 100
ext_ips: 20
net_transfer: 1000
state: present
register: my_rg
delegate_to: localhost
В данном примере показано, как изменить сеть по умолчанию в ресурсной группе по имени MyRG в аккаунте MyAccount.
- name: manage resource group
decort_rg:
authenticator: oauth2
app_id: "{{ my_app_id }}"
app_secret: "{{ my_app_secret }}"
oauth2_url: "https://sso.digitalenergy.online"
controller_url: "https://cloud.digitalenergy.online"
account_name: "MyAccount"
rg_name: "MyRG"
def_netType: "PRIVATE"
def_netId: 99
state: present
register: my_rg
delegate_to: localhost
В данном примере показано, как переименовать ресурсную группу по имени MyRG на новое имя "NewRg" в аккаунте MyAccount.
- name: manage resource group
decort_rg:
authenticator: oauth2
app_id: "{{ my_app_id }}"
app_secret: "{{ my_app_secret }}"
oauth2_url: "https://sso.digitalenergy.online"
controller_url: "https://cloud.digitalenergy.online"
account_name: "MyAccount"
rg_name: "MyRG"
rename: "NewRg"
rg_id: 27
state: present
register: my_rg
delegate_to: localhost
В данном примере результат работы модуля decort_rg записывается в переменную my_rg.
Модули DECORT, которым для работы требуется ресурсная группа, в качестве одного из параметров, как правило, принимают идентификатор rg_id
. Так, например, используя модуль decort_kvmvm
для создания виртуального сервера необходимо указать ресурсную группу, к которой будет принадлежать этот виртуальный сервер. Сделать это можно следующим образом:
<прочие детали опущены>
rg_id: "{{ my_rg.facts.id }}"
В данном примере показано, как изменить доступные пулы СХД в ресурсной группе по имени MyRG в аккаунте MyAccount.
- name: change available sep pools
decort_rg:
authenticator: oauth2
app_id: "{{ my_app_id }}"
app_secret: "{{ my_app_secret }}"
oauth2_url: "https://sso.digitalenergy.online"
controller_url: "https://cloud.digitalenergy.online"
account_name: "MyAccount"
rg_name: "MyRG"
sep_pools:
- sep_id: 1
pool_names:
- sep1_pool1
- sep1_pool2
- sep_id: 2
pool_names:
- sep2_pool1
state: present
register: my_rg
delegate_to: localhost