Функция доступна в провайдере версии 4.10.1 и выше.

_Resource_ функция **decort_sdn_access_group** служит для управления группами доступа (access groups). Функция позволяет:
- Создать группу доступа
- Изменять группу доступа
- Удалить группу доступа
- Управлять пользователями группы доступа

## Аргументы

_Resource_ функция **decort_sdn_access_group** принимает следующие аргументы:

| Аргумент | Тип | Обязательный | Описание |
| --- | --- | --- | --- |
| display_name | string | :heavy_check_mark: | Имя группы доступа |
| comment | string | :heavy_check_mark: | Описание (комментарий) группы доступа |
| users | []Struct [см. ниже](#описание-блока-users) | :x: | Управление пользователями, которые являются частью группы |
| default_security_policy | Struct [см. ниже](#описание-блока-default_security_policy) | :x: | Определение политик безопасности по умолчанию |

### Описание блока users
| Аргумент | Тип | Обязательный | Описание |
| --- | --- | --- | --- |
| user_id | string | :heavy_check_mark: | Идентификатор пользователя |
| access_group_role_id | string | :heavy_check_mark: | Идентификатор назначенной роли |

### Описание блока default_security_policy
| Аргумент | Тип | Обязательный | Описание |
| --- | --- | --- | --- |
| default_acl_drop | string | :x: | Начальные права доступа |
| default_open_session_drop | bool | :x: | Флаг сброса открытых сессий |

## Возвращаемые значения

В случае успешного выполнения _resource_ функция **decort_sdn_access_group** возвращает в указанную при вызове переменную элемент, который состоит из следующих параметров:

| Параметр | Тип | Описание |
| --- | --- | --- | 
| display_name | string | Имя группы доступа |
| comment | string | Описание группы доступа |
| created_at | string | Время создания группы доступа |
| net_object_access_group | []Struct [см. ниже](#описание-структуры-net_object_access_group) | Конфигурация сетевого объекта группы доступа |
| default_security_policy | []Struct [см. ниже](#описание-структуры-default_security_policy) | Конфигурация политики безопасности по умолчанию |

### Описание структуры net_object_access_group
| Параметр | Тип | Описание |
| --- | --- | --- |
| access_group_id | string | Идентификатор группы доступа |
| id | string | Уникальный идентификатор сетевого объекта |
| version_id | int | Идентификатор версии |

### Описание структуры default_security_policy
| Параметр | Тип | Описание |
| --- | --- | --- |
| display_name | string | Отображаемое имя политики безопасности |
| id | string | Уникальный идентификатор политики безопасности |
| description | string | Описание политики безопасности |
| version_id | int | Идентификатор версии политики безопасности |
| access_group_id | string | Идентификатор группы доступа, связанной с политикой |
| default_acl_drop | string | Действие по умолчанию для ACL drop |
| default_open_session_drop | bool | Флаг сброса открытых сессий по умолчанию |

## Пример использования

Пример вызова _resource_ функции **decort_sdn_access_group**:

```terraform
resource "decort_sdn_access_group" "name" {
   #название группы
   #обязательный параметр
   #тип - строка
   #используется при создании и обновлении     
   display_name = "name"

   #описание (комментарий) к группе
   #обязательный параметр
   #тип - строка
   #используется при создании и обновлении      
   comment = "comment"

   #управление пользователями, входящими в группу
   #опциональный параметр
   #тип - блок
   #используется при создании и обновлении
   #users {
       #id назначаемой роли 
       #обязательный параметр 
       #тип - строка    
       #access_group_role_id = "a1b2c3d4-e5f6-7890-g1h2-i3j4k5l6m7n8"

       #id пользователя 
       #обязательный параметр 
       #тип - строка 
       #user_id = "jkf-jfi-456fn5-kks"
    #}

   #определение политик безопасности по умолчанию
   #опциональный параметр
   #тип - блок
   #используется при создании и обновлении ресурса
   #default_security_policy {
      #начальные права доступа
      #опциональный параметр
      #тип - строка
      #используется при создании и обновлении          
      #default_acl_drop = "default_acl_drop"

     #флаг сброса открытых сессий
     #опциональный параметр 
     #тип - булев 
     #используется при создании и обновлении         
     #default_open_session_drop = true
  #}
}
```

Данный пример подразумевает, что ранее по тексту tf-файла выполнена корректная инициализация провайдера (подробнее об инициализации Terraform провайдера DECORT см. соответствующий [раздел](https://repository.basistech.ru/BASIS/wiki-terraform-provider-decort/src/branch/main/4.10.1/04.02-Инициализация-Terraform-провайдера-DECORT.md)).

После успешного завершения такого вызова **decort_sdn_access_group** в переменной `decort_sdn_access_group.name` будут сохранены возвращаемые значения.

