Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions locals.tf
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,9 @@ locals {
lblogdef = { for k, v in var.service_logdef : k => v if v.service == "loadbalancer" }
lbloggroup = [for k, v in var.service_logdef : v.loggroup if v.service == "loadbalancer"]

medialogdef = { for k, v in var.service_logdef : k => v if v.service == "mediaflow" }
medialoggroup = [for k, v in var.service_logdef : v.loggroup if v.service == "mediaflow"]

oslogdef = { for k, v in var.service_logdef : k => v if v.service == "objectstorage" }
osloggroup = [for k, v in var.service_logdef : v.loggroup if v.service == "objectstorage"]

Expand Down
24 changes: 24 additions & 0 deletions main.tf
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,18 @@ resource "oci_logging_log_group" "lbloggroup" {

}

#Mediaflow loggroup resource
resource "oci_logging_log_group" "medialoggroup" {

for_each = toset(local.medialoggroup)

compartment_id = var.compartment_id
description = "Mediaflow Loggroup"
display_name = var.label_prefix == "none" ? each.value : format("%s-%s", var.label_prefix, each.value)
freeform_tags = var.loggroup_tags

}

#ObjectStorage loggroup resource
resource "oci_logging_log_group" "osloggroup" {

Expand Down Expand Up @@ -253,6 +265,18 @@ module "lblog" {

}

module "mediaflowlog" {
source = "./modules/mediaflow"
compartment_id = var.compartment_id
label_prefix = var.label_prefix
logdefinition = local.medialogdef
log_retention_duration = var.log_retention_duration
loggroup = oci_logging_log_group.medialoggroup

count = length(local.medialogdef) >= 1 ? 1 : 0

}

module "objectstorelog" {
source = "./modules/objectstorage"
compartment_id = var.compartment_id
Expand Down
32 changes: 32 additions & 0 deletions modules/mediaflow/mediaflowlog.tf
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
data "oci_media_services_media_workflows" "media_workflows" {

for_each = var.logdefinition
compartment_id = var.compartment_id

display_name = each.value.resource
state = "ACTIVE"
}



resource "oci_logging_log" "mediaflow_execution_log" {


for_each = var.logdefinition

display_name = var.label_prefix == "none" ? format("%s%s", "execution", each.key) : format("%s-%s%s", var.label_prefix, "execution", each.key)
log_group_id = var.loggroup[each.value.loggroup].id
log_type = "SERVICE"
configuration {
source {
category = "execution"
resource = data.oci_media_services_media_workflows.media_workflows[each.key].media_workflow_collection[0]["items"].0.id
service = "mediaflow"
source_type = "OCISERVICE"
}
}

is_enabled = lookup(each.value, "enable", true)
retention_duration = var.log_retention_duration

}
7 changes: 7 additions & 0 deletions modules/mediaflow/outputs.tf
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
output "mediaflow_executionlogid" {
value = { for v in oci_logging_log.mediaflow_execution_log : v.display_name => v.id }
}

output "media_loggroupid" {
value = { for k, v in var.loggroup : v.display_name => v.id }
}
23 changes: 23 additions & 0 deletions modules/mediaflow/variables.tf
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
variable "label_prefix" {
default = "none"
description = "A string that will be prepended to log resources."
type = string
}
variable "logdefinition" {
type = map(any)
description = "Log definition"
}
variable "log_retention_duration" {
type = string
description = "Duration to retain logs"
}

variable "compartment_id" {
type = string
description = "Compartment ID where the resources will be created"
}

variable "loggroup" {
type = map(any)
description = "Log Group"
}
9 changes: 9 additions & 0 deletions modules/mediaflow/versions.tf
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
terraform {
required_providers {
oci = {
source = "oracle/oci"
version = ">= 4.67.3"
}
}
required_version = ">= 1.0.0"
}
13 changes: 13 additions & 0 deletions outputs.tf
Original file line number Diff line number Diff line change
Expand Up @@ -101,6 +101,18 @@ output "linux_logid" {
output "linux_loggroupid" {
value = try(module.customlog[0].linuxloggroupid, "")
description = "Custom Linux loggroup id"

}

#MediaFlow log and loggroup id
output "media_executionlogid" {
value = try(module.mediaflowlog[0].mediaflow_executionlogid, "")
description = "MediaFlow execution logs id"
}

output "media_loggroupid" {
value = try(module.mediaflowlog[0].media_loggroupid, "")
description = "MediaFlow loggroup id"
}

#ObjectStorage log and loggroup id
Expand Down Expand Up @@ -135,6 +147,7 @@ output "vcn_loggroupid" {
output "vpn_logid" {
value = try(module.vpnlog[0].vpn_logid, "")
description = "VPN IPSEC read logs id"

}

output "vpn_loggroupid" {
Expand Down
1 change: 1 addition & 0 deletions terraform.tfvars.example
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ service_logdef = {
#emaillog = {loggroup="emailloggroup",service="email",resource="<emaildomain>"}
#intlog = {loggroup="intloggroup",service="integration",resource="<integrationinstance>"}
#waflog = {loggroup="wafloggroup",service="waf",resource="<firewallname>"}
#medialog = {loggroup="medialoggroup",service="mediaflow",resource="<mediaworkflow>"}

}

Expand Down