refactor(terraform): move shelly to projects/shelly_taupunktluefter and flatten core infra
This commit is contained in:
@@ -0,0 +1,109 @@
|
||||
locals {
|
||||
openclaw_project_id = "octobot-486812"
|
||||
}
|
||||
|
||||
# ------------------------------------------------------------------------------
|
||||
# 1. API Services Enablement
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
resource "google_project_service" "apikeys_api" {
|
||||
project = local.openclaw_project_id
|
||||
service = "apikeys.googleapis.com"
|
||||
disable_on_destroy = false
|
||||
}
|
||||
|
||||
resource "google_project_service" "youtube_api" {
|
||||
project = local.openclaw_project_id
|
||||
service = "youtube.googleapis.com"
|
||||
disable_on_destroy = false
|
||||
}
|
||||
|
||||
resource "google_project_service" "routes_api" {
|
||||
project = local.openclaw_project_id
|
||||
service = "routes.googleapis.com"
|
||||
disable_on_destroy = false
|
||||
}
|
||||
|
||||
resource "google_project_service" "geocoding_api" {
|
||||
project = local.openclaw_project_id
|
||||
service = "geocoding-backend.googleapis.com"
|
||||
disable_on_destroy = false
|
||||
}
|
||||
|
||||
resource "google_project_service" "static_maps_api" {
|
||||
project = local.openclaw_project_id
|
||||
service = "static-maps-backend.googleapis.com"
|
||||
disable_on_destroy = false
|
||||
}
|
||||
|
||||
resource "google_project_service" "places_api" {
|
||||
project = local.openclaw_project_id
|
||||
service = "places.googleapis.com"
|
||||
disable_on_destroy = false
|
||||
}
|
||||
|
||||
# ------------------------------------------------------------------------------
|
||||
# 2. Dedicated API Keys
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
resource "google_apikeys_key" "openclaw_youtube_key" {
|
||||
name = "openclaw-youtube-key"
|
||||
display_name = "OpenClaw YouTube API Key"
|
||||
project = local.openclaw_project_id
|
||||
|
||||
restrictions {
|
||||
api_targets {
|
||||
service = "youtube.googleapis.com"
|
||||
}
|
||||
}
|
||||
|
||||
depends_on = [
|
||||
google_project_service.apikeys_api,
|
||||
google_project_service.youtube_api
|
||||
]
|
||||
}
|
||||
|
||||
resource "google_apikeys_key" "openclaw_google_maps_key" {
|
||||
name = "openclaw-google-maps-key"
|
||||
display_name = "OpenClaw Google Maps API Key"
|
||||
project = local.openclaw_project_id
|
||||
|
||||
restrictions {
|
||||
api_targets {
|
||||
service = "places.googleapis.com"
|
||||
}
|
||||
api_targets {
|
||||
service = "routes.googleapis.com"
|
||||
}
|
||||
api_targets {
|
||||
service = "geocoding-backend.googleapis.com"
|
||||
}
|
||||
api_targets {
|
||||
service = "static-maps-backend.googleapis.com"
|
||||
}
|
||||
}
|
||||
|
||||
depends_on = [
|
||||
google_project_service.apikeys_api,
|
||||
google_project_service.places_api,
|
||||
google_project_service.routes_api,
|
||||
google_project_service.geocoding_api,
|
||||
google_project_service.static_maps_api
|
||||
]
|
||||
}
|
||||
|
||||
# ------------------------------------------------------------------------------
|
||||
# 3. Outputs
|
||||
# ------------------------------------------------------------------------------
|
||||
|
||||
output "openclaw_youtube_api_key" {
|
||||
value = google_apikeys_key.openclaw_youtube_key.key_string
|
||||
description = "API Key dedicated to YouTube Data API v3 for OpenClaw"
|
||||
sensitive = true
|
||||
}
|
||||
|
||||
output "openclaw_google_maps_api_key" {
|
||||
value = google_apikeys_key.openclaw_google_maps_key.key_string
|
||||
description = "API Key dedicated to Google Maps Platform for OpenClaw"
|
||||
sensitive = true
|
||||
}
|
||||
Reference in New Issue
Block a user