clc_modify_server — изменение серверов в CenturyLink Cloud.
Новое в версии 2.0.
Обзор
- Модуль Ansible для изменения серверов в CenturyLink Cloud.
Требования
Ниже перечислены требования к хосту, на котором будет выполняться этот модуль.
- python = 2.7
- requests >= 2.5.0
- clc-sdk
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| alert_policy_id | Идентификатор политики оповещений, который необходимо ассоциировать с сервером. Взаимоисключающий с 'alert_policy_name' |
|
| alert_policy_name | Имя политики оповещений, которое необходимо ассоциировать с сервером. Взаимоисключающий с 'alert_policy_id' |
|
| anti_affinity_policy_id | Идентификатор политики антиаффинити, который необходимо установить для гипермасштабируемого сервера. Взаимоисключающий с 'anti_affinity_policy_name' |
|
| anti_affinity_policy_name | Имя политики антиаффинити, которое необходимо установить для гипермасштабируемого сервера. Взаимоисключающий с 'anti_affinity_policy_id' |
|
| cpu | Количество ЦП для обновления на сервере |
|
| memory | Объем памяти (в ГБ) для установки на сервере. |
|
| server_ids
обязательно |
Список идентификаторов серверов для изменения. |
|
| state |
|
Состояние, которое необходимо гарантировать для предоставленных ресурсов. |
| wait
bool |
|
Нужно ли ждать завершения задач предоставления ресурсов перед возвратом. |
Примечания
Примечание
- Для использования данного модуля необходимо установить следующие переменные среды, которые обеспечивают доступ к CenturyLink Cloud: CLC_V2_API_USERNAME, идентификатор учетной записи для входа в CenturyLink Cloud; CLC_V2_API_PASSWORD, пароль учетной записи для CenturyLink Cloud.
- В качестве альтернативы модуль принимает токен API и псевдоним учетной записи. Токен API можно сгенерировать с помощью учетной записи CLC и пароля через вызов HTTP API по адресу: https://api.ctl.io/v2/authentication/login — CLC_V2_API_TOKEN, токен API, сгенерированный с помощью https://api.ctl.io/v2/authentication/login; CLC_ACCT_ALIAS, псевдоним учетной записи, связанный с CenturyLink Cloud.
- Пользователи могут установить CLC_V2_API_URL для указания конечной точки, которая указывает на другую среду CLC.
Примеры
# Note - You must set the CLC_V2_API_USERNAME And CLC_V2_API_PASSWD Environment variables before running these examples
- name: set the cpu count to 4 on a server
clc_modify_server:
server_ids:
- UC1TESTSVR01
- UC1TESTSVR02
cpu: 4
state: present
- name: set the memory to 8GB on a server
clc_modify_server:
server_ids:
- UC1TESTSVR01
- UC1TESTSVR02
memory: 8
state: present
- name: set the anti affinity policy on a server
clc_modify_server:
server_ids:
- UC1TESTSVR01
- UC1TESTSVR02
anti_affinity_policy_name: 'aa_policy'
state: present
- name: remove the anti affinity policy on a server
clc_modify_server:
server_ids:
- UC1TESTSVR01
- UC1TESTSVR02
anti_affinity_policy_name: 'aa_policy'
state: absent
- name: add the alert policy on a server
clc_modify_server:
server_ids:
- UC1TESTSVR01
- UC1TESTSVR02
alert_policy_name: 'alert_policy'
state: present
- name: remove the alert policy on a server
clc_modify_server:
server_ids:
- UC1TESTSVR01
- UC1TESTSVR02
alert_policy_name: 'alert_policy'
state: absent
- name: set the memory to 16GB and cpu to 8 core on a lust if servers
clc_modify_server:
server_ids:
- UC1TESTSVR01
- UC1TESTSVR02
cpu: 8
memory: 16
state: present
Возвращаемые значения
Общие возвращаемые значения описаны здесь, а следующие — поля, уникальные для данного модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| server_ids
список |
успех | Список идентификаторов серверов, которые были изменены
Пример:
['UC1TEST-SVR01', 'UC1TEST-SVR02'] |
| servers
список |
успех | Список объектов серверов, которые были изменены
Пример:
[{'changeInfo': {'createdBy': 'service.wfad', 'createdDate': 1438196820, 'modifiedBy': 'service.wfad', 'modifiedDate': 1438196820}, 'description': 'test-server', 'details': {'alertPolicies': [], 'cpu': 1, 'customFields': [], 'diskCount': 3, 'disks': [{'id': '0:0', 'partitionPaths': [], 'sizeGB': 1}, {'id': '0:1', 'partitionPaths': [], 'sizeGB': 2}, {'id': '0:2', 'partitionPaths': [], 'sizeGB': 14}], 'hostName': '', 'inMaintenanceMode': False, 'ipAddresses': [{'internal': '10.1.1.1'}], 'memoryGB': 1, 'memoryMB': 1024, 'partitions': [], 'powerState': 'started', 'snapshots': [], 'storageGB': 17}, 'groupId': '086ac1dfe0b6411989e8d1b77c4065f0', 'id': 'test-server', 'ipaddress': '10.120.45.23', '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', 'rel': 'publicIPAddresses', 'verbs': ['POST']}, {'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', 'rel': 'scheduledActivities', 'verbs': ['GET', 'POST']}, {'href': '/v2/servers/wfad/test-server/capabilities', 'rel': 'capabilities'}, {'href': '/v2/servers/wfad/test-server/alertPolicies', 'rel': 'alertPolicyMappings', 'verbs': ['POST']}, {'href': '/v2/servers/wfad/test-server/antiAffinityPolicy', 'rel': 'antiAffinityPolicyMapping', 'verbs': ['PUT', 'DELETE']}, {'href': '/v2/servers/wfad/test-server/cpuAutoscalePolicy', 'rel': 'cpuAutoscalePolicyMapping', 'verbs': ['PUT', 'DELETE']}], 'locationId': 'UC1', 'name': 'test-server', 'os': 'ubuntu14_64Bit', 'osType': 'Ubuntu 14 64-bit', 'status': 'active', 'storageType': 'standard', 'type': 'standard'}] |
Статус
Данный модуль помечен как превью, что означает, что его интерфейс не гарантируется как обратной совместимости.
Техническое обслуживание
Этот модуль помечен как сообщество, что означает, что его поддерживает сообщество Ansible. Подробнее об обслуживании модулей см. здесь.
Список других модулей, поддерживаемых сообществом Ansible, см. здесь.
Автор
- CLC Runner (@clc-runner)
Подсказка
Если вы заметите какие-либо проблемы в этой документации, вы можете отредактировать этот документ, чтобы улучшить его.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.6/modules/clc_modify_server_module.html