in main/cmds.go [153:176]
func disable(lg ExtensionLogger, hEnv vmextension.HandlerEnvironment, seqNum int) error {
// parse the extension handler settings
cfg, err := parseAndValidateSettings(hEnv.HandlerEnvironment.ConfigFolder)
if err != nil {
return errors.Wrap(err, "failed to get configuration")
}
// run disable.sh to disable the agent
lg.event("disabling agent")
unzipDir, agentDirectory := getAgentPaths()
_, runErr := runCmd(lg, "bash ./disable.sh", agentDirectory, cfg)
if runErr != nil {
lg.eventError("agent disable failed", runErr)
telemetry(TelemetryScenario, "agent disable failed: "+runErr.Error(), false, 0)
} else {
lg.event("agent disable succeeded")
telemetry(TelemetryScenario, "agent disable succeeded", true, 0)
}
// collect the logs if available and send telemetry updates
getStdPipesAndTelemetry(lg, unzipDir, runErr)
return nil
}