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...
