Skip to content

Commit 84eca08

Browse files
Simon Cookegovindrao55
authored andcommitted
Added - Support for reporting in osmanagement
1 parent 899f631 commit 84eca08

17 files changed

+972
-343
lines changed

examples/osmanagement/main.tf

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,8 +47,8 @@ variable "instance_image_ocid" {
4747
default = {
4848
# See https://docs.us-phoenix-1.oraclecloud.com/images/
4949
# Oracle-provided image "Oracle-Linux-7.5-2018.10.16-0"
50-
us-phoenix-1 = "ocid1.image.oc1.phx.aaaaaaaaoqj42sokaoh42l76wsyhn3k2beuntrh5maj3gmgmzeyr55zzrwwa"
51-
us-ashburn-1 = "ocid1.image.oc1.iad.aaaaaaaageeenzyuxgia726xur4ztaoxbxyjlxogdhreu3ngfj2gji3bayda"
50+
us-phoenix-1 = "ocid1.image.oc1.phx.aaaaaaaarjbcsqt4pg2hmuspw7rhpvjvua32yfjiajakehcd2nxskdnxrcia"
51+
us-ashburn-1 = "ocid1.image.oc1.iad.aaaaaaaa6bftra47564ph2uowoooiexeyfmyxokcu7bxaenldni3t7frm3ia"
5252
eu-frankfurt-1 = "ocid1.image.oc1.eu-frankfurt-1.aaaaaaaaitzn6tdyjer7jl34h2ujz74jwy5nkbukbh55ekp6oyzwrtfa4zma"
5353
uk-london-1 = "ocid1.image.oc1.uk-london-1.aaaaaaaa32voyikkkzfxyo4xbdmadc2dmvorfxxgdhpnk6dw64fa3l4jh7wa"
5454
}
@@ -284,6 +284,12 @@ data "oci_osmanagement_managed_instance" "test_managed_instance" {
284284
managed_instance_id = oci_osmanagement_managed_instance_management.test_managed_instance_management.id
285285
}
286286

287+
data "oci_osmanagement_managed_instance_event_report" "test_managed_instance_event_report" {
288+
#Required
289+
managed_instance_id = oci_osmanagement_managed_instance_management.test_managed_instance_management.id
290+
compartment_id = var.tenancy_ocid
291+
}
292+
287293
output "managed_instance_output" {
288294
value = [data.oci_osmanagement_managed_instance.test_managed_instance.managed_instance_groups]
289295
}

oci/export_definitions.go

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2273,6 +2273,14 @@ var exportOptimizerProfileHints = &TerraformResourceHints{
22732273
},
22742274
}
22752275

2276+
var exportOsmanagementManagedInstanceHints = &TerraformResourceHints{
2277+
resourceClass: "oci_osmanagement_managed_instance",
2278+
datasourceClass: "oci_osmanagement_managed_instances",
2279+
datasourceItemsAttr: "managed_instances",
2280+
resourceAbbreviation: "managed_instance",
2281+
requireResourceRefresh: true,
2282+
}
2283+
22762284
var exportOsmanagementManagedInstanceGroupHints = &TerraformResourceHints{
22772285
resourceClass: "oci_osmanagement_managed_instance_group",
22782286
datasourceClass: "oci_osmanagement_managed_instance_groups",

oci/export_graphs.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -987,6 +987,7 @@ var optimizerResourceGraph = TerraformResourceGraph{
987987

988988
var osmanagementResourceGraph = TerraformResourceGraph{
989989
"oci_identity_compartment": {
990+
{TerraformResourceHints: exportOsmanagementManagedInstanceHints},
990991
{TerraformResourceHints: exportOsmanagementManagedInstanceGroupHints},
991992
{TerraformResourceHints: exportOsmanagementSoftwareSourceHints},
992993
},

oci/helpers.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -111,8 +111,8 @@ data "oci_core_volume_backup_policies" "test_volume_backup_policies" {
111111
variable "OsManagedImageOCID" {
112112
type = "map"
113113
default = {
114-
us-phoenix-1 = "ocid1.image.oc1.phx.aaaaaaaaxdwzaqqvxvmyznmcx2n766fxatd6owcojqapkih7oqq4qt3o4wwa"
115-
us-ashburn-1 = "ocid1.image.oc1.iad.aaaaaaaabip6l5i5ikqsnm64xwrw2rrkj3tzo2dv47frowlt3droliwpvfaa"
114+
us-phoenix-1 = "ocid1.image.oc1.phx.aaaaaaaarjbcsqt4pg2hmuspw7rhpvjvua32yfjiajakehcd2nxskdnxrcia"
115+
us-ashburn-1 = "ocid1.image.oc1.iad.aaaaaaaa6bftra47564ph2uowoooiexeyfmyxokcu7bxaenldni3t7frm3ia"
116116
eu-frankfurt-1 = "ocid1.image.oc1.eu-frankfurt-1.aaaaaaaaulz7xiht632iidvdm4iezy33fofulmerq2nkllwnkjy335qkswza"
117117
uk-london-1 = "ocid1.image.oc1.uk-london-1.aaaaaaaayt6ppuyj6q4dwb4pkkyy3llrhxntywewfk4ssd365d4cn22i6yxa"
118118
}

oci/osmanagement_clients.go

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,30 @@ import (
1010
)
1111

1212
func init() {
13+
RegisterOracleClient("oci_osmanagement.EventClient", &OracleClient{initClientFn: initOsmanagementEventClient})
1314
RegisterOracleClient("oci_osmanagement.OsManagementClient", &OracleClient{initClientFn: initOsmanagementOsManagementClient})
1415
}
1516

17+
func initOsmanagementEventClient(configProvider oci_common.ConfigurationProvider, configureClient ConfigureClient, serviceClientOverrides ServiceClientOverrides) (interface{}, error) {
18+
client, err := oci_osmanagement.NewEventClientWithConfigurationProvider(configProvider)
19+
if err != nil {
20+
return nil, err
21+
}
22+
err = configureClient(&client.BaseClient)
23+
if err != nil {
24+
return nil, err
25+
}
26+
27+
if serviceClientOverrides.hostUrlOverride != "" {
28+
client.Host = serviceClientOverrides.hostUrlOverride
29+
}
30+
return &client, nil
31+
}
32+
33+
func (m *OracleClients) eventClient() *oci_osmanagement.EventClient {
34+
return m.GetClient("oci_osmanagement.EventClient").(*oci_osmanagement.EventClient)
35+
}
36+
1637
func initOsmanagementOsManagementClient(configProvider oci_common.ConfigurationProvider, configureClient ConfigureClient, serviceClientOverrides ServiceClientOverrides) (interface{}, error) {
1738
client, err := oci_osmanagement.NewOsManagementClientWithConfigurationProvider(configProvider)
1839
if err != nil {

oci/osmanagement_managed_instance_data_source.go

Lines changed: 23 additions & 144 deletions
Original file line numberDiff line numberDiff line change
@@ -15,151 +15,12 @@ func init() {
1515
}
1616

1717
func OsmanagementManagedInstanceDataSource() *schema.Resource {
18-
return &schema.Resource{
19-
Read: readSingularOsmanagementManagedInstance,
20-
Schema: map[string]*schema.Schema{
21-
"managed_instance_id": {
22-
Type: schema.TypeString,
23-
Required: true,
24-
},
25-
// Computed
26-
"bug_updates_available": {
27-
Type: schema.TypeInt,
28-
Computed: true,
29-
},
30-
"child_software_sources": {
31-
Type: schema.TypeList,
32-
Computed: true,
33-
Elem: &schema.Resource{
34-
Schema: map[string]*schema.Schema{
35-
// Required
36-
37-
// Optional
38-
39-
// Computed
40-
"id": {
41-
Type: schema.TypeString,
42-
Computed: true,
43-
},
44-
"name": {
45-
Type: schema.TypeString,
46-
Computed: true,
47-
},
48-
},
49-
},
50-
},
51-
"compartment_id": {
52-
Type: schema.TypeString,
53-
Computed: true,
54-
},
55-
"description": {
56-
Type: schema.TypeString,
57-
Computed: true,
58-
},
59-
"display_name": {
60-
Type: schema.TypeString,
61-
Computed: true,
62-
},
63-
"enhancement_updates_available": {
64-
Type: schema.TypeInt,
65-
Computed: true,
66-
},
67-
"is_reboot_required": {
68-
Type: schema.TypeBool,
69-
Computed: true,
70-
},
71-
"last_boot": {
72-
Type: schema.TypeString,
73-
Computed: true,
74-
},
75-
"last_checkin": {
76-
Type: schema.TypeString,
77-
Computed: true,
78-
},
79-
"managed_instance_groups": {
80-
Type: schema.TypeList,
81-
Computed: true,
82-
Elem: &schema.Resource{
83-
Schema: map[string]*schema.Schema{
84-
// Required
85-
86-
// Optional
87-
88-
// Computed
89-
"display_name": {
90-
Type: schema.TypeString,
91-
Computed: true,
92-
},
93-
"id": {
94-
Type: schema.TypeString,
95-
Computed: true,
96-
},
97-
},
98-
},
99-
},
100-
"os_family": {
101-
Type: schema.TypeString,
102-
Computed: true,
103-
},
104-
"os_kernel_version": {
105-
Type: schema.TypeString,
106-
Computed: true,
107-
},
108-
"os_name": {
109-
Type: schema.TypeString,
110-
Computed: true,
111-
},
112-
"os_version": {
113-
Type: schema.TypeString,
114-
Computed: true,
115-
},
116-
"other_updates_available": {
117-
Type: schema.TypeInt,
118-
Computed: true,
119-
},
120-
"parent_software_source": {
121-
Type: schema.TypeList,
122-
Computed: true,
123-
Elem: &schema.Resource{
124-
Schema: map[string]*schema.Schema{
125-
// Required
126-
127-
// Optional
128-
129-
// Computed
130-
"id": {
131-
Type: schema.TypeString,
132-
Computed: true,
133-
},
134-
"name": {
135-
Type: schema.TypeString,
136-
Computed: true,
137-
},
138-
},
139-
},
140-
},
141-
"scheduled_job_count": {
142-
Type: schema.TypeInt,
143-
Computed: true,
144-
},
145-
"security_updates_available": {
146-
Type: schema.TypeInt,
147-
Computed: true,
148-
},
149-
"status": {
150-
Type: schema.TypeString,
151-
Computed: true,
152-
},
153-
"updates_available": {
154-
Type: schema.TypeInt,
155-
Computed: true,
156-
},
157-
"work_request_count": {
158-
Type: schema.TypeInt,
159-
Computed: true,
160-
},
161-
},
18+
fieldMap := make(map[string]*schema.Schema)
19+
fieldMap["managed_instance_id"] = &schema.Schema{
20+
Type: schema.TypeString,
21+
Required: true,
16222
}
23+
return GetSingularDataSourceItemSchema(OsmanagementManagedInstanceResource(), fieldMap, readSingularOsmanagementManagedInstance)
16324
}
16425

16526
func readSingularOsmanagementManagedInstance(d *schema.ResourceData, m interface{}) error {
@@ -206,6 +67,12 @@ func (s *OsmanagementManagedInstanceDataSourceCrud) SetData() error {
20667

20768
s.D.SetId(*s.Res.Id)
20869

70+
if s.Res.Autonomous != nil {
71+
s.D.Set("autonomous", []interface{}{AutonomousSettingsToMap(s.Res.Autonomous)})
72+
} else {
73+
s.D.Set("autonomous", nil)
74+
}
75+
20976
if s.Res.BugUpdatesAvailable != nil {
21077
s.D.Set("bug_updates_available", *s.Res.BugUpdatesAvailable)
21178
}
@@ -232,10 +99,18 @@ func (s *OsmanagementManagedInstanceDataSourceCrud) SetData() error {
23299
s.D.Set("enhancement_updates_available", *s.Res.EnhancementUpdatesAvailable)
233100
}
234101

102+
if s.Res.IsDataCollectionAuthorized != nil {
103+
s.D.Set("is_data_collection_authorized", *s.Res.IsDataCollectionAuthorized)
104+
}
105+
235106
if s.Res.IsRebootRequired != nil {
236107
s.D.Set("is_reboot_required", *s.Res.IsRebootRequired)
237108
}
238109

110+
if s.Res.KspliceEffectiveKernelVersion != nil {
111+
s.D.Set("ksplice_effective_kernel_version", *s.Res.KspliceEffectiveKernelVersion)
112+
}
113+
239114
if s.Res.LastBoot != nil {
240115
s.D.Set("last_boot", *s.Res.LastBoot)
241116
}
@@ -250,6 +125,10 @@ func (s *OsmanagementManagedInstanceDataSourceCrud) SetData() error {
250125
}
251126
s.D.Set("managed_instance_groups", managedInstanceGroups)
252127

128+
if s.Res.NotificationTopicId != nil {
129+
s.D.Set("notification_topic_id", *s.Res.NotificationTopicId)
130+
}
131+
253132
s.D.Set("os_family", s.Res.OsFamily)
254133

255134
if s.Res.OsKernelVersion != nil {

0 commit comments

Comments
 (0)