Skip to content

Commit ff5e207

Browse files
author
Yi Fan
committed
Support resource discovery for events resources
1 parent 25b1a7a commit ff5e207

File tree

5 files changed

+33
-8
lines changed

5 files changed

+33
-8
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
### Added
44
- Support resource discovery for `streaming` resources
55
- Support resource discovery for `healthChecks` resources
6+
- Support resource discovery for `events` resources
67

78
### Fixed
89
- Fixed DNS outage causing problems for DNS records

oci/events_rule_test.go

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ var (
3232
ruleDataSourceRepresentation = map[string]interface{}{
3333
"compartment_id": Representation{repType: Required, create: `${var.compartment_id}`},
3434
"display_name": Representation{repType: Optional, create: `This rule sends a notification upon completion of DbaaS backup`, update: `displayName2`},
35-
"state": Representation{repType: Optional, create: `ACTIVE`},
35+
"state": Representation{repType: Optional, create: `INACTIVE`},
3636
"filter": RepresentationGroup{Required, ruleDataSourceFilterRepresentation}}
3737
ruleDataSourceFilterRepresentation = map[string]interface{}{
3838
"name": Representation{repType: Required, create: `id`},
@@ -44,7 +44,7 @@ var (
4444
"compartment_id": Representation{repType: Required, create: `${var.compartment_id}`},
4545
"condition": Representation{repType: Required, create: `{\"eventType\":\"com.oraclecloud.databaseservice.autonomous.database.backup.end\"}`, update: `{}`},
4646
"display_name": Representation{repType: Required, create: `This rule sends a notification upon completion of DbaaS backup`, update: `displayName2`},
47-
"is_enabled": Representation{repType: Required, create: `false`, update: `true`},
47+
"is_enabled": Representation{repType: Required, create: `true`, update: `false`},
4848
"defined_tags": Representation{repType: Optional, create: `${map("${oci_identity_tag_namespace.tag-namespace1.name}.${oci_identity_tag.tag1.name}", "value")}`, update: `${map("${oci_identity_tag_namespace.tag-namespace1.name}.${oci_identity_tag.tag1.name}", "updatedValue")}`},
4949
"description": Representation{repType: Optional, create: `description`, update: `description2`},
5050
"freeform_tags": Representation{repType: Optional, create: map[string]string{"Department": "Finance"}, update: map[string]string{"Department": "Accounting"}},
@@ -137,7 +137,7 @@ func TestEventsRuleResource_basic(t *testing.T) {
137137
resource.TestCheckResourceAttr(resourceName, "display_name", "This rule sends a notification upon completion of DbaaS backup"),
138138
resource.TestCheckResourceAttr(resourceName, "freeform_tags.%", "1"),
139139
resource.TestCheckResourceAttrSet(resourceName, "id"),
140-
resource.TestCheckResourceAttr(resourceName, "is_enabled", "false"),
140+
resource.TestCheckResourceAttr(resourceName, "is_enabled", "true"),
141141
resource.TestCheckResourceAttrSet(resourceName, "state"),
142142
resource.TestCheckResourceAttrSet(resourceName, "time_created"),
143143

@@ -180,7 +180,7 @@ func TestEventsRuleResource_basic(t *testing.T) {
180180
resource.TestCheckResourceAttr(resourceName, "display_name", "This rule sends a notification upon completion of DbaaS backup"),
181181
resource.TestCheckResourceAttr(resourceName, "freeform_tags.%", "1"),
182182
resource.TestCheckResourceAttrSet(resourceName, "id"),
183-
resource.TestCheckResourceAttr(resourceName, "is_enabled", "false"),
183+
resource.TestCheckResourceAttr(resourceName, "is_enabled", "true"),
184184
resource.TestCheckResourceAttrSet(resourceName, "state"),
185185
resource.TestCheckResourceAttrSet(resourceName, "time_created"),
186186

@@ -239,7 +239,7 @@ func TestEventsRuleResource_basic(t *testing.T) {
239239
resource.TestCheckResourceAttr(resourceName, "display_name", "displayName2"),
240240
resource.TestCheckResourceAttr(resourceName, "freeform_tags.%", "1"),
241241
resource.TestCheckResourceAttrSet(resourceName, "id"),
242-
resource.TestCheckResourceAttr(resourceName, "is_enabled", "true"),
242+
resource.TestCheckResourceAttr(resourceName, "is_enabled", "false"),
243243
resource.TestCheckResourceAttrSet(resourceName, "state"),
244244
resource.TestCheckResourceAttrSet(resourceName, "time_created"),
245245

@@ -261,7 +261,7 @@ func TestEventsRuleResource_basic(t *testing.T) {
261261
Check: resource.ComposeAggregateTestCheckFunc(
262262
resource.TestCheckResourceAttr(datasourceName, "compartment_id", compartmentId),
263263
resource.TestCheckResourceAttr(datasourceName, "display_name", "displayName2"),
264-
resource.TestCheckResourceAttr(datasourceName, "state", "ACTIVE"),
264+
resource.TestCheckResourceAttr(datasourceName, "state", "INACTIVE"),
265265

266266
resource.TestCheckResourceAttr(datasourceName, "rules.#", "1"),
267267
resource.TestCheckResourceAttr(datasourceName, "rules.0.compartment_id", compartmentId),
@@ -271,7 +271,7 @@ func TestEventsRuleResource_basic(t *testing.T) {
271271
resource.TestCheckResourceAttr(datasourceName, "rules.0.display_name", "displayName2"),
272272
resource.TestCheckResourceAttr(datasourceName, "rules.0.freeform_tags.%", "1"),
273273
resource.TestCheckResourceAttrSet(datasourceName, "rules.0.id"),
274-
resource.TestCheckResourceAttr(datasourceName, "rules.0.is_enabled", "true"),
274+
resource.TestCheckResourceAttr(datasourceName, "rules.0.is_enabled", "false"),
275275
resource.TestCheckResourceAttrSet(datasourceName, "rules.0.state"),
276276
resource.TestCheckResourceAttrSet(datasourceName, "rules.0.time_created"),
277277
),
@@ -293,7 +293,7 @@ func TestEventsRuleResource_basic(t *testing.T) {
293293
resource.TestCheckResourceAttr(singularDatasourceName, "display_name", "displayName2"),
294294
resource.TestCheckResourceAttr(singularDatasourceName, "freeform_tags.%", "1"),
295295
resource.TestCheckResourceAttrSet(singularDatasourceName, "id"),
296-
resource.TestCheckResourceAttr(singularDatasourceName, "is_enabled", "true"),
296+
resource.TestCheckResourceAttr(singularDatasourceName, "is_enabled", "false"),
297297
resource.TestCheckResourceAttrSet(singularDatasourceName, "state"),
298298
resource.TestCheckResourceAttrSet(singularDatasourceName, "time_created"),
299299
),

oci/export_definitions.go

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import (
55
oci_containerengine "github.com/oracle/oci-go-sdk/containerengine"
66
oci_core "github.com/oracle/oci-go-sdk/core"
77
oci_database "github.com/oracle/oci-go-sdk/database"
8+
oci_events "github.com/oracle/oci-go-sdk/events"
89
oci_functions "github.com/oracle/oci-go-sdk/functions"
910
oci_identity "github.com/oracle/oci-go-sdk/identity"
1011
oci_limits "github.com/oracle/oci-go-sdk/limits"
@@ -381,6 +382,17 @@ var exportDatabaseDbSystemHints = &TerraformResourceHints{
381382
},
382383
}
383384

385+
var exportEventsRuleHints = &TerraformResourceHints{
386+
resourceClass: "oci_events_rule",
387+
datasourceClass: "oci_events_rules",
388+
datasourceItemsAttr: "rules",
389+
resourceAbbreviation: "rule",
390+
requireResourceRefresh: true,
391+
discoverableLifecycleStates: []string{
392+
string(oci_events.RuleLifecycleStateActive),
393+
},
394+
}
395+
384396
var exportFunctionsApplicationHints = &TerraformResourceHints{
385397
resourceClass: "oci_functions_application",
386398
datasourceClass: "oci_functions_applications",

oci/export_graphs.go

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ var compartmentResourceGraphs = map[string]TerraformResourceGraph{
2828
"containerengine": containerengineResourceGraph,
2929
"core": coreResourceGraph,
3030
"database": databaseResourceGraph,
31+
"events": eventsResourceGraph,
3132
"functions": functionsResourceGraph,
3233
"health_checks": healthChecksResourceGraph,
3334
"load_balancer": loadBalancerResourceGraph,
@@ -172,6 +173,12 @@ var databaseResourceGraph = TerraformResourceGraph{
172173
},
173174
}
174175

176+
var eventsResourceGraph = TerraformResourceGraph{
177+
"oci_identity_compartment": {
178+
{TerraformResourceHints: exportEventsRuleHints},
179+
},
180+
}
181+
175182
var functionsResourceGraph = TerraformResourceGraph{
176183
"oci_identity_compartment": {
177184
{TerraformResourceHints: exportFunctionsApplicationHints},

website/docs/guides/resource_discovery.html.markdown

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,7 @@ The generated `.tf` files contain the Terraform configuration with the resources
9696
* `containerengine` - Discovers containerengine resources within the specified compartment
9797
* `core` - Discovers compute, block storage, and networking resources within the specified compartment
9898
* `database` - Discovers database resources within the specified compartment
99+
* `events` - Discovers events resources within the specified compartment
99100
* `functions` - Discovers functions resources within the specified compartment
100101
* `health_checks` - Discovers health_checks resources within the specified compartment
101102
* `identity` - Discovers identity resources across the entire tenancy
@@ -231,6 +232,10 @@ database
231232
* oci\_database\_db\_home
232233
* oci\_database\_db\_system
233234

235+
events
236+
237+
* oci\_events\_rule
238+
234239
functions
235240

236241
* oci\_functions\_application

0 commit comments

Comments
 (0)