clc_server — Создание, удаление, запуск и остановка серверов в CenturyLink Cloud.
Новая версия с 2.0.
- Описание
- Требования (к хосту, на котором выполняется модуль)
- Параметры
- Примеры
- Возвращаемые значения
- Примечания
Описание
- Модуль Ansible для создания, удаления, запуска и остановки серверов в CenturyLink Cloud.
Требования (к хосту, на котором выполняется модуль)
- python = 2.7
- requests >= 2.5.0
- clc-sdk
Параметры
| параметр | обязателен | значение по умолчанию | варианты | комментарии |
|---|---|---|---|---|
| add_public_ip | нет |
| Добавлять ли публичный IP-адрес к серверу | |
| additional_disks | нет | Список дополнительных дисков для сервера | ||
| alert_policy_id | нет | None | Политика оповещений для назначения серверу. Взаимоисключающее с 'alert_policy_name'. | |
| alert_policy_name | нет | None | Политика оповещений для назначения серверу. Взаимоисключающее с 'alert_policy_id'. | |
| alias | нет | None | Псевдоним учетной записи для предоставления серверов. | |
| anti_affinity_policy_id | нет | None | Политика антиаффинити для назначения серверу. Взаимоисключающее с 'anti_affinity_policy_name'. | |
| anti_affinity_policy_name | нет | None | Политика антиаффинити для назначения серверу. Взаимоисключающее с 'anti_affinity_policy_id'. | |
| configuration_id | нет | None | Требуется только для серверов bare metal. Указывает идентификатор для определенного типа конфигурации сервера bare metal для развертывания. | |
| count | нет | 1 | Количество серверов для создания (взаимоисключающее с exact_count) | |
| count_group | нет | None | Требуется при указании exact_count. Группа серверов, используемая для определения количества развертываемых серверов. | |
| cpu | нет | 1 | Количество процессоров для предоставления на сервере | |
| cpu_autoscale_policy_id | нет | None | Политика автоматического масштабирования для назначения серверу. | |
| custom_fields | нет | Список пользовательских полей для установки на сервере. | ||
| description | нет | None | Описание для установки для сервера. | |
| exact_count | нет | None | Выполнение в идемпотентном режиме. Обеспечит, что указанное точное количество серверов работает в предоставленной группе, создавая и удаляя их, чтобы достичь этого количества. Требуется установить count_group. | |
| group | нет | Default Group | Группа серверов для создания серверов. | |
| ip_address | нет | None | IP-адрес сервера. При отсутствии назначается автоматически. | |
| location | нет | None | Центр обработки данных для создания серверов. | |
| managed_os | нет |
| Создавать ли сервер как «Управляемый» или нет. | |
| memory | нет | 1 | Память в ГБ. | |
| name | нет | None | Идентификатор от 1 до 6 символов для использования для сервера. Требуется, когда state — 'present' | |
| network_id | нет | None | UUID сети, в которой нужно создать серверы. | |
| os_type | нет | None |
| Требуется только для серверов bare metal. Указывает ОС для подготовки сервера bare metal. |
| packages | нет | Список пакетов blue print для выполнения на сервере после его создания. | ||
| password | нет | None | Пароль для администратора/пользователя root | |
| primary_dns | нет | None | Основной DNS, используемый сервером. | |
| public_ip_ports | нет | Список портов для разрешения на брандмауэре к публичному IP-адресу сервера, если add_public_ip установлен в True. | ||
| public_ip_protocol | нет | TCP |
| Протокол для использования для публичного IP-адреса, если add_public_ip установлен в True. |
| secondary_dns | нет | None | Дополнительный DNS, используемый сервером. | |
| server_ids | нет | Требуется для состояний started, stopped и absent. Список идентификаторов серверов, чтобы убедиться, что они запущены, остановлены или отсутствуют. | ||
| source_server_password | нет | None | Пароль исходного сервера, если указан клон. | |
| state | нет | present |
| Состояние, которое требуется гарантировать для предоставленных ресурсов. |
| storage_type | нет | standard |
| Тип хранения, который необходимо подключить к серверу. |
| template | нет | None | Шаблон для создания сервера. Будет искать шаблон, если предоставлена частичная строка. Требуется, когда state — 'present' | |
| ttl | нет | None | Время жизни сервера в секундах. Сервер будет удален по истечении этого времени. | |
| type | нет | standard |
| Тип создаваемого сервера. |
| wait | нет | True |
| Ожидать ли завершения задач подготовки перед возвратом. |
Примеры
# Note - You must set the CLC_V2_API_USERNAME And CLC_V2_API_PASSWD Environment variables before running these examples
- name: Provision a single Ubuntu Server
clc_server:
name: test
template: ubuntu-14-64
count: 1
group: Default Group
state: present
- name: Ensure 'Default Group' has exactly 5 servers
clc_server:
name: test
template: ubuntu-14-64
exact_count: 5
count_group: Default Group
group: Default Group
- name: Stop a Server
clc_server:
server_ids:
- UC1ACCT-TEST01
state: stopped
- name: Start a Server
clc_server:
server_ids:
- UC1ACCT-TEST01
state: started
- name: Delete a Server
clc_server:
server_ids:
- UC1ACCT-TEST01
state: absent
Возвращаемые значения
Общие возвращаемые значения описаны здесь Возвращаемые значения, следующие поля уникальны для данного модуля:
| имя | описание | возвращается | тип | пример |
|---|---|---|---|---|
| partially_created_server_ids | Список идентификаторов частично созданных серверов | успех | список | ['UC1TEST-SVR01', 'UC1TEST-SVR02'] |
| server_ids | Список идентификаторов созданных серверов | успех | список | ['UC1TEST-SVR01', 'UC1TEST-SVR02'] |
| servers | Список объектов серверов, возвращаемых от CLC | успех | список | [{'status': 'active', 'description': 'test-server', 'changeInfo': {'modifiedBy': 'service.wfad', 'modifiedDate': 1438196820, 'createdBy': 'service.wfad', 'createdDate': 1438196820}, 'ipaddress': '10.120.45.23', 'storageType': 'standard', 'type': 'standard', 'isTemplate': False, 'links': [{'href': '/v2/servers/wfad/test-server', 'id': 'test-server', 'rel': 'self', 'verbs': ['GET', 'PATCH', 'DELETE']}, {'href': '/v2/groups/wfad/086ac1dfe0b6411989e8d1b77c4065f0', 'id': '086ac1dfe0b6411989e8d1b77c4065f0', 'rel': 'group'}, {'href': '/v2/accounts/wfad', 'id': 'wfad', 'rel': 'account'}, {'href': '/v2/billing/wfad/serverPricing/test-server', 'rel': 'billing'}, {'href': '/v2/servers/wfad/test-server/publicIPAddresses', 'verbs': ['POST'], 'rel': 'publicIPAddresses'}, {'href': '/v2/servers/wfad/test-server/credentials', 'rel': 'credentials'}, {'href': '/v2/servers/wfad/test-server/statistics', 'rel': 'statistics'}, {'href': '/v2/servers/wfad/510ec21ae82d4dc89d28479753bf736a/upcomingScheduledActivities', 'rel': 'upcomingScheduledActivities'}, {'href': '/v2/servers/wfad/510ec21ae82d4dc89d28479753bf736a/scheduledActivities', 'verbs': ['GET', 'POST'], 'rel': 'scheduledActivities'}, {'href': '/v2/servers/wfad/test-server/capabilities', 'rel': 'capabilities'}, {'href': '/v2/servers/wfad/test-server/alertPolicies', 'verbs': ['POST'], 'rel': 'alertPolicyMappings'}, {'href': '/v2/servers/wfad/test-server/antiAffinityPolicy', 'verbs': ['PUT', 'DELETE'], 'rel': 'antiAffinityPolicyMapping'}, {'href': '/v2/servers/wfad/test-server/cpuAutoscalePolicy', 'verbs': ['PUT', 'DELETE'], 'rel': 'cpuAutoscalePolicyMapping'}], 'id': 'test-server', 'locationId': 'UC1', 'details': {'hostName': '', 'powerState': 'started', 'ipAddresses': [{'internal': '10.1.1.1'}], 'disks': [{'partitionPaths': [], 'id': '0:0', 'sizeGB': 1}, {'partitionPaths': [], 'id': '0:1', 'sizeGB': 2}, {'partitionPaths': [], 'id': '0:2', 'sizeGB': 14}], 'diskCount': 3, 'snapshots': [], 'memoryMB': 1024, 'alertPolicies': [], 'memoryGB': 1, 'storageGB': 17, 'customFields': [], 'cpu': 1, 'inMaintenanceMode': False, 'partitions': []}, 'osType': 'Ubuntu 14 64-bit', 'os': 'ubuntu14_64Bit', 'groupId': '086ac1dfe0b6411989e8d1b77c4065f0', 'name': 'test-server'}] |
Примечания
Примечание
- Для использования данного модуля необходимо установить следующие переменные окружения, которые обеспечивают доступ к облаку Centurylink — CLC_V2_API_USERNAME, идентификатор входа в учетную запись облака Centurylink — CLC_V2_API_PASSWORD, пароль к учетной записи облака Centurylink
- В качестве альтернативы, модуль принимает токен API и псевдоним учетной записи. Токен API можно сгенерировать с помощью входа в учетную запись CLC и пароля через вызов API HTTP по адресу @ https://api.ctl.io/v2/authentication/login — CLC_V2_API_TOKEN, токен API, сгенерированный по адресу https://api.ctl.io/v2/authentication/login — CLC_ACCT_ALIAS, псевдоним учетной записи, связанной с облаком Centurylink
- Пользователи могут установить CLC_V2_API_URL для указания конечной точки, указывающей на другую среду CLC.
Статус
Этот модуль помечен как превью, что означает, что он не гарантирует обратную совместимость.
Для получения помощи в разработке модулей, если у вас есть такое желание, ознакомьтесь с Справочной информацией сообщества и участием, Тестированием Ansible и Разработкой модулей.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.4/clc_server_module.html