1+ // Copyright (c) 2017, 2021, Oracle and/or its affiliates. All rights reserved.
2+ // Licensed under the Mozilla Public License v2.0
3+
4+ /*
5+ * This example shows how to manage log analytics object collection rule resource
6+ */
7+
8+ variable "log_analytics_log_group_id" {}
9+ variable "log_analytics_entity_id" {}
10+ variable "object_collection_rule_bucket_name" {}
11+
12+ variable "object_collection_rule_name" {
13+ default = " tf-obj-coll-example-opt"
14+ }
15+ variable "object_collection_rule_freeform_tags" {
16+ default = { " servicegroup" = " test" , " Dept" = " Devops" }
17+ }
18+ variable "object_collection_rule_log_source_name" {
19+ default = " LinuxSyslogSource"
20+ }
21+ variable "object_collection_rule_description" {
22+ default = " Object Collection Rule with optional parameters"
23+ }
24+ variable "object_collection_rule_collection_type" {
25+ default = " HISTORIC"
26+ }
27+ variable "object_collection_rule_poll_since" {
28+ default = " 2020-04-01T00:00:00.000Z"
29+ }
30+ variable "object_collection_rule_poll_till" {
31+ default = " 2021-04-01T00:00:00.000Z"
32+ }
33+ variable "object_collection_rule_char_encoding" {
34+ default = " utf-8"
35+ }
36+ variable "object_collection_rule_log_source_override_match_value" {
37+ default = " db"
38+ }
39+ variable "object_collection_rule_log_source_override_property_value" {
40+ default = " DBAuditLogSource"
41+ }
42+ variable "object_collection_rule_char_encoding_override_match_value" {
43+ default = " db"
44+ }
45+ variable "object_collection_rule_char_encoding_override_property_value" {
46+ default = " utf-16"
47+ }
48+
49+ # Create a object collection rule with required parameters
50+ resource "oci_log_analytics_log_analytics_object_collection_rule" "objectCollectionRuleRequired" {
51+ compartment_id = var. compartment_ocid
52+ namespace = data. oci_objectstorage_namespace . ns . namespace
53+ name = " tf-obj-coll-example-req"
54+ log_group_id = var. log_analytics_log_group_id
55+ log_source_name = " LinuxSyslogSource"
56+ os_bucket_name = var. object_collection_rule_bucket_name
57+ os_namespace = data. oci_objectstorage_namespace . ns . namespace
58+ }
59+
60+ # Get details of above created object collection rule with required parameters
61+ data "oci_log_analytics_log_analytics_object_collection_rule" "objectCollectionRuleRequiredDetails" {
62+ namespace = data. oci_objectstorage_namespace . ns . namespace
63+ log_analytics_object_collection_rule_id = oci_log_analytics_log_analytics_object_collection_rule. objectCollectionRuleRequired . id
64+ }
65+
66+ # Create a object collection rule with optional parameters
67+ resource "oci_log_analytics_log_analytics_object_collection_rule" "objectCollectionRuleOptional" {
68+ compartment_id = var. compartment_ocid
69+ namespace = data. oci_objectstorage_namespace . ns . namespace
70+ name = var. object_collection_rule_name
71+ log_group_id = var. log_analytics_log_group_id
72+ log_source_name = var. object_collection_rule_log_source_name
73+ os_bucket_name = var. object_collection_rule_bucket_name
74+ os_namespace = data. oci_objectstorage_namespace . ns . namespace
75+ description = var. object_collection_rule_description
76+ collection_type = var. object_collection_rule_collection_type
77+ poll_since = var. object_collection_rule_poll_since
78+ poll_till = var. object_collection_rule_poll_till
79+ char_encoding = var. object_collection_rule_char_encoding
80+ freeform_tags = var. object_collection_rule_freeform_tags
81+ overrides {
82+ match_type = " contains"
83+ match_value = var. object_collection_rule_char_encoding_override_match_value
84+ property_name = " charEncoding"
85+ property_value = var. object_collection_rule_char_encoding_override_property_value
86+ }
87+ overrides {
88+ match_type = " contains"
89+ match_value = var. object_collection_rule_log_source_override_match_value
90+ property_name = " logSourceName"
91+ property_value = var. object_collection_rule_log_source_override_property_value
92+ }
93+ }
94+
95+ # Get details of above created object collection rule with optional parameters
96+ data "oci_log_analytics_log_analytics_object_collection_rule" "objectCollectionRuleOptionalDetails" {
97+ namespace = data. oci_objectstorage_namespace . ns . namespace
98+ log_analytics_object_collection_rule_id = oci_log_analytics_log_analytics_object_collection_rule. objectCollectionRuleOptional . id
99+ }
100+
101+ # Get the list of object collection rules in a compartment
102+ data "oci_log_analytics_log_analytics_object_collection_rules" "objectCollectionRulessList" {
103+ compartment_id = var. compartment_ocid
104+ namespace = data. oci_objectstorage_namespace . ns . namespace
105+ }
0 commit comments