Spec-Zone.ru › Ansible

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

Примечание

Этот модуль входит в коллекцию community.general (версия 9.5.0).

У вас, возможно, уже установлена эта коллекция, если вы используете пакет ansible. Она не включена в ansible-core. Чтобы проверить установку, выполните ansible-galaxy collection list.

Чтобы установить её, используйте: ansible-galaxy collection install community.general. Для использования этого модуля необходимы дополнительные требования. Подробности см. в разделе Требования.

Для использования в книге задач укажите: community.general.clc_server.

  • Описание
  • Требования
  • Параметры
  • Атрибуты
  • Примечания
  • Примеры
  • Значения возврата

Описание

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

Требования

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

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

Параметры

Параметр

Комментарии

add_public_ip

boolean

Добавлять ли публичный IP-адрес к серверу

Варианты:

  • false ← (default)
  • true

additional_disks

list / elements=dictionary

Список дополнительных дисков для сервера

По умолчанию: []

alert_policy_id

string

Политика оповещений, которая будет назначена серверу. Взаимоисключающий параметр с ‘alert_policy_name’.

alert_policy_name

string

Политика оповещений, которая будет назначена серверу. Взаимоисключающий параметр с ‘alert_policy_id’.

alias

string

Псевдоним учетной записи, под которой будут развернуты серверы.

anti_affinity_policy_id

string

Политика анти-аффинити, которая будет назначена серверу. Взаимоисключающий параметр с ‘anti_affinity_policy_name’.

anti_affinity_policy_name

string

Политика анти-аффинити, которая будет назначена серверу. Взаимоисключающий параметр с ‘anti_affinity_policy_id’.

configuration_id

string

Требуется только для серверов bare metal. Указывает идентификатор для конкретного типа конфигурации сервера bare metal для развертывания.

count

integer

Количество серверов для создания (взаимоисключающий параметр с exact_count)

По умолчанию: 1

count_group

string

Требуется, когда указан exact_count. Серверная группа, используемая для определения количества серверов для развертывания.

cpu

integer

Сколько процессоров следует зарезервировать на сервере

По умолчанию: 1

cpu_autoscale_policy_id

string

Политика автомасштабирования, которая будет назначена серверу.

custom_fields

list / elements=dictionary

Список пользовательских полей, которые необходимо установить на сервере.

По умолчанию: []

description

string

Описание, которое будет установлено для сервера.

exact_count

integer

Запуск в идемпотентном режиме. Обеспечит, что указанное точное количество серверов работает в указанной группе, создавая и удаляя их для достижения этого количества. Требуется установить count_group.

group

string

Серверная группа, в которой будут создаваться серверы.

По умолчанию: "Default Group"

ip_address

string

IP-адрес для сервера. Если не указан, назначается автоматически.

location

string

Центр обработки данных, в котором будут создаваться серверы.

managed_os

boolean

Создавать ли сервер как «Управляемый» или нет.

Варианты:

  • false ← (default)
  • true

memory

integer

Память в ГБ.

По умолчанию: 1

name

string

Идентификатор из 1 до 6 символов для использования для сервера. Это необходимо, когда state имеет значение «present»

network_id

string

UUID сети, на которой будут создаваться серверы.

os_type

string

Требуется только для серверов bare metal. Указывает ОС, которую нужно установить на сервере bare metal.

Варианты:

  • "redHat6_64Bit"
  • "centOS6_64Bit"
  • "windows2012R2Standard_64Bit"
  • "ubuntu14_64Bit"

пакеты

список / элементы=словарь

Список пакетов шаблонов для выполнения на сервере после его создания.

По умолчанию: []

пароль

строка

Пароль администратора/пользователя root.

первичный_dns

строка

Первичный DNS, используемый сервером.

порты_общедоступного_ip

список / элементы=словарь

Список портов для разрешения на брандмауэре для общедоступного IP сервера, если add_public_ip установлен в True.

По умолчанию: []

протокол_общедоступного_ip

строка

Протокол для использования для общедоступного IP, если add_public_ip установлен в True.

Доступные значения:

  • "TCP" ← (по умолчанию)
  • "UDP"
  • "ICMP"

вторичный_dns

строка

Вторичный DNS, используемый сервером.

идентификаторы_серверов

список / элементы=строка

Требуется для состояний started, stopped и absent. Список идентификаторов серверов, которые должны быть запущены, остановлены или отсутствовать.

По умолчанию: []

пароль_источника_сервера

строка

Пароль исходного сервера, если указан клон.

состояние

строка

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

Доступные значения:

  • "present" ← (по умолчанию)
  • "absent"
  • "started"
  • "stopped"

тип_хранилища

строка

Тип хранилища, подключаемого к серверу.

Доступные значения:

  • "standard" ← (по умолчанию)
  • "hyperscale"

шаблон

строка

Используемый шаблон для создания сервера. Будет осуществлен поиск шаблона, если предоставлена частичная строка. Требуется, когда состояние равно ‘present’.

ttl

строка

Время жизни сервера в секундах. Сервер будет удален по истечении этого времени.

тип

строка

Тип создаваемого сервера.

Доступные значения:

  • "standard" ← (по умолчанию)
  • "hyperscale"
  • "bareMetal"

ожидать

логическое

Ожидать завершения задач настройки перед возвратом.

Доступные значения:

  • false
  • true ← (по умолчанию)

Атрибуты

Атрибут

Поддержка

Описание

режим_проверки

Поддержка: полная

Может работать в режиме check_mode и возвращать прогноз состояния изменения без модификации целевого объекта.

режим_сравнения

Поддержка: нет

В режиме сравнения вернет подробности о том, что изменилось (или, возможно, нуждается в изменении в check_mode).

Примечания

Примечание

  • Для использования данного модуля требуется установить следующие переменные среды, которые обеспечивают доступ к 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
  community.general.clc_server:
    name: test
    template: ubuntu-14-64
    count: 1
    group: Default Group
    state: present

- name: Ensure 'Default Group' has exactly 5 servers
  community.general.clc_server:
    name: test
    template: ubuntu-14-64
    exact_count: 5
    count_group: Default Group
    group: Default Group

- name: Stop a Server
  community.general.clc_server:
    server_ids:
      - UC1ACCT-TEST01
    state: stopped

- name: Start a Server
  community.general.clc_server:
    server_ids:
      - UC1ACCT-TEST01
    state: started

- name: Delete a Server
  community.general.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"}]

Авторы

  • CLC Runner (@clc-runner)

Ссылки на коллекцию

  • Система отслеживания проблем
  • Репозиторий (исходные коды)
  • Задайте вопрос
  • Отправить отчёт об ошибке
  • Запросить новую функцию
  • Связь

© 2012–2018 Michael DeHaan
© 2018–2024 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/community/general/clc_server_module.html

Spec-Zone.ru

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