Skip to content

Commit a4ee722

Browse files
committed
Show more options to user, customize inputs
1 parent 683c26d commit a4ee722

File tree

5 files changed

+143
-69
lines changed

5 files changed

+143
-69
lines changed

examples/oci-logging-analytics/main.tf

Lines changed: 37 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,17 @@
33

44
locals {
55
tenancy_id = var.tenancy_ocid # Tenancy OCID
6+
7+
compartments = {
8+
"${var.logging_analytics_compartment_name}" = {
9+
description = "Logging Analytics Compartment"
10+
compartment_id = null # The OCID of the parent compartment containing the compartment.
11+
defined_tags = null
12+
freeform_tags = null
13+
}
14+
}
15+
16+
find_compartment_id = var.create_compartment == "yes" ? module.logging_analytics_compartment.iam_config.compartments[var.logging_analytics_compartment_name].id : var.compartment_ocid
617
}
718

819
module "logging_analytics_compartment" {
@@ -20,28 +31,7 @@ module "logging_analytics_compartment" {
2031
users = null
2132
policies = null
2233
dynamic_groups = null
23-
compartments = null
24-
25-
/* If you need to create a compartment then follow the below sample:
26-
compartments = {
27-
Logging-Analytics-Compartment = {
28-
description = "Logging Analytics Compartment"
29-
compartment_id = null # The OCID of the parent compartment containing the compartment.
30-
defined_tags = null
31-
freeform_tags = null
32-
}*/
33-
34-
/* Optionally you can also create a Agent compartment for Agents and agent keys.
35-
Refer: https://docs.oracle.com/en/cloud/paas/logging-analytics/logqs/
36-
37-
Logging-Analytics-Agent-Compartment = {
38-
description = "Logging Analytics Agent Compartment"
39-
compartment_id = null # The OCID of the parent compartment containing the compartment.
40-
defined_tags = null
41-
freeform_tags = null
42-
}
43-
44-
}*/
34+
compartments = var.create_compartment == "yes" ? local.compartments : null
4535
}
4636
}
4737

@@ -61,7 +51,7 @@ module "logging_analytics_quickstart" {
6151
compartments = null
6252

6353
groups = {
64-
Logging-Analytics-SuperAdmins = {
54+
"${var.logging_analytics_group_name}" = {
6555
compartment_id = null #Tenancy OCID
6656
defined_tags = null
6757
freeform_tags = null
@@ -70,44 +60,43 @@ module "logging_analytics_quickstart" {
7060
}
7161

7262
users = {
73-
Logging-Analytics-User-01 = {
63+
"${var.logging_analytics_user_name}" = {
7464
compartment_id = null #Tenancy OCID
7565
defined_tags = null
7666
freeform_tags = null
7767
description = "Logging Analytics User"
78-
email = var.logging_analytics_user_email != "" ? var.logging_analytics_user_email : "<Your_Logging_Analytics_User_Email>"
79-
groups = ["Logging-Analytics-SuperAdmins"]
68+
email = var.logging_analytics_user_email
69+
groups = ["${var.logging_analytics_group_name}"]
8070
}
8171
}
8272

8373
dynamic_groups = {
84-
ManagementAgentAdminss = {
74+
"${var.loganalytics_dynamic_group_name}" = {
8575
compartment_id = null #Tenancy OCID
8676
defined_tags = null
8777
freeform_tags = null
8878
description = "Logging Analytics Management Agent Dynamic group"
89-
#matching_rules = ["All {resource.type = 'managementagent', resource.compartment.id = ${module.logging_analytics_compartment.iam_config.compartments["Logging-Analytics-Compartment"].id}}"]
90-
matching_rules = ["All {resource.type = 'managementagent', resource.compartment.id = ${var.compartment_ocid}}"]
79+
matching_rules = ["All {resource.type = 'managementagent', resource.compartment.id = ${local.find_compartment_id} }"]
9180
}
9281
}
9382

9483
policies = {
95-
Logging-Analytics-Policy = {
84+
"${var.logging_analytics_policy_name}" = {
9685
description = "Logging Analytics Policy"
9786
statements = ["allow service loganalytics to READ loganalytics-features-family in tenancy",
98-
"allow group Logging-Analytics-SuperAdmins to READ compartments in tenancy",
99-
"allow group Logging-Analytics-SuperAdmins to MANAGE loganalytics-features-family in tenancy",
87+
"allow group ${var.logging_analytics_group_name} to READ compartments in tenancy",
88+
"allow group ${var.logging_analytics_group_name} to MANAGE loganalytics-features-family in tenancy",
10089
/* Use the following policies for production usage.
101-
"allow group Logging-Analytics-SuperAdmins to MANAGE loganalytics-resources-family in tenancy",
102-
"allow group Logging-Analytics-SuperAdmins to MANAGE management-dashboard-family in tenancy",
103-
"allow group Logging-Analytics-SuperAdmins to READ metrics IN tenancy",
104-
"allow group Logging-Analytics-SuperAdmins TO MANAGE management-agents IN tenancy",
105-
"allow group Logging-Analytics-SuperAdmins to MANAGE management-agent-install-keys IN tenancy",
106-
"allow group Logging-Analytics-SuperAdmins to READ users IN tenancy",*/
107-
"allow dynamic-group ManagementAgentAdminss to MANAGE management-agents IN tenancy",
108-
"allow dynamic-group ManagementAgentAdminss to USE METRICS IN tenancy",
109-
"allow dynamic-group ManagementAgentAdminss to {LOG_ANALYTICS_LOG_GROUP_UPLOAD_LOGS} in tenancy",
110-
"allow dynamic-group ManagementAgentAdminss to USE loganalytics-collection-warning in tenancy"
90+
"allow group ${var.logging_analytics_group_name} to MANAGE loganalytics-resources-family in tenancy",
91+
"allow group ${var.logging_analytics_group_name} to MANAGE management-dashboard-family in tenancy",
92+
"allow group ${var.logging_analytics_group_name} to READ metrics IN tenancy",
93+
"allow group ${var.logging_analytics_group_name} TO MANAGE management-agents IN tenancy",
94+
"allow group ${var.logging_analytics_group_name} to MANAGE management-agent-install-keys IN tenancy",
95+
"allow group ${var.logging_analytics_group_name} to READ users IN tenancy",*/
96+
"allow dynamic-group ${var.loganalytics_dynamic_group_name} to MANAGE management-agents IN tenancy",
97+
"allow dynamic-group ${var.loganalytics_dynamic_group_name} to USE METRICS IN tenancy",
98+
"allow dynamic-group ${var.loganalytics_dynamic_group_name} to {LOG_ANALYTICS_LOG_GROUP_UPLOAD_LOGS} in tenancy",
99+
"allow dynamic-group ${var.loganalytics_dynamic_group_name} to USE loganalytics-collection-warning in tenancy"
111100
]
112101
version_date = null
113102
compartment_id = null # Tenancy OCID
@@ -118,17 +107,17 @@ module "logging_analytics_quickstart" {
118107
}
119108
}
120109

121-
resource "oci_log_analytics_namespace" "log_analytics_namespace" {
110+
resource "oci_log_analytics_namespace" "logging_analytics_namespace" {
122111
#Required
123-
count = var.log_analytics_namespace != "" ? 1 : 0
112+
count = var.onboard_logging_analytics == "yes" ? 1 : 0
124113
compartment_id = local.tenancy_id
125114
is_onboarded = true
126-
namespace = var.log_analytics_namespace
115+
namespace = var.tenancy_ocid
127116
depends_on = [module.logging_analytics_quickstart]
128117
}
129118

130-
data "oci_log_analytics_namespace" "log_analytics_namespace" {
119+
data "oci_log_analytics_namespace" "logging_analytics_namespace" {
131120
#Required
132-
count = 0
133-
namespace = oci_log_analytics_namespace.log_analytics_namespace[count.index].namespace
121+
#namespace = oci_log_analytics_namespace.logging_analytics_namespace[count.index].namespace
122+
namespace = var.tenancy_ocid
134123
}

examples/oci-logging-analytics/outputs.tf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,6 @@ output "logging_analytics_config" {
99

1010
output "logging_analytics_namespace" {
1111
description = "logging analytics namespace"
12-
value = data.oci_log_analytics_namespace.log_analytics_namespace
12+
value = data.oci_log_analytics_namespace.logging_analytics_namespace
1313
}
1414

examples/oci-logging-analytics/providers.tf

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,14 @@
33

44

55
provider "oci" {
6-
tenancy_ocid = var.tenancy_ocid
7-
region = var.region
6+
tenancy_ocid = var.tenancy_ocid
7+
region = var.region
88
}
99

1010
provider "oci" {
11-
alias = "home"
12-
tenancy_ocid = var.tenancy_ocid
13-
region = [for i in data.oci_identity_region_subscriptions.this.region_subscriptions : i.region_name if i.is_home_region == true][0]
11+
alias = "home"
12+
tenancy_ocid = var.tenancy_ocid
13+
region = [for i in data.oci_identity_region_subscriptions.this.region_subscriptions : i.region_name if i.is_home_region == true][0]
1414
}
1515

1616
data "oci_identity_region_subscriptions" "this" {

examples/oci-logging-analytics/schema.yaml

Lines changed: 73 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -9,45 +9,105 @@ It creates all the necessary OCI resources
99
* Create Dynamic Groups
1010
* Create Logging Analytics Policies
1111
* Onboard Logging Analytics
12+
1213
All this is done using terraform."
1314

1415
schemaVersion: 1.1.0
1516
version: "20190304"
16-
1717
logoUrl: "https://cloudmarketplace.oracle.com/marketplace/content?contentId=58352039"
18-
1918
source:
2019
type: marketplace
2120
reference: 47726045
2221

2322
locale: "en"
24-
2523
variableGroups:
2624
- title: General Configuration
2725
visible: false
2826
variables:
2927
- tenancy_ocid
3028
- compartment_ocid
29+
- compartment_id
3130
- region
3231

33-
- title: Optional Configuration
34-
visible: true
32+
- title: Logging Analytics Configuration
3533
variables:
36-
- log_analytics_namespace
34+
- create_compartment
35+
- compartment_ocid
36+
- logging_analytics_compartment_name
3737
- logging_analytics_user_email
38+
- onboard_logging_analytics
39+
- log_analytics_namespace
40+
- logging_analytics_group_name
41+
- logging_analytics_user_name
42+
- loganalytics_dynamic_group_name
43+
- logging_analytics_policy_name
3844

3945
variables:
40-
log_analytics_namespace:
41-
title: Logging Analytics Namespace for onboarding a tenancy (Tenancy Name)
42-
required: false
43-
default: ""
46+
create_compartment:
47+
type: enum
48+
title: Create New Logging Analytics Compartment ?
49+
enum:
50+
- "yes"
51+
- "no"
52+
default: "yes"
53+
required: true
54+
55+
compartment_ocid:
56+
type: oci:identity:compartment:id
57+
title: Logging Analytics Compartment
58+
description: Select the existing compartment
59+
default: compartment_ocid
60+
required: true
61+
visible:
62+
eq:
63+
- create_compartment
64+
- "no"
65+
66+
logging_analytics_compartment_name:
67+
type: string
68+
title: New Logging Analytics Compartment Name
69+
default: "Logging-Analytics-Compartment"
70+
required: true
71+
visible:
72+
eq:
73+
- create_compartment
74+
- "yes"
75+
4476
logging_analytics_user_email:
4577
title: logging analytics New User Email
4678
description: This will create a new user and sends the activation email. If not provided, it creates a user with dummy email.
47-
required: false
48-
default: ""
79+
required: true
80+
default: "[email protected]"
81+
82+
onboard_logging_analytics:
83+
type: enum
84+
title: Onboard Logging Analytics Namespace ?
85+
enum:
86+
- "yes"
87+
- "no"
88+
default: "yes"
89+
required: true
90+
91+
logging_analytics_group_name:
92+
title: Logging Analytics Admin group name
93+
default: "Logging-Analytics-SuperAdmins"
94+
required: true
4995

50-
96+
logging_analytics_user_name:
97+
title: Logging Analytics User name
98+
default: "Logging-Analytics-User-01"
99+
required: true
100+
101+
loganalytics_dynamic_group_name:
102+
title: Logging Analytics dynamic group name
103+
default: "ManagementAgentAdmins"
104+
required: true
105+
106+
logging_analytics_policy_name:
107+
title: Logging Analytics Policy name
108+
default: "Logging-Analytics-Policy"
109+
required: true
110+
51111
outputGroups:
52112
- title: Logging Analytics Configuration
53113
outputs:

examples/oci-logging-analytics/variables.tf

Lines changed: 27 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,32 @@
66
variable "tenancy_ocid" {}
77
variable "compartment_ocid" {}
88
variable "region" {}
9-
variable "log_analytics_namespace" {}
10-
variable "logging_analytics_user_email" {}
9+
10+
variable "onboard_logging_analytics" {}
11+
12+
variable "logging_analytics_user_email" {
13+
default = "[email protected]"
14+
}
15+
16+
variable "create_compartment" {}
17+
variable "logging_analytics_compartment_name" {
18+
default = "Logging-Analytics-Compartment"
19+
}
20+
21+
variable "logging_analytics_group_name" {
22+
default = "Logging-Analytics-SuperAdmins"
23+
}
24+
25+
variable "logging_analytics_user_name" {
26+
default = "Logging-Analytics-User-01"
27+
}
28+
29+
variable "loganalytics_dynamic_group_name" {
30+
default = "ManagementAgentAdmins"
31+
}
32+
33+
variable "logging_analytics_policy_name" {
34+
default = "Logging-Analytics-Policy"
35+
}
1136

1237

0 commit comments

Comments
 (0)