Я использую Terraform google_project_iam_policy
ресурс для управления рядом ролей в проекте.
Я заметил, что он не всегда удаляет участника из роли, когда я этого ожидаю - по-видимому, иногда (но не всегда), если я использую облачную консоль для добавления участника в роль для проекта, Terraform не удаляет это когда я повторно подаю. Я ожидал, что он удалит этого члена из этой роли в соответствии с определением ресурса terraform.
Я хотел бы понять, что здесь происходит: умеет ли terraform различать их? есть ли какое-то неотображаемое состояние в облачной консоли /gcloud projects get-iam-policy
что я не вижу?
Я бы не ожидал этого от terraform при использовании ресурсов AWS, но не могу сказать, есть ли разница при работе в облаке Google.
Вложение роли и пользователь, которого вы создаете на консоли, не управляются терраформом, так зачем терраформ удалять его? Вы должны иметь возможность создавать ресурсы вместе с терраформом, не уничтожая их при следующем повторном применении. Если вы вносите прямые изменения в ресурс, управляемый терраформом, он отменит изменения.
Но, например, если вы создаете группу безопасности и некоторые правила в terraform, а затем вручную добавляете другое правило, terraform не удалит это правило, поскольку оно не управляется terraform.