Încerc să implementez o funcție cloud prin terraform:
+ resursă „google_cloudfunctions_function” „scc-function” {
+ memorie_disponibilă_mb = 256
+ descriere = "scc de gestionare a notificărilor"
+ entry_point = "scc_notification_handler"
+ https_trigger_url = (cunoscut după aplicare)
+ id = (cunoscut după aplicare)
+ ingress_settings = „ALLOW_INTERNAL_ONLY”
+ etichete = {
+ "app" = "scc_notifications_to_alerts"
}
+ max_instanțe = 1
+ nume = "scc_notification_handler"
+ proiect = "<redact>"
+ regiune = "europe-west2"
+ runtime = "python38"
+ service_account_email = (cunoscut după aplicare)
+ source_archive_bucket = "ka-security-cloudmon-trigger"
+ source_archive_object = "cloudmon_trigger.zip"
+ timeout = 60
+ vpc_connector_egress_settings = (cunoscut după aplicare)
+ event_trigger {
+ event_type = "google.pubsub.topic.publish"
+ resursă = "scc-notificări"
+ failure_policy {
+ reîncercați = adevărat
}
}
Dar întotdeauna rezultă:
google_cloudfunctions_function.scc-function: se creează...
Eroare: googleapi: Eroare 400: Solicitarea a încălcat una sau mai multe politici organizaționale. Vă rog
consultați încălcările respective pentru mai multe informații., failedPrecondition
cu google_cloudfunctions_function.scc-function,
pe linia main.tf 23, în resursa „google_cloudfunctions_function” „scc-function”:
23: resursă „google_cloudfunctions_function” „scc-function”
M-am uitat la politicile organizației, jurnalele etc., dar nu am bucurat să găsesc cauza.
Când îl rulez din cli ca „gcloud function deploy...” se implementează folosind aceeași găleată în care codul este stocat ca fișier zip.
Setați politicile organizației:
rădăcină:
- constrângere: constraints/compute.requireOsLogin
tip: boolean
- constrângere: constraints/gcp.resourceLocations
permite:
- in:europe-locations
- constrângere: constraints/iam.allowedPolicyMemberDomains
permite:
- <redactat>
- constrângere: constraints/sql.restrictPublicIp
impune: adevărat
tip: boolean
- constrângere: constraints/storage.uniformBucketLevelAccess
impune: adevărat
tip: boolean
- constrângere: constraints/compute.skipDefaultNetworkCreation
impune: adevărat
tip: boolean
Orice idei ar fi foarte apreciate.