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

cloudru_evolution_iam_permission (Resource)


Example Usage

resource "cloudru_evolution_iam_permission" "resource_permission" {
# Поле resource_id является неизменяемым. При изменении значения ресурс будет пересоздан.
resource_id = "24fb40e3-919e-49b0-a2aa-a5bbaf6b5499"
# Поле subject_id является неизменяемым. При изменении значения ресурс будет пересоздан.
subject_id = "afc856d5-4fa6-4759-9be2-c5a2fa76b877"
expires_at = "Sat, 19 Oct 1901 22:10:18 UTC"
# Поле role_identifier является неизменяемым. При изменении значения ресурс будет пересоздан.
role_identifier = {
# Нужно заполнить одно из значений - role_name, role_id.
role_name = "25b451b7-f01a-46f8-a7c7-33e55b637c0c"
role_id = "3d344ec1-8583-4619-897c-e5c327751964"
}
# Позволяет переопределить дефолтный таймаут провайдера для определенного метода. Если нужно указать бесконечный таймаут, то нужно указать например 0s, тогда таймаута не будет.
timeouts {
create = "60m"
update = "30m"
delete = "20m"
}
# Игнорировать изменения таймаутов: это предотвращает лишние обновления ресурса при смене значений таймаутов в конфигурации
# Но следует учитывать, что метод delete в ресурсе читает значение таймаута из стейта и, если его нужно изменить, то этот блок стоит закомментировать
lifecycle {
ignore_changes = [timeouts]
}
}

Schema

Required

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

  • subject_id (String) Идентификатор субъекта.

Optional

  • expires_at (String) Дата и время истечения срока действия разрешения в формате RFC 3339. Например, 2025-12-31T23:59:59Z.

  • role_identifier (Attributes) Роль для назначения. Обязательно должно быть указано одно из полей: role (deprecated), role_name или role_id. (see below for nested schema)

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

Read-Only

  • created_at (String) Дата создания разрешения.

  • enabled (Boolean) Флаг активности разрешения. Возможные значения: true — разрешение активно, доступ предоставлен. false — разрешение неактивно, доступ отозван.

  • id (String) Идентификатор разрешения.

  • primary_role_id (String) Идентификатор роли (uuid).

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

  • role_name (String) Название роли.

  • role_type (String) Тип роли.

  • subject_type (String) Тип субъекта. Возможные значения: user — пользователь. user_group — группа пользователей. service_account — сервисный аккаунт.

  • updated_at (String) Дата обновления разрешения.

Nested Schema for role_identifier

Optional:

  • role_id (String) Идентификатор роли для назначения. Может использоваться для любой роли.

  • role_name (String) Название роли для назначения. Может использоваться для продуктовых ролей. В случае коллизии продуктовой и пользовательская роли по имени вернется ошибка, передавайте идентификатор роли.

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).

Зависимости

Resource ID

resource_id - идентификатор ресурса, на который выдается доступ. Может быть идентификатором организации, проекта или любого ресурса в проекте. Выберите его из id соответствующего датасорса, если такой датасорс предусмотрен для нужного типа ресурса.

Subject ID

Поле subject_id - идентификатор пользователя, группы или сервисного аккаунта. Его можно получить из:

  • users.id из датасорса cloudru_evolution_iam_user_collection (нужен customer_id для получения)

  • groups.id из датасорса cloudru_evolution_iam_group_collection (нужен target с customer_id или project_id для получения)

  • service_accounts.id из датасорса cloudru_evolution_iam_service_account_collection (нужен target с customer_id или project_id для получения)