Skip to content

ibm_logs_outgoing_webhook fails when configuring Event Notifications Outbound Integration with endpoint as publicΒ #6673

@iamar7

Description

@iamar7

Community Note

  • Please vote on this issue by adding a πŸ‘ reaction to the original issue to help the community and maintainers prioritize this request
  • Please do not leave "+1" or other comments that do not add relevant new information or questions, they generate extra noise for issue followers and do not help prioritize the request
  • If you are interested in working on this issue or have submitted a pull request, please leave a comment

Terraform CLI and Terraform IBM Provider Version

Terraform v1.10.5
IBM 1.80.2

Affected Resource(s)

  • ibm_logs_outgoing_webhook

Terraform Configuration Files

Please include all Terraform configurations required to reproduce the bug. Bug reports without a functional reproduction may be closed without investigation.

resource "ibm_iam_authorization_policy" "en_policy" {
  source_service_name         = "logs"
  source_resource_instance_id = "XXXXXXXXXXXXX" 
  target_service_name         = "event-notifications"
  target_resource_instance_id = split(":", var.existing_event_notifications_instance)[7]
  roles                       = ["Event Source Manager", "Viewer"]
  description                 = "Allow Cloud Logs 'Event Source Manager' and 'Viewer' role access on the Event Notification instance GUID ${split(":", var.existing_event_notifications_instance)[7]}"
}

resource "time_sleep" "wait_for_en_authorization_policy" {
  depends_on      = [ibm_iam_authorization_policy.en_policy]
  create_duration = "30s"
}
resource "ibm_logs_outgoing_webhook" "en_integration" {
  instance_id   = "XXXXXXXXXXXXX"
  region        = "us-south"
  endpoint_type = "public"
  name          = "en-integration"
  type          = "ibm_event_notifications"

  ibm_event_notifications {
    event_notifications_instance_id = split(":", var.existing_event_notifications_instance)[7]
    region_id                       = split(":", var.existing_event_notifications_instance)[5]
    endpoint_type                   = "public"
  }
}

##############################################################################
# Event Notification
##############################################################################

variable "ibmcloud_api_key" {
  type        = string
  description = "The IBM Cloud API Key."
  sensitive   = true
}

variable "existing_event_notifications_instance" {
  type        = string
  description = "Event Notifications instance details for routing critical events that occur in your IBM Cloud Logs."
  default     = "XXXXXXXXXXXXXXXXXXXXXX"
}

provider "ibm" {
  ibmcloud_api_key = var.ibmcloud_api_key
  region           = "us-south"
}


terraform {
  required_version = ">= 1.9.0"

  required_providers {
    ibm = {
      source  = "IBM-Cloud/ibm"
      version = "1.80.2"
    }
  }
}

Debug Output

β”‚ Error: ---
β”‚ id: terraform-c6091742
β”‚ summary: 'CreateOutgoingWebhookWithContext failed: Failed to deserialize JSON'
β”‚ severity: error
β”‚ resource: ibm_logs_outgoing_webhook
β”‚ operation: create
β”‚ component:
β”‚   name: github.com/IBM-Cloud/terraform-provider-ibm
β”‚   version: 1.80.2
β”‚ ---
β”‚ 
β”‚ 
β”‚   with ibm_logs_outgoing_webhook.en_integration,
β”‚   on main.tf line 14, in resource "ibm_logs_outgoing_webhook" "en_integration":
β”‚   14: resource "ibm_logs_outgoing_webhook" "en_integration" {
β”‚ 

Panic Output

Expected Behavior

The terraform apply should have succeeded resulting in the creation of ibm_logs_outgoing_webhook resource.

Actual Behavior

The terraform apply failed and it passed only when I specifically passed endpoint_type as default_or_public.

 ibm_event_notifications {
    event_notifications_instance_id = split(":", var.existing_event_notifications_instance)[7]
    region_id                       = split(":", var.existing_event_notifications_instance)[5]
    endpoint_type                   = "default_or_public"
  }

The terraform registry suggests that public is an acceptable value for endpoint type.

Steps to Reproduce

  1. terraform apply

Important Factoids

References

  • #0000

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions