Spec-Zone.ru › Ansible 2.4

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

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

  • Описание
  • Требования (к хосту, на котором выполняется модуль)
  • Параметры
  • Примеры
  • Возвращаемые значения
  • Примечания
    • Статус

Описание

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

Требования (к хосту, на котором выполняется модуль)

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

Параметры

параметр обязателен значение по умолчанию варианты комментарии
add_public_ip
нет
  • False
  • True
Добавлять ли публичный 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
нет
  • True
  • False
Создавать ли сервер как «Управляемый» или нет.
memory
нет 1
Память в ГБ.
name
нет None
Идентификатор от 1 до 6 символов для использования для сервера. Требуется, когда state — 'present'
network_id
нет None
UUID сети, в которой нужно создать серверы.
os_type
нет None
  • redHat6_64Bit
  • centOS6_64Bit
  • windows2012R2Standard_64Bit
  • ubuntu14_64Bit
Требуется только для серверов 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
  • TCP
  • UDP
  • ICMP
Протокол для использования для публичного IP-адреса, если add_public_ip установлен в True.
secondary_dns
нет None
Дополнительный DNS, используемый сервером.
server_ids
нет
Требуется для состояний started, stopped и absent. Список идентификаторов серверов, чтобы убедиться, что они запущены, остановлены или отсутствуют.
source_server_password
нет None
Пароль исходного сервера, если указан клон.
state
нет present
  • present
  • absent
  • started
  • stopped
Состояние, которое требуется гарантировать для предоставленных ресурсов.
storage_type
нет standard
  • standard
  • hyperscale
Тип хранения, который необходимо подключить к серверу.
template
нет None
Шаблон для создания сервера. Будет искать шаблон, если предоставлена частичная строка. Требуется, когда state — 'present'
ttl
нет None
Время жизни сервера в секундах. Сервер будет удален по истечении этого времени.
type
нет standard
  • standard
  • hyperscale
  • bareMetal
Тип создаваемого сервера.
wait
нет True
  • True
  • False
Ожидать ли завершения задач подготовки перед возвратом.

Примеры

# 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

Spec-Zone.ru

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