@@ -12,6 +12,7 @@ func resourceMonitoringSystem() *schema.Resource {
1212 return & schema.Resource {
1313 CreateContext : resourceMonitoringSystemCreate ,
1414 ReadContext : resourceMonitoringSystemRead ,
15+ UpdateContext : resourceMonitoringSYstemUpdate ,
1516 DeleteContext : resourceMonitoringSystemDelete ,
1617 Importer : & schema.ResourceImporter {
1718 StateContext : schema .ImportStatePassthroughContext ,
@@ -110,6 +111,36 @@ func resourceMonitoringSystemRead(ctx context.Context, d *schema.ResourceData, m
110111 return nil
111112}
112113
114+ func resourceMonitoringSYstemUpdate (ctx context.Context , d * schema.ResourceData , m interface {}) diag.Diagnostics {
115+ ac := m .(* client.Client )
116+ oldName := d .Id ()
117+
118+ if d .HasChanges ("interval" , "enabled" , "token" , "type" ) {
119+ enabled := d .Get ("enabled" ).(bool )
120+ interval := d .Get ("interval" ).(int )
121+ msType := d .Get ("type" ).(string )
122+ var tokenPtr * string
123+ if v , ok := d .GetOk ("token" ); ok {
124+ s := v .(string )
125+ if s != "" {
126+ tokenPtr = & s
127+ }
128+ }
129+
130+ monitor := client.MonitoringSystem {
131+ Name : oldName ,
132+ Enabled : enabled ,
133+ Token : tokenPtr ,
134+ Interval : interval ,
135+ Type : msType ,
136+ }
137+ err := ac .UpdateMonitoringSystem (monitor )
138+ if err != nil {
139+ return diag .FromErr (err )
140+ }
141+ }
142+ return resourceMonitoringSystemRead (ctx , d , m )
143+ }
113144func resourceMonitoringSystemDelete (ctx context.Context , d * schema.ResourceData , m interface {}) diag.Diagnostics {
114145 ac := m .(* client.Client )
115146 name := d .Get ("name" ).(string )
0 commit comments