google_project_service.apis["run.googleapis.com"]: Refreshing state... [id=propane-will-491900-m5/run.googleapis.com] google_project_service.apis["monitoring.googleapis.com"]: Refreshing state... [id=propane-will-491900-m5/monitoring.googleapis.com] google_project_service.apis["secretmanager.googleapis.com"]: Refreshing state... [id=propane-will-491900-m5/secretmanager.googleapis.com] google_project_service.apis["iam.googleapis.com"]: Refreshing state... [id=propane-will-491900-m5/iam.googleapis.com] google_project_service.apis["cloudtrace.googleapis.com"]: Refreshing state... [id=propane-will-491900-m5/cloudtrace.googleapis.com] google_artifact_registry_repository.repo: Refreshing state... [id=projects/propane-will-491900-m5/locations/europe-west1/repositories/agent-images] google_project_service.apis["cloudresourcemanager.googleapis.com"]: Refreshing state... [id=propane-will-491900-m5/cloudresourcemanager.googleapis.com] google_project_service.apis["aiplatform.googleapis.com"]: Refreshing state... [id=propane-will-491900-m5/aiplatform.googleapis.com] google_project_service.apis["cloudbuild.googleapis.com"]: Refreshing state... [id=propane-will-491900-m5/cloudbuild.googleapis.com] google_project_service.apis["cloudfunctions.googleapis.com"]: Refreshing state... [id=propane-will-491900-m5/cloudfunctions.googleapis.com] google_project_service.apis["pubsub.googleapis.com"]: Refreshing state... [id=propane-will-491900-m5/pubsub.googleapis.com] google_project_service.apis["logging.googleapis.com"]: Refreshing state... [id=propane-will-491900-m5/logging.googleapis.com] google_project_service.apis["storage.googleapis.com"]: Refreshing state... [id=propane-will-491900-m5/storage.googleapis.com] google_project_service.apis["artifactregistry.googleapis.com"]: Refreshing state... [id=propane-will-491900-m5/artifactregistry.googleapis.com] google_project_service.apis["cloudbilling.googleapis.com"]: Refreshing state... [id=propane-will-491900-m5/cloudbilling.googleapis.com] Terraform used the selected providers to generate the following execution plan. Resource actions are indicated with the following symbols: + create Terraform will perform the following actions: # google_cloud_run_v2_service.agent_service will be created + resource "google_cloud_run_v2_service" "agent_service" { + conditions = (known after apply) + create_time = (known after apply) + creator = (known after apply) + delete_time = (known after apply) + deletion_policy = "DELETE" + deletion_protection = true + effective_annotations = (known after apply) + effective_labels = { + "goog-terraform-provisioned" = "true" } + etag = (known after apply) + expire_time = (known after apply) + generation = (known after apply) + id = (known after apply) + ingress = (known after apply) + last_modifier = (known after apply) + latest_created_revision = (known after apply) + latest_ready_revision = (known after apply) + launch_stage = (known after apply) + location = "europe-west1" + name = "osvauco-agent" + observed_generation = (known after apply) + project = "propane-will-491900-m5" + reconciling = (known after apply) + terminal_condition = (known after apply) + terraform_labels = { + "goog-terraform-provisioned" = "true" } + traffic_statuses = (known after apply) + uid = (known after apply) + update_time = (known after apply) + uri = (known after apply) + urls = (known after apply) + scaling (known after apply) + template { + max_instance_request_concurrency = (known after apply) + service_account = "osvauco-agent-sa@propane-will-491900-m5.iam.gserviceaccount.com" + timeout = (known after apply) + containers { + build_info = (known after apply) + image = "europe-west1-docker.pkg.dev/propane-will-491900-m5/agent-images/osvauco-agent:latest" + env { + name = "CUSTOMER_ID" + value = "osvauco" } + ports (known after apply) + resources (known after apply) + startup_probe (known after apply) } + scaling (known after apply) } + traffic (known after apply) } # google_cloud_run_v2_service_iam_member.invoker will be created + resource "google_cloud_run_v2_service_iam_member" "invoker" { + etag = (known after apply) + id = (known after apply) + location = "europe-west1" + member = "user:chris.christiansen@vauco.no" + name = "osvauco-agent" + project = "propane-will-491900-m5" + role = "roles/run.invoker" } # google_project_iam_member.agent_sa_roles["roles/aiplatform.user"] will be created + resource "google_project_iam_member" "agent_sa_roles" { + etag = (known after apply) + id = (known after apply) + member = "serviceAccount:osvauco-agent-sa@propane-will-491900-m5.iam.gserviceaccount.com" + project = "propane-will-491900-m5" + role = "roles/aiplatform.user" } # google_project_iam_member.agent_sa_roles["roles/cloudtrace.agent"] will be created + resource "google_project_iam_member" "agent_sa_roles" { + etag = (known after apply) + id = (known after apply) + member = "serviceAccount:osvauco-agent-sa@propane-will-491900-m5.iam.gserviceaccount.com" + project = "propane-will-491900-m5" + role = "roles/cloudtrace.agent" } # google_project_iam_member.agent_sa_roles["roles/logging.logWriter"] will be created + resource "google_project_iam_member" "agent_sa_roles" { + etag = (known after apply) + id = (known after apply) + member = "serviceAccount:osvauco-agent-sa@propane-will-491900-m5.iam.gserviceaccount.com" + project = "propane-will-491900-m5" + role = "roles/logging.logWriter" } # google_project_iam_member.agent_sa_roles["roles/monitoring.metricWriter"] will be created + resource "google_project_iam_member" "agent_sa_roles" { + etag = (known after apply) + id = (known after apply) + member = "serviceAccount:osvauco-agent-sa@propane-will-491900-m5.iam.gserviceaccount.com" + project = "propane-will-491900-m5" + role = "roles/monitoring.metricWriter" } # google_project_iam_member.agent_sa_roles["roles/run.invoker"] will be created + resource "google_project_iam_member" "agent_sa_roles" { + etag = (known after apply) + id = (known after apply) + member = "serviceAccount:osvauco-agent-sa@propane-will-491900-m5.iam.gserviceaccount.com" + project = "propane-will-491900-m5" + role = "roles/run.invoker" } # google_project_iam_member.agent_sa_roles["roles/secretmanager.secretAccessor"] will be created + resource "google_project_iam_member" "agent_sa_roles" { + etag = (known after apply) + id = (known after apply) + member = "serviceAccount:osvauco-agent-sa@propane-will-491900-m5.iam.gserviceaccount.com" + project = "propane-will-491900-m5" + role = "roles/secretmanager.secretAccessor" } # google_project_iam_member.agent_sa_roles["roles/storage.objectAdmin"] will be created + resource "google_project_iam_member" "agent_sa_roles" { + etag = (known after apply) + id = (known after apply) + member = "serviceAccount:osvauco-agent-sa@propane-will-491900-m5.iam.gserviceaccount.com" + project = "propane-will-491900-m5" + role = "roles/storage.objectAdmin" } # google_project_service.apis["cloudbuildv2.googleapis.com"] will be created + resource "google_project_service" "apis" { + deletion_policy = "DELETE" + disable_dependent_services = true + id = (known after apply) + project = "propane-will-491900-m5" + service = "cloudbuildv2.googleapis.com" } # google_pubsub_subscription.billing_alerts_sub will be created + resource "google_pubsub_subscription" "billing_alerts_sub" { + ack_deadline_seconds = (known after apply) + deletion_policy = "DELETE" + effective_labels = { + "goog-terraform-provisioned" = "true" } + id = (known after apply) + message_retention_duration = "604800s" + name = "billing-alert-subscription" + project = "propane-will-491900-m5" + terraform_labels = { + "goog-terraform-provisioned" = "true" } + topic = "billing-alert-auto-teardown" + expiration_policy (known after apply) + push_config { + push_endpoint = "mailto:chris.christiansen@vauco.no" } } # google_pubsub_topic.billing_alerts will be created + resource "google_pubsub_topic" "billing_alerts" { + deletion_policy = "DELETE" + effective_labels = { + "goog-terraform-provisioned" = "true" } + id = (known after apply) + name = "billing-alert-auto-teardown" + project = "propane-will-491900-m5" + terraform_labels = { + "goog-terraform-provisioned" = "true" } + message_storage_policy (known after apply) } # google_service_account.agent_sa will be created + resource "google_service_account" "agent_sa" { + account_id = "osvauco-agent-sa" + deletion_policy = "DELETE" + disabled = false + display_name = "OSVauco Agent Runner SA" + email = "osvauco-agent-sa@propane-will-491900-m5.iam.gserviceaccount.com" + id = (known after apply) + member = "serviceAccount:osvauco-agent-sa@propane-will-491900-m5.iam.gserviceaccount.com" + name = (known after apply) + project = "propane-will-491900-m5" + unique_id = (known after apply) } Plan: 13 to add, 0 to change, 0 to destroy. Changes to Outputs: + cloud_run_url = (known after apply) google_service_account.agent_sa: Creating... google_project_service.apis["cloudbuildv2.googleapis.com"]: Creating... google_pubsub_topic.billing_alerts: Creating...