Я пытаюсь развернуть облачную функцию через terraform:
+ ресурс "google_cloudfunctions_function" "scc-функция" {
+ доступная_память_мб = 256
+ описание = "обработчик уведомлений scc"
+ entry_point = "scc_notification_handler"
+ https_trigger_url = (известно после применения)
+ id = (известно после применения)
+ ingress_settings = "РАЗРЕШЕНО_ВНУТРЕННЕМ_ТОЛЬКО"
+ метки = {
+ "приложение" = "scc_notifications_to_alerts"
}
+ макс_экземпляров = 1
+ имя = "scc_notification_handler"
+ проект = "<отредактировано>"
+ регион = "европа-запад2"
+ время выполнения = "python38"
+ service_account_email = (известно после применения)
+ source_archive_bucket = "ka-security-cloudmon-trigger"
+ source_archive_object = "cloudmon_trigger.zip"
+ время ожидания = 60
+ vpc_connector_egress_settings = (известно после применения)
+ событие_триггер {
+ event_type = "google.pubsub.topic.publish"
+ ресурс = "scc-уведомления"
+ сбой_политики {
+ повтор = правда
}
}
Но это всегда приводит к:
google_cloudfunctions_function.scc-function: Создание...
Ошибка: googleapi: ошибка 400: запрос нарушил одну или несколько политик организации. Пожалуйста
обратитесь к соответствующим нарушениям для получения дополнительной информации., failedPrecondition
с функцией google_cloudfunctions_function.scc,
в строке 23 main.tf, в ресурсе "google_cloudfunctions_function" "scc-function":
23: ресурс "google_cloudfunctions_function" "scc-функция"
Я просмотрел организационные политики, журналы и т. д., но не нашел причины.
Когда я запускаю его из cli как «развертывание функции gcloud ...», он развертывается с использованием того же ведра, где код хранится в виде zip-файла.
Установите политики организации:
корень:
- ограничение: ограничения/compute.requireOsLogin
тип: логический
- ограничение: ограничения/gcp.resourceLocations
позволять:
- в: europe-locations
- ограничение: ограничения/iam.allowedPolicyMemberDomains
позволять:
- <отредактировано>
- ограничение: ограничения/sql.restrictPublicIp
применять: правда
тип: логический
- ограничение: ограничения/хранилище.uniformBucketLevelAccess
применять: правда
тип: логический
- ограничение: ограничения/compute.skipDefaultNetworkCreation
применять: правда
тип: логический
Любые идеи очень приветствуются.