Облачная платформаEvolution

cloudru_evolution_compute_interface (Resource)


Example Usage

resource "cloudru_evolution_compute_interface" "resource_interface" {
# Поле project_id является неизменяемым. При изменении значения ресурс будет пересоздан.
project_id = "0c5e1463-c340-477f-b8f4-5072a023bb70"
zone = {
# Нужно заполнить одно из значений - id, name.
id = "4abd3b7f-0241-43bb-a094-b3a53b298079"
name = "e0d62965-9b6f-4ee0-aae3-960403c8d836"
}
# Поле name является неизменяемым. При изменении значения ресурс будет пересоздан.
name = "083a991c-c84e-467b-aded-7250af3258c4"
description = "4446ba00-3063-4a76-81a1-d57a4598bcbb"
# Поле ip_address является неизменяемым. При изменении значения ресурс будет пересоздан.
ip_address = "82e35288-c549-4fcd-9ae1-5082bdc037cc"
interface_security_enabled = true
# Нужно заполнить одно из значений - new_external_ip, attach_external_ip
attach_external_ip = {
# Нужно заполнить одно из значений - id, name.
id = "31e513a6-9de6-4622-b012-3cedcb90a656"
name = "049090b4-bb25-4e9f-ad3e-a73436314bde"
}
allowed_address_pairs = {
value = [{
ip_address = "db18b906-0856-4cc2-aa80-d92c1c14bf89"
mac_address = "b5009e36-267d-4aaa-80ea-f4613b2ef120"
}]
}
# Поле type является неизменяемым. При изменении значения ресурс будет пересоздан.
# Варианты значений параметра type:
# INTERFACE_TYPE_REGULAR, INTERFACE_TYPE_SYSTEM, INTERFACE_TYPE_SERVICE, INTERFACE_TYPE_GATEWAY, INTERFACE_TYPE_FIP, INTERFACE_TYPE_DIRECT_IP, INTERFACE_TYPE_VIP
type = "INTERFACE_TYPE_SERVICE"
vm = {
# Поле id является неизменяемым. При изменении значения ресурс будет пересоздан.
id = "8ab0bef7-7cc5-45f8-829e-61d081220c18"
}
subnet = {
# Поле id является неизменяемым. При изменении значения ресурс будет пересоздан.
id = "2cd06dd5-fe31-4ec2-bcac-7a4d6b7cfe48"
}
security_groups = [{
# Нужно заполнить одно из значений - id, name.
id = "05e3155d-8765-4471-962e-4e3e87e80524"
name = "e1d3be23-c951-46c6-bf99-8f9490aa655b"
}]
# Позволяет переопределить дефолтный таймаут провайдера для определенного метода. Если нужно указать бесконечный таймаут, то нужно указать например 0s, тогда таймаута не будет.
timeouts {
create = "60m"
update = "30m"
delete = "20m"
}
# Игнорировать изменения таймаутов: это предотвращает лишние обновления ресурса при смене значений таймаутов в конфигурации
# Но следует учитывать, что метод delete в ресурсе читает значение таймаута из стейта и, если его нужно изменить, то этот блок стоит закомментировать
lifecycle {
ignore_changes = [timeouts]
}
}

Schema

Required

  • name (String) Название интерфейса.

  • project_id (String) Идентификатор проекта.

  • security_groups (Attributes List) Параметры групп безопасности. (see below for nested schema)

  • subnet (Attributes) Параметры подсети. (see below for nested schema)

  • zone (Attributes) Параметры зоны доступности. (see below for nested schema)

Optional

  • allowed_address_pairs (Attributes) Разрешенные пары адресов. (see below for nested schema)

  • attach_external_ip (Attributes) Параметры публичного IP. (see below for nested schema)

  • description (String) Описание интерфейса.

  • interface_security_enabled (Boolean) Возможность добавить сетевой интерфейс в группу безопасности: true — можно, false — нельзя.

  • ip_address (String) IP-адрес.

  • timeouts (Block, Optional) (see below for nested schema)

  • type (String) Тип интерфейса, определяемый параметрами подсети и виртуальной машины. В публичном API доступны следующие типы:DIRECT_IP, REGULAR. Внутри системы поддерживаются дополнительные типы для системных и сервисных объектов.

  • vm (Attributes) Параметры виртуальной машины. (see below for nested schema)

Read-Only

  • created_at (String) Дата и время создания сетевого интерфейса.

  • id (String) Идентификатор интерфейса.

  • primary (Boolean) Признак основного сетевого интерфейса.

  • status (String) Статус интерфейса.

  • updated_at (String) Дата и время изменения сетевого интерфейса.

Nested Schema for security_groups

Optional:

  • id (String) Идентификатор группы безопасности.

  • name (String) Название группы безопасности.

Read-Only:

  • status (String) Статус группы безопасности.

Nested Schema for subnet

Optional:

  • id (String) Идентификатор подсети.

Read-Only:

  • name (String) Название подсети.

  • status (String) Статус подсети.

Nested Schema for zone

Optional:

  • id (String) Идентификатор зоны доступности.

  • name (String) Название зоны доступности.

Read-Only:

  • enabled (Boolean) Флаг указывающий, доступна ли зона для использования.

Nested Schema for allowed_address_pairs

Required:

Nested Schema for allowed_address_pairs.value

Required:

  • ip_address (String) IP-адрес.

Optional:

  • mac_address (String) MAC-адрес.

Nested Schema for attach_external_ip

Optional:

  • id (String) Идентификатор публичного IP-адреса.

  • name (String) Название публичного IP-адреса.

Read-Only:

  • ip_address (String) Публичный IP-адрес.

  • status (String) Статус публичного IP-адреса.

Nested Schema for timeouts

Optional:

  • create (String) A string that can be parsed as a duration consisting of numbers and unit suffixes, such as «30s» or «2h45m». Valid time units are «s» (seconds), «m» (minutes), «h» (hours).

  • delete (String) A string that can be parsed as a duration consisting of numbers and unit suffixes, such as «30s» or «2h45m». Valid time units are «s» (seconds), «m» (minutes), «h» (hours). Setting a timeout for a Delete operation is only applicable if changes are saved into state before the destroy operation occurs.

  • update (String) A string that can be parsed as a duration consisting of numbers and unit suffixes, such as «30s» or «2h45m». Valid time units are «s» (seconds), «m» (minutes), «h» (hours).

Nested Schema for vm

Optional:

  • id (String) Идентификатор виртуальной машины.

Read-Only:

  • name (String) Название виртуальной машины.

  • status (String) Статус виртуальной машины.

Зависимости

Security groups

Нужные значения для групп безопасности (id или name) можно получить с помощью датасорса cloudru_evolution_compute_security_group_collection. Если нужной Вам группы безопасности не существует, то ее можно создать с помощью ресурса cloudru_evolution_compute_security_group.

Subnet

Нужное значение для подсети (id) можно получить с помощью датасорса cloudru_evolution_compute_subnet_collection. Если нужной Вам подсети не существует, то ее можно создать с помощью ресурса cloudru_evolution_compute_subnet.

Zone

Нужное значение для зоны доступности (id или name) можно получить с помощью датасорса cloudru_evolution_compute_zone_collection.

Attach external IP

Нужное значение для публичного IP-адреса (id или name) можно получить с помощью датасорса cloudru_evolution_compute_external_ip_collection. Если нужного Вам публичного IP-адреса не существует, то его можно создать с помощью ресурса cloudru_evolution_compute_external_ip.