Spec-Zone.ru › Ansible 2.6

clc_server — Создание, удаление, запуск и остановка серверов в CenturyLink Cloud.

Новая версия с 2.0.

  • Описание
    • Требования
  • Параметры
  • Примечания
  • Примеры
  • Возвращаемые значения
  • Статус
  • Техническое обслуживание
    • Автор

Описание

  • Модуль Ansible для создания, удаления, запуска и остановки серверов в CenturyLink Cloud.

Требования

Ниже перечислены требования к хосту, на котором выполняется этот модуль.

  • python = 2.7
  • requests >= 2.5.0
  • clc-sdk

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
add_public_ip
bool
    Варианты:
  • no ←
  • yes
Добавить ли публичный IP-адрес сервера
additional_disks Значение по умолчанию:
[]
Список дополнительных дисков для сервера
alert_policy_id
Политика оповещений, назначаемая серверу. Взаимоисключающее с 'alert_policy_name'.
alert_policy_name
Политика оповещений, назначаемая серверу. Взаимоисключающее с 'alert_policy_id'.
alias
Псевдоним учетной записи для развертывания серверов.
anti_affinity_policy_id
Политика анти-аффинити, назначаемая серверу. Взаимоисключающее с 'anti_affinity_policy_name'.
anti_affinity_policy_name
Политика анти-аффинити, назначаемая серверу. Взаимоисключающее с 'anti_affinity_policy_id'.
configuration_id
Требуется только для серверов bare metal. Указывает идентификатор для определенного типа конфигурации сервера bare metal, который нужно развернуть.
count Значение по умолчанию:
1
Количество серверов для создания (взаимоисключающее с exact_count)
count_group
Требуется, когда указан exact_count. Группа серверов, используемая для определения количества развертываемых серверов.
cpu Значение по умолчанию:
1
Количество процессоров для выделения на сервере
cpu_autoscale_policy_id
Политика автоматического масштабирования, назначаемая серверу.
custom_fields Значение по умолчанию:
[]
Список пользовательских полей для настройки сервера.
description
Описание, задаваемое для сервера.
exact_count
Режим идемпотентности. Обеспечивает, что в заданной группе будет ровно заданное количество серверов, создавая и удаляя их, чтобы достичь этого количества. Требует установки count_group.
group Значение по умолчанию:
"Default Group"
Группа серверов для создания серверов.
ip_address
IP-адрес сервера. Назначается, если не указан.
location
Дата-центр для создания серверов.
managed_os
bool
    Варианты:
  • no ←
  • yes
Создавать ли сервер как 'Управляемый' или нет.
memory Значение по умолчанию:
1
Память в ГБ.
name
Идентификатор длиной от 1 до 6 символов для сервера. Требуется, когда state = 'present'.
network_id
UUID сети, в которой нужно создать серверы.
os_type
    Варианты:
  • redHat6_64Bit
  • centOS6_64Bit
  • windows2012R2Standard_64Bit
  • ubuntu14_64Bit
Требуется только для серверов bare metal. Указывает ОС, с которой необходимо создать сервер bare metal.
packages Значение по умолчанию:
[]
Список пакетов шаблона, которые нужно запустить на сервере после его создания.
password
Пароль для администратора/пользователя root
primary_dns
Основной DNS, используемый сервером.
public_ip_ports Значение по умолчанию:
[]
Список портов для разрешения на брандмауэре для публичного IP-адреса сервера, если add_public_ip установлен в True.
public_ip_protocol
    Варианты:
  • TCP ←
  • UDP
  • ICMP
Протокол для использования публичного IP-адреса, если add_public_ip установлен в True.
secondary_dns
Дополнительный DNS, используемый сервером.
server_ids Значение по умолчанию:
[]
Требуется для состояний started, stopped и absent. Список идентификаторов серверов для обеспечения их состояния started, stopped или absent.
source_server_password
Пароль для исходного сервера, если указан клон.
state
    Варианты:
  • present ←
  • absent
  • started
  • stopped
Состояние, которое необходимо гарантировать для предоставленных ресурсов.
storage_type
    Варианты:
  • standard ←
  • hyperscale
Тип хранилища для подключения к серверу.
template
Шаблон для создания сервера. Будет искать шаблон, если указана частичная строка. Требуется, когда state = 'present'.
ttl
Время жизни сервера в секундах. Сервер будет удален по истечении этого времени.
type
    Варианты:
  • standard ←
  • hyperscale
  • bareMetal
Тип создаваемого сервера.
wait
bool
    Варианты:
  • no
  • yes ←
Ожидать ли завершения задач развертывания перед возвратом.

Примечания

Примечание

  • Для использования данного модуля необходимо установить переменные среды, которые обеспечивают доступ к 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: 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

Пример:
[{'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_server_module.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API